• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

BungeeCord开发教程:修订间差异

来自Minecraft插件百科
跳转到导航 跳转到搜索
无编辑摘要
 
(未显示1个用户的4个中间版本)
第7行: 第7行:


== 利用工具 ==
== 利用工具 ==
===官方工具(疑似已炸)===


官方提供了一个极其好用的工具网页. 它可以让你方便地生成一个新的, 配置好的'''BungeeCord'''插件项目.
官方提供了一个极其好用的工具网页. 它可以让你方便地生成一个新的, 配置好的'''BungeeCord'''插件项目.
第17行: 第19行:


如果你是新手, 你大可以勾选''Include a listener for me, please.''. 这样他会为你生成一个玩家连接的监听器.
如果你是新手, 你大可以勾选''Include a listener for me, please.''. 这样他会为你生成一个玩家连接的监听器.
===IntelliJ IDEA插件===
在MarketPlace中搜索“Minecraft Development”,安装后重启IDEA,创建项目选择Minecraft>BungeeCord


==创建你的第一个BungeeCord插件 (代理)==
==创建你的第一个BungeeCord插件 (代理)==
恭喜你决定创建自己第一个BungeeCord插件啦! 这个教程会使你打好基础.<br>
===设置你的项目===
Java 编程的知识是需要的.([[Bukkit/插件开发教程#学习Java|我没有Java基础]])
 
**使用插件创建时可跳过**


===设置你的项目===
这个教程只包括IntelliJ IDEA(一款IDE),其他IDE的操作相似.
这个教程只包括IntelliJ IDEA(一款IDE),其他IDE的操作相似.
在[https://www.spigotmc.org/wiki/create-your-first-bungeecord-plugin-proxy-spigotmc 原文]处附有Eclipse的操作<br>
在[https://www.spigotmc.org/wiki/create-your-first-bungeecord-plugin-proxy-spigotmc 原文]处附有Eclipse的操作<br>


首先打开你的IDE,创建一个新的项目,在弹出的选项卡中选择Maven.(图片暂时传不上去,或[https://www.spigotmc.org/wiki/create-your-first-bungeecord-plugin-proxy-spigotmc 原文])<br>
首先打开你的IDE,创建一个新的项目,在弹出的选项卡中选择Maven.你应该有与下图相似的界面:<br>
点击Next,里面会有一下几类文本框:
 
*Name - 对应的是你的项目的名称
*Directory - 项目文件保存的路径
*GroupId - 输入你的包名
*AntifactId - 输入你插件的名称


现在,只修改Name.然后点击Finish按钮,你的IDE会跳转,并展示pom.xml文件.<br>
===创建主类===
我们要在'''</project>前'''添加一些内容.<br>
<pre><repositories>
        <repository>
            <id>bungeecord-repo</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </repository>
    </repositories>


    <build>
**使用插件创建时刻跳过**
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>


    <dependencies>
新建->Java Class
        <dependency>
            <groupId>net.md-5</groupId>
            <artifactId>bungeecord-api</artifactId>
            <version>1.16-R0.5-SNAPSHOT</version>
            <type>jar</type>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>net.md-5</groupId>
            <artifactId>bungeecord-api</artifactId>
            <version>1.16-R0.5-SNAPSHOT</version>
            <type>javadoc</type>
            <scope>provided</scope>
        </dependency>
    </dependencies></pre>


这会在你的项目里添加BungeeCord的依赖.如果你使用IDEA,它会问你是否从pom.xml文件导入,选择导入.如果它询问正在更改的语言级别,允许它重新加载项目.
导入net.md_5.bungee.api.plugin.Plugin
===创建主类===
 
现在展开TestPlugin,src,main,应该看起看来是这样的(:(脑补一下):<br>
在public class xxx后添加“extends Plugin”


右键java,然后创建一个新包,命名为me.username.testplugin.接下来右键新建的包,创建一个新类,命名为TestPlugin.IDE会为你打开文件,如果它没有打开,那么你自己打开(。﹏。)<br>
===要让它被载入===
现在,我们可以创建基本的插件.这一章节仅仅聚焦于制作一个仅在启动时显示一条信息的插件.别的章节你可以使自己的插件拥有更多功能.


在TestPlugin'''之后'''在'''{'''之前加入'''extends Plugin'''<br>
在bungee.yml/plugin.yml中添加:main: (你的包名).(创建的主类名)
代码:<source lang="java">
package me.username.testplugin;


import net.md_5.bungee.api.plugin.Plugin;
===编译===


public class TestPlugin extends Plugin {
====IntelliJ IDEA====
    @Override
    public void onEnable() {
        // 你不应该显示启动信息
        // bungeeCord已经帮你做了
        getLogger().info("Yay! It loads!");
    }
}


</source>
Maven:右侧菜单选择Maven->生命周期->package,输出通常储存在target目录中


Gradle:右侧菜单选择Gradle->build->build,输出通常储存在./build/libs目录中


===要让它被载入===
====控制台====
Now we can create the plugin.yml file, so that BungeeCord recognizes that this is a plugin and tell it how to load it. Right click resources, and create a new file called plugin.yml. In this file, add the following:


现在我们可以创建plugin.yml文件,以便让BungeeCord识别出这是一个插件,然后告诉它怎样去载入它.右键resources,新建文件plugin.yml.在这个文件中,添加如下内容:<br>
Maven:(需自行安装Maven)运行mvn package
<source lang="xml">
name: TestPlugin
main: me.username.testplugin.TestPlugin
version: 1.0
#author可加可不加
author: username
</source>
如果plugin.yml已经被Bukkit载入,你也可以新建bungee.yml.


===编译===
Gradle:运行.\gradlew build(需创建的项目中有gradlew.bat或gradlew文件,没有则自行安装Gradle后运行gradle build)
'''恭喜,我们马上就要完成了'''
<br>现在应该编译了.在右侧展开Maven项目窗口(如果你没有看见它,点击视图View再点击工具按钮Tool Buttons),展开你的项目,展开Lifecycle,双击clean,再双击包package.Maven会编译你的项目.现在打开你的项目路径,再target中寻找你的插件.安装并打开BungeeCord端.如果有一行日志像这样:<br>
<br><big>
[INFO] Enabled plugin TestPlugin version 1.0 by username
</big><br>
'''那么你成功了!!!!!'''<br>
重编译插件,就在按着步骤来一遍


===对开发者的话===
===对开发者的话===
如果你是一名Bukkit插件开发者,并且对任何内容都非常熟悉,因为BungeeCord API深受Bukkit API的启发。许多概念(eventhandler和scheduler)保持相同,一些类和方法名称是相同的。
==事件处理API教程==
==事件处理API教程==
==常有的误区==
==常有的误区==

2022年12月16日 (五) 06:44的最新版本

本条目已有一定量的内容,但仍需完善

欢迎参与本条目的完善工作

你可以从以下几个方面入手

  • 参阅格式化手册,并对该页面进行相应格式排版工作;
  • 日常检查是否内容有更新版本并更新该页面;
  • 修复该页面中已出现/潜在的问题
本条目对应原文已经或正在更新。
近期请前往这里关注,查看新的版本并更新至本条目。

介绍

BungeeCord是一个转发服务端. 你也可以把它理解为代理服务端. 鉴于国内似乎没有BungeeCord插件, 我觉得写一篇教程会好些.

利用工具

官方工具(疑似已炸)

官方提供了一个极其好用的工具网页. 它可以让你方便地生成一个新的, 配置好的BungeeCord插件项目.

该页面的地址 [1]

只要简单地输入Plugin name, Plugin package, Plugin author, Plugin version

他就会自动为你生成一个项目, 和一些基础的代码.

如果你是新手, 你大可以勾选Include a listener for me, please.. 这样他会为你生成一个玩家连接的监听器.

IntelliJ IDEA插件

在MarketPlace中搜索“Minecraft Development”,安装后重启IDEA,创建项目选择Minecraft>BungeeCord

创建你的第一个BungeeCord插件 (代理)

设置你的项目

    • 使用插件创建时可跳过**

这个教程只包括IntelliJ IDEA(一款IDE),其他IDE的操作相似. 在原文处附有Eclipse的操作

首先打开你的IDE,创建一个新的项目,在弹出的选项卡中选择Maven.你应该有与下图相似的界面:


创建主类

    • 使用插件创建时刻跳过**

新建->Java Class

导入net.md_5.bungee.api.plugin.Plugin

在public class xxx后添加“extends Plugin”

要让它被载入

在bungee.yml/plugin.yml中添加:main: (你的包名).(创建的主类名)

编译

IntelliJ IDEA

Maven:右侧菜单选择Maven->生命周期->package,输出通常储存在target目录中

Gradle:右侧菜单选择Gradle->build->build,输出通常储存在./build/libs目录中

控制台

Maven:(需自行安装Maven)运行mvn package

Gradle:运行.\gradlew build(需创建的项目中有gradlew.bat或gradlew文件,没有则自行安装Gradle后运行gradle build)

对开发者的话

事件处理API教程

常有的误区

创建基础的命令功能 (代理)

Bukkit 和 BungeeCord 插件消息通道

聊天组件 API

在服务器之间传送玩家 (代理)

使用BungeeCord配置文件系统

通过BungeeCord创建计分板

创建一个Bungee的插件 (不需要Maven)