世间的很多事物,追求时候的兴致总是要比享用的时候的兴致浓烈。——莎士比亚《威尼斯商人》
这两天入门bukkit
踩了不少坑
写篇搭建开发环境
首先需要idea
和一个服务器核心
我还在安装idea
。。。
打开idea
,点击右下角的Configure
,选择Plugins
搜索Minecraft Development
点击install
顺便下载了Chinese
,Translation
以及Camelcase
(可选,单纯个人习惯)
安装好了重启idea
然后创建新项目
可以看到左边的Minecraft
,点击,然后勾选上Bukkit Plugin
,点击下一步
输入GroupId
和ArtifactId
并点击下一步
然后继续Next
,注意我们这里选的版本是1.15.2
填入Project name
,点击Finish
然后稍加等待,下载依赖
然后我们点右上角的项目运行配置,选择第一个
点击加号
选择JAR
应用程序
点击Path to JAR
右边的文件夹
找到我们最开始下载的spigot-1.15.2.jar
,点击确定
然后点击执行前右边的加号
选择运行Maven
目标
输入,点击确定
clean package
最后在项目根目录下的pom.xml
中配置
<outputDirectory>${session.executionRootDirectory}/plugins/</outputDirectory>
点击右上角重新加载maven
后这时候我们点击运行
然后可以看到这么一段
我们打开上面生成的eula.txt
,把false
改成true
然后打开server.properties
把online-mode
改为false
好了后我们再次启动,可以看到服务器开启了
我们进入游戏
点击多人游戏
点击添加服务器
输入,点击完成
localhost:25565
可以看到服务器状态良好
双击进去,发现一切正常
那么我们来写一个非常简单的laugh
命令插件,游戏中玩家输入/laugh
,然后系统向玩家发送一条消息为“哈哈哈”
首先到HelloBukkit.java
中按ALT+INSERT
点击重写onCommand
方法
然后开始编写代码
package hellobukkit.hellobukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
public final class HelloBukkit extends JavaPlugin {
@Override
public void onEnable() {
// Plugin startup logic
}
@Override
public void onDisable() {
// Plugin shutdown logic
}
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (command.getName().equalsIgnoreCase("laugh")) {
if (!(sender instanceof Player)) {
sender.sendMessage("你不是玩家");
return false;
}
sender.sendMessage("哈哈哈");
return true;
}
return false;
}
}
然后写完了需要到plugin.yml
中配置一下
name: HelloBukkit
version: ${project.version}
main: hellobukkit.hellobukkit.HelloBukkit
api-version: 1.15
commands:
laugh:
description: Laugh out loudly!
usage: /laugh
然后我们运行
游戏中输入/laugh
发现插件运行成功!
如果我们在控制台中试图运行该命令
可以看到返回结果也是正常