本帖最后由 qmzm 于 2021-3-28 13:01 编辑
另外求金粒求人气啊啊啊
点我传送到开发文档
备用开发文档

2.1.2更新 修复了建立公共连接一个小问题
2.1.1更新 修复了大量问题
注意:本插件所用所有代码均为原创,不存在借用/抄袭等行为

下载




另外求金粒求人气啊啊啊
点我传送到开发文档
备用开发文档
> _**目录**_
> * [开发教程](#开发教程)
> * [添加WSCraft为插件依赖](#添加WSCraft为插件依赖)
> * [监听WSCraft事件](#监听WSCraft事件)
> * [发送消息](#发送消息)
> * [获取连接Map](#获取连接Map)
***
# 开发教程
这里使用IDEA来编写一个依赖WSCraft的插件
服务端使用spigot-1.16.2.jar
JDK为1.8
## 添加WSCraft为插件依赖
首先将WSCraft添加到IDEA项目依赖
[](
)
插件检测服务器是否安装了WSCraft,有两种方法:
1. 在 `plugin.yml`中添加 `softdepend` :
```yaml
name: Test
main: cc.**.testcase.Main
version: 0.0.1
softdepend:
- WSCraft
```
2.在插件主类`onLoad()`方法添加检测 :
```java
public void onLoad() {
getLogger().info("加载中");
if(!getServer().getPluginManager().isPluginEnabled("WSCraft")) {
getLogger().info("没有检测到WSCraft!");
getServer().getPluginManager().disablePlugin(this);
}
}
```
这样就完成了检测
## 监听WSCraft事件
监听连接,断开,消息等事件
新创建一个类,继承WSCraft类,并重写其中的方法
```java
public class Listener extends WSCraft {
@Override
public void onMsg(String s, String s1, WebSocket webSocket, String s2) {
//s: 会话ID s1: 用户名(玩家名) webSocket: webSocket连接对象 s2: 消息
}
@Override
public void onConn(String s, String s1, WebSocket webSocket) {
//s: 会话ID s1: null webSocket: webSocket连接对象
}
@Override
public void onLogin(String s, String s1, WebSocket webSocket) {
//s: 会话ID s1: 用户名(玩家名) webSocket: webSocket连接对象
}
@Override
public void onDisConn(String s, String s1) {
//s: 会话ID s1: (已登录)用户名(玩家名) (未登录)null
}
}
```
> 非JSON格式的消息将不会被接收,暂时不支持二进制数据传输
## 发送消息
支持单发&群发,调用API类的静态方法即可
```java
//单发消息
API.sendToPlayer("Name", "TEST MSG");
//群发消息
API.sendToPlayer("TEST MSG");
```
> 发送消息请使用JSON格式,否则将无法发送消息,暂时不支持二进制数据传输,调用方法后将会返回一个Boolean值来说明是否发送成功
## 获取连接Map
同样地,调用API类的静态方法即可
```java
//获取所有已登录连接
Map map1 = API.getAllPlayer();
//获取所有连接
Map map2 = API.getAll();
```
上述代码Map Value-Key关系如下
|Map|Value|Key|
| :------------: | :------------: | :------------: |
|map1|会话ID|PlayerName|
|map2|WebSocket连接对象| 会话ID|

2.1.2更新 修复了建立公共连接一个小问题
2.1.1更新 修复了大量问题
注意:本插件所用所有代码均为原创,不存在借用/抄袭等行为

下载




另外求金粒求人气啊啊啊
点我传送到开发文档
备用开发文档

2.1.2更新 修复了建立公共连接一个小问题
2.1.1更新 修复了大量问题
注意:本插件所用所有代码均为原创,不存在借用/抄袭等行为

下载
2021.12 数据,可能有更多内容




另外求金粒求人气啊啊啊
点我传送到开发文档
备用开发文档
> _**目录**_
> * [开发教程](#开发教程)
> * [添加WSCraft为插件依赖](#添加WSCraft为插件依赖)
> * [监听WSCraft事件](#监听WSCraft事件)
> * [发送消息](#发送消息)
> * [获取连接Map](#获取连接Map)
***
# 开发教程
这里使用IDEA来编写一个依赖WSCraft的插件
服务端使用spigot-1.16.2.jar
JDK为1.8
## 添加WSCraft为插件依赖
首先将WSCraft添加到IDEA项目依赖
[

插件检测服务器是否安装了WSCraft,有两种方法:
1. 在 `plugin.yml`中添加 `softdepend` :
```yaml
name: Test
main: cc.**.testcase.Main
version: 0.0.1
softdepend:
- WSCraft
```
2.在插件主类`onLoad()`方法添加检测 :
```java
public void onLoad() {
getLogger().info("加载中");
if(!getServer().getPluginManager().isPluginEnabled("WSCraft")) {
getLogger().info("没有检测到WSCraft!");
getServer().getPluginManager().disablePlugin(this);
}
}
```
这样就完成了检测
## 监听WSCraft事件
监听连接,断开,消息等事件
新创建一个类,继承WSCraft类,并重写其中的方法
```java
public class Listener extends WSCraft {
@Override
public void onMsg(String s, String s1, WebSocket webSocket, String s2) {
//s: 会话ID s1: 用户名(玩家名) webSocket: webSocket连接对象 s2: 消息
}
@Override
public void onConn(String s, String s1, WebSocket webSocket) {
//s: 会话ID s1: null webSocket: webSocket连接对象
}
@Override
public void onLogin(String s, String s1, WebSocket webSocket) {
//s: 会话ID s1: 用户名(玩家名) webSocket: webSocket连接对象
}
@Override
public void onDisConn(String s, String s1) {
//s: 会话ID s1: (已登录)用户名(玩家名) (未登录)null
}
}
```
> 非JSON格式的消息将不会被接收,暂时不支持二进制数据传输
## 发送消息
支持单发&群发,调用API类的静态方法即可
```java
//单发消息
API.sendToPlayer("Name", "TEST MSG");
//群发消息
API.sendToPlayer("TEST MSG");
```
> 发送消息请使用JSON格式,否则将无法发送消息,暂时不支持二进制数据传输,调用方法后将会返回一个Boolean值来说明是否发送成功
## 获取连接Map
同样地,调用API类的静态方法即可
```java
//获取所有已登录连接
Map map1 = API.getAllPlayer();
//获取所有连接
Map map2 = API.getAll();
```
上述代码Map Value-Key关系如下
|Map|Value|Key|
| :------------: | :------------: | :------------: |
|map1|会话ID|PlayerName|
|map2|WebSocket连接对象| 会话ID|

2.1.2更新 修复了建立公共连接一个小问题
2.1.1更新 修复了大量问题
注意:本插件所用所有代码均为原创,不存在借用/抄袭等行为

下载
你的github链接被屏蔽了
MCBBS有你更精彩~
又是一款神奇强大的插件,支持一波!希望可以多支持更多的版本
疾风暗影 发表于 2020-9-6 14:03
你的github链接被屏蔽了
已经修复、
我丢!好东西!不用自己日ws了
打不开开发文档
sixingyv 发表于 2021-2-14 15:00
打不开开发文档
现在可以了