Search in sources :

Example 6 with Builder

use of com.eintosti.buildsystem.object.world.Builder in project BuildSystem by Trichtern.

the class BuilderInventory method addItems.

private void addItems(BuildWorld buildWorld, Player player) {
    List<Builder> builders = buildWorld.getBuilders();
    this.numBuilders = builders.size();
    int numInventories = (numBuilders % MAX_BUILDERS == 0 ? numBuilders : numBuilders + 1) != 0 ? (numBuilders % MAX_BUILDERS == 0 ? numBuilders : numBuilders + 1) : 1;
    int index = 0;
    Inventory inventory = createInventory(buildWorld, player);
    inventories = new Inventory[numInventories];
    inventories[index] = inventory;
    int columnSkull = 9, maxColumnSkull = 17;
    for (Builder builder : builders) {
        String builderName = builder.getName();
        inventoryManager.addSkull(inventory, columnSkull++, plugin.getString("worldeditor_builders_builder_item").replace("%builder%", builderName), builderName, plugin.getStringList("worldeditor_builders_builder_lore"));
        if (columnSkull > maxColumnSkull) {
            columnSkull = 9;
            inventory = createInventory(buildWorld, player);
            inventories[++index] = inventory;
        }
    }
}
Also used : Builder(com.eintosti.buildsystem.object.world.Builder) Inventory(org.bukkit.inventory.Inventory)

Example 7 with Builder

use of com.eintosti.buildsystem.object.world.Builder in project BuildSystem by einTosti.

the class WorldsCommand method getAddBuilderInput.

public void getAddBuilderInput(Player player, boolean closeInventory) {
    BuildWorld buildWorld = playerManager.getSelectedWorld().get(player.getUniqueId());
    if (buildWorld == null) {
        player.closeInventory();
        player.sendMessage(plugin.getString("worlds_addbuilder_error"));
        return;
    }
    new PlayerChatInput(plugin, player, "enter_player_name", input -> {
        String builderName = input.trim();
        Player builderPlayer = Bukkit.getPlayer(builderName);
        Builder builder;
        UUID builderId;
        if (builderPlayer == null) {
            builderId = UUIDFetcher.getUUID(builderName);
            if (builderId == null) {
                player.sendMessage(plugin.getString("worlds_addbuilder_player_not_found"));
                player.closeInventory();
                return;
            }
            builder = new Builder(builderId, builderName);
        } else {
            builder = new Builder(builderPlayer);
            builderId = builderPlayer.getUniqueId();
        }
        if (buildWorld.getCreatorId() != null && buildWorld.getCreatorId().equals(builderId)) {
            player.sendMessage(plugin.getString("worlds_addbuilder_already_creator"));
            player.closeInventory();
            return;
        }
        if (buildWorld.isBuilder(builderId)) {
            player.sendMessage(plugin.getString("worlds_addbuilder_already_added"));
            player.closeInventory();
            return;
        }
        buildWorld.addBuilder(builder);
        XSound.ENTITY_PLAYER_LEVELUP.play(player);
        player.sendMessage(plugin.getString("worlds_addbuilder_added").replace("%builder%", builderName));
        if (closeInventory) {
            player.closeInventory();
        } else {
            player.openInventory(plugin.getBuilderInventory().getInventory(buildWorld, player));
        }
    });
}
Also used : BuildWorld(com.eintosti.buildsystem.object.world.BuildWorld) Player(org.bukkit.entity.Player) Builder(com.eintosti.buildsystem.object.world.Builder) ComponentBuilder(net.md_5.bungee.api.chat.ComponentBuilder) PlayerChatInput(com.eintosti.buildsystem.util.external.PlayerChatInput) UUID(java.util.UUID)

Example 8 with Builder

use of com.eintosti.buildsystem.object.world.Builder in project BuildSystem by einTosti.

the class WorldManager method parseBuilders.

