Не добавляется команда

weras2000

Пользователь
Сообщения
30
Решения
1
Разрешается выкладывание кода, файлов конфигураций, логов и т.д. только под BB-код CODE
Java:
package cyber.cyberwold.command;

import org.bukkit.Sound;
import org.bukkit.World;
import org.bukkit.WorldBorder;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

public class PlayerPay implements CommandExecutor {
private Map<UUID, Integer> playerBalances = new HashMap<>();

@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!(sender instanceof Player)) {
sender.sendMessage("Эту команду может использовать только игрок!");
return true;
}

Player player = (Player) sender;

if (args.length != 1) {
player.sendMessage("Использование: /cyberworld pay <сумма>");
return true;
}

int amount;

try {
amount = Integer.parseInt(args[0]);
} catch (NumberFormatException e) {
player.sendMessage("Сумма должна быть целым числом!");
return true;
}

if (amount <= 0) {
player.sendMessage("Сумма должна быть положительным числом!");
return true;
}

UUID uuid = player.getUniqueId();

if (!playerBalances.containsKey(uuid)) {
playerBalances.put(uuid, 0);
}

int currentBalance = playerBalances.get(uuid);

if (currentBalance + amount >= 100000) {
playerWorldExpand(player);
playerBalances.put(uuid, 0);
player.sendMessage("Вы достигли 100 000 монет, граница мира была увеличена на 100 блоков!");
} else {
playerBalances.put(uuid, currentBalance + amount);
player.sendMessage("Вы перевели " + amount + " монет. Ваш баланс: " + playerBalances.get(uuid) + " монет.");
}

return true;
}

private void playerWorldExpand(Player player) {
World world = player.getWorld();
WorldBorder border = world.getWorldBorder();

double oldSize = border.getSize();
double newSize = oldSize + 100.0;

border.setCenter(player.getLocation());
border.setSize(newSize, 5);

player.playSound(player.getLocation(), Sound.ENTITY_ENDER_DRAGON_GROWL, 1.0F, 0.5F);
}
}
 

Вложения

  • plugin.yml
    174 байт · Просмотры: 5
Решение
Попробуйте подробно описывать свою проблему, чтобы сразу же получать ответ на свой вопрос.

В plugin.yml не соблюдена табуляция.
Как это написано у вас:
YAML:
commands:
cyberworld:
description:
usage:
Как это должно быть:
YAML:
commands:
    cyberworld:
        description:
        usage:

Также проверьте, регистрируете ли вы команду при включении сервера (ну или до её использования) в Bukkit: Bukkit.getPluginCommand("cyberworld").setExecutor(new PlayerPay());
Попробуйте подробно описывать свою проблему, чтобы сразу же получать ответ на свой вопрос.

В plugin.yml не соблюдена табуляция.
Как это написано у вас:
YAML:
commands:
cyberworld:
description:
usage:
Как это должно быть:
YAML:
commands:
    cyberworld:
        description:
        usage:

Также проверьте, регистрируете ли вы команду при включении сервера (ну или до её использования) в Bukkit: Bukkit.getPluginCommand("cyberworld").setExecutor(new PlayerPay());
 
Назад
Сверху Снизу