Minecraft插件帮助(Spigot)



需要有关minecraft插口插件的帮助。

这是的布局(或者构建路径,如果你想这么称呼它的话(

这是主文件(main.java(的代码

package com.angosa;
import org.bukkit.plugin.java.JavaPlugin;
import com.angosa.listener.Listeners;

public class Main extends JavaPlugin {
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(new Listeners(), this);

}
}

以下是listeners.java(位于listener包中(的代码

package com.angosa.listener;
import org.bukkit.entity.Creeper;
import org.bukkit.entity.EntityType;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.CreatureSpawnEvent;
public class Listeners implements Listener {
@EventHandler
public void creatureSpawn(CreatureSpawnEvent event) {
if(event.getEntityType() == EntityType.CREEPER) {

Creeper creeper = (Creeper) event.getEntity();

creeper.setPowered(true);
creeper.setHealth(100);
creeper.setExplosionRadius(200);


}
}
}

然后这是yml文件

main: com.angosa.Main
name: OPCreeper
version: 1.0
author: Claim

此外,如果版本错误,以下是我将其上传到服务器时的样子。

[18:06:11 ERROR]: Could not load 'plugins/OPCreeper.jar' in folder 'plugins'

org.bukkit.plugin.InvalidDescriptionException:无效的plugin.yml网址:org.bukkit.plugin.jjava.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:170(~[spigot-1.16.4.jar:git-spigot-37d799b-3eb7236]网址:org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:144(~[spigot-1.16.4.jar:git-spigot-37d799b-3eb7236]网址:org.bukkit.craftbukkit.v1_16_R3.CraftServer.loadPlugins(CraftServer.java:383(~[spigot-1.16.4.jar:git-spigot-37d799b-3eb7236]位于net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer:java:185(~[spigot-1.16.4.jar:git-spigot-37d799b-3eb7236]在net.minecraft.server.v_16_R3.MinecraftServer.w(MinecraftServer:java:808(~[spigot-1.16.4.jar:git-spigot-37d799b-3eb7236]在net.minecraft.server.v_16_R3.MinecraftServerLambda$0(MinecraftServer:java:164(~[spigot-1.16.4.jar:git-spigot-37d799b-3eb7236]在java.lang.Thread.run(Thread.java:832([?:?]由:org.yaml.snakeyaml.scanner.ScannerException引起:在扫描下一个令牌时找到无法启动任何标记的字符"\t(TAB("。(不要使用\t(TAB(进行缩进(在"阅读器"中,第7行,第1列:

^
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:419) ~[spigot-1.16.4.jar:git-Spigot-37d799b-3eb7236]
at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:227) ~[spigot-1.16.4.jar:git-Spigot-37d799b-3eb7236]
at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:558) ~[spigot-1.16.4.jar:git-Spigot-37d799b-3eb7236]
at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:158) ~[spigot-1.16.4.jar:git-Spigot-37d799b-3eb7236]
at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148) ~[spigot-1.16.4.jar:git-Spigot-37d799b-3eb7236]
at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:235) ~[spigot-1.16.4.jar:git-Spigot-37d799b-3eb7236]
at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:162) ~[spigot-1.16.4.jar:git-Spigot-37d799b-3eb7236]
at org.yaml.snakeyaml.composer.Composer.getNode(Composer.java:95) ~[spigot-1.16.4.jar:git-Spigot-37d799b-3eb7236]
at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:119) ~[spigot-1.16.4.jar:git-Spigot-37d799b-3eb7236]
at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:150) ~[spigot-1.16.4.jar:git-Spigot-37d799b-3eb7236]
at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:472) ~[spigot-1.16.4.jar:git-Spigot-37d799b-3eb7236]
at org.yaml.snakeyaml.Yaml.load(Yaml.java:411) ~[spigot-1.16.4.jar:git-Spigot-37d799b-3eb7236]
at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.java:252) ~[spigot-1.16.4.jar:git-Spigot-37d799b-3eb7236]
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:165) ~[spigot-1.16.4.jar:git-Spigot-37d799b-3eb7236]
... 6 more

我在控制台的第一行看到了问题:

org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml

最后你可以看到:

(Do not use t(TAB) for indentation)

在我看来,你只需要:

  1. 清除plugin.yml文件并重新正确填充(不使用TAB键(
  2. 将plugin.yml文件放入src文件夹
  3. 导出前保存*

*对我来说,它看起来像你的"主";plugin.yml文件中的值为:

main: com.angosa.Main.OPCreeper

但当你在这个线程中发送时,正确的值是:

com.angosa.Main

所以不要忘记在导出插件之前保存,我一点也不确定,但这可能是问题所在。*

为了向您展示,有一个我正在使用的插件示例:

https://i.stack.imgur.com/55JVe.png:程序包资源管理器&plugin.ymlhttps://i.stack.imgur.com/TiWpN.png:主要类别

(在这种情况下,OrbeDisplay.java=Main.java(

如果在这之后它不起作用,我会寻找另一个解决方案,所以请随时通知我。

很抱歉我的英语不好,我来自法国,刚开始学习。

从龙头开发开始真是太棒了!

插件的问题是您在plugin.yml文件中使用了错误的格式。在第7行中,您似乎使用了TAB而不是空格。我建议查看此帮助页https://www.spigotmc.org/wiki/plugin-yml/获取有关查找正确格式的帮助!

祝你好运:(

不要在像plugin.yml这样的YAML文件中使用选项卡使用空格代替

最新更新