private List<Builder> parseBuilders(FileConfiguration configuration, String worldName) {
    List<Builder> builders = new ArrayList<>();
    if (configuration.isString("worlds." + worldName + ".builders")) {
        String buildersString = configuration.getString("worlds." + worldName + ".builders");
        if (buildersString != null && !buildersString.isEmpty()) {
            String[] splitBuilders = buildersString.split(";");
            for (String builder : splitBuilders) {
                String[] information = builder.split(",");
                builders.add(new Builder(UUID.fromString(information[0]), information[1]));
            }
        }
    }
    return builders;
}
Also used : Builder(com.eintosti.buildsystem.object.world.Builder) ArrayList(java.util.ArrayList)

Example 9 with Builder

use of com.eintosti.buildsystem.object.world.Builder in project BuildSystem by Trichtern.

the class WorldsCommand method getAddBuilderInput.

public void getAddBuilderInput(Player player, boolean closeInventory) {
    BuildWorld buildWorld = playerManager.getSelectedWorld().get(player.getUniqueId());
    if (buildWorld == null) {
        player.closeInventory();
        player.sendMessage(plugin.getString("worlds_addbuilder_error"));
        return;
    }
    new PlayerChatInput(plugin, player, "enter_player_name", input -> {
        String builderName = input.trim();
        Player builderPlayer = Bukkit.getPlayerExact(builderName);
        Builder builder;
        UUID builderId;
        if (builderPlayer == null) {
            builderId = UUIDFetcher.getUUID(builderName);
            if (builderId == null) {
                player.sendMessage(plugin.getString("worlds_addbuilder_player_not_found"));
                player.closeInventory();
                return;
            }
            builder = new Builder(builderId, builderName);
        } else {
            builder = new Builder(builderPlayer);
            builderId = builderPlayer.getUniqueId();
        }
        if (builderId.equals(player.getUniqueId()) && buildWorld.isCreator(player)) {
            player.sendMessage(plugin.getString("worlds_addbuilder_already_creator"));
            player.closeInventory();
            return;
        }
        if (buildWorld.isBuilder(builderId)) {
            player.sendMessage(plugin.getString("worlds_addbuilder_already_added"));
            player.closeInventory();
            return;
        }
        buildWorld.addBuilder(builder);
        XSound.ENTITY_PLAYER_LEVELUP.play(player);
        player.sendMessage(plugin.getString("worlds_addbuilder_added").replace("%builder%", builderName));
        if (closeInventory) {
            player.closeInventory();
        } else {
            player.openInventory(plugin.getBuilderInventory().getInventory(buildWorld, player));
        }
    });
}
Also used : BuildWorld(com.eintosti.buildsystem.object.world.BuildWorld) Player(org.bukkit.entity.Player) Builder(com.eintosti.buildsystem.object.world.Builder) ComponentBuilder(net.md_5.bungee.api.chat.ComponentBuilder) PlayerChatInput(com.eintosti.buildsystem.util.external.PlayerChatInput) UUID(java.util.UUID)

Example 10 with Builder

use of com.eintosti.buildsystem.object.world.Builder in project BuildSystem by Trichtern.

the class WorldManager method loadWorld.

