java - 我的自定义 java 插件没有出现在插件中
问题描述
我制作的自定义插件在eclipse中没有错误,当我导出它时它没有出现在Spigot中?
主文件
package me.intelligamez.damageone;
import org.bukkit.plugin.java.JavaPlugin;
import me.intelligamez.damageone.listeners.DamageListener;
import me.intelligamez.damageone.listeners.HealthListener;
public class Main extends JavaPlugin {
@Override
public void onEnable() {
new DamageListener(this);
new HealthListener(this);
}
}
听众 1
package me.intelligamez.damageone.listeners;
import org.bukkit.Bukkit;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageEvent;
import me.intelligamez.damageone.Main;
public class DamageListener implements Listener {
private Main plugin;
public DamageListener(Main plugin) {
this.plugin = plugin;
Bukkit.getPluginManager().registerEvents(this,plugin);
}
@EventHandler
public void onDamage(EntityDamageEvent dmg) {
Entity e = dmg.getEntity();
if(e instanceof Player) {
Player p = (Player) e;
double initialh = p.getHealth();
double taken = dmg.getFinalDamage();
double pop = taken*1.25;
p.setHealth(pop+initialh);
}
}
}
听众 2(几乎相同)
package me.intelligamez.damageone.listeners;
import org.bukkit.Bukkit;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityRegainHealthEvent;
import me.intelligamez.damageone.Main;
public class HealthListener implements Listener {
private Main plugin;
public HealthListener(Main plugin) {
this.plugin = plugin;
Bukkit.getPluginManager().registerEvents(this,plugin);
}
@EventHandler
public void onDamage(EntityRegainHealthEvent hlth) {
Entity e = hlth.getEntity();
if(e instanceof Player) {
Player p = (Player) e;
double afterh = p.getHealth();
double gain = hlth.getAmount();
double pop = gain*1.25;
p.setHealth(afterh-pop);
}
}
}
插件.yml
main: me.intelligamez.damageone.Main
name: damageone
version: 1.0
author: intelligamez
description: Srsly who reads this you already know !
我做的一切对吗?很多人说 plugin.yml 不需要空格,但它没有解决问题版本:Minecraft 1.16.3 服务器:Spigot IDE:Eclipse
解决方案
您需要在 Plugin.yml 中添加 SpigotAPI 的版本
main: me.intelligamez.damageone.Main
name: damageone
version: 1.0
api-version: 1.16 //(this is for your API version)
author: intelligamez
description: Your description
此外,api 版本不能是特定的(使用 1.13、1.16、...不要使用 1.13.1 或 1.16.2)
推荐阅读
- r - 删除绘图元素而不重新绘制 R 中的其他所有内容(闪亮)
- sql - 如何查找导致 Azure 数据工厂出现错误的列?
- vbscript - 打开 Internet Explorer 100% 隐藏
- mysql - 基于表单字段的 MySql 触发器
- java - 我检查单词是否在一串字母中的方法永远不会返回true
- asp.net - 项目无权访问c#解决方案中的引用项目
- c# - 无法将 javascript 注入 Swagger 文档
- r - RStudio - 如何推送到 origin/master(在 GitHub 上)?
- angular - 如何在Angular 8中捕获滚动到底部事件
- reactjs - 尝试导入错误:“useRouteMatch”未从“react-router-dom”导出