ProGiple
Пользователь
		- Сообщения
 - 104
 
- Решения
 - 3
 
- Другие ядра
 - Purpur
 
Привет! Я недавно начал делать плагин на прокачку эндер-сундука, всё работает, все значения записывает в конфиг для каждого игрока, но я столкнулся с одной проблемой: в конфиге может быть прописано:
	
	
	
		
Но даже при таком случае, предметы, которые нужны для прокачки (т.е. нажимаешь на предмет - он забирает монеты и добавляет доп. слот в конфиг для игрока), они всё равно идут либо с нуля (т.е. все слоты закрыты с самого начала), либо с 9 (т.е. открыта одна строка)
Для расширения эндер-сундука до 6 строк я использую встроенную функцию в ядро Purpur
Всё работает, кроме расположения предметов. Даже если я прокачаю слот, он не появиться в эндер-сундуке, будет так же, как я говорил до этого
Прилагаю часть кода, отвечающую за это:
	
	
	
		
Буду благодарен вашей помощи!
				
			
		YAML:
	
	data:
    nickname: 27
	Для расширения эндер-сундука до 6 строк я использую встроенную функцию в ядро Purpur
Всё работает, кроме расположения предметов. Даже если я прокачаю слот, он не появиться в эндер-сундуке, будет так же, как я говорил до этого
Прилагаю часть кода, отвечающую за это:
		Java:
	
	@EventHandler
    public void onOpen(InventoryOpenEvent event) {
        Player player = (Player) event.getPlayer();
        Inventory ender = player.getEnderChest();
        int size = ender.getSize();
        ItemStack itemt = new ItemStack(Material.valueOf(getConfig().getString("buy_slot.material")));
        ItemMeta meta = itemt.getItemMeta();
        player.updateInventory();
        List<String> loretext = new ArrayList<>();
        List<String> configLore = getConfig().getStringList("buy_slot.lore");
        meta.setCustomModelData(987651);
        meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(getConfig().getString("buy_slot.name"))));
        for (String line : configLore) {
            String coloredline = ChatColor.translateAlternateColorCodes('&', line);
            loretext.add(coloredline);
        }
        meta.setLore(loretext);
        itemt.setItemMeta(meta);
        boolean hasPlayerValue = Objects.requireNonNull(getConfig().getConfigurationSection("data")).contains(player.getName());
        if (!hasPlayerValue) {
            upd("data." + player.getName(), 27);
            reloadConfig();
        }
        int slots = getConfig().getInt("data." + player.getName());
        if (size > 27) {
            for (int i = slots; i < size; i++) {
                ender.setItem(i, itemt);
            }
            player.updateInventory();
        }
    }
	Буду благодарен вашей помощи!