Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите нету команды на сервере IntelliJ IDEA

Echolinochka Ученик (43), на голосовании 1 неделю назад
Первый код это paper-plugin.yml второй это класс Airdrop а третий это AirdropCommand
 name: echolinochka.airdrop 
version: '${project.version}'
main: echolinochka.airdrop.Airdrop
api-version: '1.20'
commands:
spawnbarrel:
description: Spawns a barrel
usage: /spawnbarrel
 package echolinochka.airdrop; 

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;

import java.util.Random;

public class Airdrop extends JavaPlugin implements Listener {

private Random random;
private World world;
private int minX, maxX, minZ, maxZ;

@Override
public void onEnable() {
// Регистрируем события
getServer().getPluginManager().registerEvents(this, this);

// Получаем мир, в котором будет спавниться бочка
world = Bukkit.getWorld("world"); // Замените "world" на имя вашего мира

// Устанавливаем границы спавна бочки
minX = -3000;
maxX = 3000;
minZ = -3000;
maxZ = 3000;

// Создаем экземпляр класса Random
random = new Random();

// Запускаем задачу спавна бочки каждые 10 секунд
new BukkitRunnable() {
@Override
public void run() {
spawnBarrel();
}
}.runTaskTimer(this, 0, 2000); // 10 секунд = 200 тиков

// Регистрируем команду
getCommand("spawnbarrel").setExecutor(new AirdropCommand(this));
}

@Override
public void onDisable() {
// Отменяем все запущенные задачи при выключении плагина
Bukkit.getScheduler().cancelTasks(this);
}

@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
player.sendMessage("Добро пожаловать на сервер!");
}

public void spawnBarrel() {
// Генерируем случайные координаты для спавна бочки
int x = random.nextInt(maxX - minX + 1) + minX;
int z = random.nextInt(maxZ - minZ + 1) + minZ;
int y = world.getHighestBlockYAt(x, z) + 2;

// Создаем локацию для спавна бочки
Location location = new Location(world, x, y, z);

// Создаем блок бочки
Block barrelBlock = location.getBlock();
barrelBlock.setType(Material.BARREL);

// Отправляем координаты бочки в чат
Bukkit.broadcastMessage("Бочка спавнится на координатах: X: " + x + ", Y: " + y + ", Z: " + z);
}
}
 package echolinochka.airdrop; 

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;

public class AirdropCommand implements CommandExecutor {

private Airdrop plugin;

public AirdropCommand(Airdrop plugin) {
this.plugin = plugin;
}

@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (command.getName().equalsIgnoreCase("spawnbarrel")) {
plugin.spawnBarrel();
return true;
}
return false;
}
}
Голосование за лучший ответ
Nieren Искусственный Интеллект (210452) 1 месяц назад
Тебе видимо одного раза не хватило понять, что ChatGPT никогда не напишет нормально работающий код
EcholinochkaУченик (43) 1 месяц назад
ну мы щас так то с другом пытались написать gpt помог только написать регистрацию команды а всё остальное сами я попытался зарегисрировать как ты ссылку скинул как на том сайте но чет то ошибки то ещё что то
Александр Искусственный Интеллект (290764) 1 месяц назад
вот кто/что тебе это написало, у того/чего и спрашивай...
Василий Воронцов Vorontosov Ученик (112) 1 месяц назад
Какой то бред а не код. Во первых все делается в различных классах при помощи инстанса. Во вторых используются компоненты при сендмесседж, желательно компонент типа минимесседж. В третьих зачем ты несколько раз пытаешься проверить команду. В четвертых перед геткоманд ставится нотлнулл. Про комманд гетнейм абсолютно бред, поэтому и не регает. Никогда не стоит пользоваться основным классом для возможности написания кода, напомню, это делается в инстансе! Бывает несколько видов инстансов, но самой простой это
private static PluginName plugin;
plugin = this;
и далее делается геттер из инкапсуляции. Все очень просто, просто попробуй учить джаву сам или сама, а затем переходить на плагины, просто так без абсолютного знания языка сделать их не получится
Похожие вопросы