1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите написал свой первый плагин и он не работает

Тема в разделе "Разработка плагинов для новичков", создана пользователем celovecik, 21 фев 2023.

  1. Автор темы
    celovecik

    celovecik Ньюби

    Баллы:
    1
    Имя в Minecraft:
    RacketyMarrow54
    Не знаю что делать консоль ошибку не выдает
    файл MANIFEST.MF
    Manifest-Version: 1.0
    Main-Class: jdk.jpackage.main.Main
    файл plugin
    name: Test
    version: '1.0-SNAPSHOT'
    main: test.test.Test
    api-version: 1.15
    основная папка плагина
    import org.bukkit.Material;
    import org.bukkit.block.Block;
    import org.bukkit.block.BlockFace;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerCommandPreprocessEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    public class MyPlugin extends JavaPlugin implements Listener {
    @Override
    public void onEnable() {
    getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onCommand(PlayerCommandPreprocessEvent event) {
    Player player = event.getPlayer();
    if (event.getMessage().equalsIgnoreCase("/mot")) {
    Block block = player.getLocation().getBlock().getRelative(BlockFace.DOWN);
    block.setType(Material.CHEST);
    }
    }
    }
    кто знает что делать?
     
  2. Автор темы
    celovecik

    celovecik Ньюби

    Баллы:
    1
    Имя в Minecraft:
    RacketyMarrow54
    если што пробелы правельно стоят у меня они тут почему-то исчезли
     
  3. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Что значит "не работает"? При запуске плагина есть какие-то ошибки?
     
  4. Автор темы
    celovecik

    celovecik Ньюби

    Баллы:
    1
    Имя в Minecraft:
    RacketyMarrow54
    консоль ничево не пишет а команда не работает хз что делать я просто сильно не шарю
     
  5. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    При запуске сервера тоже проверь ошибки. У тебя как минимум название пакета и класса не совпадают в plugin.yml с фактическим
     
  6. Автор темы
    celovecik

    celovecik Ньюби

    Баллы:
    1
    Имя в Minecraft:
    RacketyMarrow54
    да нашол ошибку вот она [08:52:08 ERROR]: Error occurred while enabling Test v1.0-SNAPSHOT (Is it up to date?)
    не знаю как не заметил
     
  7. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Это не полая ошибка. Там ниже причина указана. Но одну из проблем я тебе назвал - несоответствие названий пакета и главного класса
     
  8. Автор темы
    celovecik

    celovecik Ньюби

    Баллы:
    1
    Имя в Minecraft:
    RacketyMarrow54
    [08:51:29 WARN]: [org.bukkit.craftbukkit.v1_19_R2.legacy.CraftLegacy] Initializing Legacy Material Support. Unless you have legacy plugins and/or data this is a bug!
    [08:51:41 WARN]: Legacy plugin Chatty v2.15.1 does not specify an api-version.
    [08:51:41 INFO]: [Chatty] Loading Chatty v2.15.1
    [08:51:41 INFO]: [LuckPerms] Loading LuckPerms v5.4.40
    [08:51:42 INFO]: [WorldEdit] Loading WorldEdit v7.2.13+46576cc
    [08:51:43 INFO]: Got request to register class com.sk89q.worldedit.bukkit.BukkitServerInterface with WorldEdit [com.sk89q.worldedit.extension.platform.PlatformManager@22104f76]
    [08:51:43 INFO]: [PlasmoVoice] Loading PlasmoVoice v1.0.11
    [08:51:43 INFO]: [OpeNLogin] Loading OpeNLogin v1.6.3
    [08:51:43 INFO]: [Essentials] Loading Essentials v2.20.0-dev+43-25ad8ac
    [08:51:43 INFO]: [Test] Loading Test v1.0-SNAPSHOT
    [08:51:43 INFO]: [GSit] Loading GSit v1.3.7
    [08:51:44 INFO]: [HolographicDisplays] Loading HolographicDisplays v3.0.1
    [08:51:44 INFO]: [NoNameTag] Loading NoNameTag v2.0
    [08:51:44 INFO]: [CoreProtect] Loading CoreProtect v21.3
    [08:51:44 INFO]: [TabList] Loading TabList v5.6.8
    [08:51:44 INFO]: [ChatBubbles] Loading ChatBubbles v1.19.2.a.4
    [08:51:44 INFO]: Server permissions file permissions.yml is empty, ignoring it
    [08:51:44 INFO]: [LuckPerms] Enabling LuckPerms v5.4.40
    [08:51:45 INFO]: __
    [08:51:45 INFO]: | |__) LuckPerms v5.4.40
    [08:51:45 INFO]: |___ | Running on Bukkit - Paper
    [08:51:45 INFO]:
    [08:51:45 INFO]: [LuckPerms] Loading configuration...
    [08:51:46 INFO]: [LuckPerms] Loading storage provider... [H2]
    [08:51:49 INFO]: [LuckPerms] Loading internal permission managers...
    [08:51:49 INFO]: [LuckPerms] Performing initial data load...
    [08:51:49 INFO]: [LuckPerms] Successfully enabled. (took 5678ms)
    [08:51:49 INFO]: [WorldEdit] Enabling WorldEdit v7.2.13+46576cc
    [08:51:50 INFO]: Registering commands with com.sk89q.worldedit.bukkit.BukkitServerInterface
    [08:51:50 INFO]: WEPIF: Using the Bukkit Permissions API.
    [08:51:51 INFO]: Using com.sk89q.worldedit.bukkit.adapter.impl.v1_19_R2.PaperweightAdapter as the Bukkit adapter
    [08:51:55 WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
    [08:51:55 WARN]: The server will make no attempt to authenticate usernames. Beware.
    [08:51:55 WARN]: While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
    [08:51:55 WARN]: To change this, set "online-mode" to "true" in the server.properties file.
    [08:51:55 INFO]: Preparing level "world"
    [08:52:00 INFO]: Preparing start region for dimension minecraft:eek:verworld
    [08:52:01 INFO]: Time elapsed: 586 ms
    [08:52:01 INFO]: Preparing start region for dimension minecraft:the_nether
    [08:52:01 INFO]: Time elapsed: 391 ms
    [08:52:01 INFO]: Preparing start region for dimension minecraft:the_end
    [08:52:01 INFO]: Time elapsed: 127 ms
    [08:52:01 INFO]: [Chatty] Enabling Chatty v2.15.1*
    [08:52:01 INFO]: [PlasmoVoice] Enabling PlasmoVoice v1.0.11
    [08:52:02 INFO]: [PlasmoVoice] Voice UDP server started on /0.0.0.0:26079
    [08:52:02 INFO]: [OpeNLogin] Enabling OpeNLogin v1.6.3
    [08:52:02 INFO]: [OpeNLogin] ___ __ __ _
    [08:52:02 INFO]: [OpeNLogin] /___\_ __ ___ /\ \ \/ / ___ __ _(_)_ __
    [08:52:02 INFO]: [OpeNLogin] // // '_ \ / _ \/ \/ / / / _ \ / _` | | '_ \
    [08:52:02 INFO]: [OpeNLogin] / \_//| |_) | __/ /\ / /__| (_) | (_| | | | | |
    [08:52:02 INFO]: [OpeNLogin] \___/ | .__/ \___\_\ \/\____/\___/ \__, |_|_| |_|
    [08:52:02 INFO]: [OpeNLogin] |_| |___/
    [08:52:02 INFO]: [OpeNLogin] By: www.nickuc.com / github.com/nickuc/OpeNLogin - V 1.6.3
    [08:52:02 INFO]: [OpeNLogin]
    [08:52:03 INFO]: [Essentials] Enabling Essentials v2.20.0-dev+43-25ad8ac
    [08:52:06 INFO]: [Essentials] Attempting to convert old kits in config.yml to new kits.yml
    [08:52:06 INFO]: [Essentials] No kits found to migrate.
    [08:52:06 INFO]: [Essentials] Loaded 38132 items from items.json.
    [08:52:07 INFO]: [Essentials] Using locale en_US
    [08:52:07 INFO]: [Essentials] ServerListPingEvent: Spigot iterator API
    [08:52:07 INFO]: [Essentials] Starting Metrics. Opt-out using the global bStats config.
    [08:52:07 WARN]: [Essentials] Detected supported permissions plugin LuckPerms without Vault installed.
    [08:52:07 WARN]: [Essentials] Features such as chat prefixes/suffixes and group-related functionality will not work until you install Vault.
    [08:52:07 INFO]: [Essentials] Using superperms-based permissions.
    [08:52:07 INFO]: [Test] Enabling Test v1.0-SNAPSHOT
    [08:52:08 ERROR]: Error occurred while enabling Test v1.0-SNAPSHOT (Is it up to date?)
    java.lang.NullPointerException: Cannot invoke "org.bukkit.command.PluginCommand.setExecutor(org.bukkit.command.CommandExecutor)" because the return value of "test.test.Test.getCommand(String)" is null
    at test.test.Test.onEnable(Test.java:15) ~[test.jar:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[paper-api-1.19.3-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:371) ~[paper-api-1.19.3-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:544) ~[paper-api-1.19.3-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.craftbukkit.v1_19_R2.CraftServer.enablePlugin(CraftServer.java:578) ~[paper-1.19.3.jar:git-Paper-399]
    at org.bukkit.craftbukkit.v1_19_R2.CraftServer.enablePlugins(CraftServer.java:492) ~[paper-1.19.3.jar:git-Paper-399]
    at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:635) ~[paper-1.19.3.jar:git-Paper-399]
    at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:434) ~[paper-1.19.3.jar:git-Paper-399]
    at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:308) ~[paper-1.19.3.jar:git-Paper-399]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1101) ~[paper-1.19.3.jar:git-Paper-399]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316) ~[paper-1.19.3.jar:git-Paper-399]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
    [08:52:08 INFO]: [Test] Disabling Test v1.0-SNAPSHOT
    [08:52:08 INFO]: [GSit] Enabling GSit v1.3.7
    [08:52:08 INFO]: [GSit] Плагин был включен.
    [08:52:08 INFO]: [HolographicDisplays] Enabling HolographicDisplays v3.0.1
    [08:52:09 INFO]: [NoNameTag] Enabling NoNameTag v2.0
    [08:52:09 INFO]: No Name Tag Loaded
    [08:52:09 INFO]: [CoreProtect] Enabling CoreProtect v21.3
    [08:52:10 INFO]: [CoreProtect] CoreProtect has been successfully enabled!
    [08:52:10 INFO]: [CoreProtect] Using SQLite for data storage.
    [08:52:10 INFO]: --------------------
    [08:52:10 INFO]: [CoreProtect] Enjoy CoreProtect? Join our Discord!
    [08:52:10 INFO]: [CoreProtect] Discord: www.coreprotect.net/discord/
    [08:52:10 INFO]: --------------------
    [08:52:10 INFO]: [TabList] Enabling TabList v5.6.8
    [08:52:10 WARN]: [TabList] You're currently having 1 CPU processors, which is not enough to run a minecraft server with scheduled plugins including TabList.
    [08:52:10 WARN]: [TabList] You will be experiencing many lags during the server is running. Consider upgrading your CPU to at least reach 3 cores.
    [08:52:10 INFO]: [TabList] > Enabled v5.6.8 (495ms)
    Может так будет понятней буду наперед спасибо
     
  9. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    На 15-й строке в классе Test ты пытаешься установить обработчик команде, которая отсутствует в plugin.yml.

    Но в твоём первом сообщении я вообще не вижу, чтобы ты пытался обработчик команде устанавливать. Видимо ты с тех пор что-то менял?
     
  10. Автор темы
    celovecik

    celovecik Ньюби

    Баллы:
    1
    Имя в Minecraft:
    RacketyMarrow54
    Вроде нет
     
  11. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Так вроде или нет? Метод setExecutor() используешь где-либо?
    Лучше всего прикрепи актуальный код через "Вставить" -> "Код".
    И уточни, какая строка у тебя под номером 15
     
  12. Автор темы
    celovecik

    celovecik Ньюби

    Баллы:
    1
    Имя в Minecraft:
    RacketyMarrow54
    @EventHandler
    это 15 строка у меня стоит
     
  13. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    В этой строке ошибки быть не может. Скомпилируй плагин ещё раз, загрузи на сервер, перезагрузи сервера и увидишь в консоли ошибку с актуальным номером строки
     
  14. Автор темы
    celovecik

    celovecik Ньюби

    Баллы:
    1
    Имя в Minecraft:
    RacketyMarrow54
    ой я случайно 16 скинул вот 15
    getServer().getPluginManager().registerEvents(this, this);
     
  15. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    В ошибке упоминание регистрации команды, а не события. Я уже выше написал, что необходимо сделать
     

Поделиться этой страницей