public BuildWorld loadWorld(String worldName) {
    FileConfiguration configuration = worldConfig.getFile();
    if (configuration == null) {
        return null;
    }
    String creator = configuration.isString("worlds." + worldName + ".creator") ? configuration.getString("worlds." + worldName + ".creator") : "-";
    UUID creatorId = parseCreatorId(configuration, worldName, creator);
    WorldType worldType = configuration.isString("worlds." + worldName + ".type") ? WorldType.valueOf(configuration.getString("worlds." + worldName + ".type")) : WorldType.UNKNOWN;
    boolean privateWorld = configuration.isBoolean("worlds." + worldName + ".private") && configuration.getBoolean("worlds." + worldName + ".private");
    XMaterial material = parseMaterial(configuration, worldName);
    WorldStatus worldStatus = WorldStatus.valueOf(configuration.getString("worlds." + worldName + ".status"));
    String project = configuration.getString("worlds." + worldName + ".project");
    String permission = configuration.getString("worlds." + worldName + ".permission");
    long date = configuration.isLong("worlds." + worldName + ".date") ? configuration.getLong("worlds." + worldName + ".date") : -1;
    boolean physics = configuration.getBoolean("worlds." + worldName + ".physics");
    boolean explosions = !configuration.isBoolean("worlds." + worldName + ".explosions") || configuration.getBoolean("worlds." + worldName + ".explosions");
    boolean mobAI = !configuration.isBoolean("worlds." + worldName + ".mobai") || configuration.getBoolean("worlds." + worldName + ".mobai");
    String customSpawn = configuration.getString("worlds." + worldName + ".spawn");
    boolean blockBreaking = !configuration.isBoolean("worlds." + worldName + ".block-breaking") || configuration.getBoolean("worlds." + worldName + ".block-breaking");
    boolean blockPlacement = !configuration.isBoolean("worlds." + worldName + ".block-placement") || configuration.getBoolean("worlds." + worldName + ".block-placement");
    boolean blockInteractions = !configuration.isBoolean("worlds." + worldName + ".block-interactions") || configuration.getBoolean("worlds." + worldName + ".block-interactions");
    boolean buildersEnabled = configuration.isBoolean("worlds." + worldName + ".builders-enabled") && configuration.getBoolean("worlds." + worldName + ".builders-enabled");
    Difficulty difficulty = Difficulty.valueOf(configuration.getString("worlds." + worldName + ".difficulty", "PEACEFUL").toUpperCase());
    List<Builder> builders = parseBuilders(configuration, worldName);
    String chunkGeneratorString = configuration.getString("worlds." + worldName + ".chunk-generator");
    ChunkGenerator chunkGenerator = parseChunkGenerator(configuration, worldName);
    BuildWorld buildWorld = new BuildWorld(plugin, worldName, creator, creatorId, worldType, privateWorld, material, worldStatus, project, permission, date, physics, explosions, mobAI, customSpawn, blockBreaking, blockPlacement, blockInteractions, buildersEnabled, difficulty, builders, chunkGenerator, chunkGeneratorString);
    buildWorlds.add(buildWorld);
    return buildWorld;
}
Also used : Difficulty(org.bukkit.Difficulty) Builder(com.eintosti.buildsystem.object.world.Builder) XMaterial(com.cryptomorin.xseries.XMaterial) WorldStatus(com.eintosti.buildsystem.object.world.data.WorldStatus) FileConfiguration(org.bukkit.configuration.file.FileConfiguration) BuildWorld(com.eintosti.buildsystem.object.world.BuildWorld) WorldType(com.eintosti.buildsystem.object.world.data.WorldType) UUID(java.util.UUID) ChunkGenerator(org.bukkit.generator.ChunkGenerator)

Aggregations

Builder (com.eintosti.buildsystem.object.world.Builder)10 BuildWorld (com.eintosti.buildsystem.object.world.BuildWorld)4 ArrayList (java.util.ArrayList)4 UUID (java.util.UUID)4 XMaterial (com.cryptomorin.xseries.XMaterial)2 WorldStatus (com.eintosti.buildsystem.object.world.data.WorldStatus)2 WorldType (com.eintosti.buildsystem.object.world.data.WorldType)2 PlayerChatInput (com.eintosti.buildsystem.util.external.PlayerChatInput)2 ComponentBuilder (net.md_5.bungee.api.chat.ComponentBuilder)2 FileConfiguration (org.bukkit.configuration.file.FileConfiguration)2 Player (org.bukkit.entity.Player)2 ChunkGenerator (org.bukkit.generator.ChunkGenerator)2 Inventory (org.bukkit.inventory.Inventory)2 Difficulty (org.bukkit.Difficulty)1