• 周年纪念勋章活动已圆满结束,如有已购买但仍未申请的用户,可以通过对应勋章的下载链接申请~

教程 如何写我的世界插件

此篇专讲如何写插件(就是基本教程),不讲基础,请确保配置配好了
首先,先下载我的世界插件编写插件,然后创建一个新的插件,你的插件中理论会有一个插件主类和一个plugin.yml文件,插件主类默认继承了JavaPlugin
你的插件开始时会有两个方法
分别是onEnable(开始方法)与onDisable(关闭方法),他们会在插件启动时与关闭时调用
首先,如果你的插件需要监听事件,请让类实现Listener接口并在开始方法中使用getServer().getPluginManager().registerEvents(this,this);方法,来声明这个类需要监听事件,然后,你就可以为你想要的事件写方法了,比如,我想要一个入服欢迎插件,那么,我就可以写一个叫做jntmngmhhy的方法,如果这个方法是事件方法,则需要一个注解@EventHandler在方法上面,这个注解可以加一个小括号来声明他的优先级,那么,服务器怎么知道这是哪个事件的方法呢?根据传递的类型,你必须在方法中传递一个参数(参数名随意,一般建议是event),玩家加入事件是PlayerJoinEvent,因此,传递的值就是PlayerJoinEvent event(event是名称,什么都可以),记得引入类(一般idea会自动引入),然后我们需要获取玩家实例,event对象中提供了一个方法,getPlayer();我们可以用这种方式来获取玩家实例 Player player(变量名随意) = event.getPlayer();
那么获取玩家实例干什么呢?(当然是额外占用你的性能了(啊呸))后面会讲
使用event对象中的setJoinMessage()方法来设置入服消息,比如,setJoinMessage("让我们欢迎玩家"+ player.getName() + "加入服务器!"),你也可以在前面加上ChatColor.RED(这是一个枚举,理论不能自定义颜色)来让句子有颜色,这样,你的插件就写好了,完整代码:

@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this,this);
// Plugin startup logic
}

@Override
public void onDisable() {
// Plugin shutdown logic
}
@EventHandler
public void jntmngmhhy(PlayerJoinEvent event){
Player player = event.getPlayer();
event.setJoinMessage("让我们欢迎玩家"+ player.getName() + "加入服务器!");
}
}
至于为什么都是动态方法而不是静态方法,因为他们是在玩家加入时实例化来做到每个玩家单独的方法(而不是集体调用一个方法),如果不懂,请补java基础"对象"
小芝士:
Bukkit类提供了肥肠多的方法,比如getPlayer方法,getWorld方法(不要直接实例化playe对象)
config是默认的配置文件,简单好用(比数据库简单一点)(下期讲)
可以用Bukkit.getLogger().info();来在控制台输出消息
如果你要输出文字而不是一个值或变量的值,请用""包裹
 

在线会员

  • Shimakaze
  • TATyKeFei
  • Miilyh
  • 冰雪冬樱
  • BaneQ
  • 手动滑稽
  • DieEr
  • umaru
  • yuuki_
  • 枫叶的温柔
  • 醉今朝
  • luminous夜光
  • 王聪聪
  • 78fyk
  • 阿 e
  • 传奇石头
  • Larkdream
  • Thing
  • 大嘴青蛙40t
  • 小智i
  • PuddingKC
...和 43 更多。
后退
顶部 底部