use of com.eintosti.buildsystem.object.settings.Settings in project BuildSystem by einTosti.
the class PlayerJoinListener method onPlayerJoin.
@EventHandler
@SuppressWarnings("deprecation")
public void onPlayerJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
settingsManager.createSettings(player);
plugin.getSkullCache().cacheSkull(player.getName());
String worldName = player.getWorld().getName();
BuildWorld buildWorld = worldManager.getBuildWorld(worldName);
if (buildWorld != null) {
if (!buildWorld.isPhysics() && player.hasPermission("buildsystem.physics.message")) {
player.sendMessage(plugin.getString("physics_deactivated_in_world").replace("%world%", buildWorld.getName()));
}
if (configValues.isArchiveVanish() && buildWorld.getStatus() == WorldStatus.ARCHIVE) {
player.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, Integer.MAX_VALUE, 0, false, false), false);
Bukkit.getOnlinePlayers().forEach(pl -> pl.hidePlayer(player));
}
}
Settings settings = settingsManager.getSettings(player);
if (settings.isNoClip()) {
plugin.getNoClipManager().startNoClip(player);
}
if (settings.isScoreboard()) {
settingsManager.startScoreboard(player);
plugin.getPlayerManager().forceUpdateSidebar(player);
}
if (settings.isSpawnTeleport()) {
spawnManager.teleport(player);
}
if (settings.isClearInventory()) {
player.getInventory().clear();
}
manageHidePlayer(player);
addJoinItem(player);
if (player.hasPermission("buildsystem.updates")) {
performUpdateCheck(player);
}
}
use of com.eintosti.buildsystem.object.settings.Settings in project BuildSystem by einTosti.
the class PlaceholderApiExpansion method parseSettingsPlaceholder.
/**
* This is the method called when a placeholder with the identifier
* {@code %buildsystem_settings_<setting>%} is found
*
* @param player A Player.
* @param identifier A String containing the identifier/value.
* @return possibly-null String of the requested identifier.
*/
@Nullable
private String parseSettingsPlaceholder(Player player, String identifier) {
Settings settings = settingsManager.getSettings(player);
String settingIdentifier = identifier.split("_")[1];
switch(settingIdentifier.toLowerCase()) {
case "navigatortype":
return settings.getNavigatorType().toString();
case "glasscolor":
return settings.getGlassColor().toString();
case "worldsort":
return settings.getWorldSort().toString();
case "clearinventory":
return String.valueOf(settings.isClearInventory());
case "disableinteract":
return String.valueOf(settings.isDisableInteract());
case "hideplayers":
return String.valueOf(settings.isHidePlayers());
case "instantplacesigns":
return String.valueOf(settings.isInstantPlaceSigns());
case "keepnavigator":
return String.valueOf(settings.isKeepNavigator());
case "nightvision":
return String.valueOf(settings.isNightVision());
case "noclip":
return String.valueOf(settings.isNoClip());
case "placeplants":
return String.valueOf(settings.isPlacePlants());
case "scoreboard":
return String.valueOf(settings.isScoreboard());
case "slabbreaking":
return String.valueOf(settings.isSlabBreaking());
case "spawnteleport":
return String.valueOf(settings.isSpawnTeleport());
case "opentrapdoors":
return String.valueOf(settings.isTrapDoor());
default:
return null;
}
}
use of com.eintosti.buildsystem.object.settings.Settings in project BuildSystem by einTosti.
the class DesignInventory method setItem.
private void setItem(Player player, Inventory inventory, int position, XMaterial material, String displayName, Color color) {
SettingsManager settingsManager = plugin.getSettingsManager();
Settings settings = settingsManager.getSettings(player);
ItemStack itemStack = inventoryManager.getItemStack(material, settings.getGlassColor() == color ? "§a" + displayName : "§7" + displayName);
ItemMeta itemMeta = itemStack.getItemMeta();
if (itemMeta != null) {
itemMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
}
itemStack.setItemMeta(itemMeta);
if (settings.getGlassColor() == color) {
itemStack.addUnsafeEnchantment(Enchantment.DURABILITY, 1);
}
inventory.setItem(position, itemStack);
}
use of com.eintosti.buildsystem.object.settings.Settings in project BuildSystem by einTosti.
the class DesignInventory method onInventoryClick.
@EventHandler
public void onInventoryClick(InventoryClickEvent event) {
if (!inventoryManager.checkIfValidClick(event, "design_title")) {
return;
}
Player player = (Player) event.getWhoClicked();
Settings settings = plugin.getSettingsManager().getSettings(player);
ItemStack itemStack = event.getCurrentItem();
if (itemStack.getType().toString().contains("STAINED_GLASS_PANE")) {
plugin.getSettingsInventory().openInventory(player);
return;
}
switch(event.getSlot()) {
case 10:
settings.setGlassColor(Color.RED);
break;
case 11:
settings.setGlassColor(Color.ORANGE);
break;
case 12:
settings.setGlassColor(Color.YELLOW);
break;
case 13:
settings.setGlassColor(Color.PINK);
break;
case 14:
settings.setGlassColor(Color.MAGENTA);
break;
case 15:
settings.setGlassColor(Color.PURPLE);
break;
case 16:
settings.setGlassColor(Color.BROWN);
break;
case 18:
settings.setGlassColor(Color.LIME);
break;
case 19:
settings.setGlassColor(Color.GREEN);
break;
case 20:
settings.setGlassColor(Color.BLUE);
break;
case 21:
settings.setGlassColor(Color.CYAN);
break;
case 22:
settings.setGlassColor(Color.LIGHT_BLUE);
break;
case 23:
settings.setGlassColor(Color.WHITE);
break;
case 24:
settings.setGlassColor(Color.LIGHT_GRAY);
break;
case 25:
settings.setGlassColor(Color.GRAY);
break;
case 26:
settings.setGlassColor(Color.BLACK);
break;
}
openInventory(player);
}
use of com.eintosti.buildsystem.object.settings.Settings in project BuildSystem by einTosti.
the class SettingsInventory method onInventoryClick.
@EventHandler
public void onInventoryClick(InventoryClickEvent event) {
if (!inventoryManager.checkIfValidClick(event, "settings_title")) {
return;
}
Player player = (Player) event.getWhoClicked();
Settings settings = settingsManager.getSettings(player);
switch(event.getSlot()) {
case 11:
plugin.getDesignInventory().openInventory(player);
XSound.ENTITY_ITEM_PICKUP.play(player);
return;
case 12:
settings.setClearInventory(!settings.isClearInventory());
break;
case 13:
settings.setDisableInteract(!settings.isDisableInteract());
break;
case 14:
settings.setHidePlayers(!settings.isHidePlayers());
toggleHidePlayers(player, settings);
break;
case 15:
settings.setInstantPlaceSigns(!settings.isInstantPlaceSigns());
break;
case 20:
settings.setKeepNavigator(!settings.isKeepNavigator());
break;
case 21:
if (settings.getNavigatorType().equals(NavigatorType.OLD)) {
settings.setNavigatorType(NavigatorType.NEW);
} else {
settings.setNavigatorType(NavigatorType.OLD);
plugin.getArmorStandManager().removeArmorStands(player);
if (player.hasPotionEffect(PotionEffectType.BLINDNESS)) {
player.removePotionEffect(PotionEffectType.BLINDNESS);
}
}
break;
case 22:
if (!settings.isNightVision()) {
settings.setNightVision(true);
player.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, Integer.MAX_VALUE, 0, false, false));
} else {
settings.setNightVision(false);
if (player.hasPotionEffect(PotionEffectType.NIGHT_VISION)) {
player.removePotionEffect(PotionEffectType.NIGHT_VISION);
}
}
break;
case 23:
NoClipManager noClipManager = plugin.getNoClipManager();
if (!settings.isNoClip()) {
settings.setNoClip(true);
noClipManager.startNoClip(player);
} else {
settings.setNoClip(false);
noClipManager.stopNoClip(player.getUniqueId());
}
break;
case 24:
settings.setTrapDoor(!settings.isTrapDoor());
break;
case 29:
settings.setPlacePlants(!settings.isPlacePlants());
break;
case 30:
if (!configValues.isScoreboard()) {
XSound.ENTITY_ITEM_BREAK.play(player);
return;
}
if (settings.isScoreboard()) {
settings.setScoreboard(false);
settingsManager.stopScoreboard(player);
} else {
settings.setScoreboard(true);
settingsManager.startScoreboard(player);
plugin.getPlayerManager().forceUpdateSidebar(player);
}
break;
case 31:
settings.setSlabBreaking(!settings.isSlabBreaking());
break;
case 32:
settings.setSpawnTeleport(!settings.isSpawnTeleport());
break;
case 33:
switch(settings.getWorldSort()) {
case NAME_A_TO_Z:
settings.setWorldSort(WorldSort.NAME_Z_TO_A);
break;
case NAME_Z_TO_A:
settings.setWorldSort(WorldSort.PROJECT_A_TO_Z);
break;
case PROJECT_A_TO_Z:
settings.setWorldSort(WorldSort.PROJECT_Z_TO_A);
break;
case PROJECT_Z_TO_A:
settings.setWorldSort(WorldSort.NEWEST_FIRST);
break;
case NEWEST_FIRST:
settings.setWorldSort(WorldSort.OLDEST_FIRST);
break;
case OLDEST_FIRST:
settings.setWorldSort(WorldSort.NAME_A_TO_Z);
break;
}
break;
default:
return;
}
XSound.ENTITY_ITEM_PICKUP.play(player);
plugin.getSettingsInventory().openInventory(player);
}
Aggregations