mirror of
https://github.com/songoda/FabledSkyBlock.git
synced 2024-09-19 10:20:59 +02:00
Merge branch 'development' into 'master'
1.14 support and some bug fixes See merge request Songoda/fabledskyblock!12
This commit is contained in:
commit
ada4938bb4
33
build.gradle
33
build.gradle
@ -2,7 +2,7 @@ import org.apache.tools.ant.filters.ReplaceTokens
|
||||
apply plugin: 'java'
|
||||
|
||||
group 'com.songoda.fabledskyblock'
|
||||
version 'Build-73'
|
||||
version 'Build-74'
|
||||
|
||||
sourceCompatibility = 1.8
|
||||
|
||||
@ -15,6 +15,11 @@ repositories {
|
||||
}
|
||||
}
|
||||
|
||||
configurations {
|
||||
shade
|
||||
compile.extendsFrom shade
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// PlaceholderAPI
|
||||
implementation (group: 'be.maximvdw', name: 'placeholderapi', version: '2.5.1')
|
||||
@ -32,13 +37,29 @@ dependencies {
|
||||
// WildStacker
|
||||
implementation (group: 'com.bgsoftware', name: 'wildstacker-api', version: 'b14')
|
||||
|
||||
// Apache Commons
|
||||
shade (group: 'org.apache.commons', name: 'commons-lang3', version: '3.0')
|
||||
shade (group: 'commons-io', name: 'commons-io', version: '2.5')
|
||||
|
||||
// Songoda Updater
|
||||
shade (group: 'com.songoda', name: 'songodaupdater', version: '1')
|
||||
|
||||
// Spigot
|
||||
implementation (group: 'org.spigotmc', name: 'spigot', version: '1.13.2')
|
||||
implementation (group: 'org.spigotmc', name: 'spigot', version: '1.14')
|
||||
}
|
||||
|
||||
processResources {
|
||||
filter ReplaceTokens, tokens: ["version": project.property("version")]
|
||||
from (sourceSets.main.resources.srcDirs) {
|
||||
include '**/*.yml'
|
||||
}
|
||||
from (sourceSets.main.resources.srcDirs) {
|
||||
include '**/*.yml'
|
||||
filter ReplaceTokens, tokens: ["version": project.property("version")]
|
||||
}
|
||||
}
|
||||
|
||||
jar {
|
||||
configurations.shade.each { dep ->
|
||||
from (project.zipTree(dep)) {
|
||||
exclude '**/*.yml'
|
||||
exclude 'META-INF', 'META-INF/**'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
package me.goodandevil.skyblock;
|
||||
|
||||
import com.songoda.update.Plugin;
|
||||
import com.songoda.update.SongodaUpdate;
|
||||
import me.goodandevil.skyblock.api.SkyBlockAPI;
|
||||
import me.goodandevil.skyblock.ban.BanManager;
|
||||
import me.goodandevil.skyblock.biome.BiomeManager;
|
||||
@ -30,6 +32,7 @@ import me.goodandevil.skyblock.stackable.StackableManager;
|
||||
import me.goodandevil.skyblock.structure.StructureManager;
|
||||
import me.goodandevil.skyblock.upgrade.UpgradeManager;
|
||||
import me.goodandevil.skyblock.usercache.UserCacheManager;
|
||||
import me.goodandevil.skyblock.utils.Metrics;
|
||||
import me.goodandevil.skyblock.visit.VisitManager;
|
||||
import me.goodandevil.skyblock.visit.VisitTask;
|
||||
import me.goodandevil.skyblock.world.WorldManager;
|
||||
@ -114,11 +117,7 @@ public class SkyBlock extends JavaPlugin {
|
||||
if (fileManager.getConfig(new File(getDataFolder(), "config.yml")).getFileConfiguration()
|
||||
.getBoolean("Island.Stackable.Enable")) {
|
||||
stackableManager = new StackableManager(this);
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
stackableManager.loadSavedStackables();
|
||||
}
|
||||
}.runTaskLater(this, 5L);
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(this, () -> stackableManager.loadSavedStackables(), 5L);
|
||||
}
|
||||
|
||||
leaderboardManager = new LeaderboardManager(this);
|
||||
@ -164,6 +163,13 @@ public class SkyBlock extends JavaPlugin {
|
||||
|
||||
this.getCommand("skyblock").setExecutor(new SkyBlockCommand());
|
||||
|
||||
// bStats Metrics
|
||||
new Metrics(this);
|
||||
|
||||
// Songoda Updater
|
||||
Plugin plugin = new Plugin(this, 17);
|
||||
SongodaUpdate.load(plugin);
|
||||
|
||||
SkyBlockAPI.setImplementation(instance);
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@ public class IslandCreateEvent extends IslandEvent {
|
||||
private final Player player;
|
||||
|
||||
public IslandCreateEvent(Island island, Player player) {
|
||||
super(island);
|
||||
super(island, true);
|
||||
this.player = player;
|
||||
}
|
||||
|
||||
|
@ -12,6 +12,11 @@ public abstract class IslandEvent extends Event {
|
||||
this.island = island;
|
||||
}
|
||||
|
||||
protected IslandEvent(Island island, boolean async) {
|
||||
super(async);
|
||||
this.island = island;
|
||||
}
|
||||
|
||||
public Island getIsland() {
|
||||
return island;
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ public class IslandLevelChangeEvent extends IslandEvent {
|
||||
private final IslandLevel level;
|
||||
|
||||
public IslandLevelChangeEvent(Island island, IslandLevel level) {
|
||||
super(island);
|
||||
super(island, true);
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@ public class IslandLocationChangeEvent extends IslandEvent {
|
||||
private final IslandLocation location;
|
||||
|
||||
public IslandLocationChangeEvent(Island island, IslandLocation location) {
|
||||
super(island);
|
||||
super(island, true);
|
||||
this.location = location;
|
||||
}
|
||||
|
||||
|
@ -15,6 +15,12 @@ public abstract class PlayerEvent extends Event {
|
||||
this.island = island;
|
||||
}
|
||||
|
||||
protected PlayerEvent(Player player, Island island, boolean async) {
|
||||
super(async);
|
||||
this.player = player;
|
||||
this.island = island;
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
}
|
||||
|
@ -106,162 +106,157 @@ public class CommandManager implements CommandExecutor, TabCompleter {
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
|
||||
if (command.getName().equalsIgnoreCase("island")) {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
MessageManager messageManager = skyblock.getMessageManager();
|
||||
SoundManager soundManager = skyblock.getSoundManager();
|
||||
FileManager fileManager = skyblock.getFileManager();
|
||||
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();
|
||||
Config config = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
|
||||
Player player = null;
|
||||
Player player = null;
|
||||
|
||||
if (sender instanceof Player) {
|
||||
player = (Player) sender;
|
||||
}
|
||||
if (sender instanceof Player) {
|
||||
player = (Player) sender;
|
||||
}
|
||||
|
||||
if (args.length == 0) {
|
||||
if (player == null) {
|
||||
sendConsoleHelpCommands(sender);
|
||||
} else {
|
||||
if (skyblock.getIslandManager().getIsland(player) == null) {
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> Bukkit.getServer().dispatchCommand(sender, "island create"));
|
||||
} else {
|
||||
boolean canUseControlPanel = player.hasPermission("fabledskyblock.*")
|
||||
|| player.hasPermission("fabledskyblock.island.*")
|
||||
|| player.hasPermission("fabledskyblock.island.controlpanel");
|
||||
|
||||
if (!canUseControlPanel) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.PermissionDenied.Island.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
return;
|
||||
}
|
||||
|
||||
ControlPanel.getInstance().open(player);
|
||||
soundManager.playSound(player, Sounds.CHEST_OPEN.bukkitSound(), 1.0F, 1.0F);
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
SubCommand subCommand;
|
||||
boolean isAdmin;
|
||||
|
||||
if (args[0].equalsIgnoreCase("help")) {
|
||||
if (player == null) {
|
||||
sendConsoleHelpCommands(sender);
|
||||
} else {
|
||||
boolean canUseHelp = player.hasPermission("fabledskyblock.*")
|
||||
|| player.hasPermission("fabledskyblock.island.*")
|
||||
|| player.hasPermission("fabledskyblock.island.help");
|
||||
|
||||
if (!canUseHelp) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.PermissionDenied.Island.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
return;
|
||||
}
|
||||
|
||||
int page = -1;
|
||||
|
||||
if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Command.Help.List")) {
|
||||
page = 1;
|
||||
|
||||
if (args.length == 2) {
|
||||
if (args[1].matches("[0-9]+")) {
|
||||
page = Integer.valueOf(args[1]);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Help.Integer.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sendPlayerIslandHelpCommands(player, page);
|
||||
}
|
||||
|
||||
return;
|
||||
} else if (args[0].equalsIgnoreCase("admin")) {
|
||||
if (args.length == 1 || args[1].equalsIgnoreCase("help")) {
|
||||
if (player == null) {
|
||||
sendConsoleHelpCommands(sender);
|
||||
} else {
|
||||
boolean canUseHelp = player.hasPermission("fabledskyblock.*")
|
||||
|| player.hasPermission("fabledskyblock.admin.*")
|
||||
|| player.hasPermission("fabledskyblock.admin.help");
|
||||
|
||||
if (!canUseHelp) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.PermissionDenied.Admin.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
return;
|
||||
}
|
||||
|
||||
int page = -1;
|
||||
|
||||
if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Command.Help.List")) {
|
||||
page = 1;
|
||||
|
||||
if (args.length == 3) {
|
||||
if (args[2].matches("[0-9]+")) {
|
||||
page = Integer.valueOf(args[2]);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Help.Integer.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sendPlayerAdminHelpCommands(player, page);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
subCommand = getAdminSubCommand(args[1]);
|
||||
isAdmin = true;
|
||||
if (args.length == 0) {
|
||||
if (player == null) {
|
||||
sendConsoleHelpCommands(sender);
|
||||
} else {
|
||||
if (skyblock.getIslandManager().getIsland(player) == null) {
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> Bukkit.getServer().dispatchCommand(sender, "island create"));
|
||||
} else {
|
||||
subCommand = getIslandSubCommand(args[0]);
|
||||
isAdmin = false;
|
||||
}
|
||||
boolean canUseControlPanel = player.hasPermission("fabledskyblock.*")
|
||||
|| player.hasPermission("fabledskyblock.island.*")
|
||||
|| player.hasPermission("fabledskyblock.island.controlpanel");
|
||||
|
||||
if (subCommand == null) {
|
||||
messageManager.sendMessage(sender, configLoad.getString("Command.Island.Argument.Unrecognised.Message"));
|
||||
soundManager.playSound(sender, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
return;
|
||||
}
|
||||
if (!canUseControlPanel) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.PermissionDenied.Island.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!subCommand.hasPermission(sender, isAdmin)) {
|
||||
messageManager.sendMessage(sender, configLoad.getString("Command.PermissionDenied." + (isAdmin ? "Admin" : "Island") + ".Message"));
|
||||
soundManager.playSound(sender, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
return;
|
||||
}
|
||||
|
||||
List<String> arguments = new ArrayList<>(Arrays.asList(args));
|
||||
arguments.remove(args[0]);
|
||||
|
||||
if (adminCommands.contains(subCommand)) {
|
||||
arguments.remove(args[1]);
|
||||
}
|
||||
|
||||
if (sender instanceof Player) {
|
||||
subCommand.onCommandByPlayer(player, arguments.toArray(new String[0]));
|
||||
} else if (sender instanceof ConsoleCommandSender) {
|
||||
subCommand.onCommandByConsole((ConsoleCommandSender) sender,
|
||||
arguments.toArray(new String[0]));
|
||||
ControlPanel.getInstance().open(player);
|
||||
soundManager.playSound(player, Sounds.CHEST_OPEN.bukkitSound(), 1.0F, 1.0F);
|
||||
}
|
||||
}
|
||||
}.runTaskAsynchronously(skyblock);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
SubCommand subCommand;
|
||||
boolean isAdmin;
|
||||
|
||||
if (args[0].equalsIgnoreCase("help")) {
|
||||
if (player == null) {
|
||||
sendConsoleHelpCommands(sender);
|
||||
} else {
|
||||
boolean canUseHelp = player.hasPermission("fabledskyblock.*")
|
||||
|| player.hasPermission("fabledskyblock.island.*")
|
||||
|| player.hasPermission("fabledskyblock.island.help");
|
||||
|
||||
if (!canUseHelp) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.PermissionDenied.Island.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
return true;
|
||||
}
|
||||
|
||||
int page = -1;
|
||||
|
||||
if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Command.Help.List")) {
|
||||
page = 1;
|
||||
|
||||
if (args.length == 2) {
|
||||
if (args[1].matches("[0-9]+")) {
|
||||
page = Integer.valueOf(args[1]);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Help.Integer.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sendPlayerIslandHelpCommands(player, page);
|
||||
}
|
||||
|
||||
return true;
|
||||
} else if (args[0].equalsIgnoreCase("admin")) {
|
||||
if (args.length == 1 || args[1].equalsIgnoreCase("help")) {
|
||||
if (player == null) {
|
||||
sendConsoleHelpCommands(sender);
|
||||
} else {
|
||||
boolean canUseHelp = player.hasPermission("fabledskyblock.*")
|
||||
|| player.hasPermission("fabledskyblock.admin.*")
|
||||
|| player.hasPermission("fabledskyblock.admin.help");
|
||||
|
||||
if (!canUseHelp) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.PermissionDenied.Admin.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
return true;
|
||||
}
|
||||
|
||||
int page = -1;
|
||||
|
||||
if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Command.Help.List")) {
|
||||
page = 1;
|
||||
|
||||
if (args.length == 3) {
|
||||
if (args[2].matches("[0-9]+")) {
|
||||
page = Integer.valueOf(args[2]);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Help.Integer.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sendPlayerAdminHelpCommands(player, page);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
subCommand = getAdminSubCommand(args[1]);
|
||||
isAdmin = true;
|
||||
} else {
|
||||
subCommand = getIslandSubCommand(args[0]);
|
||||
isAdmin = false;
|
||||
}
|
||||
|
||||
if (subCommand == null) {
|
||||
messageManager.sendMessage(sender, configLoad.getString("Command.Island.Argument.Unrecognised.Message"));
|
||||
soundManager.playSound(sender, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!subCommand.hasPermission(sender, isAdmin)) {
|
||||
messageManager.sendMessage(sender, configLoad.getString("Command.PermissionDenied." + (isAdmin ? "Admin" : "Island") + ".Message"));
|
||||
soundManager.playSound(sender, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
return true;
|
||||
}
|
||||
|
||||
List<String> arguments = new ArrayList<>(Arrays.asList(args));
|
||||
arguments.remove(args[0]);
|
||||
|
||||
if (adminCommands.contains(subCommand)) {
|
||||
arguments.remove(args[1]);
|
||||
}
|
||||
|
||||
if (sender instanceof Player) {
|
||||
subCommand.onCommandByPlayer(player, arguments.toArray(new String[0]));
|
||||
} else if (sender instanceof ConsoleCommandSender) {
|
||||
subCommand.onCommandByConsole((ConsoleCommandSender) sender,
|
||||
arguments.toArray(new String[0]));
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -37,27 +37,27 @@ public class LeaderboardCommand extends SubCommand {
|
||||
.setViewer(new Leaderboard.Viewer(Leaderboard.Viewer.Type.Level));
|
||||
}
|
||||
} else if (args.length == 1) {
|
||||
if (args[0].equalsIgnoreCase("level")) {
|
||||
playerDataManager.getPlayerData(player)
|
||||
.setViewer(new Leaderboard.Viewer(Leaderboard.Viewer.Type.Level));
|
||||
} else if (args[0].equalsIgnoreCase("votes")) {
|
||||
if (fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")).getFileConfiguration()
|
||||
.getBoolean("Island.Visitor.Vote")) {
|
||||
playerDataManager.getPlayerData(player)
|
||||
.setViewer(new Leaderboard.Viewer(Leaderboard.Viewer.Type.Votes));
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Leaderboard.Disabled.Message"));
|
||||
String type = args[0].toLowerCase();
|
||||
switch (type) {
|
||||
case "level":
|
||||
playerDataManager.getPlayerData(player).setViewer(new Leaderboard.Viewer(Leaderboard.Viewer.Type.Level));
|
||||
break;
|
||||
case "bank":
|
||||
playerDataManager.getPlayerData(player).setViewer(new Leaderboard.Viewer(Leaderboard.Viewer.Type.Bank));
|
||||
break;
|
||||
case "votes":
|
||||
if (fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")).getFileConfiguration().getBoolean("Island.Visitor.Vote")) {
|
||||
playerDataManager.getPlayerData(player).setViewer(new Leaderboard.Viewer(Leaderboard.Viewer.Type.Votes));
|
||||
} else {
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.Island.Leaderboard.Disabled.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.Island.Leaderboard.Invalid.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Leaderboard.Invalid.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.Island.Leaderboard.Invalid.Message"));
|
||||
@ -93,6 +93,6 @@ public class LeaderboardCommand extends SubCommand {
|
||||
|
||||
@Override
|
||||
public String[] getArguments() {
|
||||
return new String[] { "level", "votes" };
|
||||
return new String[] { "level", "bank", "votes" };
|
||||
}
|
||||
}
|
||||
|
@ -92,31 +92,20 @@ public class SetSpawnCommand extends SubCommand {
|
||||
|
||||
return;
|
||||
} else {
|
||||
if (LocationUtil.isLocationCentreOfBlock(location)) {
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
if (location.getBlock().getType() != Material.AIR && location.getBlock().getType() != Materials.MOVING_PISTON.parseMaterial()) {
|
||||
location.getBlock().breakNaturally();
|
||||
}
|
||||
|
||||
if (location.clone().add(0.0D, 1.0D, 0.0D).getBlock().getType() != Material.AIR && location.getBlock().getType() != Materials.MOVING_PISTON.parseMaterial()) {
|
||||
location.clone().add(0.0D, 1.0D, 0.0D).getBlock().breakNaturally();
|
||||
}
|
||||
|
||||
islandManager.removeSpawnProtection(island.getLocation(world, environment));
|
||||
}
|
||||
}.runTask(skyblock);
|
||||
} else {
|
||||
messageManager.sendMessage(player, configLoad
|
||||
.getString("Command.Island.SetSpawn.Protection.Centre.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
if (location.getBlock().getType() != Material.AIR && location.getBlock().getType() != Materials.MOVING_PISTON.parseMaterial()) {
|
||||
location.getBlock().breakNaturally();
|
||||
}
|
||||
|
||||
if (location.clone().add(0.0D, 1.0D, 0.0D).getBlock().getType() != Material.AIR && location.getBlock().getType() != Materials.MOVING_PISTON.parseMaterial()) {
|
||||
location.clone().add(0.0D, 1.0D, 0.0D).getBlock().breakNaturally();
|
||||
}
|
||||
|
||||
islandManager.removeSpawnProtection(island.getLocation(world, environment));
|
||||
}
|
||||
}
|
||||
|
||||
island.setLocation(world, environment, location);
|
||||
Location newSpawnLocation = new Location(location.getWorld(), location.getBlockX() + 0.5, location.getBlockY(), location.getBlockZ() + 0.5, location.getYaw(), location.getPitch());
|
||||
island.setLocation(world, environment, newSpawnLocation);
|
||||
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.SetSpawn.Set.Message").replace("%spawn",
|
||||
|
@ -113,12 +113,9 @@ public class TeleportCommand extends SubCommand {
|
||||
configLoad.getString("Command.Island.Teleport.Teleported.Yourself.Message"));
|
||||
soundManager.playSound(player, Sounds.ENDERMAN_TELEPORT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
player.teleport(island.getLocation(IslandWorld.Normal, IslandEnvironment.Main));
|
||||
player.setFallDistance(0.0F);
|
||||
}
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> {
|
||||
player.teleport(island.getLocation(IslandWorld.Normal, IslandEnvironment.Main));
|
||||
player.setFallDistance(0.0F);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -27,12 +27,7 @@ public class VisitCommand extends SubCommand {
|
||||
Visit.getInstance().open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort());
|
||||
soundManager.playSound(player, Sounds.CHEST_OPEN.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if (args.length == 1) {
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Bukkit.getServer().dispatchCommand(player, "island teleport " + args[0]);
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island teleport " + args[0]));
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml"))
|
||||
|
@ -5,6 +5,7 @@ import net.milkbowl.vault.economy.Economy;
|
||||
import net.milkbowl.vault.permission.Permission;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
|
||||
@ -53,9 +54,9 @@ public class EconomyManager {
|
||||
Bukkit.getServer().getPluginManager().callEvent(new PlayerWithdrawMoneyEvent(player, money));
|
||||
}
|
||||
|
||||
public boolean hasPermission(String world, OfflinePlayer player, String perm) {
|
||||
public boolean hasPermission(String world, OfflinePlayer offlinePlayer, String perm) {
|
||||
if (permission != null)
|
||||
return permission.playerHas(world, player, perm);
|
||||
return permission.playerHas(world, offlinePlayer, perm);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -5,6 +5,7 @@ import me.goodandevil.skyblock.config.FileManager.Config;
|
||||
import me.goodandevil.skyblock.utils.version.Materials;
|
||||
import me.goodandevil.skyblock.utils.version.NMSUtil;
|
||||
import me.goodandevil.skyblock.utils.version.Sounds;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
@ -31,21 +32,21 @@ public class GeneratorManager {
|
||||
Config config = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "generators.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
|
||||
if (configLoad.getString("Generators") == null) return;
|
||||
if (configLoad.getString("Generators") == null)
|
||||
return;
|
||||
|
||||
Materials[] oreMaterials = new Materials[]{Materials.COAL, Materials.CHARCOAL, Materials.DIAMOND,
|
||||
Materials.IRON_INGOT, Materials.GOLD_INGOT, Materials.EMERALD};
|
||||
Random rnd = new Random();
|
||||
|
||||
for (String generatorList : configLoad.getConfigurationSection("Generators").getKeys(false)) {
|
||||
if (configLoad.getString("Generators." + generatorList + ".Name") == null) continue;
|
||||
if (configLoad.getString("Generators." + generatorList + ".Name") == null)
|
||||
continue;
|
||||
|
||||
List<GeneratorMaterial> generatorMaterials = new ArrayList<>();
|
||||
|
||||
if (configLoad.getString("Generators." + generatorList + ".Materials") != null) {
|
||||
for (String materialList : configLoad
|
||||
.getConfigurationSection("Generators." + generatorList + ".Materials").getKeys(false)) {
|
||||
for (String materialList : configLoad.getConfigurationSection("Generators." + generatorList + ".Materials").getKeys(false)) {
|
||||
Materials materials = Materials.fromString(materialList);
|
||||
|
||||
if (materials != null) {
|
||||
generatorMaterials.add(new GeneratorMaterial(materials, configLoad.getDouble(
|
||||
"Generators." + generatorList + ".Materials." + materialList + ".Chance")));
|
||||
@ -231,13 +232,11 @@ public class GeneratorManager {
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public BlockState generateBlock(Generator generator, Block block) {
|
||||
block.setType(Material.AIR);
|
||||
|
||||
Materials materials = getRandomMaterials(generator);
|
||||
if (materials == null)
|
||||
return block.getState();
|
||||
|
||||
if (materials == null) return block.getState();
|
||||
skyblock.getSoundManager().playSound(block.getLocation(), Sounds.FIZZ.bukkitSound(),
|
||||
1.0F, 10.0F);
|
||||
skyblock.getSoundManager().playSound(block.getLocation(), Sounds.FIZZ.bukkitSound(), 1.0F, 10.0F);
|
||||
|
||||
if (NMSUtil.getVersionNumber() > 12) {
|
||||
block.setType(materials.parseMaterial());
|
||||
@ -246,8 +245,7 @@ public class GeneratorManager {
|
||||
block.setType(is.getType());
|
||||
|
||||
try {
|
||||
block.getClass().getMethod("setData", byte.class).invoke(block,
|
||||
(byte) is.getDurability());
|
||||
block.getClass().getMethod("setData", byte.class).invoke(block, (byte) is.getDurability());
|
||||
} catch (IllegalAccessException | IllegalArgumentException
|
||||
| InvocationTargetException | NoSuchMethodException | SecurityException e) {
|
||||
e.printStackTrace();
|
||||
@ -259,23 +257,13 @@ public class GeneratorManager {
|
||||
|
||||
public Materials getRandomMaterials(Generator generator) {
|
||||
if (generator.getGeneratorMaterials() != null && generator.getGeneratorMaterials().size() != 0) {
|
||||
Map<Integer, Integer> chances = new HashMap<>();
|
||||
List<Materials> weightedList = new ArrayList<>();
|
||||
for (GeneratorMaterial generatorMaterial : generator.getGeneratorMaterials())
|
||||
for (int i = 0; i < generatorMaterial.getChance() * 30; i++)
|
||||
weightedList.add(generatorMaterial.getMaterials());
|
||||
|
||||
for (int index = 0; index < generator.getGeneratorMaterials().size(); index++) {
|
||||
GeneratorMaterial generatorMaterial = generator.getGeneratorMaterials().get(index);
|
||||
|
||||
for (int i = 0; i < generatorMaterial.getChance(); i++) {
|
||||
chances.put(chances.size() + 1, index);
|
||||
}
|
||||
}
|
||||
|
||||
if (chances.size() != 0) {
|
||||
int rndNum = new Random().nextInt(chances.size());
|
||||
|
||||
if (rndNum != 0) {
|
||||
return generator.getGeneratorMaterials().get(chances.get(rndNum)).getMaterials();
|
||||
}
|
||||
}
|
||||
int choice = new Random().nextInt(weightedList.size());
|
||||
return weightedList.get(choice);
|
||||
}
|
||||
|
||||
return Materials.COBBLESTONE;
|
||||
|
@ -52,8 +52,7 @@ public class LeaderboardManager {
|
||||
for (int i = 0; i < visitManager.getIslands().size(); i++) {
|
||||
UUID ownerUUID = (UUID) visitManager.getIslands().keySet().toArray()[i];
|
||||
|
||||
if (enableExemptions && economyManager.hasPermission(
|
||||
worldManager.getWorld(IslandWorld.Normal).getName(),
|
||||
if (enableExemptions && economyManager.hasPermission(worldManager.getWorld(IslandWorld.Normal).getName(),
|
||||
Bukkit.getOfflinePlayer(ownerUUID),
|
||||
"fabledskyblock.island.top.exempt"))
|
||||
continue;
|
||||
|
@ -5,6 +5,7 @@ import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
import me.goodandevil.skyblock.utils.version.NMSUtil;
|
||||
import net.md_5.bungee.api.ChatMessageType;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
import org.bukkit.Bukkit;
|
||||
@ -105,23 +106,27 @@ public class Chunk {
|
||||
}
|
||||
|
||||
private void sendPercentMessage(int percent) {
|
||||
String message = ChatColor.translateAlternateColorCodes('&',
|
||||
this.skyblock.getFileManager()
|
||||
.getConfig(new File(this.skyblock.getDataFolder(), "language.yml"))
|
||||
.getFileConfiguration().getString("Command.Island.Level.Scanning.Progress.Message")
|
||||
.replace("%percent", String.valueOf(percent)));
|
||||
for (Player player : this.skyblock.getIslandManager().getPlayersAtIsland(this.island)) {
|
||||
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(message));
|
||||
}
|
||||
if (NMSUtil.getVersionNumber() > 8) {
|
||||
String message = ChatColor.translateAlternateColorCodes('&',
|
||||
this.skyblock.getFileManager()
|
||||
.getConfig(new File(this.skyblock.getDataFolder(), "language.yml"))
|
||||
.getFileConfiguration().getString("Command.Island.Level.Scanning.Progress.Message")
|
||||
.replace("%percent", String.valueOf(percent)));
|
||||
for (Player player : this.skyblock.getIslandManager().getPlayersAtIsland(this.island)) {
|
||||
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(message));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void sendFinishedMessage() {
|
||||
String message = ChatColor.translateAlternateColorCodes('&', this.skyblock.getFileManager()
|
||||
.getConfig(new File(this.skyblock.getDataFolder(), "language.yml"))
|
||||
.getFileConfiguration().getString("Command.Island.Level.Scanning.Finished.Message"));
|
||||
for (Player player : this.skyblock.getIslandManager().getPlayersAtIsland(this.island)) {
|
||||
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(message));
|
||||
}
|
||||
if (NMSUtil.getVersionNumber() > 8) {
|
||||
String message = ChatColor.translateAlternateColorCodes('&', this.skyblock.getFileManager()
|
||||
.getConfig(new File(this.skyblock.getDataFolder(), "language.yml"))
|
||||
.getFileConfiguration().getString("Command.Island.Level.Scanning.Finished.Message"));
|
||||
for (Player player : this.skyblock.getIslandManager().getPlayersAtIsland(this.island)) {
|
||||
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(message));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void getChunksToScan(IslandWorld islandWorld) {
|
||||
|
@ -12,7 +12,11 @@ import me.goodandevil.skyblock.utils.version.Materials;
|
||||
import me.goodandevil.skyblock.utils.version.NMSUtil;
|
||||
import me.goodandevil.skyblock.utils.version.Sounds;
|
||||
import me.goodandevil.skyblock.world.WorldManager;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChunkSnapshot;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.EntityType;
|
||||
@ -22,7 +26,11 @@ import org.bukkit.scheduler.BukkitRunnable;
|
||||
import java.io.File;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
|
||||
public class LevellingManager {
|
||||
@ -63,6 +71,13 @@ public class LevellingManager {
|
||||
|
||||
Map<LevellingData, Long> levellingData = new HashMap<>();
|
||||
|
||||
List<Material> blacklistedMaterials = new ArrayList<>();
|
||||
blacklistedMaterials.add(Materials.AIR.getPostMaterial());
|
||||
blacklistedMaterials.add(Materials.WATER.getPostMaterial());
|
||||
blacklistedMaterials.add(Materials.LEGACY_STATIONARY_WATER.getPostMaterial());
|
||||
blacklistedMaterials.add(Materials.LAVA.getPostMaterial());
|
||||
blacklistedMaterials.add(Materials.LEGACY_STATIONARY_LAVA.getPostMaterial());
|
||||
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -118,14 +133,14 @@ public class LevellingManager {
|
||||
blockData = (int) getBlockTypeDataMethod.invoke(chunkSnapshotList, x, y, z);
|
||||
}
|
||||
|
||||
if (blockMaterial == org.bukkit.Material.AIR)
|
||||
if (blacklistedMaterials.contains(blockMaterial))
|
||||
continue;
|
||||
|
||||
long amount = 1;
|
||||
|
||||
if (blockMaterial == Materials.SPAWNER.parseMaterial()) {
|
||||
World world = Bukkit.getWorld(chunkSnapshotList.getWorldName());
|
||||
Location location = new Location(world, chunkSnapshotList.getX() * 16 + x, y, chunkSnapshotList.getZ() * 16 + z);
|
||||
Location location = new Location(world, chunkSnapshotList.getX() * 16 + x, y, chunkSnapshotList.getZ() * 16 + z);
|
||||
|
||||
if (isEpicSpawnersEnabled) {
|
||||
com.songoda.epicspawners.api.EpicSpawners epicSpawners = com.songoda.epicspawners.api.EpicSpawnersAPI.getImplementation();
|
||||
@ -134,20 +149,24 @@ public class LevellingManager {
|
||||
amount = spawner.getSpawnerDataCount();
|
||||
spawnerType = spawner.getCreatureSpawner().getSpawnedType();
|
||||
}
|
||||
} else if (isWildStackerEnabled) {
|
||||
}
|
||||
|
||||
if (isWildStackerEnabled && spawnerType == null) {
|
||||
com.bgsoftware.wildstacker.api.handlers.SystemManager wildStacker = com.bgsoftware.wildstacker.api.WildStackerAPI.getWildStacker().getSystemManager();
|
||||
if (wildStacker.isStackedSpawner(location.getBlock())) {
|
||||
com.bgsoftware.wildstacker.api.objects.StackedSpawner spawner = wildStacker.getStackedSpawner(location);
|
||||
amount = spawner.getStackAmount();
|
||||
spawnerType = spawner.getSpawnedType();
|
||||
}
|
||||
} else {
|
||||
}
|
||||
|
||||
if (spawnerType == null) {
|
||||
spawnerType = ((CreatureSpawner) location.getBlock().getState()).getSpawnedType();
|
||||
}
|
||||
} else {
|
||||
if (isWildStackerEnabled) {
|
||||
World world = Bukkit.getWorld(chunkSnapshotList.getWorldName());
|
||||
Location location = new Location(world, chunkSnapshotList.getX() * 16 + x, y, chunkSnapshotList.getZ() * 16 + z);
|
||||
Location location = new Location(world, chunkSnapshotList.getX() * 16 + x, y, chunkSnapshotList.getZ() * 16 + z);
|
||||
com.bgsoftware.wildstacker.api.handlers.SystemManager wildStacker = com.bgsoftware.wildstacker.api.WildStackerAPI.getWildStacker().getSystemManager();
|
||||
if (wildStacker.isStackedBarrel(location.getBlock())) {
|
||||
com.bgsoftware.wildstacker.api.objects.StackedBarrel barrel = wildStacker.getStackedBarrel(location.getBlock());
|
||||
@ -159,17 +178,19 @@ public class LevellingManager {
|
||||
blockData = 0;
|
||||
}
|
||||
}
|
||||
} else if (stackableManager != null && stackableManager.getStackableMaterials().contains(blockMaterial)) {
|
||||
}
|
||||
|
||||
if (stackableManager != null && stackableManager.getStackableMaterials().contains(blockMaterial) && amount == 1) {
|
||||
World world = Bukkit.getWorld(chunkSnapshotList.getWorldName());
|
||||
Location location = new Location(world, chunkSnapshotList.getX() * 16 + x, y, chunkSnapshotList.getZ() * 16 + z);
|
||||
Location location = new Location(world, chunkSnapshotList.getX() * 16 + x, y, chunkSnapshotList.getZ() * 16 + z);
|
||||
if (stackableManager.isStacked(location)) {
|
||||
Stackable stackable = stackableManager.getStack(location, blockMaterial);
|
||||
amount = stackable.getSize();
|
||||
amount += stackable.getSize();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
LevellingData data = new LevellingData(blockMaterial, (byte)blockData, spawnerType);
|
||||
LevellingData data = new LevellingData(blockMaterial, (byte) blockData, spawnerType);
|
||||
Long totalAmountInteger = levellingData.get(data);
|
||||
long totalAmount = totalAmountInteger == null ? amount : totalAmountInteger + amount;
|
||||
levellingData.put(data, totalAmount);
|
||||
@ -221,13 +242,13 @@ public class LevellingManager {
|
||||
public void registerMaterials() {
|
||||
Config config = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "levelling.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
|
||||
|
||||
if (configLoad.getString("Materials") != null) {
|
||||
for (String materialKey : configLoad.getConfigurationSection("Materials").getKeys(false)) {
|
||||
try {
|
||||
Materials material = Materials.fromString(materialKey);
|
||||
if (!material.isAvailable() || material.getPostItem() == null) continue;
|
||||
|
||||
|
||||
if (!containsMaterial(material)) {
|
||||
addMaterial(material, configLoad.getLong("Materials." + materialKey + ".Points"));
|
||||
}
|
||||
@ -289,7 +310,7 @@ public class LevellingManager {
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (!(obj instanceof LevellingData)) return false;
|
||||
LevellingData data = (LevellingData)obj;
|
||||
LevellingData data = (LevellingData) obj;
|
||||
if (this == obj) return true;
|
||||
return this.material == data.material && this.data == data.data && this.spawnerType == data.spawnerType;
|
||||
}
|
||||
@ -307,7 +328,8 @@ public class LevellingManager {
|
||||
if (NMSUtil.getVersionNumber() > 12) {
|
||||
try {
|
||||
return Materials.fromString(material.name());
|
||||
} catch (Exception ignored) {}
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
}
|
||||
|
||||
return Materials.getMaterials(this.material, this.data);
|
||||
|
@ -472,7 +472,10 @@ public class Block implements Listener {
|
||||
|
||||
org.bukkit.block.BlockState genState = generatorManager.generateBlock(generator, block);
|
||||
event.getNewState().setType(genState.getType());
|
||||
event.getNewState().setData(genState.getData());
|
||||
|
||||
if (NMSUtil.getVersionNumber() < 13) {
|
||||
event.getNewState().setData(genState.getData());
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -50,12 +50,10 @@ public class Death implements Listener {
|
||||
}
|
||||
|
||||
if (configLoad.getBoolean("Island.Death.AutoRespawn")) {
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(skyblock, new Runnable() {
|
||||
public void run() {
|
||||
player.spigot().respawn();
|
||||
player.setFallDistance(0.0F);
|
||||
player.setFireTicks(0);
|
||||
}
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(skyblock, () -> {
|
||||
player.spigot().respawn();
|
||||
player.setFallDistance(0.0F);
|
||||
player.setFireTicks(0);
|
||||
}, 1L);
|
||||
}
|
||||
}
|
||||
|
@ -244,6 +244,16 @@ public class Entity implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onStackableInteract(PlayerArmorStandManipulateEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
if (!skyblock.getIslandManager().hasPermission(player, event.getRightClicked().getLocation(), "ArmorStandUse")) {
|
||||
event.setCancelled(true);
|
||||
|
||||
skyblock.getMessageManager().sendMessage(player,
|
||||
skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml"))
|
||||
.getFileConfiguration().getString("Island.Settings.Permission.Message"));
|
||||
skyblock.getSoundManager().playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
if (NMSUtil.getVersionNumber() != 8)
|
||||
return;
|
||||
|
||||
|
@ -17,9 +17,9 @@ import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityPortalEnterEvent;
|
||||
import org.bukkit.event.entity.EntityPortalEvent;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
|
||||
import java.io.File;
|
||||
@ -64,7 +64,7 @@ public class Portal implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void onEntityPortalEnter(EntityPortalEnterEvent event) {
|
||||
if (!(event.getEntity() instanceof Player))
|
||||
return;
|
||||
|
@ -23,7 +23,7 @@ import me.goodandevil.skyblock.placeholder.Placeholder;
|
||||
import me.goodandevil.skyblock.playerdata.PlayerData;
|
||||
import me.goodandevil.skyblock.playerdata.PlayerDataManager;
|
||||
import me.goodandevil.skyblock.sound.SoundManager;
|
||||
import me.goodandevil.skyblock.utils.AnvilGUI;
|
||||
import me.goodandevil.skyblock.utils.AbstractAnvilGUI;
|
||||
import me.goodandevil.skyblock.utils.item.SkullUtil;
|
||||
import me.goodandevil.skyblock.utils.item.nInventoryUtil;
|
||||
import me.goodandevil.skyblock.utils.item.nInventoryUtil.ClickEvent;
|
||||
@ -60,123 +60,102 @@ public class Bans {
|
||||
Config languageConfig = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml"));
|
||||
FileConfiguration configLoad = languageConfig.getFileConfiguration();
|
||||
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = playerDataManager.getPlayerData(player);
|
||||
Island island = islandManager.getIsland(player);
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData1 = playerDataManager.getPlayerData(player);
|
||||
Island island1 = islandManager.getIsland(player);
|
||||
|
||||
if (island == null) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Bans.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
if (island1 == null) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Bans.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
} else if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Visitor.Banning")) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Bans.Disabled.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
return;
|
||||
} else if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Visitor.Banning")) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Bans.Disabled.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Bans.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Bans.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Bans.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Bans.Item.Information.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Bans.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Bans.Item.Information.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
AnvilGUI gui = new AnvilGUI(player, event1 -> {
|
||||
if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) {
|
||||
Bukkit.getServer().dispatchCommand(player,
|
||||
"island ban " + event1.getName());
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> {
|
||||
AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> {
|
||||
if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) {
|
||||
Bukkit.getServer().dispatchCommand(player,
|
||||
"island ban " + event1.getName());
|
||||
|
||||
event1.setWillClose(true);
|
||||
event1.setWillDestroy(true);
|
||||
} else {
|
||||
event1.setWillClose(false);
|
||||
event1.setWillDestroy(false);
|
||||
}
|
||||
});
|
||||
|
||||
ItemStack is = new ItemStack(Material.NAME_TAG);
|
||||
ItemMeta im = is.getItemMeta();
|
||||
im.setDisplayName(configLoad.getString("Menu.Bans.Item.Word.Enter"));
|
||||
is.setItemMeta(im);
|
||||
|
||||
gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is);
|
||||
gui.open();
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Bans.Item.Nothing.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Bans.Item.Previous.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
|
||||
'&', configLoad.getString("Menu.Bans.Item.Next.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
if ((island.hasRole(IslandRole.Operator, player.getUniqueId())
|
||||
&& island.getSetting(IslandRole.Operator, "Unban").getStatus())
|
||||
|| island.hasRole(IslandRole.Owner, player.getUniqueId())) {
|
||||
String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName());
|
||||
Bukkit.getServer().dispatchCommand(player, "island unban " + playerName);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 3L);
|
||||
event1.setWillClose(true);
|
||||
event1.setWillDestroy(true);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Bans.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
event1.setWillClose(false);
|
||||
event1.setWillDestroy(false);
|
||||
}
|
||||
});
|
||||
|
||||
ItemStack is1 = new ItemStack(Material.NAME_TAG);
|
||||
ItemMeta im = is1.getItemMeta();
|
||||
im.setDisplayName(configLoad.getString("Menu.Bans.Item.Word.Enter"));
|
||||
is1.setItemMeta(im);
|
||||
|
||||
gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1);
|
||||
gui.open();
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Bans.Item.Nothing.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Bans.Item.Previous.Displayname")))) {
|
||||
playerData1.setPage(playerData1.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
|
||||
'&', configLoad.getString("Menu.Bans.Item.Next.Displayname")))) {
|
||||
playerData1.setPage(playerData1.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else {
|
||||
if ((island1.hasRole(IslandRole.Operator, player.getUniqueId())
|
||||
&& island1.getSetting(IslandRole.Operator, "Unban").getStatus())
|
||||
|| island1.hasRole(IslandRole.Owner, player.getUniqueId())) {
|
||||
String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName());
|
||||
Bukkit.getServer().dispatchCommand(player, "island unban " + playerName);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 3L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Bans.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -254,12 +233,7 @@ public class Bans {
|
||||
nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Bans.Title")));
|
||||
nInv.setRows(6);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -54,107 +54,99 @@ public class Biome {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
FileConfiguration langConfig = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml")).getFileConfiguration();
|
||||
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
Island island = islandManager.getIsland(player);
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
Island island = islandManager.getIsland(player);
|
||||
|
||||
if (island == null) {
|
||||
messageManager.sendMessage(player,
|
||||
langConfig.getString("Command.Island.Biome.Owner.Message"));
|
||||
if (island == null) {
|
||||
messageManager.sendMessage(player,
|
||||
langConfig.getString("Command.Island.Biome.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
player.closeInventory();
|
||||
|
||||
return;
|
||||
} else if (!((island.hasRole(IslandRole.Operator, player.getUniqueId())
|
||||
&& island.getSetting(IslandRole.Operator, "Biome").getStatus())
|
||||
|| island.hasRole(IslandRole.Owner, player.getUniqueId()))) {
|
||||
messageManager.sendMessage(player,
|
||||
langConfig.getString("Command.Island.Biome.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
player.closeInventory();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
langConfig.getString("Menu.Biome.Item.Info.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial())
|
||||
&& (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
langConfig.getString("Menu.Biome.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
langConfig.getString("Menu.Biome.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else {
|
||||
if (is.getItemMeta().hasEnchant(Enchantment.THORNS)) {
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
player.closeInventory();
|
||||
|
||||
return;
|
||||
} else if (!((island.hasRole(IslandRole.Operator, player.getUniqueId())
|
||||
&& island.getSetting(IslandRole.Operator, "Biome").getStatus())
|
||||
|| island.hasRole(IslandRole.Owner, player.getUniqueId()))) {
|
||||
messageManager.sendMessage(player,
|
||||
langConfig.getString("Command.Island.Biome.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
player.closeInventory();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
langConfig.getString("Menu.Biome.Item.Info.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial())
|
||||
&& (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
langConfig.getString("Menu.Biome.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
langConfig.getString("Menu.Biome.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else {
|
||||
if (is.getItemMeta().hasEnchant(Enchantment.THORNS)) {
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
if (cooldownManager.hasPlayer(CooldownType.Biome, player) && !player.hasPermission("fabledskyblock.bypass.cooldown")) {
|
||||
CooldownPlayer cooldownPlayer = cooldownManager.getCooldownPlayer(CooldownType.Biome, player);
|
||||
Cooldown cooldown = cooldownPlayer.getCooldown();
|
||||
|
||||
if (cooldown.getTime() < 60) {
|
||||
messageManager.sendMessage(player,
|
||||
langConfig.getString("Island.Biome.Cooldown.Message")
|
||||
.replace("%time",
|
||||
cooldown.getTime() + " " + langConfig
|
||||
.getString("Island.Biome.Cooldown.Word.Second")));
|
||||
} else {
|
||||
long[] durationTime = NumberUtil.getDuration(cooldown.getTime());
|
||||
messageManager.sendMessage(player,
|
||||
langConfig.getString("Island.Biome.Cooldown.Message")
|
||||
.replace("%time", durationTime[2] + " "
|
||||
+ langConfig.getString("Island.Biome.Cooldown.Word.Minute")
|
||||
+ " " + durationTime[3] + " "
|
||||
+ langConfig.getString("Island.Biome.Cooldown.Word.Second")));
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else {
|
||||
if (cooldownManager.hasPlayer(CooldownType.Biome, player) && !player.hasPermission("fabledskyblock.bypass.cooldown")) {
|
||||
CooldownPlayer cooldownPlayer = cooldownManager.getCooldownPlayer(CooldownType.Biome, player);
|
||||
Cooldown cooldown = cooldownPlayer.getCooldown();
|
||||
|
||||
if (cooldown.getTime() < 60) {
|
||||
messageManager.sendMessage(player,
|
||||
langConfig.getString("Island.Biome.Cooldown.Message")
|
||||
.replace("%time",
|
||||
cooldown.getTime() + " " + langConfig
|
||||
.getString("Island.Biome.Cooldown.Word.Second")));
|
||||
} else {
|
||||
long[] durationTime = NumberUtil.getDuration(cooldown.getTime());
|
||||
messageManager.sendMessage(player,
|
||||
langConfig.getString("Island.Biome.Cooldown.Message")
|
||||
.replace("%time", durationTime[2] + " "
|
||||
+ langConfig.getString("Island.Biome.Cooldown.Word.Minute")
|
||||
+ " " + durationTime[3] + " "
|
||||
+ langConfig.getString("Island.Biome.Cooldown.Word.Second")));
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
SBiome selectedBiomeType = SBiome.getFromGuiIcon(is.getType(), is.getData().getData());
|
||||
|
||||
cooldownManager.createPlayer(CooldownType.Biome, player);
|
||||
biomeManager.setBiome(island, selectedBiomeType.getBiome());
|
||||
island.setBiome(selectedBiomeType.getBiome());
|
||||
island.save();
|
||||
|
||||
soundManager.playSound(island.getLocation(IslandWorld.Normal, IslandEnvironment.Island),
|
||||
Sounds.SPLASH.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
if (!islandManager.isPlayerAtIsland(island, player, IslandWorld.Normal)) {
|
||||
soundManager.playSound(player, Sounds.SPLASH.bukkitSound(), 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
return;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
SBiome selectedBiomeType = SBiome.getFromGuiIcon(is.getType(), is.getData().getData());
|
||||
|
||||
cooldownManager.createPlayer(CooldownType.Biome, player);
|
||||
biomeManager.setBiome(island, selectedBiomeType.getBiome());
|
||||
island.setBiome(selectedBiomeType.getBiome());
|
||||
island.save();
|
||||
|
||||
soundManager.playSound(island.getLocation(IslandWorld.Normal, IslandEnvironment.Island),
|
||||
Sounds.SPLASH.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
if (!islandManager.isPlayerAtIsland(island, player, IslandWorld.Normal)) {
|
||||
soundManager.playSound(player, Sounds.SPLASH.bukkitSound(), 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -221,12 +213,7 @@ public class Biome {
|
||||
nInv.setTitle(ChatColor.translateAlternateColorCodes('&', langConfig.getString("Menu.Biome.Title")));
|
||||
nInv.setRows(4);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -48,125 +48,102 @@ public class Border {
|
||||
FileConfiguration configLoad = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml"))
|
||||
.getFileConfiguration();
|
||||
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
Island island = islandManager.getIsland(player);
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
Island island = islandManager.getIsland(player);
|
||||
|
||||
if (island == null) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.Island.Border.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
if (island == null) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.Island.Border.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
} else if (!((island.hasRole(IslandRole.Operator, player.getUniqueId())
|
||||
&& island.getSetting(IslandRole.Operator, "Border").getStatus())
|
||||
|| island.hasRole(IslandRole.Owner, player.getUniqueId()))) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Border.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
return;
|
||||
} else if (!((island.hasRole(IslandRole.Operator, player.getUniqueId())
|
||||
&& island.getSetting(IslandRole.Operator, "Border").getStatus())
|
||||
|| island.hasRole(IslandRole.Owner, player.getUniqueId()))) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Border.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
} else if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.WorldBorder.Enable")) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.Island.Border.Disabled.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
return;
|
||||
} else if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.WorldBorder.Enable")) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.Island.Border.Disabled.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Border.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.getType() == Material.TRIPWIRE_HOOK) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Border.Item.Toggle.Displayname"))))) {
|
||||
if (island.isBorder()) {
|
||||
island.setBorder(false);
|
||||
} else {
|
||||
island.setBorder(true);
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
islandManager.updateBorder(island);
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Border.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.getType() == Material.TRIPWIRE_HOOK) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Border.Item.Toggle.Displayname"))))) {
|
||||
if (island.isBorder()) {
|
||||
island.setBorder(false);
|
||||
} else {
|
||||
island.setBorder(true);
|
||||
}
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else if ((is.getType() == Materials.LIGHT_BLUE_DYE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color",
|
||||
configLoad.getString("Menu.Border.Item.Word.Blue")))))) {
|
||||
if (island.getBorderColor() == WorldBorder.Color.Blue) {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else {
|
||||
island.setBorderColor(WorldBorder.Color.Blue);
|
||||
islandManager.updateBorder(island);
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Materials.LIGHT_BLUE_DYE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color",
|
||||
configLoad.getString("Menu.Border.Item.Word.Blue")))))) {
|
||||
if (island.getBorderColor() == WorldBorder.Color.Blue) {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
}
|
||||
} else if ((is.getType() == Materials.LIME_DYE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color",
|
||||
configLoad.getString("Menu.Border.Item.Word.Green")))))) {
|
||||
if (island.getBorderColor() == WorldBorder.Color.Green) {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else {
|
||||
island.setBorderColor(WorldBorder.Color.Blue);
|
||||
islandManager.updateBorder(island);
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else {
|
||||
island.setBorderColor(WorldBorder.Color.Green);
|
||||
islandManager.updateBorder(island);
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
}
|
||||
} else if ((is.getType() == Materials.LIME_DYE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color",
|
||||
configLoad.getString("Menu.Border.Item.Word.Green")))))) {
|
||||
if (island.getBorderColor() == WorldBorder.Color.Green) {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
}
|
||||
} else if ((is.getType() == Materials.RED_DYE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color",
|
||||
configLoad.getString("Menu.Border.Item.Word.Red")))))) {
|
||||
if (island.getBorderColor() == WorldBorder.Color.Red) {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else {
|
||||
island.setBorderColor(WorldBorder.Color.Green);
|
||||
islandManager.updateBorder(island);
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else {
|
||||
island.setBorderColor(WorldBorder.Color.Red);
|
||||
islandManager.updateBorder(island);
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
}
|
||||
} else if ((is.getType() == Materials.ROSE_RED.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color",
|
||||
configLoad.getString("Menu.Border.Item.Word.Red")))))) {
|
||||
if (island.getBorderColor() == WorldBorder.Color.Red) {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else {
|
||||
island.setBorderColor(WorldBorder.Color.Red);
|
||||
islandManager.updateBorder(island);
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
}
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -225,14 +202,14 @@ public class Border {
|
||||
}
|
||||
|
||||
if (borderColor == WorldBorder.Color.Red) {
|
||||
nInv.addItem(nInv.createItem(Materials.ROSE_RED.parseItem(),
|
||||
nInv.addItem(nInv.createItem(Materials.RED_DYE.parseItem(),
|
||||
configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color",
|
||||
configLoad.getString("Menu.Border.Item.Word.Red")),
|
||||
configLoad.getStringList("Menu.Border.Item.Color.Selected.Lore"),
|
||||
new Placeholder[] { new Placeholder("%color", configLoad.getString("Menu.Border.Item.Word.Red")) },
|
||||
null, null), 4);
|
||||
} else {
|
||||
nInv.addItem(nInv.createItem(Materials.ROSE_RED.parseItem(),
|
||||
nInv.addItem(nInv.createItem(Materials.RED_DYE.parseItem(),
|
||||
configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color",
|
||||
configLoad.getString("Menu.Border.Item.Word.Red")),
|
||||
configLoad.getStringList("Menu.Border.Item.Color.Unselected.Lore"),
|
||||
@ -243,11 +220,6 @@ public class Border {
|
||||
nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Border.Title")));
|
||||
nInv.setType(InventoryType.HOPPER);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
}
|
||||
|
@ -36,91 +36,48 @@ public class ControlPanel {
|
||||
Config config = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
ItemStack is = event.getItem();
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Materials.OAK_DOOR.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Teleport.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Bukkit.getServer().dispatchCommand(player, "island teleport");
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Barrier.Displayname"))))) {
|
||||
skyblock.getSoundManager().playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
if ((is.getType() == Materials.OAK_DOOR.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Teleport.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island teleport"), 1L);
|
||||
} else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Barrier.Displayname"))))) {
|
||||
skyblock.getSoundManager().playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.EXPERIENCE_BOTTLE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Level.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Bukkit.getServer().dispatchCommand(player, "island level");
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Settings.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Bukkit.getServer().dispatchCommand(player, "island settings");
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Material.ITEM_FRAME) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Members.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Bukkit.getServer().dispatchCommand(player, "island members");
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Materials.OAK_SAPLING.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Biome.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Bukkit.getServer().dispatchCommand(player, "island biome");
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Materials.CLOCK.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Weather.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Bukkit.getServer().dispatchCommand(player, "island weather");
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Material.IRON_AXE) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Bans.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Bukkit.getServer().dispatchCommand(player, "island bans");
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Material.SIGN) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Visitors.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Bukkit.getServer().dispatchCommand(player, "island visitors");
|
||||
}
|
||||
}, 1L);
|
||||
}
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.EXPERIENCE_BOTTLE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Level.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island level"), 1L);
|
||||
} else if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Settings.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island settings"), 1L);
|
||||
} else if ((is.getType() == Material.ITEM_FRAME) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Members.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island members"), 1L);
|
||||
} else if ((is.getType() == Materials.OAK_SAPLING.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Biome.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island biome"), 1L);
|
||||
} else if ((is.getType() == Materials.CLOCK.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Weather.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island weather"), 1L);
|
||||
} else if ((is.getType() == Material.IRON_AXE) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Bans.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island bans"), 1L);
|
||||
} else if ((is.getType() == Materials.OAK_SIGN.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.ControlPanel.Item.Visitors.Displayname"))))) {
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island visitors"), 1L);
|
||||
}
|
||||
});
|
||||
|
||||
@ -148,18 +105,13 @@ public class ControlPanel {
|
||||
configLoad.getString("Menu.ControlPanel.Item.Bans.Displayname"),
|
||||
configLoad.getStringList("Menu.ControlPanel.Item.Bans.Lore"), null, null,
|
||||
new ItemFlag[] { ItemFlag.HIDE_ATTRIBUTES }), 7);
|
||||
nInv.addItem(nInv.createItem(new ItemStack(Material.SIGN),
|
||||
nInv.addItem(nInv.createItem(new ItemStack(Materials.OAK_SIGN.parseMaterial()),
|
||||
configLoad.getString("Menu.ControlPanel.Item.Visitors.Displayname"),
|
||||
configLoad.getStringList("Menu.ControlPanel.Item.Visitors.Lore"), null, null, null), 8);
|
||||
|
||||
nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.ControlPanel.Title")));
|
||||
nInv.setRows(1);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ import me.goodandevil.skyblock.placeholder.Placeholder;
|
||||
import me.goodandevil.skyblock.playerdata.PlayerData;
|
||||
import me.goodandevil.skyblock.playerdata.PlayerDataManager;
|
||||
import me.goodandevil.skyblock.sound.SoundManager;
|
||||
import me.goodandevil.skyblock.utils.AnvilGUI;
|
||||
import me.goodandevil.skyblock.utils.AbstractAnvilGUI;
|
||||
import me.goodandevil.skyblock.utils.item.SkullUtil;
|
||||
import me.goodandevil.skyblock.utils.item.nInventoryUtil;
|
||||
import me.goodandevil.skyblock.utils.item.nInventoryUtil.ClickEvent;
|
||||
@ -57,124 +57,103 @@ public class Coop {
|
||||
Config config = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = playerDataManager.getPlayerData(player);
|
||||
Island island = islandManager.getIsland(player);
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = playerDataManager.getPlayerData(player);
|
||||
Island island = islandManager.getIsland(player);
|
||||
|
||||
if (island == null) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Coop.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
if (island == null) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Coop.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
} else if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Coop.Enable")) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Coop.Disabled.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
return;
|
||||
} else if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Coop.Enable")) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Coop.Disabled.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Coop.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Coop.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Coop.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
player.closeInventory();
|
||||
} else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Coop.Item.Information.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Coop.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
player.closeInventory();
|
||||
} else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Coop.Item.Information.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
AnvilGUI gui = new AnvilGUI(player, event1 -> {
|
||||
if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) {
|
||||
Bukkit.getServer().dispatchCommand(player,
|
||||
"island coop " + event1.getName());
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> {
|
||||
AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> {
|
||||
if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) {
|
||||
Bukkit.getServer().dispatchCommand(player,
|
||||
"island coop " + event1.getName());
|
||||
|
||||
event1.setWillClose(true);
|
||||
event1.setWillDestroy(true);
|
||||
} else {
|
||||
event1.setWillClose(false);
|
||||
event1.setWillDestroy(false);
|
||||
}
|
||||
});
|
||||
|
||||
ItemStack is = new ItemStack(Material.NAME_TAG);
|
||||
ItemMeta im = is.getItemMeta();
|
||||
im.setDisplayName(configLoad.getString("Menu.Coop.Item.Word.Enter"));
|
||||
is.setItemMeta(im);
|
||||
|
||||
gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is);
|
||||
gui.open();
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Coop.Item.Nothing.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Coop.Item.Previous.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
|
||||
'&', configLoad.getString("Menu.Coop.Item.Next.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
if ((island.hasRole(IslandRole.Operator, player.getUniqueId())
|
||||
&& island.getSetting(IslandRole.Operator, "CoopPlayers").getStatus())
|
||||
|| island.hasRole(IslandRole.Owner, player.getUniqueId())) {
|
||||
String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName());
|
||||
Bukkit.getServer().dispatchCommand(player, "island coop " + playerName);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 3L);
|
||||
event1.setWillClose(true);
|
||||
event1.setWillDestroy(true);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Coop.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
event1.setWillClose(false);
|
||||
event1.setWillDestroy(false);
|
||||
}
|
||||
});
|
||||
|
||||
ItemStack is1 = new ItemStack(Material.NAME_TAG);
|
||||
ItemMeta im = is1.getItemMeta();
|
||||
im.setDisplayName(configLoad.getString("Menu.Coop.Item.Word.Enter"));
|
||||
is1.setItemMeta(im);
|
||||
|
||||
gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1);
|
||||
gui.open();
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Coop.Item.Nothing.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Coop.Item.Previous.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
|
||||
'&', configLoad.getString("Menu.Coop.Item.Next.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else {
|
||||
if ((island.hasRole(IslandRole.Operator, player.getUniqueId())
|
||||
&& island.getSetting(IslandRole.Operator, "CoopPlayers").getStatus())
|
||||
|| island.hasRole(IslandRole.Owner, player.getUniqueId())) {
|
||||
String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName());
|
||||
Bukkit.getServer().dispatchCommand(player, "island coop " + playerName);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 3L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Coop.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -256,12 +235,7 @@ public class Coop {
|
||||
nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Coop.Title")));
|
||||
nInv.setRows(6);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import me.goodandevil.skyblock.utils.version.NMSUtil;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
@ -92,115 +93,104 @@ public class Creator {
|
||||
inventoryRows = 6;
|
||||
}
|
||||
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (islandManager.getIsland(player) != null) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.Island.Create.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (islandManager.getIsland(player) != null) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.Island.Create.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
ItemStack is = event.getItem();
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> {
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
for (Structure structureList : skyblock.getStructureManager().getStructures()) {
|
||||
if ((is.getType() == structureList.getMaterials().parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad
|
||||
.getString("Menu.Creator.Selector.Item.Island.Displayname")
|
||||
.replace("%displayname", structureList.getDisplayname()))))) {
|
||||
if (structureList.isPermission() && structureList.getPermission() != null
|
||||
&& !structureList.getPermission().isEmpty()) {
|
||||
if (!player.hasPermission(structureList.getPermission())
|
||||
&& !player.hasPermission("fabledskyblock.island.*")
|
||||
&& !player.hasPermission("fabledskyblock.*")) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Creator.Selector.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
for (Structure structureList : skyblock.getStructureManager().getStructures()) {
|
||||
if ((is.getType() == structureList.getMaterials().parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad
|
||||
.getString("Menu.Creator.Selector.Item.Island.Displayname")
|
||||
.replace("%displayname", structureList.getDisplayname()))))) {
|
||||
if (structureList.isPermission() && structureList.getPermission() != null
|
||||
&& !structureList.getPermission().isEmpty()) {
|
||||
if (!player.hasPermission(structureList.getPermission())
|
||||
&& !player.hasPermission("fabledskyblock.island.*")
|
||||
&& !player.hasPermission("fabledskyblock.*")) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Creator.Selector.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!fileManager.isFileExist(
|
||||
new File(new File(skyblock.getDataFolder().toString() + "/structures"),
|
||||
structureList.getOverworldFile()))) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Creator.Selector.File.Overworld.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
} else if (!fileManager.isFileExist(
|
||||
new File(new File(skyblock.getDataFolder().toString() + "/structures"),
|
||||
structureList.getNetherFile()))) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Creator.Selector.File.Nether.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
} else if (fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Creation.Cooldown.Creation.Enable")
|
||||
&& cooldownManager.hasPlayer(CooldownType.Creation, player)) {
|
||||
CooldownPlayer cooldownPlayer = cooldownManager
|
||||
.getCooldownPlayer(CooldownType.Creation, player);
|
||||
Cooldown cooldown = cooldownPlayer.getCooldown();
|
||||
|
||||
if (cooldown.getTime() < 60) {
|
||||
messageManager.sendMessage(player, config.getFileConfiguration()
|
||||
.getString("Island.Creator.Selector.Cooldown.Message")
|
||||
.replace("%time", cooldown.getTime() + " "
|
||||
+ config.getFileConfiguration().getString(
|
||||
"Island.Creator.Selector.Cooldown.Word.Second")));
|
||||
} else {
|
||||
long[] durationTime = NumberUtil.getDuration(cooldown.getTime());
|
||||
messageManager.sendMessage(player, config.getFileConfiguration()
|
||||
.getString("Island.Creator.Selector.Cooldown.Message")
|
||||
.replace("%time", durationTime[2] + " "
|
||||
+ config.getFileConfiguration().getString(
|
||||
"Island.Creator.Selector.Cooldown.Word.Minute")
|
||||
+ " " + durationTime[3] + " "
|
||||
+ config.getFileConfiguration().getString(
|
||||
"Island.Creator.Selector.Cooldown.Word.Second")));
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (islandManager.createIsland(player, structureList)) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Creator.Selector.Created.Message"));
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
}
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!fileManager.isFileExist(
|
||||
new File(new File(skyblock.getDataFolder().toString() + "/structures"),
|
||||
structureList.getOverworldFile()))) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Creator.Selector.File.Overworld.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
} else if (!fileManager.isFileExist(
|
||||
new File(new File(skyblock.getDataFolder().toString() + "/structures"),
|
||||
structureList.getNetherFile()))) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Creator.Selector.File.Nether.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
} else if (fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Creation.Cooldown.Creation.Enable")
|
||||
&& cooldownManager.hasPlayer(CooldownType.Creation, player)) {
|
||||
CooldownPlayer cooldownPlayer = cooldownManager
|
||||
.getCooldownPlayer(CooldownType.Creation, player);
|
||||
Cooldown cooldown = cooldownPlayer.getCooldown();
|
||||
|
||||
if (cooldown.getTime() < 60) {
|
||||
messageManager.sendMessage(player, config.getFileConfiguration()
|
||||
.getString("Island.Creator.Selector.Cooldown.Message")
|
||||
.replace("%time", cooldown.getTime() + " "
|
||||
+ config.getFileConfiguration().getString(
|
||||
"Island.Creator.Selector.Cooldown.Word.Second")));
|
||||
} else {
|
||||
long[] durationTime = NumberUtil.getDuration(cooldown.getTime());
|
||||
messageManager.sendMessage(player, config.getFileConfiguration()
|
||||
.getString("Island.Creator.Selector.Cooldown.Message")
|
||||
.replace("%time", durationTime[2] + " "
|
||||
+ config.getFileConfiguration().getString(
|
||||
"Island.Creator.Selector.Cooldown.Word.Minute")
|
||||
+ " " + durationTime[3] + " "
|
||||
+ config.getFileConfiguration().getString(
|
||||
"Island.Creator.Selector.Cooldown.Word.Second")));
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (islandManager.createIsland(player, structureList)) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Creator.Selector.Created.Message"));
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
for (int i = 0; i < availableStructures.size(); i++) {
|
||||
@ -231,11 +221,6 @@ public class Creator {
|
||||
nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Creator.Selector.Title")));
|
||||
nInv.setRows(inventoryRows);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
}
|
||||
|
@ -113,60 +113,47 @@ public class Information {
|
||||
}
|
||||
|
||||
if (viewer.getType() == Information.Viewer.Type.Categories) {
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = playerDataManager.getPlayerData(player);
|
||||
ItemStack is = event.getItem();
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData13 = playerDataManager.getPlayerData(player);
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Categories.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.getType() == Materials.ITEM_FRAME.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Categories.Item.Members.Displayname"))))) {
|
||||
playerData.setViewer(new Information.Viewer(
|
||||
((Information.Viewer) playerData.getViewer()).getOwner(),
|
||||
Information.Viewer.Type.Members));
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Categories.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.getType() == Materials.ITEM_FRAME.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Categories.Item.Members.Displayname"))))) {
|
||||
playerData13.setViewer(new Viewer(
|
||||
((Viewer) playerData13.getViewer()).getOwner(),
|
||||
Viewer.Type.Members));
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Materials.LEGACY_EMPTY_MAP.getPostMaterial())
|
||||
&& (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Categories.Item.Information.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else if ((is.getType() == Materials.LEGACY_EMPTY_MAP.getPostMaterial())
|
||||
&& (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Categories.Item.Information.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.PAINTING.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Categories.Item.Visitors.Displayname"))))) {
|
||||
playerData.setViewer(new Information.Viewer(
|
||||
((Information.Viewer) playerData.getViewer()).getOwner(),
|
||||
Information.Viewer.Type.Visitors));
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.PAINTING.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Categories.Item.Visitors.Displayname"))))) {
|
||||
playerData13.setViewer(new Viewer(
|
||||
((Viewer) playerData13.getViewer()).getOwner(),
|
||||
Viewer.Type.Visitors));
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
}
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -277,88 +264,65 @@ public class Information {
|
||||
configLoad.getString("Menu.Information.Categories.Title")));
|
||||
nInv.setType(InventoryType.HOPPER);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
} else if (viewer.getType() == Information.Viewer.Type.Members) {
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = playerDataManager.getPlayerData(player);
|
||||
ItemStack is = event.getItem();
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData1 = playerDataManager.getPlayerData(player);
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Members.Item.Return.Displayname"))))) {
|
||||
playerData.setViewer(new Information.Viewer(
|
||||
((Information.Viewer) playerData.getViewer()).getOwner(),
|
||||
Information.Viewer.Type.Categories));
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Members.Item.Return.Displayname"))))) {
|
||||
playerData1.setViewer(new Viewer(
|
||||
((Viewer) playerData1.getViewer()).getOwner(),
|
||||
Viewer.Type.Categories));
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else if ((is.getType() == Materials.PAINTING.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Members.Item.Statistics.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial())
|
||||
&& (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Members.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType())
|
||||
&& (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Members.Item.Previous.Displayname")))) {
|
||||
playerData1.setPage(playerData1.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Materials.PAINTING.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Members.Item.Statistics.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else if (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad
|
||||
.getString("Menu.Information.Members.Item.Next.Displayname")))) {
|
||||
playerData1.setPage(playerData1.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial())
|
||||
&& (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Members.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType())
|
||||
&& (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Members.Item.Previous.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else if (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad
|
||||
.getString("Menu.Information.Members.Item.Next.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -461,88 +425,65 @@ public class Information {
|
||||
configLoad.getString("Menu.Information.Members.Title")));
|
||||
nInv.setRows(6);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
} else if (viewer.getType() == Information.Viewer.Type.Visitors) {
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = playerDataManager.getPlayerData(player);
|
||||
ItemStack is = event.getItem();
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData12 = playerDataManager.getPlayerData(player);
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Visitors.Item.Return.Displayname"))))) {
|
||||
playerData.setViewer(new Information.Viewer(
|
||||
((Information.Viewer) playerData.getViewer()).getOwner(),
|
||||
Information.Viewer.Type.Categories));
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Visitors.Item.Return.Displayname"))))) {
|
||||
playerData12.setViewer(new Viewer(
|
||||
((Viewer) playerData12.getViewer()).getOwner(),
|
||||
Viewer.Type.Categories));
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else if ((is.getType() == Materials.PAINTING.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Visitors.Item.Statistics.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial())
|
||||
&& (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Visitors.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType())
|
||||
&& (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Visitors.Item.Previous.Displayname")))) {
|
||||
playerData12.setPage(playerData12.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Materials.PAINTING.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Visitors.Item.Statistics.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else if (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad
|
||||
.getString("Menu.Information.Visitors.Item.Next.Displayname")))) {
|
||||
playerData12.setPage(playerData12.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial())
|
||||
&& (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Visitors.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType())
|
||||
&& (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString(
|
||||
"Menu.Information.Visitors.Item.Previous.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else if (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad
|
||||
.getString("Menu.Information.Visitors.Item.Next.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -620,12 +561,7 @@ public class Information {
|
||||
configLoad.getString("Menu.Information.Visitors.Title")));
|
||||
nInv.setRows(6);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
|
||||
islandManager.unloadIsland(island, null);
|
||||
|
@ -53,55 +53,47 @@ public class Leaderboard {
|
||||
Viewer viewer = (Viewer) playerDataManager.getPlayerData(player).getViewer();
|
||||
|
||||
if (viewer.getType() == Viewer.Type.Browse) {
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
ItemStack is = event.getItem();
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Leaderboard." + Viewer.Type.Browse.name()
|
||||
+ ".Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Leaderboard." + Viewer.Type.Browse.name()
|
||||
+ ".Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
} else if ((is.getType() == Material.DIAMOND) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad
|
||||
.getString("Menu.Leaderboard." + Viewer.Type.Browse.name()
|
||||
+ ".Item.Leaderboard.Displayname")
|
||||
.replace("%leaderboard", Viewer.Type.Level.name()))))) {
|
||||
playerDataManager.getPlayerData(player).setViewer(new Viewer(Viewer.Type.Level));
|
||||
} else if ((is.getType() == Material.GOLD_INGOT) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad
|
||||
.getString("Menu.Leaderboard." + Viewer.Type.Browse.name()
|
||||
+ ".Item.Leaderboard.Displayname")
|
||||
.replace("%leaderboard", Viewer.Type.Bank.name()))))) {
|
||||
playerDataManager.getPlayerData(player).setViewer(new Viewer(Viewer.Type.Bank));
|
||||
} else if ((is.getType() == Material.EMERALD) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad
|
||||
.getString("Menu.Leaderboard." + Viewer.Type.Browse.name()
|
||||
+ ".Item.Leaderboard.Displayname")
|
||||
.replace("%leaderboard", Viewer.Type.Votes.name()))))) {
|
||||
playerDataManager.getPlayerData(player).setViewer(new Viewer(Viewer.Type.Votes));
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
return;
|
||||
} else if ((is.getType() == Material.DIAMOND) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad
|
||||
.getString("Menu.Leaderboard." + Viewer.Type.Browse.name()
|
||||
+ ".Item.Leaderboard.Displayname")
|
||||
.replace("%leaderboard", Viewer.Type.Level.name()))))) {
|
||||
playerDataManager.getPlayerData(player).setViewer(new Viewer(Viewer.Type.Level));
|
||||
} else if ((is.getType() == Material.GOLD_INGOT) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad
|
||||
.getString("Menu.Leaderboard." + Viewer.Type.Browse.name()
|
||||
+ ".Item.Leaderboard.Displayname")
|
||||
.replace("%leaderboard", Viewer.Type.Bank.name()))))) {
|
||||
playerDataManager.getPlayerData(player).setViewer(new Viewer(Viewer.Type.Bank));
|
||||
} else if ((is.getType() == Material.EMERALD) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad
|
||||
.getString("Menu.Leaderboard." + Viewer.Type.Browse.name()
|
||||
+ ".Item.Leaderboard.Displayname")
|
||||
.replace("%leaderboard", Viewer.Type.Votes.name()))))) {
|
||||
playerDataManager.getPlayerData(player).setViewer(new Viewer(Viewer.Type.Votes));
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
}
|
||||
});
|
||||
|
||||
@ -143,97 +135,83 @@ public class Leaderboard {
|
||||
configLoad.getString("Menu.Leaderboard." + viewer.getType().name() + ".Title")));
|
||||
nInv.setType(InventoryType.HOPPER);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
} else {
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
ItemStack is = event.getItem();
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Leaderboard.Leaderboard.Item.Exit.Displayname")))) {
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Leaderboard.Leaderboard.Item.Exit.Displayname")))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad
|
||||
.getString("Menu.Leaderboard.Leaderboard.Item.Return.Displayname")))) {
|
||||
if (skyblock.getFileManager()
|
||||
.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Visitor.Vote")) {
|
||||
playerDataManager.getPlayerData(player)
|
||||
.setViewer(new Viewer(Viewer.Type.Browse));
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad
|
||||
.getString("Menu.Leaderboard.Leaderboard.Item.Return.Displayname")))) {
|
||||
if (skyblock.getFileManager()
|
||||
.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Visitor.Vote")) {
|
||||
playerDataManager.getPlayerData(player)
|
||||
.setViewer(new Viewer(Viewer.Type.Browse));
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
int clickedSlot = event.getSlot();
|
||||
int leaderboardPosition = -1;
|
||||
|
||||
if (clickedSlot == 13) {
|
||||
leaderboardPosition = 0;
|
||||
} else if (clickedSlot == 21) {
|
||||
leaderboardPosition = 1;
|
||||
} else if (clickedSlot == 22) {
|
||||
leaderboardPosition = 2;
|
||||
} else if (clickedSlot == 23) {
|
||||
leaderboardPosition = 3;
|
||||
} else if (clickedSlot == 29) {
|
||||
leaderboardPosition = 4;
|
||||
} else if (clickedSlot == 31) {
|
||||
leaderboardPosition = 5;
|
||||
} else if (clickedSlot == 33) {
|
||||
leaderboardPosition = 6;
|
||||
} else if (clickedSlot == 37) {
|
||||
leaderboardPosition = 7;
|
||||
} else if (clickedSlot == 40) {
|
||||
leaderboardPosition = 8;
|
||||
} else if (clickedSlot == 43) {
|
||||
leaderboardPosition = 9;
|
||||
}
|
||||
|
||||
if (leaderboardPosition != -1) {
|
||||
List<me.goodandevil.skyblock.leaderboard.Leaderboard> leaderboardIslands = skyblock
|
||||
.getLeaderboardManager().getLeaderboard(
|
||||
me.goodandevil.skyblock.leaderboard.Leaderboard.Type.valueOf(viewer.getType().name()));
|
||||
|
||||
if (leaderboardIslands.size() > leaderboardPosition) {
|
||||
me.goodandevil.skyblock.leaderboard.Leaderboard leaderboard = leaderboardIslands.get(leaderboardPosition);
|
||||
me.goodandevil.skyblock.visit.Visit visit = leaderboard.getVisit();
|
||||
|
||||
OfflinePlayer offlinePlayer = new OfflinePlayer(visit.getOwnerUUID());
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(skyblock, () -> Bukkit.dispatchCommand(player, "island teleport " + offlinePlayer.getName()));
|
||||
}
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F);
|
||||
int clickedSlot = event.getSlot();
|
||||
int leaderboardPosition = -1;
|
||||
|
||||
if (clickedSlot == 13) {
|
||||
leaderboardPosition = 0;
|
||||
} else if (clickedSlot == 21) {
|
||||
leaderboardPosition = 1;
|
||||
} else if (clickedSlot == 22) {
|
||||
leaderboardPosition = 2;
|
||||
} else if (clickedSlot == 23) {
|
||||
leaderboardPosition = 3;
|
||||
} else if (clickedSlot == 29) {
|
||||
leaderboardPosition = 4;
|
||||
} else if (clickedSlot == 31) {
|
||||
leaderboardPosition = 5;
|
||||
} else if (clickedSlot == 33) {
|
||||
leaderboardPosition = 6;
|
||||
} else if (clickedSlot == 37) {
|
||||
leaderboardPosition = 7;
|
||||
} else if (clickedSlot == 40) {
|
||||
leaderboardPosition = 8;
|
||||
} else if (clickedSlot == 43) {
|
||||
leaderboardPosition = 9;
|
||||
}
|
||||
|
||||
if (leaderboardPosition != -1) {
|
||||
List<me.goodandevil.skyblock.leaderboard.Leaderboard> leaderboardIslands = skyblock
|
||||
.getLeaderboardManager().getLeaderboard(
|
||||
me.goodandevil.skyblock.leaderboard.Leaderboard.Type.valueOf(viewer.getType().name()));
|
||||
|
||||
if (leaderboardIslands.size() > leaderboardPosition) {
|
||||
me.goodandevil.skyblock.leaderboard.Leaderboard leaderboard = leaderboardIslands.get(leaderboardPosition);
|
||||
me.goodandevil.skyblock.visit.Visit visit = leaderboard.getVisit();
|
||||
|
||||
OfflinePlayer offlinePlayer = new OfflinePlayer(visit.getOwnerUUID());
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(skyblock, () -> Bukkit.dispatchCommand(player, "island teleport " + offlinePlayer.getName()));
|
||||
}
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
});
|
||||
|
||||
@ -350,12 +328,7 @@ public class Leaderboard {
|
||||
viewer.getType().name())));
|
||||
nInv.setRows(6);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -150,17 +150,14 @@ public class Levelling {
|
||||
return;
|
||||
}
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Level.Processing.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Level.Processing.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
cooldownManager.createPlayer(CooldownType.Levelling,
|
||||
Bukkit.getServer().getOfflinePlayer(island.getOwnerUUID()));
|
||||
levellingManager.calculatePoints(player, island);
|
||||
}
|
||||
cooldownManager.createPlayer(CooldownType.Levelling,
|
||||
Bukkit.getServer().getOfflinePlayer(island.getOwnerUUID()));
|
||||
levellingManager.calculatePoints(player, island);
|
||||
});
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
|
||||
PlayerData playerData1 = skyblock.getPlayerDataManager().getPlayerData(player);
|
||||
@ -170,13 +167,13 @@ public class Levelling {
|
||||
playerData1.setPage(playerData1.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, () -> open(player), 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
|
||||
'&', configLoad.getString("Menu.Levelling.Item.Next.Displayname")))) {
|
||||
playerData1.setPage(playerData1.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, () -> open(player), 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
@ -319,12 +316,7 @@ public class Levelling {
|
||||
nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Levelling.Title")));
|
||||
nInv.setRows(6);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -63,178 +63,145 @@ public class Members {
|
||||
FileConfiguration configLoad = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml"))
|
||||
.getFileConfiguration();
|
||||
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = playerDataManager.getPlayerData(player);
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = playerDataManager.getPlayerData(player);
|
||||
|
||||
if (playerData.getType() == null || playerData.getSort() == null) {
|
||||
playerData.setType(Members.Type.Default);
|
||||
playerData.setSort(Members.Sort.Default);
|
||||
if (playerData.getType() == null || playerData.getSort() == null) {
|
||||
playerData.setType(Type.Default);
|
||||
playerData.setSort(Sort.Default);
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
Island island = islandManager.getIsland(player);
|
||||
|
||||
if (island == null) {
|
||||
skyblock.getMessageManager().sendMessage(player,
|
||||
configLoad.getString("Command.Island.Members.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Members.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Members.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.getType() == Material.HOPPER) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Members.Item.Type.Displayname")))) {
|
||||
Type type1 = (Type) playerData.getType();
|
||||
|
||||
if (type1.ordinal() + 1 == Type.values().length) {
|
||||
playerData.setType(Type.Default);
|
||||
} else {
|
||||
playerData.setType(Type.values()[type1.ordinal() + 1]);
|
||||
}
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
|
||||
'&', configLoad.getString("Menu.Members.Item.Sort.Displayname")))) {
|
||||
Sort sort1 = (Sort) playerData.getSort();
|
||||
|
||||
if (sort1.ordinal() + 1 == Sort.values().length) {
|
||||
playerData.setSort(Sort.Default);
|
||||
} else {
|
||||
playerData.setSort(Sort.values()[sort1.ordinal() + 1]);
|
||||
}
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
Island island = islandManager.getIsland(player);
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
if (island == null) {
|
||||
skyblock.getMessageManager().sendMessage(player,
|
||||
configLoad.getString("Command.Island.Members.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(),
|
||||
(Sort) playerData.getSort()), 1L);
|
||||
} else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Members.Item.Statistics.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Members.Item.Nothing.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Members.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Members.Item.Previous.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Members.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.getType() == Material.HOPPER) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Members.Item.Type.Displayname")))) {
|
||||
Members.Type type = (Members.Type) playerData.getType();
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(),
|
||||
(Sort) playerData.getSort()), 1L);
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
|
||||
'&', configLoad.getString("Menu.Members.Item.Next.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
if (type.ordinal() + 1 == Members.Type.values().length) {
|
||||
playerData.setType(Members.Type.Default);
|
||||
} else {
|
||||
playerData.setType(Members.Type.values()[type.ordinal() + 1]);
|
||||
}
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
|
||||
'&', configLoad.getString("Menu.Members.Item.Sort.Displayname")))) {
|
||||
Members.Sort sort = (Members.Sort) playerData.getSort();
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(),
|
||||
(Sort) playerData.getSort()), 1L);
|
||||
} else {
|
||||
String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName());
|
||||
UUID playerUUID;
|
||||
|
||||
if (sort.ordinal() + 1 == Members.Sort.values().length) {
|
||||
playerData.setSort(Members.Sort.Default);
|
||||
} else {
|
||||
playerData.setSort(Members.Sort.values()[sort.ordinal() + 1]);
|
||||
}
|
||||
Player targetPlayer = Bukkit.getServer().getPlayer(playerName);
|
||||
|
||||
if (targetPlayer == null) {
|
||||
playerUUID = new OfflinePlayer(playerName).getUUID();
|
||||
} else {
|
||||
playerUUID = targetPlayer.getUniqueId();
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Members.Type) playerData.getType(),
|
||||
(Members.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Members.Item.Statistics.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Members.Item.Nothing.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Members.Item.Previous.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Members.Type) playerData.getType(),
|
||||
(Members.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
|
||||
'&', configLoad.getString("Menu.Members.Item.Next.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Members.Type) playerData.getType(),
|
||||
(Members.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName());
|
||||
UUID playerUUID;
|
||||
|
||||
Player targetPlayer = Bukkit.getServer().getPlayer(playerName);
|
||||
|
||||
if (targetPlayer == null) {
|
||||
playerUUID = new OfflinePlayer(playerName).getUUID();
|
||||
} else {
|
||||
playerUUID = targetPlayer.getUniqueId();
|
||||
}
|
||||
|
||||
if (!(playerUUID.equals(player.getUniqueId())
|
||||
|| island.hasRole(IslandRole.Owner, playerUUID))) {
|
||||
if (island.hasRole(IslandRole.Owner, player.getUniqueId())) {
|
||||
if (event.getClick() == ClickType.LEFT) {
|
||||
if (island.hasRole(IslandRole.Member, playerUUID)) {
|
||||
Bukkit.getServer().dispatchCommand(player,
|
||||
"island promote " + playerName);
|
||||
} else {
|
||||
Bukkit.getServer().dispatchCommand(player,
|
||||
"island demote " + playerName);
|
||||
}
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Members.Type) playerData.getType(),
|
||||
(Members.Sort) playerData.getSort());
|
||||
}
|
||||
}, 3L);
|
||||
|
||||
return;
|
||||
} else if (event.getClick() == ClickType.RIGHT) {
|
||||
Bukkit.getServer().dispatchCommand(player, "island kick " + playerName);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Members.Type) playerData.getType(),
|
||||
(Members.Sort) playerData.getSort());
|
||||
}
|
||||
}, 3L);
|
||||
|
||||
return;
|
||||
if (!(playerUUID.equals(player.getUniqueId())
|
||||
|| island.hasRole(IslandRole.Owner, playerUUID))) {
|
||||
if (island.hasRole(IslandRole.Owner, player.getUniqueId())) {
|
||||
if (event.getClick() == ClickType.LEFT) {
|
||||
if (island.hasRole(IslandRole.Member, playerUUID)) {
|
||||
Bukkit.getServer().dispatchCommand(player,
|
||||
"island promote " + playerName);
|
||||
} else {
|
||||
Bukkit.getServer().dispatchCommand(player,
|
||||
"island demote " + playerName);
|
||||
}
|
||||
} else if (island.hasRole(IslandRole.Operator, player.getUniqueId())
|
||||
&& island.getSetting(IslandRole.Operator, "Kick").getStatus()) {
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player, (Type) playerData.getType(),
|
||||
(Sort) playerData.getSort()), 3L);
|
||||
|
||||
return;
|
||||
} else if (event.getClick() == ClickType.RIGHT) {
|
||||
Bukkit.getServer().dispatchCommand(player, "island kick " + playerName);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Members.Type) playerData.getType(),
|
||||
(Members.Sort) playerData.getSort());
|
||||
}
|
||||
}, 3L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player, (Type) playerData.getType(),
|
||||
(Sort) playerData.getSort()), 3L);
|
||||
|
||||
return;
|
||||
}
|
||||
} else if (island.hasRole(IslandRole.Operator, player.getUniqueId())
|
||||
&& island.getSetting(IslandRole.Operator, "Kick").getStatus()) {
|
||||
Bukkit.getServer().dispatchCommand(player, "island kick " + playerName);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player, (Type) playerData.getType(),
|
||||
(Sort) playerData.getSort()), 3L);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -618,12 +585,7 @@ public class Members {
|
||||
nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Members.Title")));
|
||||
nInv.setRows(6);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,7 @@ import me.goodandevil.skyblock.placeholder.Placeholder;
|
||||
import me.goodandevil.skyblock.playerdata.PlayerData;
|
||||
import me.goodandevil.skyblock.playerdata.PlayerDataManager;
|
||||
import me.goodandevil.skyblock.sound.SoundManager;
|
||||
import me.goodandevil.skyblock.utils.AnvilGUI;
|
||||
import me.goodandevil.skyblock.utils.AbstractAnvilGUI;
|
||||
import me.goodandevil.skyblock.utils.item.SkullUtil;
|
||||
import me.goodandevil.skyblock.utils.item.nInventoryUtil;
|
||||
import me.goodandevil.skyblock.utils.item.nInventoryUtil.ClickEvent;
|
||||
@ -57,213 +57,178 @@ public class Ownership {
|
||||
FileConfiguration configLoad = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml"))
|
||||
.getFileConfiguration();
|
||||
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = skyblock.getPlayerDataManager().getPlayerData(player);
|
||||
Island island = islandManager.getIsland(player);
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = skyblock.getPlayerDataManager().getPlayerData(player);
|
||||
Island island = islandManager.getIsland(player);
|
||||
|
||||
if (island == null) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Ownership.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
if (island == null) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Ownership.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
} else if (!island.hasRole(IslandRole.Owner, player.getUniqueId())) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Ownership.Role.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
return;
|
||||
} else if (!island.hasRole(IslandRole.Owner, player.getUniqueId())) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Ownership.Role.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerData.getType() == null) {
|
||||
playerData.setType(Ownership.Visibility.Hidden);
|
||||
}
|
||||
if (playerData.getType() == null) {
|
||||
playerData.setType(Visibility.Hidden);
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Ownership.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Ownership.Item.Original.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Ownership.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Ownership.Item.Original.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial())
|
||||
&& (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Ownership.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial())
|
||||
&& (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Ownership.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.WRITABLE_BOOK.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Ownership.Item.Assign.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.WRITABLE_BOOK.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Ownership.Item.Assign.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
AnvilGUI gui = new AnvilGUI(player, new AnvilGUI.AnvilClickEventHandler() {
|
||||
@Override
|
||||
public void onAnvilClick(final AnvilGUI.AnvilClickEvent event) {
|
||||
if (event.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
Island island = islandManager.getIsland(player);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> {
|
||||
AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> {
|
||||
if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
Island island1 = islandManager.getIsland(player);
|
||||
|
||||
if (island == null) {
|
||||
messageManager.sendMessage(player, configLoad
|
||||
.getString("Command.Island.Ownership.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(),
|
||||
1.0F, 1.0F);
|
||||
if (island1 == null) {
|
||||
messageManager.sendMessage(player, configLoad
|
||||
.getString("Command.Island.Ownership.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(),
|
||||
1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
} else if (!island.hasRole(IslandRole.Owner,
|
||||
player.getUniqueId())) {
|
||||
messageManager.sendMessage(player, configLoad
|
||||
.getString("Command.Island.Ownership.Role.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(),
|
||||
1.0F, 1.0F);
|
||||
return;
|
||||
} else if (!island1.hasRole(IslandRole.Owner,
|
||||
player.getUniqueId())) {
|
||||
messageManager.sendMessage(player, configLoad
|
||||
.getString("Command.Island.Ownership.Role.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(),
|
||||
1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
Bukkit.getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Bukkit.getServer().dispatchCommand(player,
|
||||
"island ownership " + event.getName());
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
ItemStack is = new ItemStack(Material.NAME_TAG);
|
||||
ItemMeta im = is.getItemMeta();
|
||||
im.setDisplayName(configLoad.getString("Menu.Ownership.Item.Assign.Word.Enter"));
|
||||
is.setItemMeta(im);
|
||||
|
||||
gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is);
|
||||
gui.open();
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Materials.LEGACY_EMPTY_MAP.getPostMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Ownership.Item.Password.Displayname"))))) {
|
||||
if (island.hasPassword()) {
|
||||
if (event.getClick() == ClickType.MIDDLE) {
|
||||
Ownership.Visibility visibility = (Ownership.Visibility) playerData.getType();
|
||||
|
||||
if (visibility == Ownership.Visibility.Hidden) {
|
||||
playerData.setType(Ownership.Visibility.Visible);
|
||||
} else {
|
||||
playerData.setType(Ownership.Visibility.Hidden);
|
||||
Bukkit.getScheduler().runTask(skyblock, () -> Bukkit.getServer().dispatchCommand(player,
|
||||
"island ownership " + event1.getName()));
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
|
||||
return;
|
||||
} else if (event.getClick() == ClickType.RIGHT) {
|
||||
island.setPassword(null);
|
||||
soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
|
||||
return;
|
||||
} else if (event.getClick() != ClickType.LEFT) {
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
} else {
|
||||
event1.setWillClose(false);
|
||||
event1.setWillDestroy(false);
|
||||
}
|
||||
});
|
||||
|
||||
ItemStack is1 = new ItemStack(Material.NAME_TAG);
|
||||
ItemMeta im = is1.getItemMeta();
|
||||
im.setDisplayName(configLoad.getString("Menu.Ownership.Item.Assign.Word.Enter"));
|
||||
is1.setItemMeta(im);
|
||||
|
||||
gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1);
|
||||
gui.open();
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Materials.LEGACY_EMPTY_MAP.getPostMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Ownership.Item.Password.Displayname"))))) {
|
||||
if (island.hasPassword()) {
|
||||
if (event.getClick() == ClickType.MIDDLE) {
|
||||
Visibility visibility = (Visibility) playerData.getType();
|
||||
|
||||
if (visibility == Visibility.Hidden) {
|
||||
playerData.setType(Visibility.Visible);
|
||||
} else {
|
||||
playerData.setType(Visibility.Hidden);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
|
||||
return;
|
||||
} else if (event.getClick() == ClickType.RIGHT) {
|
||||
island.setPassword(null);
|
||||
soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
|
||||
return;
|
||||
} else if (event.getClick() != ClickType.LEFT) {
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
AnvilGUI gui = new AnvilGUI(player, new AnvilGUI.AnvilClickEventHandler() {
|
||||
@Override
|
||||
public void onAnvilClick(final AnvilGUI.AnvilClickEvent event) {
|
||||
if (event.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
Island island = islandManager.getIsland(player);
|
||||
|
||||
if (island == null) {
|
||||
messageManager.sendMessage(player, configLoad
|
||||
.getString("Command.Island.Ownership.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(),
|
||||
1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
} else if (!island.hasRole(IslandRole.Owner,
|
||||
player.getUniqueId())) {
|
||||
messageManager.sendMessage(player, configLoad
|
||||
.getString("Command.Island.Ownership.Role.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(),
|
||||
1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
island.setPassword(
|
||||
event.getName().replace("&", "").replace(" ", ""));
|
||||
soundManager.playSound(player, Sounds.ANVIL_USE.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler()
|
||||
.runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
}
|
||||
} else {
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
ItemStack is = new ItemStack(Material.NAME_TAG);
|
||||
ItemMeta im = is.getItemMeta();
|
||||
im.setDisplayName(
|
||||
configLoad.getString("Menu.Ownership.Item.Password.Hidden.Word.Enter"));
|
||||
is.setItemMeta(im);
|
||||
|
||||
gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is);
|
||||
gui.open();
|
||||
}
|
||||
}, 1L);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> {
|
||||
AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event12 -> {
|
||||
if (event12.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
Island island12 = islandManager.getIsland(player);
|
||||
|
||||
if (island12 == null) {
|
||||
messageManager.sendMessage(player, configLoad
|
||||
.getString("Command.Island.Ownership.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(),
|
||||
1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
} else if (!island12.hasRole(IslandRole.Owner,
|
||||
player.getUniqueId())) {
|
||||
messageManager.sendMessage(player, configLoad
|
||||
.getString("Command.Island.Ownership.Role.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(),
|
||||
1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
island12.setPassword(
|
||||
event12.getName().replace("&", "").replace(" ", ""));
|
||||
soundManager.playSound(player, Sounds.ANVIL_USE.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler()
|
||||
.runTaskLater(skyblock, () -> open(player), 1L);
|
||||
}
|
||||
} else {
|
||||
event12.setWillClose(false);
|
||||
event12.setWillDestroy(false);
|
||||
}
|
||||
});
|
||||
|
||||
ItemStack is12 = new ItemStack(Material.NAME_TAG);
|
||||
ItemMeta im = is12.getItemMeta();
|
||||
im.setDisplayName(
|
||||
configLoad.getString("Menu.Ownership.Item.Password.Hidden.Word.Enter"));
|
||||
is12.setItemMeta(im);
|
||||
|
||||
gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is12);
|
||||
gui.open();
|
||||
}, 1L);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -324,12 +289,7 @@ public class Ownership {
|
||||
nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Ownership.Title")));
|
||||
nInv.setType(InventoryType.HOPPER);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4,6 +4,7 @@ import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import me.goodandevil.skyblock.utils.version.NMSUtil;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
@ -120,8 +121,18 @@ public class Rollback implements Listener {
|
||||
Config config = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
|
||||
if (event.getInventory().getName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Rollback.Title")))) {
|
||||
String inventoryName = "";
|
||||
if (NMSUtil.getVersionNumber() > 13) {
|
||||
inventoryName = event.getView().getTitle();
|
||||
} else {
|
||||
try {
|
||||
inventoryName = (String) Inventory.class.getMethod("getName").invoke(event.getInventory());
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
if (inventoryName.equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Rollback.Title")))) {
|
||||
event.setCancelled(true);
|
||||
|
||||
Island island = islandManager.getIsland(player);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -73,423 +73,49 @@ public class Upgrade {
|
||||
if (playerDataManager.hasPlayerData(player) && playerDataManager.getPlayerData(player).getOwner() != null) {
|
||||
Island island = islandManager.getIsland(player);
|
||||
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (!economyManager.isEconomy()) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Upgrade.Disabled.Message"));
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (!economyManager.isEconomy()) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Upgrade.Disabled.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = playerDataManager.getPlayerData(player);
|
||||
|
||||
if (playerData.getOwner() == null) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Upgrade.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = playerDataManager.getPlayerData(player);
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if (playerData.getOwner() == null) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Upgrade.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Material.POTION) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Upgrade.Item.Speed.Displayname")))) {
|
||||
if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed)) {
|
||||
if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed)) {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed,
|
||||
false);
|
||||
|
||||
for (Player all : islandManager.getPlayersAtIsland(island)) {
|
||||
all.removePotionEffect(PotionEffectType.SPEED);
|
||||
}
|
||||
} else {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed,
|
||||
true);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
List<me.goodandevil.skyblock.upgrade.Upgrade> upgrades = upgradeManager
|
||||
.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed);
|
||||
|
||||
if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) {
|
||||
me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0);
|
||||
|
||||
if (economyManager.hasBalance(player, upgrade.getCost())) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Bought.Message")
|
||||
.replace("%upgrade", is.getItemMeta().getDisplayName()));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
economyManager.withdraw(player, upgrade.getCost());
|
||||
island.setUpgrade(player,
|
||||
me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed, true);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Money.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Exist.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
|
||||
'&', configLoad.getString("Menu.Upgrade.Item.Jump.Displayname")))) {
|
||||
if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump)) {
|
||||
if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump)) {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump,
|
||||
false);
|
||||
|
||||
for (Player all : islandManager.getPlayersAtIsland(island)) {
|
||||
all.removePotionEffect(PotionEffectType.JUMP);
|
||||
}
|
||||
} else {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump,
|
||||
true);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
List<me.goodandevil.skyblock.upgrade.Upgrade> upgrades = upgradeManager
|
||||
.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump);
|
||||
|
||||
if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) {
|
||||
me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0);
|
||||
|
||||
if (economyManager.hasBalance(player, upgrade.getCost())) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Bought.Message")
|
||||
.replace("%upgrade", is.getItemMeta().getDisplayName()));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
economyManager.withdraw(player, upgrade.getCost());
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump,
|
||||
true);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Money.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Exist.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if ((is.getType() == Materials.WHEAT_SEEDS.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Upgrade.Item.Crop.Displayname"))))) {
|
||||
if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop)) {
|
||||
if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop)) {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop, false);
|
||||
} else {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop, true);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
List<me.goodandevil.skyblock.upgrade.Upgrade> upgrades = upgradeManager
|
||||
.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop);
|
||||
|
||||
if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) {
|
||||
me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0);
|
||||
|
||||
if (economyManager.hasBalance(player, upgrade.getCost())) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Bought.Message")
|
||||
.replace("%upgrade", is.getItemMeta().getDisplayName()));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
economyManager.withdraw(player, upgrade.getCost());
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop,
|
||||
true);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Money.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Exist.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
} else if ((is.getType() == Material.FEATHER) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Upgrade.Item.Fly.Displayname"))))) {
|
||||
if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly)) {
|
||||
if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly)) {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly, false);
|
||||
islandManager.updateFlightAtIsland(island);
|
||||
} else {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly, true);
|
||||
islandManager.updateFlightAtIsland(island);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
List<me.goodandevil.skyblock.upgrade.Upgrade> upgrades = upgradeManager
|
||||
.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly);
|
||||
|
||||
if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) {
|
||||
me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0);
|
||||
|
||||
if (economyManager.hasBalance(player, upgrade.getCost())) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Bought.Message")
|
||||
.replace("%upgrade", is.getItemMeta().getDisplayName()));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
economyManager.withdraw(player, upgrade.getCost());
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly,
|
||||
true);
|
||||
|
||||
islandManager.updateFlightAtIsland(island);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Money.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Exist.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
} else if ((is.getType() == Material.SPIDER_EYE) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Upgrade.Item.Drops.Displayname"))))) {
|
||||
if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops)) {
|
||||
if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops)) {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops,
|
||||
if ((is.getType() == Material.POTION) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Upgrade.Item.Speed.Displayname")))) {
|
||||
if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed)) {
|
||||
if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed)) {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed,
|
||||
false);
|
||||
} else {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops, true);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
List<me.goodandevil.skyblock.upgrade.Upgrade> upgrades = upgradeManager
|
||||
.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops);
|
||||
|
||||
if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) {
|
||||
me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0);
|
||||
|
||||
if (economyManager.hasBalance(player, upgrade.getCost())) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Bought.Message")
|
||||
.replace("%upgrade", is.getItemMeta().getDisplayName()));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
economyManager.withdraw(player, upgrade.getCost());
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops,
|
||||
true);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Money.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
for (Player all : islandManager.getPlayersAtIsland(island)) {
|
||||
all.removePotionEffect(PotionEffectType.SPEED);
|
||||
}
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Exist.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
} else if ((is.getType() == Material.BEACON) && (is.hasItemMeta())) {
|
||||
List<me.goodandevil.skyblock.upgrade.Upgrade> upgrades = upgradeManager
|
||||
.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size);
|
||||
|
||||
if (upgrades != null && upgrades.size() > 0) {
|
||||
for (int i = 0; i < upgrades.size(); i++) {
|
||||
me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(i);
|
||||
int tier = i + 1;
|
||||
|
||||
if (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Upgrade.Item.Size.Displayname")
|
||||
.replace("%tier", "" + tier)))) {
|
||||
if (upgrade.getValue() > island.getSize()
|
||||
&& upgrade.getValue() != island.getSize()) {
|
||||
if (economyManager.hasBalance(player, upgrade.getCost())) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Bought.Message").replace(
|
||||
"%upgrade", is.getItemMeta().getDisplayName()));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
economyManager.withdraw(player, upgrade.getCost());
|
||||
island.setSize(upgrade.getValue());
|
||||
|
||||
Bukkit.getServer().getPluginManager().callEvent(new IslandUpgradeEvent(
|
||||
island.getAPIWrapper(), player, APIUtil.fromImplementation(
|
||||
me.goodandevil.skyblock.upgrade.Upgrade.Type.Size)));
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Money.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Claimed.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
} else if ((is.getType() == Materials.SPAWNER.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Upgrade.Item.Spawner.Displayname"))))) {
|
||||
if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner)) {
|
||||
if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner)) {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner,
|
||||
false);
|
||||
} else {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner,
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed,
|
||||
true);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else {
|
||||
List<me.goodandevil.skyblock.upgrade.Upgrade> upgrades = upgradeManager
|
||||
.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner);
|
||||
.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed);
|
||||
|
||||
if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) {
|
||||
me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0);
|
||||
@ -501,16 +127,11 @@ public class Upgrade {
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
economyManager.withdraw(player, upgrade.getCost());
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner,
|
||||
true);
|
||||
island.setUpgrade(player,
|
||||
me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed, true);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Money.Message"));
|
||||
@ -528,6 +149,317 @@ public class Upgrade {
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
|
||||
'&', configLoad.getString("Menu.Upgrade.Item.Jump.Displayname")))) {
|
||||
if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump)) {
|
||||
if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump)) {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump,
|
||||
false);
|
||||
|
||||
for (Player all : islandManager.getPlayersAtIsland(island)) {
|
||||
all.removePotionEffect(PotionEffectType.JUMP);
|
||||
}
|
||||
} else {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump,
|
||||
true);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else {
|
||||
List<me.goodandevil.skyblock.upgrade.Upgrade> upgrades = upgradeManager
|
||||
.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump);
|
||||
|
||||
if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) {
|
||||
me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0);
|
||||
|
||||
if (economyManager.hasBalance(player, upgrade.getCost())) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Bought.Message")
|
||||
.replace("%upgrade", is.getItemMeta().getDisplayName()));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
economyManager.withdraw(player, upgrade.getCost());
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump,
|
||||
true);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Money.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Exist.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if ((is.getType() == Materials.WHEAT_SEEDS.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Upgrade.Item.Crop.Displayname"))))) {
|
||||
if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop)) {
|
||||
if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop)) {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop, false);
|
||||
} else {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop, true);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else {
|
||||
List<me.goodandevil.skyblock.upgrade.Upgrade> upgrades = upgradeManager
|
||||
.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop);
|
||||
|
||||
if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) {
|
||||
me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0);
|
||||
|
||||
if (economyManager.hasBalance(player, upgrade.getCost())) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Bought.Message")
|
||||
.replace("%upgrade", is.getItemMeta().getDisplayName()));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
economyManager.withdraw(player, upgrade.getCost());
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop,
|
||||
true);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Money.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Exist.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
} else if ((is.getType() == Material.FEATHER) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Upgrade.Item.Fly.Displayname"))))) {
|
||||
if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly)) {
|
||||
if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly)) {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly, false);
|
||||
islandManager.updateFlightAtIsland(island);
|
||||
} else {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly, true);
|
||||
islandManager.updateFlightAtIsland(island);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else {
|
||||
List<me.goodandevil.skyblock.upgrade.Upgrade> upgrades = upgradeManager
|
||||
.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly);
|
||||
|
||||
if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) {
|
||||
me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0);
|
||||
|
||||
if (economyManager.hasBalance(player, upgrade.getCost())) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Bought.Message")
|
||||
.replace("%upgrade", is.getItemMeta().getDisplayName()));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
economyManager.withdraw(player, upgrade.getCost());
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly,
|
||||
true);
|
||||
|
||||
islandManager.updateFlightAtIsland(island);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Money.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Exist.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
} else if ((is.getType() == Material.SPIDER_EYE) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Upgrade.Item.Drops.Displayname"))))) {
|
||||
if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops)) {
|
||||
if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops)) {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops,
|
||||
false);
|
||||
} else {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops, true);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else {
|
||||
List<me.goodandevil.skyblock.upgrade.Upgrade> upgrades = upgradeManager
|
||||
.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops);
|
||||
|
||||
if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) {
|
||||
me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0);
|
||||
|
||||
if (economyManager.hasBalance(player, upgrade.getCost())) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Bought.Message")
|
||||
.replace("%upgrade", is.getItemMeta().getDisplayName()));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
economyManager.withdraw(player, upgrade.getCost());
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops,
|
||||
true);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Money.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Exist.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
} else if ((is.getType() == Material.BEACON) && (is.hasItemMeta())) {
|
||||
List<me.goodandevil.skyblock.upgrade.Upgrade> upgrades = upgradeManager
|
||||
.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size);
|
||||
|
||||
if (upgrades != null && upgrades.size() > 0) {
|
||||
for (int i = 0; i < upgrades.size(); i++) {
|
||||
me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(i);
|
||||
int tier = i + 1;
|
||||
|
||||
if (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Upgrade.Item.Size.Displayname")
|
||||
.replace("%tier", "" + tier)))) {
|
||||
if (upgrade.getValue() > island.getSize()
|
||||
&& upgrade.getValue() != island.getSize()) {
|
||||
if (economyManager.hasBalance(player, upgrade.getCost())) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Bought.Message").replace(
|
||||
"%upgrade", is.getItemMeta().getDisplayName()));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
economyManager.withdraw(player, upgrade.getCost());
|
||||
island.setSize(upgrade.getValue());
|
||||
|
||||
Bukkit.getServer().getPluginManager().callEvent(new IslandUpgradeEvent(
|
||||
island.getAPIWrapper(), player, APIUtil.fromImplementation(
|
||||
me.goodandevil.skyblock.upgrade.Upgrade.Type.Size)));
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Money.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Claimed.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
} else if ((is.getType() == Materials.SPAWNER.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Upgrade.Item.Spawner.Displayname"))))) {
|
||||
if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner)) {
|
||||
if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner)) {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner,
|
||||
false);
|
||||
} else {
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner,
|
||||
true);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else {
|
||||
List<me.goodandevil.skyblock.upgrade.Upgrade> upgrades = upgradeManager
|
||||
.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner);
|
||||
|
||||
if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) {
|
||||
me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0);
|
||||
|
||||
if (economyManager.hasBalance(player, upgrade.getCost())) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Bought.Message")
|
||||
.replace("%upgrade", is.getItemMeta().getDisplayName()));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
economyManager.withdraw(player, upgrade.getCost());
|
||||
island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner,
|
||||
true);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Money.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Upgrade.Exist.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -62,232 +62,199 @@ public class Visit {
|
||||
FileConfiguration configLoad = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml"))
|
||||
.getFileConfiguration();
|
||||
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = playerDataManager.getPlayerData(player);
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = playerDataManager.getPlayerData(player);
|
||||
|
||||
if (playerData.getType() == null || playerData.getSort() == null) {
|
||||
playerData.setType(Visit.Type.Default);
|
||||
playerData.setSort(Visit.Sort.Default);
|
||||
if (playerData.getType() == null || playerData.getSort() == null) {
|
||||
playerData.setType(Type.Default);
|
||||
playerData.setSort(Sort.Default);
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Statistics.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Material.HOPPER) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Type.Displayname")))) {
|
||||
Type type1 = (Type) playerData.getType();
|
||||
|
||||
if (type1.ordinal() + 1 == Type.values().length) {
|
||||
playerData.setType(Type.Default);
|
||||
} else {
|
||||
playerData.setType(Type.values()[type1.ordinal() + 1]);
|
||||
}
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Sort.Displayname")))) {
|
||||
Sort sort1 = (Sort) playerData.getSort();
|
||||
|
||||
if (sort1.ordinal() + 1 == Sort.values().length) {
|
||||
playerData.setSort(Sort.Default);
|
||||
} else {
|
||||
playerData.setSort(Sort.values()[sort1.ordinal() + 1]);
|
||||
}
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L);
|
||||
} else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Nothing.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Statistics.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Previous.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Material.HOPPER) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Type.Displayname")))) {
|
||||
Visit.Type type = (Visit.Type) playerData.getType();
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L);
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Next.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
if (type.ordinal() + 1 == Visit.Type.values().length) {
|
||||
playerData.setType(Visit.Type.Default);
|
||||
} else {
|
||||
playerData.setType(Visit.Type.values()[type.ordinal() + 1]);
|
||||
}
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Sort.Displayname")))) {
|
||||
Visit.Sort sort = (Visit.Sort) playerData.getSort();
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L);
|
||||
} else {
|
||||
String targetPlayerName = ChatColor.stripColor(is.getItemMeta().getDisplayName());
|
||||
UUID targetPlayerUUID;
|
||||
|
||||
if (sort.ordinal() + 1 == Visit.Sort.values().length) {
|
||||
playerData.setSort(Visit.Sort.Default);
|
||||
} else {
|
||||
playerData.setSort(Visit.Sort.values()[sort.ordinal() + 1]);
|
||||
}
|
||||
Player targetPlayer = Bukkit.getServer().getPlayer(targetPlayerName);
|
||||
|
||||
if (targetPlayer == null) {
|
||||
targetPlayerUUID = new OfflinePlayer(targetPlayerName).getUniqueId();
|
||||
} else {
|
||||
targetPlayerUUID = targetPlayer.getUniqueId();
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
if (visitManager.hasIsland(targetPlayerUUID)) {
|
||||
me.goodandevil.skyblock.visit.Visit visit = visitManager.getIsland(targetPlayerUUID);
|
||||
boolean isCoopPlayer = false;
|
||||
org.bukkit.OfflinePlayer offlinePlayer = Bukkit.getServer()
|
||||
.getOfflinePlayer(targetPlayerUUID);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Nothing.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Previous.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort());
|
||||
if (islandManager.containsIsland(targetPlayerUUID)) {
|
||||
if (islandManager.getIsland(offlinePlayer).isCoopPlayer(player.getUniqueId())) {
|
||||
isCoopPlayer = true;
|
||||
}
|
||||
}, 1L);
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visit.Item.Next.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
String targetPlayerName = ChatColor.stripColor(is.getItemMeta().getDisplayName());
|
||||
UUID targetPlayerUUID;
|
||||
|
||||
Player targetPlayer = Bukkit.getServer().getPlayer(targetPlayerName);
|
||||
|
||||
if (targetPlayer == null) {
|
||||
targetPlayerUUID = new OfflinePlayer(targetPlayerName).getUniqueId();
|
||||
} else {
|
||||
targetPlayerUUID = targetPlayer.getUniqueId();
|
||||
}
|
||||
|
||||
if (visitManager.hasIsland(targetPlayerUUID)) {
|
||||
me.goodandevil.skyblock.visit.Visit visit = visitManager.getIsland(targetPlayerUUID);
|
||||
boolean isCoopPlayer = false;
|
||||
org.bukkit.OfflinePlayer offlinePlayer = Bukkit.getServer()
|
||||
.getOfflinePlayer(targetPlayerUUID);
|
||||
|
||||
if (islandManager.containsIsland(targetPlayerUUID)) {
|
||||
if (islandManager.getIsland(offlinePlayer).isCoopPlayer(player.getUniqueId())) {
|
||||
isCoopPlayer = true;
|
||||
}
|
||||
if (isCoopPlayer || player.hasPermission("fabledskyblock.bypass")
|
||||
|| player.hasPermission("fabledskyblock.bypass.*")
|
||||
|| player.hasPermission("fabledskyblock.*") || visit.isOpen()) {
|
||||
if (!islandManager.containsIsland(targetPlayerUUID)) {
|
||||
islandManager.loadIsland(Bukkit.getServer().getOfflinePlayer(targetPlayerUUID));
|
||||
}
|
||||
|
||||
if (isCoopPlayer || player.hasPermission("fabledskyblock.bypass")
|
||||
|| player.hasPermission("fabledskyblock.bypass.*")
|
||||
|| player.hasPermission("fabledskyblock.*") || visit.isOpen()) {
|
||||
if (!islandManager.containsIsland(targetPlayerUUID)) {
|
||||
islandManager.loadIsland(Bukkit.getServer().getOfflinePlayer(targetPlayerUUID));
|
||||
}
|
||||
Island island = islandManager.getIsland(offlinePlayer);
|
||||
|
||||
Island island = islandManager.getIsland(offlinePlayer);
|
||||
if ((!island.hasRole(IslandRole.Member, player.getUniqueId())
|
||||
&& !island.hasRole(IslandRole.Operator, player.getUniqueId())
|
||||
&& !island.hasRole(IslandRole.Owner, player.getUniqueId()))
|
||||
&& fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Visitor.Vote")) {
|
||||
if (event.getClick() == ClickType.RIGHT) {
|
||||
if (playerData.getIsland() != null
|
||||
&& playerData.getIsland().equals(island.getOwnerUUID())) {
|
||||
if (visit.getVoters().contains(player.getUniqueId())) {
|
||||
visit.removeVoter(player.getUniqueId());
|
||||
|
||||
if ((!island.hasRole(IslandRole.Member, player.getUniqueId())
|
||||
&& !island.hasRole(IslandRole.Operator, player.getUniqueId())
|
||||
&& !island.hasRole(IslandRole.Owner, player.getUniqueId()))
|
||||
&& fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Visitor.Vote")) {
|
||||
if (event.getClick() == ClickType.RIGHT) {
|
||||
if (playerData.getIsland() != null
|
||||
&& playerData.getIsland().equals(island.getOwnerUUID())) {
|
||||
if (visit.getVoters().contains(player.getUniqueId())) {
|
||||
visit.removeVoter(player.getUniqueId());
|
||||
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Visit.Vote.Removed.Message")
|
||||
.replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
} else {
|
||||
visit.addVoter(player.getUniqueId());
|
||||
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Visit.Vote.Added.Message")
|
||||
.replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Visit.Type) playerData.getType(),
|
||||
(Visit.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Visit.Vote.Island.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F,
|
||||
configLoad.getString("Island.Visit.Vote.Removed.Message")
|
||||
.replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
} else {
|
||||
visit.addVoter(player.getUniqueId());
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Visit.Vote.Added.Message")
|
||||
.replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
}
|
||||
|
||||
islandManager.unloadIsland(island, null);
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
return;
|
||||
} else if (event.getClick() != ClickType.LEFT) {
|
||||
return;
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player, (Type) playerData.getType(),
|
||||
(Sort) playerData.getSort()), 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Visit.Vote.Island.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
}
|
||||
|
||||
if (islandManager.isPlayerAtIsland(island, player)) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Visit.Already.Message").replace("%player",
|
||||
targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
islandManager.unloadIsland(island, null);
|
||||
|
||||
return;
|
||||
} else if (event.getClick() != ClickType.LEFT) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
islandManager.visitIsland(player, island);
|
||||
|
||||
if (islandManager.isPlayerAtIsland(island, player)) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Visit.Teleported.Message").replace("%player",
|
||||
targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.ENDERMAN_TELEPORT.bukkitSound(), 1.0F, 1.0F);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Visit.Closed.Menu.Message").replace("%player",
|
||||
configLoad.getString("Island.Visit.Already.Message").replace("%player",
|
||||
targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Visit.Type) playerData.getType(),
|
||||
(Visit.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
islandManager.visitIsland(player, island);
|
||||
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Visit.Teleported.Message").replace("%player",
|
||||
targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.ENDERMAN_TELEPORT.bukkitSound(), 1.0F, 1.0F);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Visit.Closed.Menu.Message").replace("%player",
|
||||
targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player, (Type) playerData.getType(),
|
||||
(Sort) playerData.getSort()), 1L);
|
||||
}
|
||||
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Exist.Message")
|
||||
.replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
return;
|
||||
}
|
||||
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Exist.Message")
|
||||
.replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -561,12 +528,7 @@ public class Visit {
|
||||
nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Visit.Title")));
|
||||
nInv.setRows(6);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
|
@ -57,101 +57,74 @@ public class Visitors {
|
||||
FileConfiguration configLoad = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml"))
|
||||
.getFileConfiguration();
|
||||
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = skyblock.getPlayerDataManager().getPlayerData(player);
|
||||
Island island = islandManager.getIsland(player);
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = skyblock.getPlayerDataManager().getPlayerData(player);
|
||||
Island island = islandManager.getIsland(player);
|
||||
|
||||
if (island == null) {
|
||||
skyblock.getMessageManager().sendMessage(player,
|
||||
configLoad.getString("Command.Island.Visitors.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
if (island == null) {
|
||||
skyblock.getMessageManager().sendMessage(player,
|
||||
configLoad.getString("Command.Island.Visitors.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visitors.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visitors.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visitors.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visitors.Item.Statistics.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visitors.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visitors.Item.Statistics.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visitors.Item.Nothing.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visitors.Item.Nothing.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visitors.Item.Previous.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Visitors.Item.Previous.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
|
||||
'&', configLoad.getString("Menu.Visitors.Item.Next.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes(
|
||||
'&', configLoad.getString("Menu.Visitors.Item.Next.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
boolean isOperator = island.hasRole(IslandRole.Operator, player.getUniqueId()),
|
||||
isOwner = island.hasRole(IslandRole.Owner, player.getUniqueId()),
|
||||
canKick = island.getSetting(IslandRole.Operator, "Kick").getStatus(),
|
||||
canBan = island.getSetting(IslandRole.Operator, "Ban").getStatus(),
|
||||
banningEnabled = fileManager
|
||||
.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Visitor.Banning");
|
||||
String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName());
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else {
|
||||
boolean isOperator = island.hasRole(IslandRole.Operator, player.getUniqueId()),
|
||||
isOwner = island.hasRole(IslandRole.Owner, player.getUniqueId()),
|
||||
canKick = island.getSetting(IslandRole.Operator, "Kick").getStatus(),
|
||||
canBan = island.getSetting(IslandRole.Operator, "Ban").getStatus(),
|
||||
banningEnabled = fileManager
|
||||
.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Visitor.Banning");
|
||||
String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName());
|
||||
|
||||
if ((isOperator && canKick) || isOwner) {
|
||||
if (banningEnabled && ((isOperator && canBan) || isOwner)) {
|
||||
if (event.getClick() == ClickType.LEFT) {
|
||||
Bukkit.getServer().dispatchCommand(player, "island kick " + playerName);
|
||||
} else if (event.getClick() == ClickType.RIGHT) {
|
||||
Bukkit.getServer().dispatchCommand(player, "island ban " + playerName);
|
||||
} else {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if ((isOperator && canKick) || isOwner) {
|
||||
if (banningEnabled && ((isOperator && canBan) || isOwner)) {
|
||||
if (event.getClick() == ClickType.LEFT) {
|
||||
Bukkit.getServer().dispatchCommand(player, "island kick " + playerName);
|
||||
}
|
||||
} else {
|
||||
if (banningEnabled && ((isOperator && canBan) || isOwner)) {
|
||||
} else if (event.getClick() == ClickType.RIGHT) {
|
||||
Bukkit.getServer().dispatchCommand(player, "island ban " + playerName);
|
||||
} else {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F,
|
||||
@ -162,15 +135,24 @@ public class Visitors {
|
||||
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
Bukkit.getServer().dispatchCommand(player, "island kick " + playerName);
|
||||
}
|
||||
} else {
|
||||
if (banningEnabled && ((isOperator && canBan) || isOwner)) {
|
||||
Bukkit.getServer().dispatchCommand(player, "island ban " + playerName);
|
||||
} else {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F,
|
||||
1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -313,12 +295,7 @@ public class Visitors {
|
||||
nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Visitors.Title")));
|
||||
nInv.setRows(6);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -52,138 +52,120 @@ public class Weather {
|
||||
FileConfiguration configLoad = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml"))
|
||||
.getFileConfiguration();
|
||||
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
Island island = islandManager.getIsland(player);
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
Island island = islandManager.getIsland(player);
|
||||
|
||||
if (island == null) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Weather.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
player.closeInventory();
|
||||
if (island == null) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Weather.Owner.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
player.closeInventory();
|
||||
|
||||
return;
|
||||
} else if (!((island.hasRole(IslandRole.Operator, player.getUniqueId())
|
||||
&& island.getSetting(IslandRole.Operator, "Biome").getStatus())
|
||||
|| island.hasRole(IslandRole.Owner, player.getUniqueId()))) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Weather.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
player.closeInventory();
|
||||
return;
|
||||
} else if (!((island.hasRole(IslandRole.Operator, player.getUniqueId())
|
||||
&& island.getSetting(IslandRole.Operator, "Biome").getStatus())
|
||||
|| island.hasRole(IslandRole.Owner, player.getUniqueId()))) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Command.Island.Weather.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
|
||||
player.closeInventory();
|
||||
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Weather.Item.Info.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial())
|
||||
&& (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Weather.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.SUNFLOWER.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Weather.Item.Time.Displayname"))))) {
|
||||
int islandTime = island.getTime();
|
||||
|
||||
if (islandTime == 0) {
|
||||
island.setTime(1000);
|
||||
} else if (islandTime == 1000) {
|
||||
island.setTime(6000);
|
||||
} else if (islandTime == 6000) {
|
||||
island.setTime(12000);
|
||||
} else if (islandTime == 12000) {
|
||||
island.setTime(13000);
|
||||
} else if (islandTime == 13000) {
|
||||
island.setTime(18000);
|
||||
} else if (islandTime == 18000) {
|
||||
island.setTime(0);
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
if (!island.isWeatherSynchronized()) {
|
||||
for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) {
|
||||
all.setPlayerTime(island.getTime(),
|
||||
fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Weather.Time.Cycle"));
|
||||
}
|
||||
}
|
||||
|
||||
if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Weather.Item.Info.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F);
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial())
|
||||
&& (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Weather.Item.Barrier.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else if ((is.getType() == Material.GHAST_TEAR) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Weather.Item.Weather.Displayname"))))) {
|
||||
if (island.getWeather() == WeatherType.DOWNFALL) {
|
||||
island.setWeather(WeatherType.CLEAR);
|
||||
} else {
|
||||
island.setWeather(WeatherType.DOWNFALL);
|
||||
}
|
||||
|
||||
if (!island.isWeatherSynchronized()) {
|
||||
for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) {
|
||||
all.setPlayerWeather(island.getWeather());
|
||||
}
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else if ((is.getType() == Material.TRIPWIRE_HOOK) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Weather.Item.Synchronised.Displayname"))))) {
|
||||
if (island.isWeatherSynchronized()) {
|
||||
island.setWeatherSynchronized(false);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == Materials.SUNFLOWER.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Weather.Item.Time.Displayname"))))) {
|
||||
int islandTime = island.getTime();
|
||||
WeatherType islandWeather = island.getWeather();
|
||||
|
||||
if (islandTime == 0) {
|
||||
island.setTime(1000);
|
||||
} else if (islandTime == 1000) {
|
||||
island.setTime(6000);
|
||||
} else if (islandTime == 6000) {
|
||||
island.setTime(12000);
|
||||
} else if (islandTime == 12000) {
|
||||
island.setTime(13000);
|
||||
} else if (islandTime == 13000) {
|
||||
island.setTime(18000);
|
||||
} else if (islandTime == 18000) {
|
||||
island.setTime(0);
|
||||
for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) {
|
||||
all.setPlayerTime(islandTime,
|
||||
fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Weather.Time.Cycle"));
|
||||
all.setPlayerWeather(islandWeather);
|
||||
}
|
||||
} else {
|
||||
island.setWeatherSynchronized(true);
|
||||
|
||||
if (!island.isWeatherSynchronized()) {
|
||||
for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) {
|
||||
all.setPlayerTime(island.getTime(),
|
||||
fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Weather.Time.Cycle"));
|
||||
}
|
||||
for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) {
|
||||
all.resetPlayerTime();
|
||||
all.resetPlayerWeather();
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Material.GHAST_TEAR) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Weather.Item.Weather.Displayname"))))) {
|
||||
if (island.getWeather() == WeatherType.DOWNFALL) {
|
||||
island.setWeather(WeatherType.CLEAR);
|
||||
} else {
|
||||
island.setWeather(WeatherType.DOWNFALL);
|
||||
}
|
||||
|
||||
if (!island.isWeatherSynchronized()) {
|
||||
for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) {
|
||||
all.setPlayerWeather(island.getWeather());
|
||||
}
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Material.TRIPWIRE_HOOK) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Weather.Item.Synchronised.Displayname"))))) {
|
||||
if (island.isWeatherSynchronized()) {
|
||||
island.setWeatherSynchronized(false);
|
||||
|
||||
int islandTime = island.getTime();
|
||||
WeatherType islandWeather = island.getWeather();
|
||||
|
||||
for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) {
|
||||
all.setPlayerTime(islandTime,
|
||||
fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
|
||||
.getFileConfiguration().getBoolean("Island.Weather.Time.Cycle"));
|
||||
all.setPlayerWeather(islandWeather);
|
||||
}
|
||||
} else {
|
||||
island.setWeatherSynchronized(true);
|
||||
|
||||
for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) {
|
||||
all.resetPlayerTime();
|
||||
all.resetPlayerWeather();
|
||||
}
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -256,12 +238,7 @@ public class Weather {
|
||||
nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Weather.Title")));
|
||||
nInv.setType(InventoryType.HOPPER);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -9,7 +9,7 @@ import me.goodandevil.skyblock.message.MessageManager;
|
||||
import me.goodandevil.skyblock.placeholder.Placeholder;
|
||||
import me.goodandevil.skyblock.playerdata.PlayerData;
|
||||
import me.goodandevil.skyblock.sound.SoundManager;
|
||||
import me.goodandevil.skyblock.utils.AnvilGUI;
|
||||
import me.goodandevil.skyblock.utils.AbstractAnvilGUI;
|
||||
import me.goodandevil.skyblock.utils.item.SkullUtil;
|
||||
import me.goodandevil.skyblock.utils.item.nInventoryUtil;
|
||||
import me.goodandevil.skyblock.utils.version.Materials;
|
||||
@ -24,6 +24,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
@ -64,7 +65,7 @@ public class Generator implements Listener {
|
||||
configLoad.getString("Menu.Admin.Generator.Browse.Item.Exit.Displayname"), null, null, null, null),
|
||||
0, 8);
|
||||
nInv.addItem(
|
||||
nInv.createItem(new ItemStack(org.bukkit.Material.SIGN),
|
||||
nInv.createItem(new ItemStack(Materials.OAK_SIGN.parseMaterial()),
|
||||
configLoad.getString("Menu.Admin.Generator.Browse.Item.Information.Displayname"),
|
||||
configLoad.getStringList("Menu.Admin.Generator.Browse.Item.Information.Lore"),
|
||||
new Placeholder[]{new Placeholder("%generators", "" + generators.size())}, null, null),
|
||||
@ -191,8 +192,18 @@ public class Generator implements Listener {
|
||||
Config config = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
|
||||
if (!event.getInventory().getName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Generator.Title"))))
|
||||
String inventoryName = "";
|
||||
if (NMSUtil.getVersionNumber() > 13) {
|
||||
inventoryName = event.getView().getTitle();
|
||||
} else {
|
||||
try {
|
||||
inventoryName = (String) Inventory.class.getMethod("getName").invoke(event.getInventory());
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
if (!inventoryName.equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Generator.Title"))))
|
||||
return;
|
||||
event.setCancelled(true);
|
||||
|
||||
@ -240,22 +251,17 @@ public class Generator implements Listener {
|
||||
|
||||
player.closeInventory();
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
|
||||
return;
|
||||
}
|
||||
} else if ((event.getCurrentItem().getType() == Material.SIGN) && (is.hasItemMeta())
|
||||
} else if ((event.getCurrentItem().getType() == Materials.OAK_SIGN.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Generator.Browse.Item.Information.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
AnvilGUI gui = new AnvilGUI(player, event1 -> {
|
||||
if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) {
|
||||
AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> {
|
||||
if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) {
|
||||
if (!(player.hasPermission("fabledskyblock.admin.generator")
|
||||
|| player.hasPermission("fabledskyblock.admin.*")
|
||||
|| player.hasPermission("fabledskyblock.*"))) {
|
||||
@ -278,31 +284,23 @@ public class Generator implements Listener {
|
||||
.replace("%generator", event1.getName()));
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Config config = fileManager
|
||||
.getConfig(new File(skyblock.getDataFolder(), "generators.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> {
|
||||
Config config14 = fileManager
|
||||
.getConfig(new File(skyblock.getDataFolder(), "generators.yml"));
|
||||
FileConfiguration configLoad14 = config14.getFileConfiguration();
|
||||
|
||||
configLoad.set("Generators." + event1.getName() + ".Name", event1.getName());
|
||||
configLoad14.set("Generators." + event1.getName() + ".Name", event1.getName());
|
||||
|
||||
try {
|
||||
configLoad.save(config.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
configLoad14.save(config14.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
|
||||
player.closeInventory();
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
}
|
||||
|
||||
event1.setWillClose(true);
|
||||
@ -318,7 +316,7 @@ public class Generator implements Listener {
|
||||
im.setDisplayName(configLoad.getString("Menu.Admin.Generator.Browse.Item.Information.Word.Enter"));
|
||||
is.setItemMeta(im);
|
||||
|
||||
gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is);
|
||||
gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is);
|
||||
gui.open();
|
||||
|
||||
return;
|
||||
@ -334,7 +332,7 @@ public class Generator implements Listener {
|
||||
|
||||
player.closeInventory();
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, () -> open(player), 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else {
|
||||
String name = ((Generator.Viewer) playerData.getViewer()).getName();
|
||||
|
||||
@ -366,12 +364,7 @@ public class Generator implements Listener {
|
||||
|
||||
player.closeInventory();
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else {
|
||||
playerData.setViewer(null);
|
||||
|
||||
@ -381,12 +374,7 @@ public class Generator implements Listener {
|
||||
|
||||
player.closeInventory();
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
}
|
||||
}
|
||||
|
||||
@ -410,12 +398,7 @@ public class Generator implements Listener {
|
||||
|
||||
player.closeInventory();
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
|
||||
return;
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
@ -425,12 +408,7 @@ public class Generator implements Listener {
|
||||
|
||||
player.closeInventory();
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
|
||||
return;
|
||||
}
|
||||
@ -456,8 +434,8 @@ public class Generator implements Listener {
|
||||
if (event.getClick() == ClickType.LEFT) {
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
AnvilGUI gui = new AnvilGUI(player, event1 -> {
|
||||
if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) {
|
||||
AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> {
|
||||
if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) {
|
||||
if (!(player.hasPermission("fabledskyblock.admin.generator")
|
||||
|| player.hasPermission("fabledskyblock.admin.*")
|
||||
|| player.hasPermission("fabledskyblock.*"))) {
|
||||
@ -534,7 +512,7 @@ public class Generator implements Listener {
|
||||
player.closeInventory();
|
||||
|
||||
Bukkit.getServer().getScheduler()
|
||||
.runTaskLaterAsynchronously(skyblock, () -> open(player), 1L);
|
||||
.runTaskLater(skyblock, () -> open(player), 1L);
|
||||
}
|
||||
}
|
||||
|
||||
@ -552,36 +530,33 @@ public class Generator implements Listener {
|
||||
.getString("Menu.Admin.Generator.Generator.Item.Material.Word.Enter"));
|
||||
is.setItemMeta(im);
|
||||
|
||||
gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is);
|
||||
gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is);
|
||||
gui.open();
|
||||
} else if (event.getClick() == ClickType.RIGHT) {
|
||||
generator.getGeneratorMaterials().remove(generatorMaterialList);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Config config = fileManager.getConfig(
|
||||
new File(skyblock.getDataFolder(), "generators.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
() -> {
|
||||
Config config15 = fileManager.getConfig(
|
||||
new File(skyblock.getDataFolder(), "generators.yml"));
|
||||
FileConfiguration configLoad15 = config15.getFileConfiguration();
|
||||
|
||||
configLoad.set(
|
||||
"Generators." + generator.getName() + ".Materials."
|
||||
+ generatorMaterialList.getMaterials().name(),
|
||||
null);
|
||||
configLoad15.set(
|
||||
"Generators." + generator.getName() + ".Materials."
|
||||
+ generatorMaterialList.getMaterials().name(),
|
||||
null);
|
||||
|
||||
try {
|
||||
configLoad.save(config.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
configLoad15.save(config15.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
|
||||
soundManager.playSound(player, Sounds.IRONGOLEM_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
player.closeInventory();
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
}
|
||||
|
||||
@ -623,27 +598,24 @@ public class Generator implements Listener {
|
||||
.replace("%generator", generator.getName()));
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Config config = fileManager
|
||||
.getConfig(new File(skyblock.getDataFolder(), "generators.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> {
|
||||
Config config16 = fileManager
|
||||
.getConfig(new File(skyblock.getDataFolder(), "generators.yml"));
|
||||
FileConfiguration configLoad16 = config16.getFileConfiguration();
|
||||
|
||||
configLoad.set("Generators." + generator.getName() + ".Materials."
|
||||
+ materials.name() + ".Chance", 0);
|
||||
configLoad16.set("Generators." + generator.getName() + ".Materials."
|
||||
+ materials.name() + ".Chance", 0);
|
||||
|
||||
try {
|
||||
configLoad.save(config.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
configLoad16.save(config16.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
|
||||
player.closeInventory();
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, () -> open(player), 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
}
|
||||
|
||||
return;
|
||||
@ -656,7 +628,7 @@ public class Generator implements Listener {
|
||||
|
||||
player.closeInventory();
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, () -> open(player), 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
}
|
||||
|
||||
return;
|
||||
@ -673,7 +645,7 @@ public class Generator implements Listener {
|
||||
|
||||
player.closeInventory();
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, () -> open(player), 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else if (event.getClick() == ClickType.RIGHT) {
|
||||
generatorManager.removeGenerator(generatorList);
|
||||
|
||||
@ -698,7 +670,7 @@ public class Generator implements Listener {
|
||||
|
||||
player.closeInventory();
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, () -> open(player), 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
}
|
||||
|
||||
return;
|
||||
|
@ -27,7 +27,7 @@ import me.goodandevil.skyblock.message.MessageManager;
|
||||
import me.goodandevil.skyblock.placeholder.Placeholder;
|
||||
import me.goodandevil.skyblock.playerdata.PlayerData;
|
||||
import me.goodandevil.skyblock.sound.SoundManager;
|
||||
import me.goodandevil.skyblock.utils.AnvilGUI;
|
||||
import me.goodandevil.skyblock.utils.AbstractAnvilGUI;
|
||||
import me.goodandevil.skyblock.utils.NumberUtil;
|
||||
import me.goodandevil.skyblock.utils.item.MaterialUtil;
|
||||
import me.goodandevil.skyblock.utils.item.SkullUtil;
|
||||
@ -80,7 +80,7 @@ public class Levelling implements Listener {
|
||||
configLoad.getString("Menu.Admin.Levelling.Item.Exit.Displayname"), null, null, null, null),
|
||||
0, 8);
|
||||
nInv.addItem(
|
||||
nInv.createItem(new ItemStack(org.bukkit.Material.SIGN),
|
||||
nInv.createItem(new ItemStack(Materials.OAK_SIGN.parseMaterial()),
|
||||
configLoad.getString("Menu.Admin.Levelling.Item.Information.Displayname"),
|
||||
configLoad.getStringList("Menu.Admin.Levelling.Item.Information.Lore"),
|
||||
new Placeholder[] { new Placeholder("%materials", "" + levellingMaterials.size()),
|
||||
@ -142,12 +142,7 @@ public class Levelling implements Listener {
|
||||
nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Levelling.Title")));
|
||||
nInv.setRows(6);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@ -167,8 +162,18 @@ public class Levelling implements Listener {
|
||||
Config config = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
|
||||
if (event.getInventory().getName().equals(
|
||||
ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Levelling.Title")))) {
|
||||
String inventoryName = "";
|
||||
if (NMSUtil.getVersionNumber() > 13) {
|
||||
inventoryName = event.getView().getTitle();
|
||||
} else {
|
||||
try {
|
||||
inventoryName = (String) Inventory.class.getMethod("getName").invoke(event.getInventory());
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
if (inventoryName.equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Levelling.Title")))) {
|
||||
PlayerData playerData = skyblock.getPlayerDataManager().getPlayerData(player);
|
||||
|
||||
if (!(player.hasPermission("fabledskyblock.admin.level") || player.hasPermission("fabledskyblock.admin.*")
|
||||
@ -197,14 +202,14 @@ public class Levelling implements Listener {
|
||||
player.closeInventory();
|
||||
|
||||
return;
|
||||
} else if ((event.getCurrentItem().getType() == Material.SIGN) && (is.hasItemMeta())
|
||||
} else if ((event.getCurrentItem().getType() == Materials.OAK_SIGN.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Levelling.Item.Information.Displayname"))))) {
|
||||
event.setCancelled(true);
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
AnvilGUI gui = new AnvilGUI(player, event1 -> {
|
||||
if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) {
|
||||
AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> {
|
||||
if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) {
|
||||
if (!(player.hasPermission("fabledskyblock.admin.level")
|
||||
|| player.hasPermission("fabledskyblock.admin.*")
|
||||
|| player.hasPermission("fabledskyblock.*"))) {
|
||||
@ -219,31 +224,23 @@ public class Levelling implements Listener {
|
||||
.replace("%division", NumberUtil.formatNumberByDecimal(pointDivision)));
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Config config = fileManager
|
||||
.getConfig(new File(skyblock.getDataFolder(), "config.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> {
|
||||
Config config12 = fileManager
|
||||
.getConfig(new File(skyblock.getDataFolder(), "config.yml"));
|
||||
FileConfiguration configLoad12 = config12.getFileConfiguration();
|
||||
|
||||
configLoad.set("Island.Levelling.Division", pointDivision);
|
||||
configLoad12.set("Island.Levelling.Division", pointDivision);
|
||||
|
||||
try {
|
||||
configLoad.save(config.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
configLoad12.save(config12.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
|
||||
player.closeInventory();
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Admin.Levelling.Numerical.Message"));
|
||||
@ -263,7 +260,7 @@ public class Levelling implements Listener {
|
||||
im.setDisplayName(configLoad.getString("Menu.Admin.Levelling.Item.Information.Word.Enter"));
|
||||
is.setItemMeta(im);
|
||||
|
||||
gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is);
|
||||
gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is);
|
||||
gui.open();
|
||||
|
||||
return;
|
||||
@ -284,12 +281,7 @@ public class Levelling implements Listener {
|
||||
playerData.setPage(playerData.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
|
||||
return;
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
@ -300,12 +292,7 @@ public class Levelling implements Listener {
|
||||
playerData.setPage(playerData.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L);
|
||||
|
||||
return;
|
||||
}
|
||||
@ -322,8 +309,8 @@ public class Levelling implements Listener {
|
||||
if (event.getClick() == ClickType.LEFT) {
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
AnvilGUI gui = new AnvilGUI(player, event1 -> {
|
||||
if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) {
|
||||
AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> {
|
||||
if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) {
|
||||
if (!(player.hasPermission("fabledskyblock.admin.level")
|
||||
|| player.hasPermission("fabledskyblock.admin.*")
|
||||
|| player.hasPermission("fabledskyblock.*"))) {
|
||||
@ -343,32 +330,24 @@ public class Levelling implements Listener {
|
||||
1.0F);
|
||||
player.closeInventory();
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player);
|
||||
}
|
||||
}, 1L);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock,
|
||||
() -> open(player), 1L);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Config config = fileManager.getConfig(new File(
|
||||
skyblock.getDataFolder(), "levelling.yml"));
|
||||
FileConfiguration configLoad = config
|
||||
.getFileConfiguration();
|
||||
() -> {
|
||||
Config config1 = fileManager.getConfig(new File(
|
||||
skyblock.getDataFolder(), "levelling.yml"));
|
||||
FileConfiguration configLoad1 = config1
|
||||
.getFileConfiguration();
|
||||
|
||||
configLoad.set(
|
||||
"Materials." + materials.name() + ".Points",
|
||||
materialPoints);
|
||||
configLoad1.set(
|
||||
"Materials." + materials.name() + ".Points",
|
||||
materialPoints);
|
||||
|
||||
try {
|
||||
configLoad.save(config.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
configLoad1.save(config1.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
@ -397,7 +376,7 @@ public class Levelling implements Listener {
|
||||
configLoad.getString("Menu.Admin.Levelling.Item.Material.Word.Enter"));
|
||||
is.setItemMeta(im);
|
||||
|
||||
gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is);
|
||||
gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is);
|
||||
gui.open();
|
||||
} else if (event.getClick() == ClickType.RIGHT) {
|
||||
levellingManager.removeMaterial(materialList);
|
||||
@ -408,20 +387,17 @@ public class Levelling implements Listener {
|
||||
.replace("%material", materials.name()));
|
||||
soundManager.playSound(player, Sounds.IRONGOLEM_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Config config = fileManager
|
||||
.getConfig(new File(skyblock.getDataFolder(), "levelling.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> {
|
||||
Config config13 = fileManager
|
||||
.getConfig(new File(skyblock.getDataFolder(), "levelling.yml"));
|
||||
FileConfiguration configLoad13 = config13.getFileConfiguration();
|
||||
|
||||
configLoad.set("Materials." + materials.name(), null);
|
||||
configLoad13.set("Materials." + materials.name(), null);
|
||||
|
||||
try {
|
||||
configLoad.save(config.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
configLoad13.save(config13.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -456,19 +432,16 @@ public class Levelling implements Listener {
|
||||
.replace("%material", materials.name()));
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Config config = fileManager.getConfig(new File(skyblock.getDataFolder(), "levelling.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> {
|
||||
Config config14 = fileManager.getConfig(new File(skyblock.getDataFolder(), "levelling.yml"));
|
||||
FileConfiguration configLoad14 = config14.getFileConfiguration();
|
||||
|
||||
configLoad.set("Materials." + materials.name() + ".Points", 0);
|
||||
configLoad14.set("Materials." + materials.name() + ".Points", 0);
|
||||
|
||||
try {
|
||||
configLoad.save(config.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
configLoad14.save(config14.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -49,85 +49,57 @@ public class Settings {
|
||||
FileConfiguration configLoad = languageConfig.getFileConfiguration();
|
||||
|
||||
if (menuType == Settings.Type.Categories) {
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (!(player.hasPermission("fabledskyblock.admin.settings") || player.hasPermission("fabledskyblock.admin.*")
|
||||
|| player.hasPermission("fabledskyblock.*"))) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Admin.Settings.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (!(player.hasPermission("fabledskyblock.admin.settings") || player.hasPermission("fabledskyblock.admin.*")
|
||||
|| player.hasPermission("fabledskyblock.*"))) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Admin.Settings.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings.Categories.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad
|
||||
.getString("Menu.Admin.Settings.Categories.Item.Visitor.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings.Categories.Item.Exit.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad
|
||||
.getString("Menu.Admin.Settings.Categories.Item.Visitor.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, Settings.Type.Role, me.goodandevil.skyblock.island.IslandRole.Visitor);
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings.Categories.Item.Member.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Visitor), 1L);
|
||||
} else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings.Categories.Item.Member.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, Settings.Type.Role, me.goodandevil.skyblock.island.IslandRole.Member);
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Material.ITEM_FRAME) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad
|
||||
.getString("Menu.Admin.Settings.Categories.Item.Operator.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Member), 1L);
|
||||
} else if ((is.getType() == Material.ITEM_FRAME) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&', configLoad
|
||||
.getString("Menu.Admin.Settings.Categories.Item.Operator.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, Settings.Type.Role, me.goodandevil.skyblock.island.IslandRole.Operator);
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings.Categories.Item.Coop.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Operator), 1L);
|
||||
} else if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings.Categories.Item.Coop.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, Settings.Type.Role, me.goodandevil.skyblock.island.IslandRole.Coop);
|
||||
}
|
||||
}, 1L);
|
||||
} else if ((is.getType() == Materials.OAK_SAPLING.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings.Categories.Item.Owner.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Coop), 1L);
|
||||
} else if ((is.getType() == Materials.OAK_SAPLING.parseMaterial()) && (is.hasItemMeta())
|
||||
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings.Categories.Item.Owner.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, Settings.Type.Role, me.goodandevil.skyblock.island.IslandRole.Owner);
|
||||
}
|
||||
}, 1L);
|
||||
}
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Owner), 1L);
|
||||
}
|
||||
});
|
||||
|
||||
nInv.addItem(nInv.createItem(new ItemStack(Material.SIGN),
|
||||
nInv.addItem(nInv.createItem(new ItemStack(Materials.OAK_SIGN.parseMaterial()),
|
||||
configLoad.getString("Menu.Admin.Settings.Categories.Item.Visitor.Displayname"),
|
||||
configLoad.getStringList("Menu.Admin.Settings.Categories.Item.Visitor.Lore"), null, null, null), 2);
|
||||
nInv.addItem(nInv.createItem(new ItemStack(Material.PAINTING),
|
||||
@ -165,92 +137,71 @@ public class Settings {
|
||||
configLoad.getString("Menu.Admin.Settings.Categories.Title")));
|
||||
nInv.setRows(1);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
} else if (menuType == Settings.Type.Role) {
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (!(player.hasPermission("fabledskyblock.admin.settings") || player.hasPermission("fabledskyblock.admin.*")
|
||||
|| player.hasPermission("fabledskyblock.*"))) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Admin.Settings.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
nInventoryUtil nInv = new nInventoryUtil(player, event -> {
|
||||
if (!(player.hasPermission("fabledskyblock.admin.settings") || player.hasPermission("fabledskyblock.admin.*")
|
||||
|| player.hasPermission("fabledskyblock.*"))) {
|
||||
messageManager.sendMessage(player,
|
||||
configLoad.getString("Island.Admin.Settings.Permission.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack is = event.getItem();
|
||||
ItemStack is = event.getItem();
|
||||
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) && (is
|
||||
.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings.Visitor.Item.Return.Displayname")))
|
||||
|| is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings.Member.Item.Return.Displayname")))
|
||||
|| is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad
|
||||
.getString("Menu.Admin.Settings.Operator.Item.Return.Displayname")))
|
||||
|| is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings.Owner.Item.Return.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) && (is
|
||||
.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings.Visitor.Item.Return.Displayname")))
|
||||
|| is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings.Member.Item.Return.Displayname")))
|
||||
|| is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad
|
||||
.getString("Menu.Admin.Settings.Operator.Item.Return.Displayname")))
|
||||
|| is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings.Owner.Item.Return.Displayname"))))) {
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, Settings.Type.Categories, null);
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Categories, null), 1L);
|
||||
} else if (is.hasItemMeta()) {
|
||||
String roleName = getRoleName(role);
|
||||
|
||||
FileConfiguration settingsConfigLoad = skyblock.getFileManager()
|
||||
.getConfig(new File(skyblock.getDataFolder(), "settings.yml")).getFileConfiguration();
|
||||
|
||||
for (String settingList : settingsConfigLoad.getConfigurationSection("Settings." + role.name())
|
||||
.getKeys(false)) {
|
||||
if (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings." + roleName + ".Item.Setting."
|
||||
+ settingList + ".Displayname")))) {
|
||||
if (settingsConfigLoad.getBoolean("Settings." + role.name() + "." + settingList)) {
|
||||
settingsConfigLoad.set("Settings." + role.name() + "." + settingList, false);
|
||||
} else {
|
||||
settingsConfigLoad.set("Settings." + role.name() + "." + settingList, true);
|
||||
}
|
||||
}, 1L);
|
||||
} else if (is.hasItemMeta()) {
|
||||
String roleName = getRoleName(role);
|
||||
|
||||
FileConfiguration settingsConfigLoad = skyblock.getFileManager()
|
||||
.getConfig(new File(skyblock.getDataFolder(), "settings.yml")).getFileConfiguration();
|
||||
|
||||
for (String settingList : settingsConfigLoad.getConfigurationSection("Settings." + role.name())
|
||||
.getKeys(false)) {
|
||||
if (is.getItemMeta().getDisplayName()
|
||||
.equals(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings." + roleName + ".Item.Setting."
|
||||
+ settingList + ".Displayname")))) {
|
||||
if (settingsConfigLoad.getBoolean("Settings." + role.name() + "." + settingList)) {
|
||||
settingsConfigLoad.set("Settings." + role.name() + "." + settingList, false);
|
||||
} else {
|
||||
settingsConfigLoad.set("Settings." + role.name() + "." + settingList, true);
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> {
|
||||
try {
|
||||
Config config = skyblock.getFileManager()
|
||||
.getConfig(new File(skyblock.getDataFolder(), "settings.yml"));
|
||||
config.getFileConfiguration().save(config.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
Config config = skyblock.getFileManager()
|
||||
.getConfig(new File(skyblock.getDataFolder(), "settings.yml"));
|
||||
config.getFileConfiguration().save(config.getFile());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, Settings.Type.Role, role);
|
||||
}
|
||||
}, 1L);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, role), 1L);
|
||||
}
|
||||
});
|
||||
|
||||
@ -312,8 +263,8 @@ public class Settings {
|
||||
nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 9);
|
||||
nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 10);
|
||||
nInv.addItemStack(createItem(role, "Ban", new ItemStack(Material.IRON_AXE)), 11);
|
||||
nInv.addItemStack(createItem(role, "Unban", Materials.ROSE_RED.parseItem()), 12);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 13);
|
||||
nInv.addItemStack(createItem(role, "Unban", Materials.RED_DYE.parseItem()), 12);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 13);
|
||||
nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 14);
|
||||
nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 15);
|
||||
nInv.addItemStack(createItem(role, "Coop", new ItemStack(Material.NAME_TAG)), 16);
|
||||
@ -328,8 +279,8 @@ public class Settings {
|
||||
nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 9);
|
||||
nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 10);
|
||||
nInv.addItemStack(createItem(role, "Ban", new ItemStack(Material.IRON_AXE)), 11);
|
||||
nInv.addItemStack(createItem(role, "Unban", Materials.ROSE_RED.parseItem()), 12);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 13);
|
||||
nInv.addItemStack(createItem(role, "Unban", Materials.RED_DYE.parseItem()), 12);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 13);
|
||||
nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 14);
|
||||
nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 15);
|
||||
nInv.addItemStack(createItem(role, "Coop", new ItemStack(Material.NAME_TAG)), 16);
|
||||
@ -345,8 +296,8 @@ public class Settings {
|
||||
nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 10);
|
||||
nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 11);
|
||||
nInv.addItemStack(createItem(role, "Ban", new ItemStack(Material.IRON_AXE)), 12);
|
||||
nInv.addItemStack(createItem(role, "Unban", Materials.ROSE_RED.parseItem()), 13);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 14);
|
||||
nInv.addItemStack(createItem(role, "Unban", Materials.RED_DYE.parseItem()), 13);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 14);
|
||||
nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 15);
|
||||
nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 16);
|
||||
nInv.addItemStack(createItem(role, "MainSpawn", new ItemStack(Material.EMERALD)), 20);
|
||||
@ -359,8 +310,8 @@ public class Settings {
|
||||
nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 10);
|
||||
nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 11);
|
||||
nInv.addItemStack(createItem(role, "Ban", new ItemStack(Material.IRON_AXE)), 12);
|
||||
nInv.addItemStack(createItem(role, "Unban", Materials.ROSE_RED.parseItem()), 13);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 14);
|
||||
nInv.addItemStack(createItem(role, "Unban", Materials.RED_DYE.parseItem()), 13);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 14);
|
||||
nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 15);
|
||||
nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 16);
|
||||
nInv.addItemStack(createItem(role, "MainSpawn", new ItemStack(Material.EMERALD)), 20);
|
||||
@ -377,7 +328,7 @@ public class Settings {
|
||||
if (mainConfig.getFileConfiguration().getBoolean("Island.WorldBorder.Enable")) {
|
||||
nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 10);
|
||||
nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 11);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 12);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 12);
|
||||
nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 13);
|
||||
nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 14);
|
||||
nInv.addItemStack(createItem(role, "Coop", new ItemStack(Material.NAME_TAG)), 15);
|
||||
@ -391,7 +342,7 @@ public class Settings {
|
||||
} else {
|
||||
nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 10);
|
||||
nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 11);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 12);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 12);
|
||||
nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 13);
|
||||
nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 14);
|
||||
nInv.addItemStack(createItem(role, "Coop", new ItemStack(Material.NAME_TAG)), 15);
|
||||
@ -408,7 +359,7 @@ public class Settings {
|
||||
if (mainConfig.getFileConfiguration().getBoolean("Island.WorldBorder.Enable")) {
|
||||
nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 10);
|
||||
nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 11);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 12);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 12);
|
||||
nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 13);
|
||||
nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 14);
|
||||
nInv.addItemStack(createItem(role, "MainSpawn", new ItemStack(Material.EMERALD)), 15);
|
||||
@ -422,7 +373,7 @@ public class Settings {
|
||||
} else {
|
||||
nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 9);
|
||||
nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 10);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 11);
|
||||
nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 11);
|
||||
nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 12);
|
||||
nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 13);
|
||||
nInv.addItemStack(createItem(role, "MainSpawn", new ItemStack(Material.EMERALD)), 14);
|
||||
@ -451,7 +402,7 @@ public class Settings {
|
||||
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, "Damage", Materials.RED_DYE.parseItem()), 16);
|
||||
nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 17);
|
||||
} else {
|
||||
nInv.addItemStack(
|
||||
@ -465,7 +416,7 @@ public class Settings {
|
||||
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);
|
||||
nInv.addItemStack(createItem(role, "Damage", Materials.RED_DYE.parseItem()), 17);
|
||||
}
|
||||
} else {
|
||||
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
|
||||
@ -508,7 +459,7 @@ public class Settings {
|
||||
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, "Damage", Materials.RED_DYE.parseItem()), 16);
|
||||
nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 17);
|
||||
} else {
|
||||
nInv.addItemStack(
|
||||
@ -521,7 +472,7 @@ public class Settings {
|
||||
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, "Damage", Materials.RED_DYE.parseItem()), 16);
|
||||
}
|
||||
} else {
|
||||
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
|
||||
@ -564,7 +515,7 @@ public class Settings {
|
||||
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, "Damage", Materials.RED_DYE.parseItem()), 16);
|
||||
nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 17);
|
||||
} else {
|
||||
nInv.addItemStack(
|
||||
@ -578,7 +529,7 @@ public class Settings {
|
||||
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, "Damage", Materials.RED_DYE.parseItem()), 16);
|
||||
}
|
||||
} else {
|
||||
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
|
||||
@ -620,7 +571,7 @@ public class Settings {
|
||||
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, "Damage", Materials.RED_DYE.parseItem()), 15);
|
||||
nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 16);
|
||||
} else {
|
||||
nInv.addItemStack(
|
||||
@ -632,7 +583,7 @@ public class Settings {
|
||||
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, "Damage", Materials.RED_DYE.parseItem()), 16);
|
||||
}
|
||||
} else {
|
||||
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
|
||||
@ -670,12 +621,7 @@ public class Settings {
|
||||
nInv.setTitle(ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Menu.Admin.Settings." + role.name() + ".Title")));
|
||||
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
nInv.open();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open());
|
||||
}
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -305,8 +305,17 @@ public class PlaceholderManager {
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Placeholder.fabledskyblock_island_bank_balance.Non-empty.Message"))
|
||||
.replace("%placeholder", "" + island.getBankBalance());
|
||||
.replace("%placeholder", "" + NumberUtil.formatNumberByDecimal(island.getBankBalance()));
|
||||
}
|
||||
} else if (placeholder.equalsIgnoreCase("fabledskyblock_island_bank_balance_formatted")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Placeholder.fabledskyblock_island_bank_balance_formatted.Empty.Message"));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&',
|
||||
configLoad.getString("Placeholder.fabledskyblock_island_bank_balance_formatted.Non-empty.Message"))
|
||||
.replace("%placeholder", "" + NumberUtil.formatNumberBySuffix((long) island.getBankBalance()));
|
||||
}
|
||||
} else if (placeholder.toLowerCase().startsWith("fabledskyblock_island_leaderboard_level_rank")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&',
|
||||
|
@ -3,7 +3,9 @@ package me.goodandevil.skyblock.stackable;
|
||||
import java.io.File;
|
||||
import java.util.UUID;
|
||||
|
||||
import me.goodandevil.skyblock.utils.NumberUtil;
|
||||
import org.apache.commons.lang3.text.WordUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
@ -45,11 +47,11 @@ public class Stackable {
|
||||
}
|
||||
|
||||
public UUID getUuid() {
|
||||
return uuid;
|
||||
return this.uuid;
|
||||
}
|
||||
|
||||
public Location getLocation() {
|
||||
return location.clone();
|
||||
return this.location.clone();
|
||||
}
|
||||
|
||||
public void setLocation(Location location) {
|
||||
@ -57,7 +59,7 @@ public class Stackable {
|
||||
}
|
||||
|
||||
public Material getMaterial() {
|
||||
return material;
|
||||
return this.material;
|
||||
}
|
||||
|
||||
public void setMaterial(Material material) {
|
||||
@ -66,7 +68,7 @@ public class Stackable {
|
||||
}
|
||||
|
||||
public Integer getSize() {
|
||||
return size;
|
||||
return this.size;
|
||||
}
|
||||
|
||||
public void setSize(Integer size) {
|
||||
@ -78,14 +80,14 @@ public class Stackable {
|
||||
public void addOne() {
|
||||
this.size ++;
|
||||
this.updateDisplay();
|
||||
SkyBlock.getInstance().getSoundManager().playSound(location, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
SkyBlock.getInstance().getSoundManager().playSound(this.location, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
this.save();
|
||||
}
|
||||
|
||||
public void takeOne() {
|
||||
this.size --;
|
||||
this.updateDisplay();
|
||||
SkyBlock.getInstance().getSoundManager().playSound(location, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
SkyBlock.getInstance().getSoundManager().playSound(this.location, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
this.save();
|
||||
}
|
||||
|
||||
@ -93,7 +95,7 @@ public class Stackable {
|
||||
if (this.size > 1) {
|
||||
this.removeDisplay();
|
||||
this.createDisplay();
|
||||
this.display.setCustomName(WordUtils.capitalize(material.name().toLowerCase()).replace("_", " ") + "s: " + size);
|
||||
this.display.setCustomName(this.getCustomName());
|
||||
this.display.setCustomNameVisible(true);
|
||||
} else {
|
||||
this.removeDisplay();
|
||||
@ -103,8 +105,8 @@ public class Stackable {
|
||||
private void createDisplay() {
|
||||
this.removeDisplay();
|
||||
|
||||
Location dropLocation = location.clone().add(0.5, 1, 0.5);
|
||||
ArmorStand as = (ArmorStand) location.getWorld().spawnEntity(dropLocation, EntityType.ARMOR_STAND);
|
||||
Location dropLocation = this.location.clone().add(0.5, 1, 0.5);
|
||||
ArmorStand as = (ArmorStand) this.location.getWorld().spawnEntity(dropLocation, EntityType.ARMOR_STAND);
|
||||
as.setVisible(false);
|
||||
as.setGravity(false);
|
||||
as.setSmall(true);
|
||||
@ -112,8 +114,8 @@ public class Stackable {
|
||||
as.setMarker(true);
|
||||
}
|
||||
as.setBasePlate(true);
|
||||
as.setHelmet(new ItemStack(material));
|
||||
as.setCustomName(WordUtils.capitalize(material.name().toLowerCase()).replace("_", " ") + "s: " + size);
|
||||
as.setHelmet(new ItemStack(this.material));
|
||||
as.setCustomName(this.getCustomName());
|
||||
as.setCustomNameVisible(true);
|
||||
this.display = as;
|
||||
}
|
||||
@ -134,16 +136,24 @@ public class Stackable {
|
||||
private void save() {
|
||||
File configFile = new File(SkyBlock.getInstance().getDataFolder().toString() + "/island-data");
|
||||
FileManager.Config config = SkyBlock.getInstance().getFileManager().getConfig(new File(configFile,
|
||||
SkyBlock.getInstance().getIslandManager().getIslandAtLocation(location).getOwnerUUID() + ".yml"));
|
||||
SkyBlock.getInstance().getIslandManager().getIslandAtLocation(this.location).getOwnerUUID() + ".yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
|
||||
if (getSize() == 0) {
|
||||
configLoad.set("Stackables." + getUuid().toString(), null);
|
||||
if (this.getSize() == 0) {
|
||||
configLoad.set("Stackables." + this.getUuid().toString(), null);
|
||||
} else {
|
||||
ConfigurationSection section = configLoad.createSection("Stackables." + getUuid().toString());
|
||||
section.set("Location", getLocation());
|
||||
section.set("Material", getMaterial().name());
|
||||
section.set("Size", getSize());
|
||||
ConfigurationSection section = configLoad.createSection("Stackables." + this.getUuid().toString());
|
||||
section.set("Location", this.getLocation());
|
||||
section.set("Material", this.getMaterial().name());
|
||||
section.set("Size", this.getSize());
|
||||
}
|
||||
}
|
||||
|
||||
private String getCustomName() {
|
||||
return ChatColor.translateAlternateColorCodes('&', SkyBlock.getInstance().getFileManager()
|
||||
.getConfig(new File(SkyBlock.getInstance().getDataFolder(), "language.yml"))
|
||||
.getFileConfiguration().getString("Hologram.Stackable.Message"))
|
||||
.replace("%block", WordUtils.capitalize(this.material.name().toLowerCase()).replace("_", " "))
|
||||
.replace("%amount", NumberUtil.formatNumber(this.size));
|
||||
}
|
||||
}
|
||||
|
@ -28,74 +28,71 @@ public class UserCacheManager {
|
||||
FileManager fileManager = skyblock.getFileManager();
|
||||
File configFile = new File(skyblock.getDataFolder().toString() + "/island-data");
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (configFile.exists()) {
|
||||
int usersIgnored = 0;
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> {
|
||||
if (configFile.exists()) {
|
||||
int usersIgnored = 0;
|
||||
|
||||
Bukkit.getServer().getLogger().log(Level.INFO,
|
||||
"SkyBlock | Info: Fetching user information from island data. This may take a while...");
|
||||
Bukkit.getServer().getLogger().log(Level.INFO,
|
||||
"SkyBlock | Info: Fetching user information from island data. This may take a while...");
|
||||
|
||||
for (File fileList : configFile.listFiles()) {
|
||||
if (fileList != null && fileList.getName().contains(".yml")
|
||||
&& fileList.getName().length() > 35) {
|
||||
UUID islandOwnerUUID = null;
|
||||
for (File fileList : configFile.listFiles()) {
|
||||
if (fileList != null && fileList.getName().contains(".yml")
|
||||
&& fileList.getName().length() > 35) {
|
||||
UUID islandOwnerUUID = null;
|
||||
|
||||
try {
|
||||
Config config = new FileManager.Config(fileManager, fileList);
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
try {
|
||||
Config config = new Config(fileManager, fileList);
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
|
||||
islandOwnerUUID = UUID.fromString(fileList.getName().replace(".yml", ""));
|
||||
islandOwnerUUID = UUID.fromString(fileList.getName().replace(".yml", ""));
|
||||
|
||||
if (islandOwnerUUID == null) {
|
||||
islandOwnerUUID = UUID.fromString(fileList.getName().replaceFirst("[.][^.]+$", ""));
|
||||
|
||||
if (islandOwnerUUID == null) {
|
||||
islandOwnerUUID = UUID.fromString(fileList.getName().replaceFirst("[.][^.]+$", ""));
|
||||
|
||||
if (islandOwnerUUID == null) {
|
||||
continue;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
Set<UUID> islandMembers = new HashSet<UUID>();
|
||||
islandMembers.add(islandOwnerUUID);
|
||||
|
||||
if (configLoad.getString("Members") != null) {
|
||||
for (String memberList : configLoad.getStringList("Members")) {
|
||||
islandMembers.add(UUID.fromString(memberList));
|
||||
}
|
||||
}
|
||||
|
||||
if (configLoad.getString("Operators") != null) {
|
||||
for (String operatorList : configLoad.getStringList("Operators")) {
|
||||
islandMembers.add(UUID.fromString(operatorList));
|
||||
}
|
||||
}
|
||||
|
||||
for (UUID islandMemberList : islandMembers) {
|
||||
if (!hasUser(islandMemberList)) {
|
||||
Names[] names = NameFetcher.getNames(islandMemberList);
|
||||
|
||||
if (names.length >= 1) {
|
||||
addUser(islandMemberList, names[0].getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
usersIgnored++;
|
||||
}
|
||||
|
||||
Set<UUID> islandMembers = new HashSet<>();
|
||||
islandMembers.add(islandOwnerUUID);
|
||||
|
||||
if (configLoad.getString("Members") != null) {
|
||||
for (String memberList : configLoad.getStringList("Members")) {
|
||||
islandMembers.add(UUID.fromString(memberList));
|
||||
}
|
||||
}
|
||||
|
||||
if (configLoad.getString("Operators") != null) {
|
||||
for (String operatorList : configLoad.getStringList("Operators")) {
|
||||
islandMembers.add(UUID.fromString(operatorList));
|
||||
}
|
||||
}
|
||||
|
||||
for (UUID islandMemberList : islandMembers) {
|
||||
if (!hasUser(islandMemberList)) {
|
||||
Names[] names = NameFetcher.getNames(islandMemberList);
|
||||
|
||||
if (names.length >= 1) {
|
||||
addUser(islandMemberList, names[0].getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
usersIgnored++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
save();
|
||||
save();
|
||||
|
||||
if (usersIgnored != 0) {
|
||||
Bukkit.getServer().getLogger().log(Level.INFO,
|
||||
"SkyBlock | Info: Finished fetching user information from island data. There were "
|
||||
+ usersIgnored + " users that were skipped.");
|
||||
} else {
|
||||
Bukkit.getServer().getLogger().log(Level.INFO,
|
||||
"SkyBlock | Info: Finished fetching user information from island data.");
|
||||
}
|
||||
if (usersIgnored != 0) {
|
||||
Bukkit.getServer().getLogger().log(Level.INFO,
|
||||
"SkyBlock | Info: Finished fetching user information from island data. There were "
|
||||
+ usersIgnored + " users that were skipped.");
|
||||
} else {
|
||||
Bukkit.getServer().getLogger().log(Level.INFO,
|
||||
"SkyBlock | Info: Finished fetching user information from island data.");
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -152,12 +149,7 @@ public class UserCacheManager {
|
||||
}
|
||||
|
||||
public void saveAsync() {
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
save();
|
||||
}
|
||||
});
|
||||
Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> save());
|
||||
}
|
||||
|
||||
public void save() {
|
||||
|
@ -0,0 +1,283 @@
|
||||
package me.goodandevil.skyblock.utils;
|
||||
|
||||
import me.goodandevil.skyblock.SkyBlock;
|
||||
import me.goodandevil.skyblock.utils.version.NMSUtil;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class AbstractAnvilGUI {
|
||||
|
||||
private static Class<?> BlockPositionClass;
|
||||
private static Class<?> PacketPlayOutOpenWindowClass;
|
||||
private static Class<?> IChatBaseComponentClass;
|
||||
private static Class<?> ICraftingClass;
|
||||
private static Class<?> ContainerAnvilClass;
|
||||
private static Class<?> ChatMessageClass;
|
||||
private static Class<?> EntityHumanClass;
|
||||
private static Class<?> ContainerClass;
|
||||
private static Class<?> ContainerAccessClass;
|
||||
private static Class<?> WorldClass;
|
||||
private static Class<?> PlayerInventoryClass;
|
||||
private static Class<?> ContainersClass;
|
||||
|
||||
private Player player;
|
||||
private Map<AnvilSlot, ItemStack> items = new HashMap<>();
|
||||
private Inventory inv;
|
||||
private Listener listener;
|
||||
|
||||
static {
|
||||
BlockPositionClass = NMSUtil.getNMSClass("BlockPosition");
|
||||
PacketPlayOutOpenWindowClass = NMSUtil.getNMSClass("PacketPlayOutOpenWindow");
|
||||
IChatBaseComponentClass = NMSUtil.getNMSClass("IChatBaseComponent");
|
||||
ICraftingClass = NMSUtil.getNMSClass("ICrafting");
|
||||
ContainerAnvilClass = NMSUtil.getNMSClass("ContainerAnvil");
|
||||
EntityHumanClass = NMSUtil.getNMSClass("EntityHuman");
|
||||
ChatMessageClass = NMSUtil.getNMSClass("ChatMessage");
|
||||
ContainerClass = NMSUtil.getNMSClass("Container");
|
||||
WorldClass = NMSUtil.getNMSClass("World");
|
||||
PlayerInventoryClass = NMSUtil.getNMSClass("PlayerInventory");
|
||||
|
||||
if (NMSUtil.getVersionNumber() > 13) {
|
||||
ContainerAccessClass = NMSUtil.getNMSClass("ContainerAccess");
|
||||
ContainersClass = NMSUtil.getNMSClass("Containers");
|
||||
}
|
||||
}
|
||||
|
||||
public AbstractAnvilGUI(final Player player, final AnvilClickEventHandler handler) {
|
||||
this.player = player;
|
||||
|
||||
this.listener = new Listener() {
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void onInventoryClick(InventoryClickEvent event) {
|
||||
if (event.getWhoClicked() instanceof Player) {
|
||||
|
||||
if (event.getInventory().equals(inv)) {
|
||||
event.setCancelled(true);
|
||||
|
||||
ItemStack item = event.getCurrentItem();
|
||||
int slot = event.getRawSlot();
|
||||
String name = "";
|
||||
|
||||
if (item != null) {
|
||||
if (item.hasItemMeta()) {
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
|
||||
if (meta != null && meta.hasDisplayName()) {
|
||||
name = meta.getDisplayName();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AnvilClickEvent clickEvent = new AnvilClickEvent(AnvilSlot.bySlot(slot), name);
|
||||
|
||||
handler.onAnvilClick(clickEvent);
|
||||
|
||||
if (clickEvent.getWillClose()) {
|
||||
event.getWhoClicked().closeInventory();
|
||||
}
|
||||
|
||||
if (clickEvent.getWillDestroy()) {
|
||||
destroy();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void onInventoryClose(InventoryCloseEvent event) {
|
||||
if (event.getPlayer() instanceof Player) {
|
||||
Inventory inv = event.getInventory();
|
||||
player.setLevel(player.getLevel() - 1);
|
||||
if (inv.equals(inv)) {
|
||||
inv.clear();
|
||||
destroy();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||
if (event.getPlayer().equals(getPlayer())) {
|
||||
player.setLevel(player.getLevel() - 1);
|
||||
destroy();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Bukkit.getPluginManager().registerEvents(listener, SkyBlock.getInstance());
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
}
|
||||
|
||||
public void setSlot(AnvilSlot slot, ItemStack item) {
|
||||
items.put(slot, item);
|
||||
}
|
||||
|
||||
public void open() {
|
||||
player.setLevel(player.getLevel() + 1);
|
||||
|
||||
try {
|
||||
Object craftPlayer = NMSUtil.getCraftClass("entity.CraftPlayer").cast(player);
|
||||
Method getHandleMethod = craftPlayer.getClass().getMethod("getHandle");
|
||||
Object entityPlayer = getHandleMethod.invoke(craftPlayer);
|
||||
Object playerInventory = NMSUtil.getFieldObject(entityPlayer, NMSUtil.getField(entityPlayer.getClass(), "inventory", false));
|
||||
Object world = NMSUtil.getFieldObject(entityPlayer, NMSUtil.getField(entityPlayer.getClass(), "world", false));
|
||||
Object blockPosition = BlockPositionClass.getConstructor(int.class, int.class, int.class).newInstance(0, 0, 0);
|
||||
|
||||
Object container;
|
||||
|
||||
if (NMSUtil.getVersionNumber() > 13) {
|
||||
container = ContainerAnvilClass
|
||||
.getConstructor(int.class, PlayerInventoryClass, ContainerAccessClass)
|
||||
.newInstance(7, playerInventory, ContainerAccessClass.getMethod("at", WorldClass, BlockPositionClass).invoke(null, world, blockPosition));
|
||||
} else {
|
||||
container = ContainerAnvilClass
|
||||
.getConstructor(PlayerInventoryClass, WorldClass, BlockPositionClass, EntityHumanClass)
|
||||
.newInstance(playerInventory, world, blockPosition, entityPlayer);
|
||||
}
|
||||
|
||||
NMSUtil.getField(ContainerClass, "checkReachable", true).set(container, false);
|
||||
|
||||
Method getBukkitViewMethod = container.getClass().getMethod("getBukkitView");
|
||||
Object bukkitView = getBukkitViewMethod.invoke(container);
|
||||
Method getTopInventoryMethod = bukkitView.getClass().getMethod("getTopInventory");
|
||||
inv = (Inventory) getTopInventoryMethod.invoke(bukkitView);
|
||||
|
||||
for (AnvilSlot slot : items.keySet()) {
|
||||
inv.setItem(slot.getSlot(), items.get(slot));
|
||||
}
|
||||
|
||||
Method nextContainerCounterMethod = entityPlayer.getClass().getMethod("nextContainerCounter");
|
||||
int c = (int) nextContainerCounterMethod.invoke(entityPlayer);
|
||||
|
||||
Constructor<?> chatMessageConstructor = ChatMessageClass.getConstructor(String.class, Object[].class);
|
||||
Object inventoryTitle = chatMessageConstructor.newInstance("Repairing", new Object[]{});
|
||||
|
||||
Object packet;
|
||||
|
||||
if (NMSUtil.getVersionNumber() > 13) {
|
||||
packet = PacketPlayOutOpenWindowClass
|
||||
.getConstructor(int.class, ContainersClass, IChatBaseComponentClass)
|
||||
.newInstance(c, ContainersClass.getField("ANVIL").get(null), inventoryTitle);
|
||||
} else {
|
||||
packet = PacketPlayOutOpenWindowClass
|
||||
.getConstructor(int.class, String.class, IChatBaseComponentClass, int.class)
|
||||
.newInstance(c, "minecraft:anvil", inventoryTitle, 0);
|
||||
}
|
||||
|
||||
NMSUtil.sendPacket(player, packet);
|
||||
|
||||
Field activeContainerField = NMSUtil.getField(EntityHumanClass, "activeContainer", true);
|
||||
|
||||
if (activeContainerField != null) {
|
||||
activeContainerField.set(entityPlayer, container);
|
||||
NMSUtil.getField(ContainerClass, "windowId", true).set(activeContainerField.get(entityPlayer), c);
|
||||
Method addSlotListenerMethod = activeContainerField.get(entityPlayer).getClass().getMethod("addSlotListener", ICraftingClass);
|
||||
addSlotListenerMethod.invoke(activeContainerField.get(entityPlayer), entityPlayer);
|
||||
|
||||
if (NMSUtil.getVersionNumber() > 13) {
|
||||
ContainerClass.getMethod("setTitle", IChatBaseComponentClass).invoke(container, inventoryTitle);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void destroy() {
|
||||
player = null;
|
||||
items = null;
|
||||
|
||||
HandlerList.unregisterAll(listener);
|
||||
|
||||
listener = null;
|
||||
}
|
||||
|
||||
public enum AnvilSlot {
|
||||
INPUT_LEFT(0),
|
||||
INPUT_RIGHT(1),
|
||||
OUTPUT(2);
|
||||
|
||||
private int slot;
|
||||
|
||||
AnvilSlot(int slot) {
|
||||
this.slot = slot;
|
||||
}
|
||||
|
||||
public static AnvilSlot bySlot(int slot) {
|
||||
for (AnvilSlot anvilSlot : values()) {
|
||||
if (anvilSlot.getSlot() == slot) {
|
||||
return anvilSlot;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getSlot() {
|
||||
return slot;
|
||||
}
|
||||
}
|
||||
|
||||
@FunctionalInterface
|
||||
public interface AnvilClickEventHandler {
|
||||
void onAnvilClick(AnvilClickEvent event);
|
||||
}
|
||||
|
||||
public class AnvilClickEvent {
|
||||
private AnvilSlot slot;
|
||||
|
||||
private String name;
|
||||
|
||||
private boolean close = true;
|
||||
private boolean destroy = true;
|
||||
|
||||
public AnvilClickEvent(AnvilSlot slot, String name) {
|
||||
this.slot = slot;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public AnvilSlot getSlot() {
|
||||
return slot;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public boolean getWillClose() {
|
||||
return close;
|
||||
}
|
||||
|
||||
public void setWillClose(boolean close) {
|
||||
this.close = close;
|
||||
}
|
||||
|
||||
public boolean getWillDestroy() {
|
||||
return destroy;
|
||||
}
|
||||
|
||||
public void setWillDestroy(boolean destroy) {
|
||||
this.destroy = destroy;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,276 +0,0 @@
|
||||
package me.goodandevil.skyblock.utils;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import me.goodandevil.skyblock.SkyBlock;
|
||||
import me.goodandevil.skyblock.utils.version.NMSUtil;
|
||||
|
||||
public class AnvilGUI {
|
||||
|
||||
private Player player;
|
||||
|
||||
private Class<?> BlockPosition;
|
||||
private Class<?> PacketPlayOutOpenWindow;
|
||||
private Class<?> ContainerAnvil;
|
||||
private Class<?> ChatMessage;
|
||||
private Class<?> EntityHuman;
|
||||
|
||||
private Map<AnvilSlot, ItemStack> items = new HashMap<>();
|
||||
private Inventory inv;
|
||||
private Listener listener;
|
||||
|
||||
private void loadClasses() {
|
||||
BlockPosition = NMSUtil.getNMSClass("BlockPosition");
|
||||
PacketPlayOutOpenWindow = NMSUtil.getNMSClass("PacketPlayOutOpenWindow");
|
||||
ContainerAnvil = NMSUtil.getNMSClass("ContainerAnvil");
|
||||
EntityHuman = NMSUtil.getNMSClass("EntityHuman");
|
||||
ChatMessage = NMSUtil.getNMSClass("ChatMessage");
|
||||
}
|
||||
|
||||
public AnvilGUI(final Player player, final AnvilClickEventHandler handler) {
|
||||
loadClasses();
|
||||
this.player = player;
|
||||
|
||||
this.listener = new Listener() {
|
||||
@EventHandler
|
||||
public void onInventoryClick(InventoryClickEvent event) {
|
||||
if (event.getWhoClicked() instanceof Player) {
|
||||
|
||||
if (event.getInventory().equals(inv)) {
|
||||
event.setCancelled(true);
|
||||
|
||||
ItemStack item = event.getCurrentItem();
|
||||
int slot = event.getRawSlot();
|
||||
String name = "";
|
||||
|
||||
if (item != null) {
|
||||
if (item.hasItemMeta()) {
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
|
||||
if (meta.hasDisplayName()) {
|
||||
name = meta.getDisplayName();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AnvilClickEvent clickEvent = new AnvilClickEvent(AnvilSlot.bySlot(slot), name);
|
||||
|
||||
handler.onAnvilClick(clickEvent);
|
||||
|
||||
if (clickEvent.getWillClose()) {
|
||||
event.getWhoClicked().closeInventory();
|
||||
}
|
||||
|
||||
if (clickEvent.getWillDestroy()) {
|
||||
destroy();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onInventoryClose(InventoryCloseEvent event) {
|
||||
if (event.getPlayer() instanceof Player) {
|
||||
Inventory inv = event.getInventory();
|
||||
player.setLevel(player.getLevel() - 1);
|
||||
if (inv.equals(AnvilGUI.this.inv)) {
|
||||
inv.clear();
|
||||
destroy();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||
if (event.getPlayer().equals(getPlayer())) {
|
||||
player.setLevel(player.getLevel() - 1);
|
||||
destroy();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Bukkit.getPluginManager().registerEvents(listener, SkyBlock.getInstance());
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
}
|
||||
|
||||
public void setSlot(AnvilSlot slot, ItemStack item) {
|
||||
items.put(slot, item);
|
||||
}
|
||||
|
||||
public void open() {
|
||||
player.setLevel(player.getLevel() + 1);
|
||||
|
||||
try {
|
||||
Object craftPlayer = NMSUtil.getCraftClass("entity.CraftPlayer").cast(player);
|
||||
Method getHandleMethod = craftPlayer.getClass().getMethod("getHandle", new Class<?>[0]);
|
||||
Object entityPlayer = getHandleMethod.invoke(craftPlayer, new Object[0]);
|
||||
|
||||
Object container;
|
||||
|
||||
if (NMSUtil.getVersionNumber() == 7) {
|
||||
container = ContainerAnvil
|
||||
.getConstructor(
|
||||
new Class[] { NMSUtil.getNMSClass("PlayerInventory"), NMSUtil.getNMSClass("World"),
|
||||
Integer.TYPE, Integer.TYPE, Integer.TYPE, EntityHuman })
|
||||
.newInstance(new Object[] {
|
||||
NMSUtil.getFieldObject(entityPlayer,
|
||||
NMSUtil.getField(entityPlayer.getClass(), "inventory", false)),
|
||||
NMSUtil.getFieldObject(entityPlayer,
|
||||
NMSUtil.getField(entityPlayer.getClass(), "world", false)),
|
||||
Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0), entityPlayer });
|
||||
} else {
|
||||
container = ContainerAnvil
|
||||
.getConstructor(NMSUtil.getNMSClass("PlayerInventory"), NMSUtil.getNMSClass("World"),
|
||||
BlockPosition, EntityHuman)
|
||||
.newInstance(
|
||||
NMSUtil.getFieldObject(entityPlayer,
|
||||
NMSUtil.getField(entityPlayer.getClass(), "inventory", false)),
|
||||
NMSUtil.getFieldObject(entityPlayer,
|
||||
NMSUtil.getField(entityPlayer.getClass(), "world", false)),
|
||||
BlockPosition.getConstructor(int.class, int.class, int.class).newInstance(0, 0, 0),
|
||||
entityPlayer);
|
||||
}
|
||||
|
||||
NMSUtil.getField(NMSUtil.getNMSClass("Container"), "checkReachable", true).set(container, false);
|
||||
|
||||
Method getBukkitViewMethod = container.getClass().getMethod("getBukkitView", new Class<?>[0]);
|
||||
Object bukkitView = getBukkitViewMethod.invoke(container);
|
||||
Method getTopInventoryMethod = bukkitView.getClass().getMethod("getTopInventory", new Class<?>[0]);
|
||||
inv = (Inventory) getTopInventoryMethod.invoke(bukkitView);
|
||||
|
||||
for (AnvilSlot slot : items.keySet()) {
|
||||
inv.setItem(slot.getSlot(), items.get(slot));
|
||||
}
|
||||
|
||||
Method nextContainerCounterMethod = entityPlayer.getClass().getMethod("nextContainerCounter",
|
||||
new Class<?>[0]);
|
||||
int c = (int) nextContainerCounterMethod.invoke(entityPlayer);
|
||||
|
||||
Constructor<?> chatMessageConstructor = ChatMessage.getConstructor(String.class, Object[].class);
|
||||
Object packet;
|
||||
|
||||
if (NMSUtil.getVersionNumber() == 7) {
|
||||
packet = PacketPlayOutOpenWindow
|
||||
.getConstructor(new Class[] { Integer.TYPE, Integer.TYPE, String.class, Integer.TYPE,
|
||||
Boolean.TYPE, Integer.TYPE })
|
||||
.newInstance(new Object[] { Integer.valueOf(c), Integer.valueOf(8), "Repairing",
|
||||
Integer.valueOf(0), Boolean.valueOf(true), Integer.valueOf(0) });
|
||||
} else {
|
||||
packet = PacketPlayOutOpenWindow
|
||||
.getConstructor(int.class, String.class, NMSUtil.getNMSClass("IChatBaseComponent"), int.class)
|
||||
.newInstance(c, "minecraft:anvil",
|
||||
chatMessageConstructor.newInstance("Repairing", new Object[] {}), 0);
|
||||
}
|
||||
|
||||
NMSUtil.sendPacket(player, packet);
|
||||
|
||||
Field activeContainerField = NMSUtil.getField(EntityHuman, "activeContainer", true);
|
||||
|
||||
if (activeContainerField != null) {
|
||||
activeContainerField.set(entityPlayer, container);
|
||||
NMSUtil.getField(NMSUtil.getNMSClass("Container"), "windowId", true)
|
||||
.set(activeContainerField.get(entityPlayer), c);
|
||||
|
||||
Method addSlotListenerMethod = activeContainerField.get(entityPlayer).getClass()
|
||||
.getMethod("addSlotListener", NMSUtil.getNMSClass("ICrafting"));
|
||||
addSlotListenerMethod.invoke(activeContainerField.get(entityPlayer), entityPlayer);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void destroy() {
|
||||
player = null;
|
||||
items = null;
|
||||
|
||||
HandlerList.unregisterAll(listener);
|
||||
|
||||
listener = null;
|
||||
}
|
||||
|
||||
public enum AnvilSlot {
|
||||
INPUT_LEFT(0), INPUT_RIGHT(1), OUTPUT(2);
|
||||
|
||||
private int slot;
|
||||
|
||||
private AnvilSlot(int slot) {
|
||||
this.slot = slot;
|
||||
}
|
||||
|
||||
public static AnvilSlot bySlot(int slot) {
|
||||
for (AnvilSlot anvilSlot : values()) {
|
||||
if (anvilSlot.getSlot() == slot) {
|
||||
return anvilSlot;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getSlot() {
|
||||
return slot;
|
||||
}
|
||||
}
|
||||
|
||||
public interface AnvilClickEventHandler {
|
||||
void onAnvilClick(AnvilClickEvent event);
|
||||
}
|
||||
|
||||
public class AnvilClickEvent {
|
||||
private AnvilSlot slot;
|
||||
|
||||
private String name;
|
||||
|
||||
private boolean close = true;
|
||||
private boolean destroy = true;
|
||||
|
||||
public AnvilClickEvent(AnvilSlot slot, String name) {
|
||||
this.slot = slot;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public AnvilSlot getSlot() {
|
||||
return slot;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public boolean getWillClose() {
|
||||
return close;
|
||||
}
|
||||
|
||||
public void setWillClose(boolean close) {
|
||||
this.close = close;
|
||||
}
|
||||
|
||||
public boolean getWillDestroy() {
|
||||
return destroy;
|
||||
}
|
||||
|
||||
public void setWillDestroy(boolean destroy) {
|
||||
this.destroy = destroy;
|
||||
}
|
||||
}
|
||||
}
|
695
src/main/java/me/goodandevil/skyblock/utils/Metrics.java
Normal file
695
src/main/java/me/goodandevil/skyblock/utils/Metrics.java
Normal file
@ -0,0 +1,695 @@
|
||||
package me.goodandevil.skyblock.utils;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
import org.bukkit.plugin.ServicePriority;
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import javax.net.ssl.HttpsURLConnection;
|
||||
import java.io.*;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.logging.Level;
|
||||
import java.util.zip.GZIPOutputStream;
|
||||
|
||||
/**
|
||||
* bStats collects some data for plugin authors.
|
||||
* <p>
|
||||
* Check out https://bStats.org/ to learn more about bStats!
|
||||
*/
|
||||
@SuppressWarnings({"WeakerAccess", "unused"})
|
||||
public class Metrics {
|
||||
|
||||
static {
|
||||
// You can use the property to disable the check in your test environment
|
||||
if (System.getProperty("bstats.relocatecheck") == null || !System.getProperty("bstats.relocatecheck").equals("false")) {
|
||||
// Maven's Relocate is clever and changes strings, too. So we have to use this little "trick" ... :D
|
||||
final String defaultPackage = new String(
|
||||
new byte[]{'o', 'r', 'g', '.', 'b', 's', 't', 'a', 't', 's', '.', 'b', 'u', 'k', 'k', 'i', 't'});
|
||||
final String examplePackage = new String(new byte[]{'y', 'o', 'u', 'r', '.', 'p', 'a', 'c', 'k', 'a', 'g', 'e'});
|
||||
// We want to make sure nobody just copy & pastes the example and use the wrong package names
|
||||
if (Metrics.class.getPackage().getName().equals(defaultPackage) || Metrics.class.getPackage().getName().equals(examplePackage)) {
|
||||
throw new IllegalStateException("bStats Metrics class has not been relocated correctly!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// The version of this bStats class
|
||||
public static final int B_STATS_VERSION = 1;
|
||||
|
||||
// The url to which the data is sent
|
||||
private static final String URL = "https://bStats.org/submitData/bukkit";
|
||||
|
||||
// Is bStats enabled on this server?
|
||||
private boolean enabled;
|
||||
|
||||
// Should failed requests be logged?
|
||||
private static boolean logFailedRequests;
|
||||
|
||||
// Should the sent data be logged?
|
||||
private static boolean logSentData;
|
||||
|
||||
// Should the response text be logged?
|
||||
private static boolean logResponseStatusText;
|
||||
|
||||
// The uuid of the server
|
||||
private static String serverUUID;
|
||||
|
||||
// The plugin
|
||||
private final Plugin plugin;
|
||||
|
||||
// A list with all custom charts
|
||||
private final List<CustomChart> charts = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* Class constructor.
|
||||
*
|
||||
* @param plugin The plugin which stats should be submitted.
|
||||
*/
|
||||
public Metrics(Plugin plugin) {
|
||||
if (plugin == null) {
|
||||
throw new IllegalArgumentException("Plugin cannot be null!");
|
||||
}
|
||||
this.plugin = plugin;
|
||||
|
||||
// Get the config file
|
||||
File bStatsFolder = new File(plugin.getDataFolder().getParentFile(), "bStats");
|
||||
File configFile = new File(bStatsFolder, "config.yml");
|
||||
YamlConfiguration config = YamlConfiguration.loadConfiguration(configFile);
|
||||
|
||||
// Check if the config file exists
|
||||
if (!config.isSet("serverUuid")) {
|
||||
|
||||
// Add default values
|
||||
config.addDefault("enabled", true);
|
||||
// Every server gets it's unique random id.
|
||||
config.addDefault("serverUuid", UUID.randomUUID().toString());
|
||||
// Should failed request be logged?
|
||||
config.addDefault("logFailedRequests", false);
|
||||
// Should the sent data be logged?
|
||||
config.addDefault("logSentData", false);
|
||||
// Should the response text be logged?
|
||||
config.addDefault("logResponseStatusText", false);
|
||||
|
||||
// Inform the server owners about bStats
|
||||
config.options().header(
|
||||
"bStats collects some data for plugin authors like how many servers are using their plugins.\n" +
|
||||
"To honor their work, you should not disable it.\n" +
|
||||
"This has nearly no effect on the server performance!\n" +
|
||||
"Check out https://bStats.org/ to learn more :)"
|
||||
).copyDefaults(true);
|
||||
try {
|
||||
config.save(configFile);
|
||||
} catch (IOException ignored) { }
|
||||
}
|
||||
|
||||
// Load the data
|
||||
enabled = config.getBoolean("enabled", true);
|
||||
serverUUID = config.getString("serverUuid");
|
||||
logFailedRequests = config.getBoolean("logFailedRequests", false);
|
||||
logSentData = config.getBoolean("logSentData", false);
|
||||
logResponseStatusText = config.getBoolean("logResponseStatusText", false);
|
||||
|
||||
if (enabled) {
|
||||
boolean found = false;
|
||||
// Search for all other bStats Metrics classes to see if we are the first one
|
||||
for (Class<?> service : Bukkit.getServicesManager().getKnownServices()) {
|
||||
try {
|
||||
service.getField("B_STATS_VERSION"); // Our identifier :)
|
||||
found = true; // We aren't the first
|
||||
break;
|
||||
} catch (NoSuchFieldException ignored) { }
|
||||
}
|
||||
// Register our service
|
||||
Bukkit.getServicesManager().register(Metrics.class, this, plugin, ServicePriority.Normal);
|
||||
if (!found) {
|
||||
// We are the first!
|
||||
startSubmitting();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if bStats is enabled.
|
||||
*
|
||||
* @return Whether bStats is enabled or not.
|
||||
*/
|
||||
public boolean isEnabled() {
|
||||
return enabled;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a custom chart.
|
||||
*
|
||||
* @param chart The chart to add.
|
||||
*/
|
||||
public void addCustomChart(CustomChart chart) {
|
||||
if (chart == null) {
|
||||
throw new IllegalArgumentException("Chart cannot be null!");
|
||||
}
|
||||
charts.add(chart);
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts the Scheduler which submits our data every 30 minutes.
|
||||
*/
|
||||
private void startSubmitting() {
|
||||
final Timer timer = new Timer(true); // We use a timer cause the Bukkit scheduler is affected by server lags
|
||||
timer.scheduleAtFixedRate(new TimerTask() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (!plugin.isEnabled()) { // Plugin was disabled
|
||||
timer.cancel();
|
||||
return;
|
||||
}
|
||||
// Nevertheless we want our code to run in the Bukkit main thread, so we have to use the Bukkit scheduler
|
||||
// Don't be afraid! The connection to the bStats server is still async, only the stats collection is sync ;)
|
||||
Bukkit.getScheduler().runTask(plugin, () -> submitData());
|
||||
}
|
||||
}, 1000 * 60 * 5, 1000 * 60 * 30);
|
||||
// Submit the data every 30 minutes, first time after 5 minutes to give other plugins enough time to start
|
||||
// WARNING: Changing the frequency has no effect but your plugin WILL be blocked/deleted!
|
||||
// WARNING: Just don't do it!
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the plugin specific data.
|
||||
* This method is called using Reflection.
|
||||
*
|
||||
* @return The plugin specific data.
|
||||
*/
|
||||
public JSONObject getPluginData() {
|
||||
JSONObject data = new JSONObject();
|
||||
|
||||
String pluginName = plugin.getDescription().getName();
|
||||
String pluginVersion = plugin.getDescription().getVersion();
|
||||
|
||||
data.put("pluginName", pluginName); // Append the name of the plugin
|
||||
data.put("pluginVersion", pluginVersion); // Append the version of the plugin
|
||||
JSONArray customCharts = new JSONArray();
|
||||
for (CustomChart customChart : charts) {
|
||||
// Add the data of the custom charts
|
||||
JSONObject chart = customChart.getRequestJsonObject();
|
||||
if (chart == null) { // If the chart is null, we skip it
|
||||
continue;
|
||||
}
|
||||
customCharts.add(chart);
|
||||
}
|
||||
data.put("customCharts", customCharts);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the server specific data.
|
||||
*
|
||||
* @return The server specific data.
|
||||
*/
|
||||
private JSONObject getServerData() {
|
||||
// Minecraft specific data
|
||||
int playerAmount;
|
||||
try {
|
||||
// Around MC 1.8 the return type was changed to a collection from an array,
|
||||
// This fixes java.lang.NoSuchMethodError: org.bukkit.Bukkit.getOnlinePlayers()Ljava/util/Collection;
|
||||
Method onlinePlayersMethod = Class.forName("org.bukkit.Server").getMethod("getOnlinePlayers");
|
||||
playerAmount = onlinePlayersMethod.getReturnType().equals(Collection.class)
|
||||
? ((Collection<?>) onlinePlayersMethod.invoke(Bukkit.getServer())).size()
|
||||
: ((Player[]) onlinePlayersMethod.invoke(Bukkit.getServer())).length;
|
||||
} catch (Exception e) {
|
||||
playerAmount = Bukkit.getOnlinePlayers().size(); // Just use the new method if the Reflection failed
|
||||
}
|
||||
int onlineMode = Bukkit.getOnlineMode() ? 1 : 0;
|
||||
String bukkitVersion = Bukkit.getVersion();
|
||||
|
||||
// OS/Java specific data
|
||||
String javaVersion = System.getProperty("java.version");
|
||||
String osName = System.getProperty("os.name");
|
||||
String osArch = System.getProperty("os.arch");
|
||||
String osVersion = System.getProperty("os.version");
|
||||
int coreCount = Runtime.getRuntime().availableProcessors();
|
||||
|
||||
JSONObject data = new JSONObject();
|
||||
|
||||
data.put("serverUUID", serverUUID);
|
||||
|
||||
data.put("playerAmount", playerAmount);
|
||||
data.put("onlineMode", onlineMode);
|
||||
data.put("bukkitVersion", bukkitVersion);
|
||||
|
||||
data.put("javaVersion", javaVersion);
|
||||
data.put("osName", osName);
|
||||
data.put("osArch", osArch);
|
||||
data.put("osVersion", osVersion);
|
||||
data.put("coreCount", coreCount);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects the data and sends it afterwards.
|
||||
*/
|
||||
private void submitData() {
|
||||
final JSONObject data = getServerData();
|
||||
|
||||
JSONArray pluginData = new JSONArray();
|
||||
// Search for all other bStats Metrics classes to get their plugin data
|
||||
for (Class<?> service : Bukkit.getServicesManager().getKnownServices()) {
|
||||
try {
|
||||
service.getField("B_STATS_VERSION"); // Our identifier :)
|
||||
|
||||
for (RegisteredServiceProvider<?> provider : Bukkit.getServicesManager().getRegistrations(service)) {
|
||||
try {
|
||||
pluginData.add(provider.getService().getMethod("getPluginData").invoke(provider.getProvider()));
|
||||
} catch (NullPointerException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ignored) { }
|
||||
}
|
||||
} catch (NoSuchFieldException ignored) { }
|
||||
}
|
||||
|
||||
data.put("plugins", pluginData);
|
||||
|
||||
// Create a new thread for the connection to the bStats server
|
||||
new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
// Send the data
|
||||
sendData(plugin, data);
|
||||
} catch (Exception e) {
|
||||
// Something went wrong! :(
|
||||
if (logFailedRequests) {
|
||||
plugin.getLogger().log(Level.WARNING, "Could not submit plugin stats of " + plugin.getName(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}).start();
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends the data to the bStats server.
|
||||
*
|
||||
* @param plugin Any plugin. It's just used to get a logger instance.
|
||||
* @param data The data to send.
|
||||
* @throws Exception If the request failed.
|
||||
*/
|
||||
private static void sendData(Plugin plugin, JSONObject data) throws Exception {
|
||||
if (data == null) {
|
||||
throw new IllegalArgumentException("Data cannot be null!");
|
||||
}
|
||||
if (Bukkit.isPrimaryThread()) {
|
||||
throw new IllegalAccessException("This method must not be called from the main thread!");
|
||||
}
|
||||
if (logSentData) {
|
||||
plugin.getLogger().info("Sending data to bStats: " + data.toString());
|
||||
}
|
||||
HttpsURLConnection connection = (HttpsURLConnection) new URL(URL).openConnection();
|
||||
|
||||
// Compress the data to save bandwidth
|
||||
byte[] compressedData = compress(data.toString());
|
||||
|
||||
// Add headers
|
||||
connection.setRequestMethod("POST");
|
||||
connection.addRequestProperty("Accept", "application/json");
|
||||
connection.addRequestProperty("Connection", "close");
|
||||
connection.addRequestProperty("Content-Encoding", "gzip"); // We gzip our request
|
||||
connection.addRequestProperty("Content-Length", String.valueOf(compressedData.length));
|
||||
connection.setRequestProperty("Content-Type", "application/json"); // We send our data in JSON format
|
||||
connection.setRequestProperty("User-Agent", "MC-Server/" + B_STATS_VERSION);
|
||||
|
||||
// Send data
|
||||
connection.setDoOutput(true);
|
||||
DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
|
||||
outputStream.write(compressedData);
|
||||
outputStream.flush();
|
||||
outputStream.close();
|
||||
|
||||
InputStream inputStream = connection.getInputStream();
|
||||
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
|
||||
|
||||
StringBuilder builder = new StringBuilder();
|
||||
String line;
|
||||
while ((line = bufferedReader.readLine()) != null) {
|
||||
builder.append(line);
|
||||
}
|
||||
bufferedReader.close();
|
||||
if (logResponseStatusText) {
|
||||
plugin.getLogger().info("Sent data to bStats and received response: " + builder.toString());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gzips the given String.
|
||||
*
|
||||
* @param str The string to gzip.
|
||||
* @return The gzipped String.
|
||||
* @throws IOException If the compression failed.
|
||||
*/
|
||||
private static byte[] compress(final String str) throws IOException {
|
||||
if (str == null) {
|
||||
return null;
|
||||
}
|
||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||
GZIPOutputStream gzip = new GZIPOutputStream(outputStream);
|
||||
gzip.write(str.getBytes(StandardCharsets.UTF_8));
|
||||
gzip.close();
|
||||
return outputStream.toByteArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a custom chart.
|
||||
*/
|
||||
public static abstract class CustomChart {
|
||||
|
||||
// The id of the chart
|
||||
final String chartId;
|
||||
|
||||
/**
|
||||
* Class constructor.
|
||||
*
|
||||
* @param chartId The id of the chart.
|
||||
*/
|
||||
CustomChart(String chartId) {
|
||||
if (chartId == null || chartId.isEmpty()) {
|
||||
throw new IllegalArgumentException("ChartId cannot be null or empty!");
|
||||
}
|
||||
this.chartId = chartId;
|
||||
}
|
||||
|
||||
private JSONObject getRequestJsonObject() {
|
||||
JSONObject chart = new JSONObject();
|
||||
chart.put("chartId", chartId);
|
||||
try {
|
||||
JSONObject data = getChartData();
|
||||
if (data == null) {
|
||||
// If the data is null we don't send the chart.
|
||||
return null;
|
||||
}
|
||||
chart.put("data", data);
|
||||
} catch (Throwable t) {
|
||||
if (logFailedRequests) {
|
||||
Bukkit.getLogger().log(Level.WARNING, "Failed to get data for custom chart with id " + chartId, t);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
return chart;
|
||||
}
|
||||
|
||||
protected abstract JSONObject getChartData() throws Exception;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a custom simple pie.
|
||||
*/
|
||||
public static class SimplePie extends CustomChart {
|
||||
|
||||
private final Callable<String> callable;
|
||||
|
||||
/**
|
||||
* Class constructor.
|
||||
*
|
||||
* @param chartId The id of the chart.
|
||||
* @param callable The callable which is used to request the chart data.
|
||||
*/
|
||||
public SimplePie(String chartId, Callable<String> callable) {
|
||||
super(chartId);
|
||||
this.callable = callable;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JSONObject getChartData() throws Exception {
|
||||
JSONObject data = new JSONObject();
|
||||
String value = callable.call();
|
||||
if (value == null || value.isEmpty()) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
data.put("value", value);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a custom advanced pie.
|
||||
*/
|
||||
public static class AdvancedPie extends CustomChart {
|
||||
|
||||
private final Callable<Map<String, Integer>> callable;
|
||||
|
||||
/**
|
||||
* Class constructor.
|
||||
*
|
||||
* @param chartId The id of the chart.
|
||||
* @param callable The callable which is used to request the chart data.
|
||||
*/
|
||||
public AdvancedPie(String chartId, Callable<Map<String, Integer>> callable) {
|
||||
super(chartId);
|
||||
this.callable = callable;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JSONObject getChartData() throws Exception {
|
||||
JSONObject data = new JSONObject();
|
||||
JSONObject values = new JSONObject();
|
||||
Map<String, Integer> map = callable.call();
|
||||
if (map == null || map.isEmpty()) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
boolean allSkipped = true;
|
||||
for (Map.Entry<String, Integer> entry : map.entrySet()) {
|
||||
if (entry.getValue() == 0) {
|
||||
continue; // Skip this invalid
|
||||
}
|
||||
allSkipped = false;
|
||||
values.put(entry.getKey(), entry.getValue());
|
||||
}
|
||||
if (allSkipped) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
data.put("values", values);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a custom drilldown pie.
|
||||
*/
|
||||
public static class DrilldownPie extends CustomChart {
|
||||
|
||||
private final Callable<Map<String, Map<String, Integer>>> callable;
|
||||
|
||||
/**
|
||||
* Class constructor.
|
||||
*
|
||||
* @param chartId The id of the chart.
|
||||
* @param callable The callable which is used to request the chart data.
|
||||
*/
|
||||
public DrilldownPie(String chartId, Callable<Map<String, Map<String, Integer>>> callable) {
|
||||
super(chartId);
|
||||
this.callable = callable;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject getChartData() throws Exception {
|
||||
JSONObject data = new JSONObject();
|
||||
JSONObject values = new JSONObject();
|
||||
Map<String, Map<String, Integer>> map = callable.call();
|
||||
if (map == null || map.isEmpty()) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
boolean reallyAllSkipped = true;
|
||||
for (Map.Entry<String, Map<String, Integer>> entryValues : map.entrySet()) {
|
||||
JSONObject value = new JSONObject();
|
||||
boolean allSkipped = true;
|
||||
for (Map.Entry<String, Integer> valueEntry : map.get(entryValues.getKey()).entrySet()) {
|
||||
value.put(valueEntry.getKey(), valueEntry.getValue());
|
||||
allSkipped = false;
|
||||
}
|
||||
if (!allSkipped) {
|
||||
reallyAllSkipped = false;
|
||||
values.put(entryValues.getKey(), value);
|
||||
}
|
||||
}
|
||||
if (reallyAllSkipped) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
data.put("values", values);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a custom single line chart.
|
||||
*/
|
||||
public static class SingleLineChart extends CustomChart {
|
||||
|
||||
private final Callable<Integer> callable;
|
||||
|
||||
/**
|
||||
* Class constructor.
|
||||
*
|
||||
* @param chartId The id of the chart.
|
||||
* @param callable The callable which is used to request the chart data.
|
||||
*/
|
||||
public SingleLineChart(String chartId, Callable<Integer> callable) {
|
||||
super(chartId);
|
||||
this.callable = callable;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JSONObject getChartData() throws Exception {
|
||||
JSONObject data = new JSONObject();
|
||||
int value = callable.call();
|
||||
if (value == 0) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
data.put("value", value);
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a custom multi line chart.
|
||||
*/
|
||||
public static class MultiLineChart extends CustomChart {
|
||||
|
||||
private final Callable<Map<String, Integer>> callable;
|
||||
|
||||
/**
|
||||
* Class constructor.
|
||||
*
|
||||
* @param chartId The id of the chart.
|
||||
* @param callable The callable which is used to request the chart data.
|
||||
*/
|
||||
public MultiLineChart(String chartId, Callable<Map<String, Integer>> callable) {
|
||||
super(chartId);
|
||||
this.callable = callable;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JSONObject getChartData() throws Exception {
|
||||
JSONObject data = new JSONObject();
|
||||
JSONObject values = new JSONObject();
|
||||
Map<String, Integer> map = callable.call();
|
||||
if (map == null || map.isEmpty()) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
boolean allSkipped = true;
|
||||
for (Map.Entry<String, Integer> entry : map.entrySet()) {
|
||||
if (entry.getValue() == 0) {
|
||||
continue; // Skip this invalid
|
||||
}
|
||||
allSkipped = false;
|
||||
values.put(entry.getKey(), entry.getValue());
|
||||
}
|
||||
if (allSkipped) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
data.put("values", values);
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a custom simple bar chart.
|
||||
*/
|
||||
public static class SimpleBarChart extends CustomChart {
|
||||
|
||||
private final Callable<Map<String, Integer>> callable;
|
||||
|
||||
/**
|
||||
* Class constructor.
|
||||
*
|
||||
* @param chartId The id of the chart.
|
||||
* @param callable The callable which is used to request the chart data.
|
||||
*/
|
||||
public SimpleBarChart(String chartId, Callable<Map<String, Integer>> callable) {
|
||||
super(chartId);
|
||||
this.callable = callable;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JSONObject getChartData() throws Exception {
|
||||
JSONObject data = new JSONObject();
|
||||
JSONObject values = new JSONObject();
|
||||
Map<String, Integer> map = callable.call();
|
||||
if (map == null || map.isEmpty()) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
for (Map.Entry<String, Integer> entry : map.entrySet()) {
|
||||
JSONArray categoryValues = new JSONArray();
|
||||
categoryValues.add(entry.getValue());
|
||||
values.put(entry.getKey(), categoryValues);
|
||||
}
|
||||
data.put("values", values);
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a custom advanced bar chart.
|
||||
*/
|
||||
public static class AdvancedBarChart extends CustomChart {
|
||||
|
||||
private final Callable<Map<String, int[]>> callable;
|
||||
|
||||
/**
|
||||
* Class constructor.
|
||||
*
|
||||
* @param chartId The id of the chart.
|
||||
* @param callable The callable which is used to request the chart data.
|
||||
*/
|
||||
public AdvancedBarChart(String chartId, Callable<Map<String, int[]>> callable) {
|
||||
super(chartId);
|
||||
this.callable = callable;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JSONObject getChartData() throws Exception {
|
||||
JSONObject data = new JSONObject();
|
||||
JSONObject values = new JSONObject();
|
||||
Map<String, int[]> map = callable.call();
|
||||
if (map == null || map.isEmpty()) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
boolean allSkipped = true;
|
||||
for (Map.Entry<String, int[]> entry : map.entrySet()) {
|
||||
if (entry.getValue().length == 0) {
|
||||
continue; // Skip this invalid
|
||||
}
|
||||
allSkipped = false;
|
||||
JSONArray categoryValues = new JSONArray();
|
||||
for (int categoryValue : entry.getValue()) {
|
||||
categoryValues.add(categoryValue);
|
||||
}
|
||||
values.put(entry.getKey(), categoryValues);
|
||||
}
|
||||
if (allSkipped) {
|
||||
// Null = skip the chart
|
||||
return null;
|
||||
}
|
||||
data.put("values", values);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -15,8 +15,18 @@ public class MaterialUtil {
|
||||
material = Material.GRASS;
|
||||
} else if (material == Materials.LEGACY_NETHER_WARTS.getPostMaterial()) {
|
||||
material = Materials.LEGACY_NETHER_STALK.getPostMaterial();
|
||||
} else if (material == Materials.LEGACY_SIGN_POST.getPostMaterial() || material == Material.WALL_SIGN) {
|
||||
material = Material.SIGN;
|
||||
} else if (material == Materials.LEGACY_SIGN_POST.getPostMaterial() || material == Materials.OAK_WALL_SIGN.parseMaterial()) {
|
||||
material = Materials.OAK_SIGN.parseMaterial();
|
||||
} else if (material == Materials.BIRCH_WALL_SIGN.parseMaterial()) {
|
||||
material = Materials.BIRCH_SIGN.parseMaterial();
|
||||
} else if (material == Materials.SPRUCE_WALL_SIGN.parseMaterial()) {
|
||||
material = Materials.SPRUCE_SIGN.parseMaterial();
|
||||
} else if (material == Materials.JUNGLE_WALL_SIGN.parseMaterial()) {
|
||||
material = Materials.JUNGLE_SIGN.parseMaterial();
|
||||
} else if (material == Materials.ACACIA_WALL_SIGN.parseMaterial()) {
|
||||
material = Materials.ACACIA_SIGN.parseMaterial();
|
||||
} else if (material == Materials.DARK_OAK_WALL_SIGN.parseMaterial()) {
|
||||
material = Materials.DARK_OAK_SIGN.parseMaterial();
|
||||
} else if (material == Materials.LEGACY_SUGAR_CANE_BLOCK.getPostMaterial()) {
|
||||
material = Material.SUGAR_CANE;
|
||||
} else if (material == Material.TRIPWIRE) {
|
||||
@ -33,6 +43,10 @@ public class MaterialUtil {
|
||||
material = Materials.LEGACY_BREWING_STAND.getPostMaterial();
|
||||
} else if (material.name().equals("BED_BLOCK")) {
|
||||
material = Materials.RED_BED.getPostMaterial();
|
||||
} else if (material == Materials.SWEET_BERRY_BUSH.parseMaterial()) {
|
||||
material = Materials.SWEET_BERRIES.parseMaterial();
|
||||
} else if (material == Materials.BAMBOO_SAPLING.parseMaterial()) {
|
||||
material = Materials.BAMBOO.parseMaterial();
|
||||
}
|
||||
|
||||
return material;
|
||||
|
@ -1,72 +0,0 @@
|
||||
package me.goodandevil.skyblock.utils.reflection;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.URL;
|
||||
import java.net.URLDecoder;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Enumeration;
|
||||
import java.util.List;
|
||||
import java.util.jar.JarEntry;
|
||||
import java.util.jar.JarFile;
|
||||
|
||||
public class PackageClassLoader {
|
||||
|
||||
public static <T> List<Class<? extends T>> getClassesOfTypeFromPackage(String packageName, Class<T> classType) {
|
||||
try {
|
||||
List<Class<? extends T>> classes = new ArrayList<>();
|
||||
for (String className : getClassNamesFromPackage(packageName)) {
|
||||
Class<?> clazz = Class.forName(className);
|
||||
if (clazz.isAssignableFrom(classType)) {
|
||||
classes.add((Class<? extends T>) clazz);
|
||||
}
|
||||
}
|
||||
return classes;
|
||||
} catch (Exception ignored) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
}
|
||||
|
||||
public static List<String> getClassNamesFromPackage(String packageName) throws IOException, URISyntaxException {
|
||||
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
|
||||
URL packageURL;
|
||||
List<String> names = new ArrayList<>();
|
||||
|
||||
packageName = packageName.replace(".", "/");
|
||||
packageURL = classLoader.getResource(packageName);
|
||||
|
||||
if (packageURL.getProtocol().equals("jar")) {
|
||||
String jarFileName;
|
||||
JarFile jf;
|
||||
Enumeration<JarEntry> jarEntries;
|
||||
String entryName;
|
||||
|
||||
jarFileName = URLDecoder.decode(packageURL.getFile(), "UTF-8");
|
||||
jarFileName = jarFileName.substring(5, jarFileName.indexOf("!"));
|
||||
|
||||
jf = new JarFile(jarFileName);
|
||||
jarEntries = jf.entries();
|
||||
while (jarEntries.hasMoreElements()) {
|
||||
entryName = jarEntries.nextElement().getName();
|
||||
if (entryName.startsWith(packageName) && entryName.length() > packageName.length() + 5) {
|
||||
entryName = entryName.substring(packageName.length(), entryName.lastIndexOf('.'));
|
||||
names.add(entryName);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
URI uri = new URI(packageURL.toString());
|
||||
File folder = new File(uri.getPath());
|
||||
File[] contenuti = folder.listFiles();
|
||||
String entryName;
|
||||
for (File actual : contenuti) {
|
||||
entryName = actual.getName();
|
||||
entryName = entryName.substring(0, entryName.lastIndexOf('.'));
|
||||
names.add(entryName);
|
||||
}
|
||||
}
|
||||
return names;
|
||||
}
|
||||
|
||||
}
|
@ -112,8 +112,7 @@ public final class StructureUtil {
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static Float[] pasteStructure(Structure structure, org.bukkit.Location location, BlockDegreesType type)
|
||||
throws Exception {
|
||||
public static Float[] pasteStructure(Structure structure, org.bukkit.Location location, BlockDegreesType type) {
|
||||
Storage storage = structure.getStructureStorage();
|
||||
|
||||
String[] originLocationPositions = null;
|
||||
@ -129,38 +128,34 @@ public final class StructureUtil {
|
||||
pitch = Float.valueOf(originLocationPositions[5]);
|
||||
}
|
||||
|
||||
List<BlockData> blockData = (List<BlockData>) new Gson().fromJson(storage.getBlocks(),
|
||||
List<BlockData> blockData = new Gson().fromJson(storage.getBlocks(),
|
||||
new TypeToken<List<BlockData>>() {
|
||||
}.getType());
|
||||
|
||||
for (BlockData blockDataList : blockData) {
|
||||
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(SkyBlock.getInstance(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
org.bukkit.Location blockRotationLocation = LocationUtil
|
||||
.rotateLocation(new org.bukkit.Location(location.getWorld(), blockDataList.getX(),
|
||||
blockDataList.getY(), blockDataList.getZ()), type);
|
||||
org.bukkit.Location blockLocation = new org.bukkit.Location(location.getWorld(),
|
||||
location.getX() - Math.abs(Integer.valueOf(storage.getOriginLocation().split(":")[0])),
|
||||
location.getY() - Integer.valueOf(storage.getOriginLocation().split(":")[1]),
|
||||
location.getZ() + Math.abs(Integer.valueOf(storage.getOriginLocation().split(":")[2])));
|
||||
blockLocation.add(blockRotationLocation);
|
||||
BlockUtil.convertBlockDataToBlock(blockLocation.getBlock(), blockDataList);
|
||||
} catch (Exception e) {
|
||||
SkyBlock.getInstance().getLogger().warning("Unable to convert BlockData to Block for type {" + blockDataList.getMaterial() +
|
||||
":" + blockDataList.getData() + "} in structure {" + structure.getStructureFile() + "}");
|
||||
}
|
||||
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(SkyBlock.getInstance(), () -> {
|
||||
try {
|
||||
org.bukkit.Location blockRotationLocation = LocationUtil
|
||||
.rotateLocation(new org.bukkit.Location(location.getWorld(), blockDataList.getX(),
|
||||
blockDataList.getY(), blockDataList.getZ()), type);
|
||||
org.bukkit.Location blockLocation = new org.bukkit.Location(location.getWorld(),
|
||||
location.getX() - Math.abs(Integer.valueOf(storage.getOriginLocation().split(":")[0])),
|
||||
location.getY() - Integer.valueOf(storage.getOriginLocation().split(":")[1]),
|
||||
location.getZ() + Math.abs(Integer.valueOf(storage.getOriginLocation().split(":")[2])));
|
||||
blockLocation.add(blockRotationLocation);
|
||||
BlockUtil.convertBlockDataToBlock(blockLocation.getBlock(), blockDataList);
|
||||
} catch (Exception e) {
|
||||
SkyBlock.getInstance().getLogger().warning("Unable to convert BlockData to Block for type {" + blockDataList.getMaterial() +
|
||||
":" + blockDataList.getData() + "} in structure {" + structure.getStructureFile() + "}");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
for (EntityData entityDataList : (List<EntityData>) new Gson().fromJson(storage.getEntities(),
|
||||
new TypeToken<List<EntityData>>() {
|
||||
}.getType())) {
|
||||
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(SkyBlock.getInstance(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(SkyBlock.getInstance(), () -> {
|
||||
for (EntityData entityDataList : (List<EntityData>) new Gson().fromJson(storage.getEntities(),
|
||||
new TypeToken<List<EntityData>>() {
|
||||
}.getType())) {
|
||||
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(SkyBlock.getInstance(), () -> {
|
||||
try {
|
||||
org.bukkit.Location blockRotationLocation = LocationUtil
|
||||
.rotateLocation(new org.bukkit.Location(location.getWorld(), entityDataList.getX(),
|
||||
@ -172,12 +167,12 @@ public final class StructureUtil {
|
||||
blockLocation.add(blockRotationLocation);
|
||||
EntityUtil.convertEntityDataToEntity(entityDataList, blockLocation, type);
|
||||
} catch (Exception e) {
|
||||
SkyBlock.getInstance().getLogger().warning("Unable to convert EntityData to Entity for type {" + entityDataList.getEntityType() +
|
||||
"} in structure {" + structure.getStructureFile() + "}");
|
||||
SkyBlock.getInstance().getLogger().warning("Unable to convert EntityData to Entity for type {" + entityDataList.getEntityType() +
|
||||
"} in structure {" + structure.getStructureFile() + "}");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}, 60L);
|
||||
|
||||
return new Float[] { yaw, pitch };
|
||||
}
|
||||
|
@ -21,13 +21,18 @@ public enum Materials {
|
||||
ACACIA_PRESSURE_PLATE("WOOD_PLATE", 0, true),
|
||||
ACACIA_SAPLING("SAPLING", 4),
|
||||
ACACIA_SLAB("WOOD_STEP", 4),
|
||||
ACACIA_SIGN("STONE", 0, true),
|
||||
ACACIA_STAIRS("ACACIA_STAIRS", 4),
|
||||
ACACIA_TRAPDOOR("TRAP_DOOR", 0, true),
|
||||
ACACIA_WALL_SIGN("STONE", 0, true),
|
||||
ACACIA_WOOD("LOG_2", 0),
|
||||
ACTIVATOR_RAIL("ACTIVATOR_RAIL", 0),
|
||||
AIR("AIR", 0),
|
||||
ALLIUM("STONE", 0, true),
|
||||
ANDESITE("STONE", 5),
|
||||
ANDESITE_SLAB("STONE", 0, true),
|
||||
ANDESITE_STAIRS("STONE", 0, true),
|
||||
ANDESITE_WALL("STONE", 0, true),
|
||||
ANVIL("ANVIL", 0),
|
||||
APPLE("APPLE", 0),
|
||||
ARMOR_STAND("ARMOR_STAND", 0),
|
||||
@ -36,11 +41,15 @@ public enum Materials {
|
||||
ATTACHED_PUMPKIN_STEM("PUMPKIN_STEM", 7),
|
||||
AZURE_BLUET("RED_ROSE", 3),
|
||||
BAKED_POTATO("BAKED_POTATO", 0),
|
||||
BAMBOO("STONE", 0, true),
|
||||
BAMBOO_SAPLING("STONE", 0, true),
|
||||
BARREL("STONE", 0, true),
|
||||
BARRIER("BARRIER", 0),
|
||||
BAT_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
BEACON("BEACON", 0),
|
||||
BEDROCK("BEDROCK", 0),
|
||||
BEEF("RAW_BEEF", 0),
|
||||
BELL("STONE", 0, true),
|
||||
BEETROOT("BEETROOT", 0),
|
||||
BEETROOTS("BEETROOT", 0),
|
||||
BEETROOT_SEEDS("BEETROOT_SEEDS", 0),
|
||||
@ -55,15 +64,18 @@ public enum Materials {
|
||||
BIRCH_PLANKS("WOOD", 2),
|
||||
BIRCH_PRESSURE_PLATE("WOOD_PLATE", 0, true),
|
||||
BIRCH_SAPLING("SAPLING", 2),
|
||||
BIRCH_SIGN("STONE", 0, true),
|
||||
BIRCH_SLAB("WOOD_STEP", 2),
|
||||
BIRCH_STAIRS("BIRCH_WOOD_STAIRS", 0),
|
||||
BIRCH_TRAPDOOR("TRAP_DOOR", 0, true),
|
||||
BIRCH_WALL_SIGN("STONE", 0, true),
|
||||
BIRCH_WOOD("LOG", 2),
|
||||
BLACK_BANNER("BANNER", 0),
|
||||
BLACK_BED("BED", 15),
|
||||
BLACK_CARPET("CARPET", 15),
|
||||
BLACK_CONCRETE("CONCRETE", 15),
|
||||
BLACK_CONCRETE_POWDER("CONCRETE_POWDER", 15),
|
||||
BLACK_DYE("STONE", 0, true),
|
||||
BLACK_GLAZED_TERRACOTTA("BLACK_GLAZED_TERRACOTTA", 0),
|
||||
BLACK_SHULKER_BOX("BLACK_SHULKER_BOX", 0),
|
||||
BLACK_STAINED_GLASS("STAINED_GLASS", 15),
|
||||
@ -71,6 +83,7 @@ public enum Materials {
|
||||
BLACK_TERRACOTTA("STAINED_CLAY", 15),
|
||||
BLACK_WALL_BANNER("WALL_BANNER", 0),
|
||||
BLACK_WOOL("WOOL", 15),
|
||||
BLAST_FURNACE("STONE", 0, true),
|
||||
BLAZE_POWDER("BLAZE_POWDER", 0),
|
||||
BLAZE_ROD("BLAZE_ROD", 0),
|
||||
BLAZE_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
@ -79,6 +92,7 @@ public enum Materials {
|
||||
BLUE_CARPET("CARPET", 11),
|
||||
BLUE_CONCRETE("CONCRETE", 11),
|
||||
BLUE_CONCRETE_POWDER("CONCRETE_POWDER", 11),
|
||||
BLUE_DYE("STONE", 0, true),
|
||||
BLUE_GLAZED_TERRACOTTA("BLUE_GLAZED_TERRACOTTA", 0),
|
||||
BLUE_ICE("PACKED_ICE", 0, true),
|
||||
BLUE_ORCHID("RED_ROSE", 1),
|
||||
@ -107,11 +121,13 @@ public enum Materials {
|
||||
BRICKS("BRICK", 0),
|
||||
BRICK_SLAB("STEP", 4),
|
||||
BRICK_STAIRS("BRICK_STAIRS", 0),
|
||||
BRICK_WALL("STONE", 0, true),
|
||||
BROWN_BANNER("BANNER", 3),
|
||||
BROWN_BED("BED", 12),
|
||||
BROWN_CARPET("CARPET", 12),
|
||||
BROWN_CONCRETE("CONCRETE", 12),
|
||||
BROWN_CONCRETE_POWDER("CONCRETE_POWDER", 12),
|
||||
BROWN_DYE("STONE", 0, true),
|
||||
BROWN_GLAZED_TERRACOTTA("BROWN_GLAZED_TERRACOTTA", 0),
|
||||
BROWN_MUSHROOM("BROWN_MUSHROOM", 0),
|
||||
BROWN_MUSHROOM_BLOCK("HUGE_MUSHROOM_1", 0), // UNSURE
|
||||
@ -130,12 +146,14 @@ public enum Materials {
|
||||
DEAD_BUBBLE_CORAL_WALL_FAN("STONE", 0, true),
|
||||
BUCKET("BUCKET", 0),
|
||||
CACTUS("CACTUS", 0),
|
||||
CACTUS_GREEN("INK_SACK", 2),
|
||||
CAKE("CAKE", 0),
|
||||
CAMPFIRE("STONE", 0, true),
|
||||
CARROT("CARROT_ITEM", 0),
|
||||
CARROTS("CARROT", 0),
|
||||
CARROT_ON_A_STICK("CARROT_STICK", 0),
|
||||
CARTOGRAPHY_TABLE("STONE", 0, true),
|
||||
CARVED_PUMPKIN("PUMPKIN", 0),
|
||||
CAT_SPAWN_EGG("STONE", 0, true),
|
||||
CAULDRON("CAULDRON", 0),
|
||||
CAVE_AIR("AIR", 0, true),
|
||||
CAVE_SPIDER_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
@ -178,7 +196,9 @@ public enum Materials {
|
||||
COMMAND_BLOCK_MINECART("COMMAND_MINECART", 0),
|
||||
COMPARATOR("REDSTONE_COMPARATOR", 0),
|
||||
COMPASS("COMPASS", 0),
|
||||
COMPOSTER("STONE", 0, true),
|
||||
CONDUIT("STONE", 0, true),
|
||||
CORNFLOWER("STONE", 0, true),
|
||||
COOKED_BEEF("COOKED_BEEF", 0),
|
||||
COOKED_CHICKEN("COOKED_CHICKEN", 0),
|
||||
COOKED_COD("COOKED_FISH", 0),
|
||||
@ -190,11 +210,15 @@ public enum Materials {
|
||||
COW_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
CRACKED_STONE_BRICKS("SMOOTH_BRICK", 2),
|
||||
CRAFTING_TABLE("WORKBENCH", 0),
|
||||
CREEPER_BANNER_PATTERN("STONE", 0, true),
|
||||
CREEPER_HEAD("SKULL", 0),
|
||||
CREEPER_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
CREEPER_WALL_HEAD("SKULL", 0),
|
||||
CROSSBOW("STONE", 0, true),
|
||||
CUT_RED_SANDSTONE("STONE", 0, true),
|
||||
CUT_RED_SANDSTONE_SLAB("STONE", 0, true),
|
||||
CUT_SANDSTONE("STONE", 0, true),
|
||||
CUT_SANDSTONE_SLAB("STONE", 0, true),
|
||||
CYAN_BANNER("BANNER", 6),
|
||||
CYAN_BED("BED", 9),
|
||||
CYAN_CARPET("CARPET", 9),
|
||||
@ -210,7 +234,6 @@ public enum Materials {
|
||||
CYAN_WOOL("WOOL", 9),
|
||||
DAMAGED_ANVIL("ANVIL", 2),
|
||||
DANDELION("YELLOW_FLOWER", 0),
|
||||
DANDELION_YELLOW("INK_SACK", 11),
|
||||
DARK_OAK_BOAT("BOAT_DARK_OAK", 0),
|
||||
DARK_OAK_BUTTON("WOOD_BUTTON", 0, true),
|
||||
DARK_OAK_DOOR("DARK_OAK_DOOR", 0),
|
||||
@ -221,9 +244,11 @@ public enum Materials {
|
||||
DARK_OAK_PLANKS("WOOD", 5),
|
||||
DARK_OAK_PRESSURE_PLATE("WOOD_PLATE", 0, true),
|
||||
DARK_OAK_SAPLING("SAPLING", 5),
|
||||
DARK_OAK_SIGN("STONE", 0, true),
|
||||
DARK_OAK_SLAB("WOOD_STEP", 0),
|
||||
DARK_OAK_STAIRS("DARK_OAK_STAIRS", 0),
|
||||
DARK_OAK_TRAPDOOR("TRAP_DOOR", 0, true),
|
||||
DARK_OAK_WALL_SIGN("STONE", 0, true),
|
||||
DARK_OAK_WOOD("LOG_2", 1),
|
||||
DARK_PRISMARINE("PRISMARINE", 2),
|
||||
DARK_PRISMARINE_SLAB("STONE", 0, true),
|
||||
@ -253,6 +278,9 @@ public enum Materials {
|
||||
DIAMOND_SHOVEL("DIAMOND_SPADE", 0),
|
||||
DIAMOND_SWORD("DIAMOND_SWORD", 0),
|
||||
DIORITE("STONE", 3),
|
||||
DIORITE_SLAB("STONE", 0, true),
|
||||
DIORITE_STAIRS("STONE", 0, true),
|
||||
DIORITE_WALL("STONE", 0, true),
|
||||
DIRT("DIRT", 0),
|
||||
DISPENSER("DISPENSER", 0),
|
||||
DOLPHIN_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
@ -285,6 +313,9 @@ public enum Materials {
|
||||
END_PORTAL_FRAME("ENDER_PORTAL_FRAME", 0),
|
||||
END_ROD("END_ROD", 0),
|
||||
END_STONE("ENDER_STONE", 0),
|
||||
END_STONE_BRICK_SLAB("STONE", 0, true),
|
||||
END_STONE_BRICK_STAIRS("STONE", 0, true),
|
||||
END_STONE_BRICK_WALL("STONE", 0, true),
|
||||
END_STONE_BRICKS("END_BRICKS", 0),
|
||||
EVOKER_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
EXPERIENCE_BOTTLE("EXP_BOTTLE", 0),
|
||||
@ -301,6 +332,9 @@ public enum Materials {
|
||||
FIRE_CORAL_BLOCK("STONE", 0, true),
|
||||
FIRE_CORAL_FAN("STONE", 0, true),
|
||||
FIRE_CORAL_WALL_FAN("STONE", 0, true),
|
||||
FLETCHING_TABLE("STONE", 0, true),
|
||||
FLOWER_BANNER_PATTERN("STONE", 0, true),
|
||||
FOX_SPAWN_EGG("STONE", 0, true),
|
||||
DEAD_FIRE_CORAL_FAN("STONE", 0, true),
|
||||
DEAD_FIRE_CORAL_WALL_FAN("STONE", 0, true),
|
||||
FISHING_ROD("FISHING_ROD", 0),
|
||||
@ -316,6 +350,7 @@ public enum Materials {
|
||||
GLASS_BOTTLE("GLASS_BOTTLE", 0),
|
||||
GLASS_PANE("THIN_GLASS", 0),
|
||||
GLISTERING_MELON_SLICE("SPECKLED_MELON", 0),
|
||||
GLOBE_BANNER_PATTERN("STONE", 0, true),
|
||||
GLOWSTONE("GLOWSTONE", 0),
|
||||
GLOWSTONE_DUST("GLOWSTONE_DUST", 0),
|
||||
GOLDEN_APPLE("GOLDEN_APPLE", 0),
|
||||
@ -335,6 +370,9 @@ public enum Materials {
|
||||
GOLD_NUGGET("GOLD_NUGGET", 0),
|
||||
GOLD_ORE("GOLD_ORE", 0),
|
||||
GRANITE("STONE", 1),
|
||||
GRANITE_SLAB("STONE", 0, true),
|
||||
GRANITE_STAIRS("STONE", 0, true),
|
||||
GRANITE_WALL("STONE", 0, true),
|
||||
GRASS("GRASS", 0),
|
||||
GRASS_BLOCK("GRASS", 0),
|
||||
GRASS_PATH("GRASS_PATH", 0),
|
||||
@ -357,6 +395,7 @@ public enum Materials {
|
||||
GREEN_CARPET("CARPET", 13),
|
||||
GREEN_CONCRETE("CONCRETE", 13),
|
||||
GREEN_CONCRETE_POWDER("CONCRETE_POWDER", 13),
|
||||
GREEN_DYE("CACTUS_GREEN", "INK_SACK", 2),
|
||||
GREEN_GLAZED_TERRACOTTA("GREEN_GLAZED_TERRACOTTA", 0),
|
||||
GREEN_SHULKER_BOX("GREEN_SHULKER_BOX", 0),
|
||||
GREEN_STAINED_GLASS("STAINED_GLASS", 13),
|
||||
@ -364,6 +403,7 @@ public enum Materials {
|
||||
GREEN_TERRACOTTA("STAINED_CLAY", 13),
|
||||
GREEN_WALL_BANNER("WALL_BANNER", 0),
|
||||
GREEN_WOOL("WOOL", 13),
|
||||
GRINDSTONE("STONE", 0, true),
|
||||
GUARDIAN_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
GUNPOWDER("SULPHUR", 0),
|
||||
HAY_BLOCK("HAY_BLOCK", 0),
|
||||
@ -406,6 +446,7 @@ public enum Materials {
|
||||
IRON_TRAPDOOR("IRON_TRAPDOOR", 0),
|
||||
ITEM_FRAME("ITEM_FRAME", 0),
|
||||
JACK_O_LANTERN("JACK_O_LANTERN", 0),
|
||||
JIGSAW("STONE", 0, true),
|
||||
JUKEBOX("JUKEBOX", 0),
|
||||
JUNGLE_BOAT("BOAT_JUNGLE", 0),
|
||||
JUNGLE_BUTTON("WOOD_BUTTON", 0, true),
|
||||
@ -417,14 +458,17 @@ public enum Materials {
|
||||
JUNGLE_PLANKS("WOOD", 3),
|
||||
JUNGLE_PRESSURE_PLATE("WOOD_PLATE", 0, true),
|
||||
JUNGLE_SAPLING("SAPLING", 3),
|
||||
JUNGLE_SIGN("STONE", 0, true),
|
||||
JUNGLE_SLAB("WOOD_STEP", 3),
|
||||
JUNGLE_STAIRS("JUNGLE_WOOD_STAIRS", 0),
|
||||
JUNGLE_TRAPDOOR("TRAP_DOOR", 0, true),
|
||||
JUNGLE_WALL_SIGN("STONE", 0, true),
|
||||
JUNGLE_WOOD("LOG", 3),
|
||||
KELP("STONE", 0, true),
|
||||
KELP_PLANT("STONE", 0, true),
|
||||
KNOWLEDGE_BOOK("KNOWLEDGE_BOOK", 0),
|
||||
LADDER("LADDER", 0),
|
||||
LANTERN("STONE", 0, true),
|
||||
LAPIS_BLOCK("LAPIS_BLOCK", 0),
|
||||
LAPIS_LAZULI("INK_SACK", 4),
|
||||
LAPIS_ORE("LAPIS_ORE", 0),
|
||||
@ -436,7 +480,9 @@ public enum Materials {
|
||||
LEATHER_BOOTS("LEATHER_BOOTS", 0),
|
||||
LEATHER_CHESTPLATE("LEATHER_CHESTPLATE", 0),
|
||||
LEATHER_HELMET("LEATHER_HELMET", 0),
|
||||
LEATHER_HORSE_ARMOR("STONE", 0, true),
|
||||
LEATHER_LEGGINGS("LEATHER_LEGGINGS", 0),
|
||||
LECTERN("STONE", 0, true),
|
||||
LEGACY_BED_BLOCK("BED_BLOCK", 0),
|
||||
LEGACY_BREWING_STAND("BREWING_STAND_ITEM", 0),
|
||||
LEGACY_BURNING_FURNACE("BURNING_FURNACE", 0),
|
||||
@ -490,6 +536,7 @@ public enum Materials {
|
||||
LIGHT_WEIGHTED_PRESSURE_PLATE("GOLD_PLATE", 0),
|
||||
LILAC("DOUBLE_PLANT", 1),
|
||||
LILY_PAD("WATER_LILY", 0),
|
||||
LILY_OF_THE_VALLEY("STONE", 0, true),
|
||||
LIME_BANNER("BANNER", 10),
|
||||
LIME_BED("BED", 5),
|
||||
LIME_CARPET("CARPET", 5),
|
||||
@ -505,6 +552,7 @@ public enum Materials {
|
||||
LIME_WOOL("WOOL", 5),
|
||||
LINGERING_POTION("LINGERING_POTION", 0),
|
||||
LLAMA_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
LOOM("STONE", 0, true),
|
||||
MAGENTA_BANNER("BANNER", 13),
|
||||
MAGENTA_BED("BED", 2),
|
||||
MAGENTA_CARPET("CARPET", 2),
|
||||
@ -528,9 +576,15 @@ public enum Materials {
|
||||
MELON_STEM("MELON_STEM", 0),
|
||||
MILK_BUCKET("MILK_BUCKET", 0),
|
||||
MINECART("MINECART", 0),
|
||||
MOJANG_BANNER_PATTERN("STONE", 0, true),
|
||||
MOOSHROOM_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
MOSSY_COBBLESTONE("MOSSY_COBBLESTONE", 0),
|
||||
MOSSY_COBBLESTONE_SLAB("STONE", 0, true),
|
||||
MOSSY_COBBLESTONE_STAIRS("STONE", 0, true),
|
||||
MOSSY_COBBLESTONE_WALL("COBBLE_WALL", 1),
|
||||
MOSSY_STONE_BRICK_SLAB("STONE", 0, true),
|
||||
MOSSY_STONE_BRICK_STAIRS("STONE", 0, true),
|
||||
MOSSY_STONE_BRICK_WALL("STONE", 0, true),
|
||||
MOSSY_STONE_BRICKS("SMOOTH_BRICK", 1),
|
||||
MOVING_PISTON("PISTON_MOVING_PIECE", 0),
|
||||
MULE_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
@ -554,6 +608,7 @@ public enum Materials {
|
||||
NAUTILUS_SHELL("STONE", 0, true),
|
||||
NETHERRACK("NETHERRACK", 0),
|
||||
NETHER_BRICK("NETHER_BRICK", 0),
|
||||
NETHER_BRICK_WALL("STONE", 0, true),
|
||||
NETHER_BRICKS("NETHER_BRICK", 0),
|
||||
NETHER_BRICK_FENCE("NETHER_FENCE", 0),
|
||||
NETHER_BRICK_SLAB("STEP", 6),
|
||||
@ -574,9 +629,11 @@ public enum Materials {
|
||||
OAK_PLANKS("WOOD", 0),
|
||||
OAK_PRESSURE_PLATE("WOOD_PLATE", 0),
|
||||
OAK_SAPLING("SAPLING", 0),
|
||||
OAK_SIGN("SIGN", 0),
|
||||
OAK_SLAB("WOOD_STEP", 0),
|
||||
OAK_STAIRS("WOOD_STAIRS", 0),
|
||||
OAK_TRAPDOOR("TRAP_DOOR", 0),
|
||||
OAK_WALL_SIGN("WALL_SIGN", 0),
|
||||
OAK_WOOD("LOG", 0),
|
||||
OBSERVER("OBSERVER", 0),
|
||||
OBSIDIAN("OBSIDIAN", 0),
|
||||
@ -598,6 +655,7 @@ public enum Materials {
|
||||
OXEYE_DAISY("RED_ROSE", 8),
|
||||
PACKED_ICE("PACKED_ICE", 0),
|
||||
PAINTING("PAINTING", 0),
|
||||
PANDA_SPAWN_EGG("STONE", 0, true),
|
||||
PAPER("PAPER", 0),
|
||||
PARROT_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
PEONY("DOUBLE_PLANT", 5),
|
||||
@ -605,6 +663,7 @@ public enum Materials {
|
||||
PHANTOM_MEMBRANE("STONE", 0, true),
|
||||
PHANTOM_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
PIG_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
PILLAGER_SPAWN_EGG("STONE", 0, true),
|
||||
PINK_BANNER("BANNER", 9),
|
||||
PINK_BED("BED", 6),
|
||||
PINK_CARPET("CARPET", 6),
|
||||
@ -627,8 +686,14 @@ public enum Materials {
|
||||
POISONOUS_POTATO("POISONOUS_POTATO", 0),
|
||||
POLAR_BEAR_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
POLISHED_ANDESITE("STONE", 6),
|
||||
POLISHED_ANDESITE_SLAB("STONE", 0, true),
|
||||
POLISHED_ANDESITE_STAIRS("STONE", 0, true),
|
||||
POLISHED_DIORITE("STONE", 4),
|
||||
POLISHED_DIORITE_SLAB("STONE", 0, true),
|
||||
POLISHED_DIORITE_STAIRS("STONE", 0, true),
|
||||
POLISHED_GRANITE("STONE", 2),
|
||||
POLISHED_GRANITE_SLAB("STONE", 0, true),
|
||||
POLISHED_GRANITE_STAIRS("STONE", 0, true),
|
||||
POPPED_CHORUS_FRUIT("CHORUS_FRUIT_POPPED", 0),
|
||||
POPPY("RED_ROSE", 0),
|
||||
PORKCHOP("PORK", 0),
|
||||
@ -638,15 +703,18 @@ public enum Materials {
|
||||
POTTED_ACACIA_SAPLING("FLOWER_POT", 0, true),
|
||||
POTTED_ALLIUM("FLOWER_POT", 0, true),
|
||||
POTTED_AZURE_BLUET("FLOWER_POT", 0, true),
|
||||
POTTED_BAMBOO("STONE", 0, true),
|
||||
POTTED_BIRCH_SAPLING("FLOWER_POT", 0, true),
|
||||
POTTED_BLUE_ORCHID("FLOWER_POT", 0, true),
|
||||
POTTED_BROWN_MUSHROOM("FLOWER_POT", 0, true),
|
||||
POTTED_CACTUS("FLOWER_POT", 0, true),
|
||||
POTTED_CORNFLOWER("STONE", 0, true),
|
||||
POTTED_DANDELION("FLOWER_POT", 0, true),
|
||||
POTTED_DARK_OAK_SAPLING("FLOWER_POT", 0, true),
|
||||
POTTED_DEAD_BUSH("FLOWER_POT", 0, true),
|
||||
POTTED_FERN("FLOWER_POT", 0, true),
|
||||
POTTED_JUNGLE_SAPLING("FLOWER_POT", 0, true),
|
||||
POTTED_LILY_OF_THE_VALLEY("STONE", 0, true),
|
||||
POTTED_OAK_SAPLING("FLOWER_POT", 0, true),
|
||||
POTTED_ORANGE_TULIP("FLOWER_POT", 0, true),
|
||||
POTTED_OXEYE_DAISY("FLOWER_POT", 0, true),
|
||||
@ -656,6 +724,7 @@ public enum Materials {
|
||||
POTTED_RED_TULIP("FLOWER_POT", 0, true),
|
||||
POTTED_SPRUCE_SAPLING("FLOWER_POT", 0, true),
|
||||
POTTED_WHITE_TULIP("FLOWER_POT", 0, true),
|
||||
POTTED_WITHER_ROSE("STONE", 0, true),
|
||||
POWERED_RAIL("POWERED_RAIL", 0),
|
||||
PRISMARINE("PRISMARINE", 0),
|
||||
PRISMARINE_BRICKS("PRISMARINE", 1),
|
||||
@ -665,6 +734,7 @@ public enum Materials {
|
||||
PRISMARINE_SHARD("PRISMARINE_SHARD", 0),
|
||||
PRISMARINE_SLAB("STONE", 0, true),
|
||||
PRISMARINE_STAIRS("STONE", 0, true),
|
||||
PRISMARINE_WALL("STONE", 0, true),
|
||||
PUFFERFISH("RAW_FISH", 3),
|
||||
PUFFERFISH_BUCKET("STONE", 0, true),
|
||||
PUFFERFISH_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
@ -700,6 +770,7 @@ public enum Materials {
|
||||
RABBIT_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
RABBIT_STEW("RABBIT_STEW", 0),
|
||||
RAIL("RAILS", 0),
|
||||
RAVAGER_SPAWN_EGG("STONE", 0, true),
|
||||
REDSTONE("REDSTONE", 0),
|
||||
REDSTONE_BLOCK("REDSTONE_BLOCK", 0),
|
||||
REDSTONE_LAMP("REDSTONE_LAMP_OFF", 0),
|
||||
@ -712,14 +783,19 @@ public enum Materials {
|
||||
RED_CARPET("CARPET", 14),
|
||||
RED_CONCRETE("CONCRETE", 14),
|
||||
RED_CONCRETE_POWDER("CONCRETE_POWDER", 14),
|
||||
RED_DYE("ROSE_RED", "INK_SACK", 1),
|
||||
RED_GLAZED_TERRACOTTA("RED_GLAZED_TERRACOTTA", 0),
|
||||
RED_MUSHROOM("RED_MUSHROOM", 0),
|
||||
RED_MUSHROOM_BLOCK("HUGE_MUSHROOM_2", 0),
|
||||
RED_NETHER_BRICK_SLAB("STONE", 0, true),
|
||||
RED_NETHER_BRICK_STAIRS("STONE", 0, true),
|
||||
RED_NETHER_BRICK_WALL("STONE", 0, true),
|
||||
RED_NETHER_BRICKS("RED_NETHER_BRICK", 0),
|
||||
RED_SAND("SAND", 1),
|
||||
RED_SANDSTONE("RED_SANDSTONE", 0),
|
||||
RED_SANDSTONE_SLAB("STONE_SLAB2", 0),
|
||||
RED_SANDSTONE_STAIRS("RED_SANDSTONE_STAIRS", 0),
|
||||
RED_SANDSTONE_WALL("STONE", 0, true),
|
||||
RED_SHULKER_BOX("RED_SHULKER_BOX", 0),
|
||||
RED_STAINED_GLASS("STAINED_GLASS", 14),
|
||||
RED_STAINED_GLASS_PANE("STAINED_GLASS_PANE", 14),
|
||||
@ -730,7 +806,6 @@ public enum Materials {
|
||||
REPEATER("DIODE", 0),
|
||||
REPEATING_COMMAND_BLOCK("COMMAND_REPEATING", 0),
|
||||
ROSE_BUSH("DOUBLE_PLANT", 4),
|
||||
ROSE_RED("INK_SACK", 1),
|
||||
ROTTEN_FLESH("ROTTEN_FLESH", 0),
|
||||
SADDLE("SADDLE", 0),
|
||||
SALMON("RAW_FISH", 1),
|
||||
@ -740,6 +815,8 @@ public enum Materials {
|
||||
SANDSTONE("SANDSTONE", 0),
|
||||
SANDSTONE_SLAB("STEP", 1),
|
||||
SANDSTONE_STAIRS("SANDSTONE_STAIRS", 0),
|
||||
SANDSTONE_WALL("STONE", 0, true),
|
||||
SCAFFOLDING("STONE", 0, true),
|
||||
SCUTE("STONE", 0, true),
|
||||
SEAGRASS("STONE", 0, true),
|
||||
SEA_LANTERN("SEA_LANTERN", 0),
|
||||
@ -750,19 +827,28 @@ public enum Materials {
|
||||
SHULKER_BOX("PURPLE_SHULKER_BOX", 0),
|
||||
SHULKER_SHELL("SHULKER_SHELL", 0),
|
||||
SHULKER_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
SIGN("SIGN", 0),
|
||||
SILVERFISH_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
SKELETON_HORSE_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
SKELETON_SKULL("SKULL", 0),
|
||||
SKELETON_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
SKELETON_WALL_SKULL("SKULL", 0),
|
||||
SKULL_BANNER_PATTERN("STONE", 0, true),
|
||||
SLIME_BALL("SLIME_BALL", 0),
|
||||
SLIME_BLOCK("SLIME_BLOCK", 0),
|
||||
SLIME_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
SMITHING_TABLE("STONE", 0, true),
|
||||
SMOKER("STONE", 0, true),
|
||||
SMOOTH_QUARTZ("STONE", 0, true),
|
||||
SMOOTH_QUARTZ_SLAB("STONE", 0, true),
|
||||
SMOOTH_QUARTZ_STAIRS("STONE", 0, true),
|
||||
SMOOTH_RED_SANDSTONE("RED_SANDSTONE", 2),
|
||||
SMOOTH_RED_SANDSTONE_SLAB("STONE", 0, true),
|
||||
SMOOTH_RED_SANDSTONE_STAIRS("STONE", 0, true),
|
||||
SMOOTH_SANDSTONE("SANDSTONE", 2),
|
||||
SMOOTH_SANDSTONE_SLAB("STONE", 0, true),
|
||||
SMOOTH_SANDSTONE_STAIRS("STONE", 0, true),
|
||||
SMOOTH_STONE("STEP", 0),
|
||||
SMOOTH_STONE_SLAB("STONE", 0, true),
|
||||
SNOW("SNOW", 0),
|
||||
SNOWBALL("SNOW_BALL", 0),
|
||||
SNOW_BLOCK("SNOW_BLOCK", 0),
|
||||
@ -840,24 +926,29 @@ public enum Materials {
|
||||
SPRUCE_PLANKS("WOOD", 1),
|
||||
SPRUCE_PRESSURE_PLATE("WOOD_PLATE", 0, true),
|
||||
SPRUCE_SAPLING("SAPLING", 1),
|
||||
SPRUCE_SIGN("STONE", 0, true),
|
||||
SPRUCE_SLAB("WOOD_STEP", 1),
|
||||
SPRUCE_STAIRS("SPRUCE_WOOD_STAIRS", 0),
|
||||
SPRUCE_TRAPDOOR("TRAP_DOOR", 0, true),
|
||||
SPRUCE_WALL_SIGN("STONE", 0, true),
|
||||
SPRUCE_WOOD("LOG", 1),
|
||||
SQUID_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
STICK("STICK", 0),
|
||||
STICKY_PISTON("PISTON_STICKY_BASE", 0),
|
||||
STONE("STONE", 0),
|
||||
STONECUTTER("STONE", 0, true),
|
||||
STONE_AXE("STONE_AXE", 0),
|
||||
STONE_BRICKS("SMOOTH_BRICK", 0),
|
||||
STONE_BRICK_SLAB("STEP", 5),
|
||||
STONE_BRICK_STAIRS("SMOOTH_STAIRS", 0),
|
||||
STONE_BRICK_WALL("STONE", 0, true),
|
||||
STONE_BUTTON("STONE_BUTTON", 0),
|
||||
STONE_HOE("STONE_HOE", 0),
|
||||
STONE_PICKAXE("STONE_PICKAXE", 0),
|
||||
STONE_PRESSURE_PLATE("STONE_PLATE", 0),
|
||||
STONE_SHOVEL("STONE_SPADE", 0),
|
||||
STONE_SLAB("STEP", 0),
|
||||
STONE_STAIRS("STONE", 0, true),
|
||||
STONE_SWORD("STONE_SWORD", 0),
|
||||
STRAY_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
STRING("STRING", 0),
|
||||
@ -878,6 +969,9 @@ public enum Materials {
|
||||
SUGAR("SUGAR", 0),
|
||||
SUGAR_CANE("SUGAR_CANE", 0),
|
||||
SUNFLOWER("DOUBLE_PLANT", 0),
|
||||
SUSPICIOUS_STEW("STONE", 0, true),
|
||||
SWEET_BERRIES("STONE", 0, true),
|
||||
SWEET_BERRY_BUSH("STONE", 0, true),
|
||||
TALL_GRASS("DOUBLE_PLANT", 2),
|
||||
TALL_SEAGRASS("STONE", 0, true),
|
||||
TERRACOTTA("HARD_CLAY", 0),
|
||||
@ -886,6 +980,7 @@ public enum Materials {
|
||||
TNT_MINECART("EXPLOSIVE_MINECART", 0),
|
||||
TORCH("TORCH", 0),
|
||||
TOTEM_OF_UNDYING("TOTEM", 0),
|
||||
TRADER_LLAMA_SPAWN_EGG("STONE", 0, true),
|
||||
TRAPPED_CHEST("TRAPPED_CHEST", 0),
|
||||
TRIDENT("STONE", 0, true),
|
||||
TRIPWIRE("TRIPWIRE", 0),
|
||||
@ -907,6 +1002,7 @@ public enum Materials {
|
||||
VOID_AIR("AIR", 0, true),
|
||||
WALL_SIGN("WALL_SIGN", 0),
|
||||
WALL_TORCH("TORCH", 1),
|
||||
WANDERING_TRADER_SPAWN_EGG("STONE", 0, true),
|
||||
WATER("WATER", 0),
|
||||
WATER_BUCKET("WATER_BUCKET", 0),
|
||||
WET_SPONGE("SPONGE", 1),
|
||||
@ -917,6 +1013,7 @@ public enum Materials {
|
||||
WHITE_CARPET("CARPET", 0),
|
||||
WHITE_CONCRETE("CONCRETE", 0),
|
||||
WHITE_CONCRETE_POWDER("CONCRETE_POWDER", 0),
|
||||
WHITE_DYE("STONE", 0, true),
|
||||
WHITE_GLAZED_TERRACOTTA("WHITE_GLAZED_TERRACOTTA", 0),
|
||||
WHITE_SHULKER_BOX("WHITE_SHULKER_BOX", 0),
|
||||
WHITE_STAINED_GLASS("STAINED_GLASS", 0),
|
||||
@ -926,6 +1023,7 @@ public enum Materials {
|
||||
WHITE_WALL_BANNER("WALL_BANNER", 0),
|
||||
WHITE_WOOL("WOOL", 0),
|
||||
WITCH_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
WITHER_ROSE("STONE", 0, true),
|
||||
WITHER_SKELETON_SKULL("SKULL", 0),
|
||||
WITHER_SKELETON_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
WITHER_SKELETON_WALL_SKULL("SKULL", 0),
|
||||
@ -942,6 +1040,7 @@ public enum Materials {
|
||||
YELLOW_CARPET("CARPET", 4),
|
||||
YELLOW_CONCRETE("CONCRETE", 4),
|
||||
YELLOW_CONCRETE_POWDER("CONCRETE_POWDER", 4),
|
||||
YELLOW_DYE("DANDELION_YELLOW", "INK_SACK", 11),
|
||||
YELLOW_GLAZED_TERRACOTTA("YELLOW_GLAZED_TERRACOTTA", 0),
|
||||
YELLOW_SHULKER_BOX("YELLOW_SHULKER_BOX", 0),
|
||||
YELLOW_STAINED_GLASS("STAINED_GLASS", 4),
|
||||
@ -956,18 +1055,28 @@ public enum Materials {
|
||||
ZOMBIE_VILLAGER_SPAWN_EGG("MONSTER_EGG", 0),
|
||||
ZOMBIE_WALL_HEAD("SKULL", 0);
|
||||
|
||||
String m;
|
||||
String old13Mat;
|
||||
String old12Mat;
|
||||
int data;
|
||||
boolean is13only;
|
||||
boolean is13Plusonly;
|
||||
|
||||
Materials(String m, int data) {
|
||||
this(m, data, false);
|
||||
Materials(String old13Mat, String old12Mat, int data) {
|
||||
this(old13Mat, old12Mat, data, false);
|
||||
}
|
||||
|
||||
Materials(String old13Mat, String old12Mat, int data, boolean is13Plusonly) {
|
||||
this.old13Mat = old13Mat;
|
||||
this.old12Mat = old12Mat;
|
||||
this.data = data;
|
||||
this.is13Plusonly = is13Plusonly;
|
||||
}
|
||||
|
||||
Materials(String old12Mat, int data) {
|
||||
this(null, old12Mat, data, false);
|
||||
}
|
||||
|
||||
Materials(String m, int data, boolean is13only) {
|
||||
this.m = m;
|
||||
this.data = data;
|
||||
this.is13only = is13only;
|
||||
Materials(String old12Mat, int data, boolean is13Plusonly) {
|
||||
this(null, old12Mat, data, is13Plusonly);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@ -1008,7 +1117,7 @@ public enum Materials {
|
||||
return false;
|
||||
}
|
||||
|
||||
return isNewVersion() || !this.is13only;
|
||||
return isNewVersion() || !this.is13Plusonly;
|
||||
}
|
||||
|
||||
private static HashMap<String, Materials> cachedSearch = new HashMap<>();
|
||||
@ -1021,13 +1130,13 @@ public enum Materials {
|
||||
Materials pmat = null;
|
||||
|
||||
for (Materials mat : Materials.values()) {
|
||||
if (name.toUpperCase().equals(mat.m)) {
|
||||
if (name.toUpperCase().equals(mat.old12Mat)) {
|
||||
if (pmat == null) {
|
||||
pmat = mat;
|
||||
}
|
||||
|
||||
if (((byte) mat.data) == data) {
|
||||
cachedSearch.put(mat.m + "," + data, mat);
|
||||
cachedSearch.put(mat.old12Mat + "," + data, mat);
|
||||
return mat;
|
||||
}
|
||||
}
|
||||
@ -1070,7 +1179,7 @@ public enum Materials {
|
||||
return Materials.valueOf(mat.toString());
|
||||
} catch (IllegalArgumentException e) {
|
||||
for (Materials xmat : Materials.values()) {
|
||||
if (xmat.m.equals(mat.toString())) {
|
||||
if (xmat.old12Mat.equals(mat.toString())) {
|
||||
return xmat;
|
||||
}
|
||||
}
|
||||
@ -1106,35 +1215,22 @@ public enum Materials {
|
||||
String[] split = type.toString().split("_");
|
||||
int length = split.length;
|
||||
switch (split[length - 1]) {
|
||||
case "HELMET":
|
||||
return true;
|
||||
case "CHESTPLATE":
|
||||
return true;
|
||||
case "LEGGINGS":
|
||||
return true;
|
||||
case "BOOTS":
|
||||
return true;
|
||||
case "SWORD":
|
||||
return true;
|
||||
case "AXE":
|
||||
return true;
|
||||
case "PICKAXE":
|
||||
return true;
|
||||
case "SHOVEL":
|
||||
return true;
|
||||
case "HOE":
|
||||
return true;
|
||||
case "ELYTRA":
|
||||
return true;
|
||||
case "TURTLE_HELMET":
|
||||
return true;
|
||||
case "TRIDENT":
|
||||
return true;
|
||||
case "HORSE_ARMOR":
|
||||
return true;
|
||||
case "SHEARS":
|
||||
return true;
|
||||
default:
|
||||
case "HELMET":
|
||||
case "SHEARS":
|
||||
case "HORSE_ARMOR":
|
||||
case "TRIDENT":
|
||||
case "TURTLE_HELMET":
|
||||
case "ELYTRA":
|
||||
case "HOE":
|
||||
case "SHOVEL":
|
||||
case "PICKAXE":
|
||||
case "AXE":
|
||||
case "SWORD":
|
||||
case "BOOTS":
|
||||
case "LEGGINGS":
|
||||
case "CHESTPLATE":
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -1144,12 +1240,13 @@ public enum Materials {
|
||||
return Materials.SPAWNER.parseMaterial();
|
||||
|
||||
Material mat = Material.matchMaterial(this.toString());
|
||||
|
||||
if (mat != null) {
|
||||
if (mat != null)
|
||||
return mat;
|
||||
}
|
||||
|
||||
return Material.matchMaterial(m);
|
||||
if (old13Mat != null)
|
||||
return Material.matchMaterial(old13Mat);
|
||||
|
||||
return Material.matchMaterial(old12Mat);
|
||||
}
|
||||
|
||||
public Material getPostMaterial() {
|
||||
@ -1159,7 +1256,7 @@ public enum Materials {
|
||||
Method fromLegacy = unsafe.getClass().getMethod("fromLegacy", Material.class);
|
||||
|
||||
if (fromLegacy != null) {
|
||||
return (Material) fromLegacy.invoke(unsafe, Material.getMaterial("LEGACY_" + m));
|
||||
return (Material) fromLegacy.invoke(unsafe, Material.getMaterial("LEGACY_" + old12Mat));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
}
|
||||
@ -1174,7 +1271,7 @@ public enum Materials {
|
||||
Method fromLegacy = unsafe.getClass().getMethod("fromLegacy", Material.class);
|
||||
|
||||
if (fromLegacy != null) {
|
||||
return new ItemStack((Material) fromLegacy.invoke(unsafe, Material.getMaterial("LEGACY_" + m)));
|
||||
return new ItemStack((Material) fromLegacy.invoke(unsafe, Material.getMaterial("LEGACY_" + old12Mat)));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
}
|
||||
|
@ -23,16 +23,6 @@ import java.util.logging.Level;
|
||||
|
||||
public final class LocationUtil {
|
||||
|
||||
public static boolean isLocationCentreOfBlock(Location location) {
|
||||
double x = location.getX() - location.getBlockX() - 0.5D, z = location.getZ() - location.getBlockZ() - 0.5D;
|
||||
|
||||
if (Math.abs(x) < 0.2D && Math.abs(z) < 0.2D) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean isLocationLocation(Location location1, Location location2) {
|
||||
if (location1.getBlockX() == location2.getBlockX() && location1.getBlockY() == location2.getBlockY()
|
||||
&& location1.getBlockZ() == location2.getBlockZ()) {
|
||||
|
@ -29,7 +29,7 @@ public class BlockData {
|
||||
private String commandBlockName = "";
|
||||
private String entity = EntityType.COW.toString();
|
||||
private String exitLocation = "";
|
||||
private String flower = Materials.ROSE_RED.parseMaterial().toString() + ":0";
|
||||
private String flower = Materials.RED_DYE.parseMaterial().toString() + ":0";
|
||||
private String playing = Materials.MUSIC_DISC_CHIRP.parseMaterial().toString();
|
||||
private String[] signLines = {};
|
||||
private String rotateFace = BlockFace.NORTH.toString();
|
||||
|
@ -60,15 +60,6 @@ public final class BlockUtil {
|
||||
String secondaryEffectName = beacon.getSecondaryEffect() != null ? beacon.getSecondaryEffect().toString() : "null";
|
||||
|
||||
blockData.setPotionEffect(primaryEffectName + ":" + secondaryEffectName);
|
||||
|
||||
for (int i = 0; i < beacon.getInventory().getSize(); i++) {
|
||||
ItemStack is = beacon.getInventory().getItem(i);
|
||||
|
||||
if (is != null && is.getType() != Material.AIR) {
|
||||
blockData.addItem(i, ItemStackUtil.serializeItemStack(is));
|
||||
}
|
||||
}
|
||||
|
||||
blockData.setStateType(BlockStateType.BEACON.toString());
|
||||
} else if (blockState instanceof BrewingStand) {
|
||||
BrewingStand brewingStand = (BrewingStand) blockState;
|
||||
@ -309,13 +300,6 @@ public final class BlockUtil {
|
||||
if (!potionEffect[1].equals("null")) {
|
||||
beacon.setSecondaryEffect(PotionEffectType.getByName(potionEffect[1].toUpperCase()));
|
||||
}
|
||||
|
||||
for (Integer slotList : blockData.getInventory().keySet()) {
|
||||
if (slotList < beacon.getInventory().getSize()) {
|
||||
ItemStack is = ItemStackUtil.deserializeItemStack(blockData.getInventory().get(slotList));
|
||||
beacon.getInventory().setItem(slotList, is);
|
||||
}
|
||||
}
|
||||
} else if (blockTypeState == BlockStateType.BREWINGSTAND) {
|
||||
BrewingStand brewingStand = (BrewingStand) block.getState();
|
||||
brewingStand.setBrewingTime(blockData.getBrewingTime());
|
||||
@ -396,14 +380,14 @@ public final class BlockUtil {
|
||||
} else if (blockTypeState == BlockStateType.SKULL) {
|
||||
Skull skull = (Skull) block.getState();
|
||||
|
||||
skull.setRotation(BlockFace.valueOf(blockData.getRotateFace().toUpperCase()));
|
||||
skull.setSkullType(SkullType.valueOf(blockData.getSkullType().toUpperCase()));
|
||||
|
||||
if (NMSVersion > 9) {
|
||||
skull.setOwningPlayer(Bukkit.getServer().getOfflinePlayer(blockData.getSkullOwner()));
|
||||
} else {
|
||||
skull.setOwner(skull.getOwner());
|
||||
skull.setOwner(blockData.getSkullOwner());
|
||||
}
|
||||
|
||||
skull.setRotation(BlockFace.valueOf(blockData.getRotateFace().toUpperCase()));
|
||||
skull.setSkullType(SkullType.valueOf(blockData.getSkullType().toUpperCase()));
|
||||
} else {
|
||||
if (NMSVersion > 8) {
|
||||
if (blockTypeState == BlockStateType.ENDGATEWAY) {
|
||||
|
@ -51,7 +51,6 @@ public class EntityData {
|
||||
private int llamaStrength;
|
||||
private int angerLevel;
|
||||
private int slimeSize;
|
||||
private int riches;
|
||||
private int age;
|
||||
|
||||
private boolean arms;
|
||||
@ -449,14 +448,6 @@ public class EntityData {
|
||||
this.slimeSize = slimeSize;
|
||||
}
|
||||
|
||||
public int getRiches() {
|
||||
return this.riches;
|
||||
}
|
||||
|
||||
public void setRiches(int riches) {
|
||||
this.riches = riches;
|
||||
}
|
||||
|
||||
public int getAge() {
|
||||
return this.age;
|
||||
}
|
||||
|
@ -1,8 +1,9 @@
|
||||
package me.goodandevil.skyblock.utils.world.entity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import me.goodandevil.skyblock.utils.item.ItemStackUtil;
|
||||
import me.goodandevil.skyblock.utils.item.MaterialUtil;
|
||||
import me.goodandevil.skyblock.utils.version.NMSUtil;
|
||||
import me.goodandevil.skyblock.utils.world.block.BlockDegreesType;
|
||||
import org.bukkit.Art;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.DyeColor;
|
||||
@ -10,7 +11,32 @@ import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Rotation;
|
||||
import org.bukkit.TreeSpecies;
|
||||
import org.bukkit.entity.*;
|
||||
import org.bukkit.entity.Ageable;
|
||||
import org.bukkit.entity.ArmorStand;
|
||||
import org.bukkit.entity.Bat;
|
||||
import org.bukkit.entity.Boat;
|
||||
import org.bukkit.entity.Creeper;
|
||||
import org.bukkit.entity.Enderman;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Hanging;
|
||||
import org.bukkit.entity.Horse;
|
||||
import org.bukkit.entity.IronGolem;
|
||||
import org.bukkit.entity.ItemFrame;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Llama;
|
||||
import org.bukkit.entity.Ocelot;
|
||||
import org.bukkit.entity.Painting;
|
||||
import org.bukkit.entity.Parrot;
|
||||
import org.bukkit.entity.Pig;
|
||||
import org.bukkit.entity.PigZombie;
|
||||
import org.bukkit.entity.Rabbit;
|
||||
import org.bukkit.entity.Sheep;
|
||||
import org.bukkit.entity.Slime;
|
||||
import org.bukkit.entity.Snowman;
|
||||
import org.bukkit.entity.Vehicle;
|
||||
import org.bukkit.entity.Villager;
|
||||
import org.bukkit.entity.Zombie;
|
||||
import org.bukkit.entity.minecart.HopperMinecart;
|
||||
import org.bukkit.entity.minecart.StorageMinecart;
|
||||
import org.bukkit.inventory.EntityEquipment;
|
||||
@ -20,10 +46,8 @@ import org.bukkit.material.Colorable;
|
||||
import org.bukkit.material.MaterialData;
|
||||
import org.bukkit.util.EulerAngle;
|
||||
|
||||
import me.goodandevil.skyblock.utils.item.ItemStackUtil;
|
||||
import me.goodandevil.skyblock.utils.item.MaterialUtil;
|
||||
import me.goodandevil.skyblock.utils.version.NMSUtil;
|
||||
import me.goodandevil.skyblock.utils.world.block.BlockDegreesType;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public final class EntityUtil {
|
||||
@ -191,7 +215,6 @@ public final class EntityUtil {
|
||||
} else if (entity instanceof Villager) {
|
||||
Villager villager = ((Villager) entity);
|
||||
entityData.setProfession(villager.getProfession().toString());
|
||||
entityData.setRiches(villager.getRiches());
|
||||
|
||||
List<String> items = new ArrayList<>();
|
||||
|
||||
@ -443,7 +466,6 @@ public final class EntityUtil {
|
||||
}
|
||||
|
||||
villager.getInventory().setContents(items.toArray(new ItemStack[0]));
|
||||
villager.setRiches(entityData.getRiches());
|
||||
}
|
||||
|
||||
if (NMSVersion > 10) {
|
||||
|
@ -1234,6 +1234,11 @@ Placeholder:
|
||||
Message: "&c0"
|
||||
Non-empty:
|
||||
Message: "&f%placeholder"
|
||||
fabledskyblock_island_bank_balance_formatted:
|
||||
Empty:
|
||||
Message: "&c0"
|
||||
Non-empty:
|
||||
Message: "&f%placeholder"
|
||||
fabledskyblock_island_leaderboard_level_rank:
|
||||
Empty:
|
||||
Message: "&c0"
|
||||
@ -1285,6 +1290,8 @@ Hologram:
|
||||
Claimed: "&8* &f&o[%position] &a%player &7- &6%votes"
|
||||
Unclaimed: "&8* &f&o[%position] &7&oUnclaimed Position"
|
||||
Footer: "&ewww.example.net"
|
||||
Stackable:
|
||||
Message: "%blocks: %amount"
|
||||
Scoreboard:
|
||||
Tutorial:
|
||||
Displayname: "&b&lSkyBlock"
|
||||
|
@ -25,6 +25,7 @@ Materials:
|
||||
ACACIA_STAIRS:
|
||||
Points: 2
|
||||
ACACIA_TRAPDOOR:
|
||||
Points: 3
|
||||
ACACIA_WOOD:
|
||||
Points: 1
|
||||
ACTIVATOR_RAIL:
|
||||
@ -33,6 +34,12 @@ Materials:
|
||||
Points: 1
|
||||
ANDESITE:
|
||||
Points: 1
|
||||
ANDESITE_SLAB:
|
||||
Points: 1
|
||||
ANDESITE_STAIRS:
|
||||
Points: 1
|
||||
ANDESITE_WALL:
|
||||
Points: 1
|
||||
ANVIL:
|
||||
Points: 10
|
||||
ATTACHED_MELON_STEM:
|
||||
@ -43,12 +50,20 @@ Materials:
|
||||
Points: 1
|
||||
BARRIER:
|
||||
Points: 0
|
||||
BAMBOO:
|
||||
Points: 1
|
||||
BAMBOO_SAPLING:
|
||||
Points: 1
|
||||
BARREL:
|
||||
Points: 1
|
||||
BEACON:
|
||||
Points: 500
|
||||
BEDROCK:
|
||||
Points: 0
|
||||
BEETROOTS:
|
||||
Points: 1
|
||||
BELL:
|
||||
Points: 7
|
||||
BIRCH_BUTTON:
|
||||
Points: 1
|
||||
BIRCH_DOOR:
|
||||
@ -67,12 +82,16 @@ Materials:
|
||||
Points: 2
|
||||
BIRCH_SAPLING:
|
||||
Points: 1
|
||||
BIRCH_SIGN:
|
||||
Points: 6
|
||||
BIRCH_SLAB:
|
||||
Points: 1
|
||||
BIRCH_STAIRS:
|
||||
Points: 2
|
||||
BIRCH_TRAPDOOR:
|
||||
Points: 3
|
||||
BIRCH_WALL_SIGN:
|
||||
Points: 6
|
||||
BIRCH_WOOD:
|
||||
Points: 1
|
||||
BLACK_BANNER:
|
||||
@ -99,6 +118,8 @@ Materials:
|
||||
Points: 2
|
||||
BLACK_WOOL:
|
||||
Points: 2
|
||||
BLAST_FURNACE:
|
||||
Points: 6
|
||||
BLUE_BANNER:
|
||||
Points: 2
|
||||
BLUE_BED:
|
||||
@ -147,6 +168,8 @@ Materials:
|
||||
Points: 3
|
||||
BRICK_STAIRS:
|
||||
Points: 5
|
||||
BRICK_WALL:
|
||||
Points: 3
|
||||
BROWN_BANNER:
|
||||
Points: 2
|
||||
BROWN_BED:
|
||||
@ -187,10 +210,14 @@ Materials:
|
||||
Points: 1
|
||||
CACTUS:
|
||||
Points: 1
|
||||
CAMPFIRE:
|
||||
Points: 2
|
||||
CAKE:
|
||||
Points: 9
|
||||
CARROTS:
|
||||
Points: 1
|
||||
CARTOGRAPHY_TABLE:
|
||||
Points: 5
|
||||
CARVED_PUMPKIN:
|
||||
Points: 2
|
||||
CAULDRON:
|
||||
@ -239,8 +266,12 @@ Materials:
|
||||
Points: 0
|
||||
COMPARATOR:
|
||||
Points: 10
|
||||
COMPOSTER:
|
||||
Points: 4
|
||||
CONDUIT:
|
||||
Points: 1
|
||||
CORNFLOWER:
|
||||
Points: 1
|
||||
CRACKED_STONE_BRICKS:
|
||||
Points: 2
|
||||
CRAFTING_TABLE:
|
||||
@ -251,8 +282,12 @@ Materials:
|
||||
Points: 1
|
||||
CUT_RED_SANDSTONE:
|
||||
Points: 1
|
||||
CUT_RED_SANDSTONE_SLAB:
|
||||
Points: 1
|
||||
CUT_SANDSTONE:
|
||||
Points: 1
|
||||
CUT_SANDSTONE_SLAB:
|
||||
Points: 1
|
||||
CYAN_BANNER:
|
||||
Points: 2
|
||||
CYAN_BED:
|
||||
@ -299,12 +334,16 @@ Materials:
|
||||
Points: 2
|
||||
DARK_OAK_SAPLING:
|
||||
Points: 1
|
||||
DARK_OAK_SIGN:
|
||||
Points: 6
|
||||
DARK_OAK_SLAB:
|
||||
Points: 1
|
||||
DARK_OAK_STAIRS:
|
||||
Points: 2
|
||||
DARK_OAK_TRAPDOOR:
|
||||
Points: 3
|
||||
DARK_OAK_WALL_SIGN:
|
||||
Points: 6
|
||||
DARK_OAK_WOOD:
|
||||
Points: 1
|
||||
DARK_PRISMARINE:
|
||||
@ -355,6 +394,12 @@ Materials:
|
||||
Points: 1
|
||||
DIORITE:
|
||||
Points: 1
|
||||
DIORITE_SLAB:
|
||||
Points: 1
|
||||
DIORITE_STAIRS:
|
||||
Points: 1
|
||||
DIORITE_WALL:
|
||||
Points: 1
|
||||
DIRT:
|
||||
Points: 3
|
||||
DISPENSER:
|
||||
@ -387,6 +432,12 @@ Materials:
|
||||
Points: 1
|
||||
END_STONE:
|
||||
Points: 1
|
||||
END_STONE_BRICK_SLAB:
|
||||
Points: 1
|
||||
END_STONE_BRICK_STAIRS:
|
||||
Points: 1
|
||||
END_STONE_BRICK_WALL:
|
||||
Points: 1
|
||||
END_STONE_BRICKS:
|
||||
Points: 2
|
||||
FARMLAND:
|
||||
@ -403,6 +454,8 @@ Materials:
|
||||
Points: 1
|
||||
FIRE_CORAL_WALL_FAN:
|
||||
Points: 1
|
||||
FLETCHING_TABLE:
|
||||
Points: 4
|
||||
FLOWER_POT:
|
||||
Points: 1
|
||||
FROSTED_ICE:
|
||||
@ -421,6 +474,12 @@ Materials:
|
||||
Points: 1
|
||||
GRANITE:
|
||||
Points: 1
|
||||
GRANITE_SLAB:
|
||||
Points: 1
|
||||
GRANITE_STAIRS:
|
||||
Points: 1
|
||||
GRANITE_WALL:
|
||||
Points: 1
|
||||
GRASS:
|
||||
Points: 4
|
||||
GRASS_BLOCK:
|
||||
@ -477,6 +536,8 @@ Materials:
|
||||
Points: 2
|
||||
GREEN_WOOL:
|
||||
Points: 2
|
||||
GRINDSTONE:
|
||||
Points: 4
|
||||
HAY_BLOCK:
|
||||
Points: 2
|
||||
HEAVY_WEIGHTED_PRESSURE_PLATE:
|
||||
@ -517,6 +578,8 @@ Materials:
|
||||
Points: 4
|
||||
JACK_O_LANTERN:
|
||||
Points: 2
|
||||
JIGSAW:
|
||||
Points: 4
|
||||
JUKEBOX:
|
||||
Points: 10
|
||||
JUNGLE_BUTTON:
|
||||
@ -537,12 +600,16 @@ Materials:
|
||||
Points: 2
|
||||
JUNGLE_SAPLING:
|
||||
Points: 1
|
||||
JUNGLE_SIGN:
|
||||
Points: 6
|
||||
JUNGLE_SLAB:
|
||||
Points: 1
|
||||
JUNGLE_STAIRS:
|
||||
Points: 2
|
||||
JUNGLE_TRAPDOOR:
|
||||
Points: 3
|
||||
JUNGLE_WALL_SIGN:
|
||||
Points: 6
|
||||
JUNGLE_WOOD:
|
||||
Points: 1
|
||||
KELP:
|
||||
@ -551,14 +618,16 @@ Materials:
|
||||
Points: 1
|
||||
LADDER:
|
||||
Points: 2
|
||||
LANTERN:
|
||||
Points: 3
|
||||
LAPIS_BLOCK:
|
||||
Points: 10
|
||||
LAPIS_ORE:
|
||||
Points: 1
|
||||
LARGE_FERN:
|
||||
Points: 1
|
||||
LAVA:
|
||||
Points: 0
|
||||
LECTERN:
|
||||
Points: 4
|
||||
LEVER:
|
||||
Points: 1
|
||||
LIGHT_BLUE_BANNER:
|
||||
@ -613,6 +682,8 @@ Materials:
|
||||
Points: 3
|
||||
LILAC:
|
||||
Points: 1
|
||||
LILY_OF_THE_VALLEY:
|
||||
Points: 1
|
||||
LILY_PAD:
|
||||
Points: 5
|
||||
LIME_BANNER:
|
||||
@ -639,6 +710,8 @@ Materials:
|
||||
Points: 2
|
||||
LIME_WOOL:
|
||||
Points: 2
|
||||
LOOM:
|
||||
Points: 4
|
||||
MAGENTA_BANNER:
|
||||
Points: 2
|
||||
MAGENTA_BED:
|
||||
@ -671,10 +744,20 @@ Materials:
|
||||
Points: 1
|
||||
MOSSY_COBBLESTONE:
|
||||
Points: 1
|
||||
MOSSY_COBBLESTONE_SLAB:
|
||||
Points: 1
|
||||
MOSSY_COBBLESTONE_STAIRS:
|
||||
Points: 1
|
||||
MOSSY_COBBLESTONE_WALL:
|
||||
Points: 1
|
||||
MOSSY_STONE_BRICK_SLAB:
|
||||
Points: 1
|
||||
MOSSY_STONE_BRICK_STAIRS:
|
||||
Points: 1
|
||||
MOSSY_STONE_BRICK_WALL:
|
||||
Points: 1
|
||||
MOSSY_STONE_BRICKS:
|
||||
Points: 2
|
||||
Points: 1
|
||||
MOVING_PISTON:
|
||||
Points: 1
|
||||
MUSHROOM_STEM:
|
||||
@ -683,6 +766,8 @@ Materials:
|
||||
Points: 5
|
||||
NETHERRACK:
|
||||
Points: 1
|
||||
NETHER_BRICK_WALL:
|
||||
Points: 1
|
||||
NETHER_BRICKS:
|
||||
Points: 2
|
||||
NETHER_BRICK_FENCE:
|
||||
@ -719,12 +804,16 @@ Materials:
|
||||
Points: 2
|
||||
OAK_SAPLING:
|
||||
Points: 1
|
||||
OAK_SIGN:
|
||||
Points: 6
|
||||
OAK_SLAB:
|
||||
Points: 1
|
||||
OAK_STAIRS:
|
||||
Points: 2
|
||||
OAK_TRAPDOOR:
|
||||
Points: 3
|
||||
OAK_WALL_SIGN:
|
||||
Points: 6
|
||||
OAK_WOOD:
|
||||
Points: 1
|
||||
OBSERVER:
|
||||
@ -803,10 +892,22 @@ Materials:
|
||||
Points: 2
|
||||
POLISHED_ANDESITE:
|
||||
Points: 1
|
||||
POLISHED_ANDESITE_SLAB:
|
||||
Points: 1
|
||||
POLISHED_ANDESITE_STAIRS:
|
||||
Points: 1
|
||||
POLISHED_DIORITE:
|
||||
Points: 1
|
||||
POLISHED_DIORITE_SLAB:
|
||||
Points: 1
|
||||
POLISHED_DIORITE_STAIRS:
|
||||
Points: 1
|
||||
POLISHED_GRANITE:
|
||||
Points: 1
|
||||
POLISHED_GRANITE_SLAB:
|
||||
Points: 1
|
||||
POLISHED_GRANITE_STAIRS:
|
||||
Points: 1
|
||||
POPPY:
|
||||
Points: 1
|
||||
POTATOES:
|
||||
@ -817,6 +918,8 @@ Materials:
|
||||
Points: 1
|
||||
POTTED_AZURE_BLUET:
|
||||
Points: 1
|
||||
POTTED_BAMBOO:
|
||||
Points: 1
|
||||
POTTED_BIRCH_SAPLING:
|
||||
Points: 1
|
||||
POTTED_BLUE_ORCHID:
|
||||
@ -825,6 +928,8 @@ Materials:
|
||||
Points: 1
|
||||
POTTED_CACTUS:
|
||||
Points: 1
|
||||
POTTED_CORNFLOWER:
|
||||
Points: 1
|
||||
POTTED_DANDELION:
|
||||
Points: 1
|
||||
POTTED_DARK_OAK_SAPLING:
|
||||
@ -835,6 +940,8 @@ Materials:
|
||||
Points: 1
|
||||
POTTED_JUNGLE_SAPLING:
|
||||
Points: 1
|
||||
POTTED_LILY_OF_THE_VALLEY:
|
||||
Points: 1
|
||||
POTTED_OAK_SAPLING:
|
||||
Points: 1
|
||||
POTTED_ORANGE_TULIP:
|
||||
@ -853,6 +960,8 @@ Materials:
|
||||
Points: 1
|
||||
POTTED_WHITE_TULIP:
|
||||
Points: 1
|
||||
POTTED_WITHER_ROSE:
|
||||
Points: 1
|
||||
POWERED_RAIL:
|
||||
Points: 2
|
||||
PRISMARINE:
|
||||
@ -867,6 +976,8 @@ Materials:
|
||||
Points: 1
|
||||
PRISMARINE_STAIRS:
|
||||
Points: 2
|
||||
PRISMARINE_WALL:
|
||||
Points: 1
|
||||
PUMPKIN:
|
||||
Points: 1
|
||||
PUMPKIN_STEM:
|
||||
@ -938,7 +1049,13 @@ Materials:
|
||||
RED_MUSHROOM:
|
||||
Points: 1
|
||||
RED_MUSHROOM_BLOCK:
|
||||
Points:
|
||||
Points: 1
|
||||
RED_NETHER_BRICK_SLAB:
|
||||
Points: 1
|
||||
RED_NETHER_BRICK_STAIRS:
|
||||
Points: 1
|
||||
RED_NETHER_BRICK_WALL:
|
||||
Points: 1
|
||||
RED_NETHER_BRICKS:
|
||||
Points: 2
|
||||
RED_SAND:
|
||||
@ -949,6 +1066,8 @@ Materials:
|
||||
Points: 1
|
||||
RED_SANDSTONE_STAIRS:
|
||||
Points: 2
|
||||
RED_SANDSTONE_WALL:
|
||||
Points: 1
|
||||
RED_SHULKER_BOX:
|
||||
Points: 11
|
||||
RED_STAINED_GLASS:
|
||||
@ -977,6 +1096,10 @@ Materials:
|
||||
Points: 1
|
||||
SANDSTONE_STAIRS:
|
||||
Points: 2
|
||||
SANDSTONE_WALL:
|
||||
Points: 1
|
||||
SCAFFOLDING:
|
||||
Points: 1
|
||||
SEAGRASS:
|
||||
Points: 1
|
||||
SEA_LANTERN:
|
||||
@ -985,22 +1108,34 @@ Materials:
|
||||
Points: 1
|
||||
SHULKER_BOX:
|
||||
Points: 10
|
||||
SIGN:
|
||||
Points: 6
|
||||
SKELETON_SKULL:
|
||||
Points: 10
|
||||
SKELETON_WALL_SKULL:
|
||||
Points: 10
|
||||
SLIME_BLOCK:
|
||||
Points: 10
|
||||
SMITHING_TABLE:
|
||||
Points: 4
|
||||
SMOKER:
|
||||
Points: 4
|
||||
SMOOTH_QUARTZ:
|
||||
Points: 1
|
||||
SMOOTH_QUARTZ_SLAB:
|
||||
Points: 1
|
||||
SMOOTH_QUARTZ_STAIRS:
|
||||
Points: 1
|
||||
SMOOTH_RED_SANDSTONE:
|
||||
Points: 1
|
||||
SMOOTH_SANDSTONE:
|
||||
Points: 1
|
||||
SMOOTH_SANDSTONE_SLAB:
|
||||
Points: 1
|
||||
SMOOTH_SANDSTONE_STAIRS:
|
||||
Points: 1
|
||||
SMOOTH_STONE:
|
||||
Points: 1
|
||||
SMOOTH_STONE_SLAB:
|
||||
Points: 1
|
||||
SNOW:
|
||||
Points: 1
|
||||
SNOW_BLOCK:
|
||||
@ -1143,12 +1278,16 @@ Materials:
|
||||
Points: 2
|
||||
SPRUCE_SAPLING:
|
||||
Points: 1
|
||||
SPRUCE_SIGN:
|
||||
Points: 6
|
||||
SPRUCE_SLAB:
|
||||
Points: 1
|
||||
SPRUCE_STAIRS:
|
||||
Points: 2
|
||||
SPRUCE_TRAPDOOR:
|
||||
Points: 3
|
||||
SPRUCE_WALL_SIGN:
|
||||
Points: 6
|
||||
SPRUCE_WOOD:
|
||||
Points: 1
|
||||
STICKY_PISTON:
|
||||
@ -1161,12 +1300,18 @@ Materials:
|
||||
Points: 1
|
||||
STONE_BRICK_STAIRS:
|
||||
Points: 2
|
||||
STONE_BRICK_WALL:
|
||||
Points: 1
|
||||
STONE_BUTTON:
|
||||
Points: 1
|
||||
STONECUTTER:
|
||||
Points: 4
|
||||
STONE_PRESSURE_PLATE:
|
||||
Points: 2
|
||||
STONE_SLAB:
|
||||
Points: 1
|
||||
STONE_STAIRS:
|
||||
Points: 1
|
||||
STRIPPED_ACACIA_LOG:
|
||||
Points: 0
|
||||
STRIPPED_ACACIA_WOOD:
|
||||
@ -1195,6 +1340,8 @@ Materials:
|
||||
Points: 1
|
||||
SUNFLOWER:
|
||||
Points: 1
|
||||
SWEET_BERRY_BUSH:
|
||||
Points: 1
|
||||
TALL_GRASS:
|
||||
Points: 1
|
||||
TALL_SEAGRASS:
|
||||
@ -1225,12 +1372,8 @@ Materials:
|
||||
Points: 1
|
||||
VOID_AIR:
|
||||
Points: 0
|
||||
WALL_SIGN:
|
||||
Points: 6
|
||||
WALL_TORCH:
|
||||
Points: 1
|
||||
WATER:
|
||||
Points: 0
|
||||
WET_SPONGE:
|
||||
Points: 10
|
||||
WHEAT:
|
||||
@ -1261,6 +1404,8 @@ Materials:
|
||||
Points: 2
|
||||
WHITE_WOOL:
|
||||
Points: 3
|
||||
WITHER_ROSE:
|
||||
Points: 1
|
||||
WITHER_SKELETON_SKULL:
|
||||
Points: 10
|
||||
WITHER_SKELETON_WALL_SKULL:
|
||||
|
Loading…
Reference in New Issue
Block a user