1
mirror of https://github.com/CarmJos/MoeTeleport.git synced 2026-06-04 16:46:10 +08:00

5 Commits

Author SHA1 Message Date
carm 8bc2f0dba5 [2.0.1] 版本更新
- [F] 修复MoeTeleport指令错误的问题。
2022-02-18 20:59:02 +08:00
carm 9ee18d0f3c [2.0.0] 版本更新
- [A] 添加消息点击执行功能(基于MineDown实现)。
2022-02-18 20:44:26 +08:00
carm b311820483 [1.2.1] 版本更新
- [A] 添加重载指令。
- [U] 令方块安全检测更加宽松。
- [F] 修复非玩家离开游戏情况下数据不保存的问题。
2022-02-18 20:21:01 +08:00
carm b8d2d060dc [1.2.1] 版本更新
- [A] 添加重载指令。
- [U] 令方块安全检测更加宽松。
- [F] 修复非玩家离开游戏情况下数据不保存的问题。
2022-02-18 20:17:05 +08:00
carm 3b3e678fc7 测试构建同时上传产物 2022-02-18 19:52:47 +08:00
9 changed files with 87 additions and 18 deletions
+9 -4
View File
@@ -1,7 +1,7 @@
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: Build
name: Build & Tests
on:
# 支持手动触发构建
@@ -29,10 +29,15 @@ jobs:
env:
MAVEN_USERNAME: ${{ github.repository_owner }}
MAVEN_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: "Target Stage"
run: mkdir staging && cp target/*.jar staging
- name: "Target Staging"
run: |
mkdir artifacts
cp -vrf target/ artifacts/target/
cp -vrf asset/*.jar artifacts
- name: "Upload artifact"
uses: actions/upload-artifact@v2
with:
name: Artifact
path: staging
path: artifacts
+9 -1
View File
@@ -18,6 +18,8 @@
## [依赖](https://github.com/CarmJos/MoeTeleport/network/dependencies)
- **[必须]** 插件本体基于 [Spigot-API](https://hub.spigotmc.org/stash/projects/SPIGOT) 、[BukkitAPI](http://bukkit.org/) 实现。
- **[自带]** 消息格式基于 [MineDown](https://github.com/Phoenix616/MineDown) 实现。
- 所有 messages.yml 均支持 MineDown 语法。
- **[推荐]** 变量部分基于 [PlaceholderAPI](https://www.spigotmc.org/resources/6245/) 实现。
详细依赖列表可见 [Dependencies](https://github.com/CarmJos/MoeTeleport/network/dependencies) 。
@@ -28,6 +30,10 @@
- 可选参数 `[参数]`
```text
# /MoeTeleport reload
@ 管理指令 (MoeTeleport.admin)
- 重载插件配置文件。
# /back
- 返回上一个传送地点
@@ -60,7 +66,9 @@
### 消息配置文件 ([messages.yml](src/main/resources/messages.yml))
详见源文件。
支持 [MineDown 语法](https://wiki.phoenix616.dev/library:minedown:syntax)详见源文件。
### 玩家数据配置文件 (data/\<UUID\>.yml)
+19 -1
View File
@@ -13,7 +13,7 @@
<groupId>cc.carm.plugin</groupId>
<artifactId>moeteleport</artifactId>
<version>1.2.0</version>
<version>2.0.0</version>
<name>MoeTeleport</name>
<description>喵喵传送,简单的传送、设置家的插件。</description>
@@ -71,6 +71,11 @@
<url>https://repo1.maven.org/maven2/</url>
</repository>
<repository>
<id>minebench-repo</id>
<url>https://repo.minebench.de/</url>
</repository>
<repository>
<id>github</id>
<name>GitHub Packages</name>
@@ -103,6 +108,13 @@
<scope>provided</scope>
</dependency>
<dependency>
<groupId>de.themoep</groupId>
<artifactId>minedown</artifactId>
<version>1.7.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
@@ -176,6 +188,12 @@
</excludes>
</filter>
</filters>
<relocations>
<relocation>
<pattern>de.themoep.minedown</pattern>
<shadedPattern>cc.carm.plugin.moeteleport.lib.minedown</shadedPattern>
</relocation>
</relocations>
</configuration>
</plugin>
<plugin>
@@ -1,6 +1,7 @@
package cc.carm.plugin.moeteleport;
import cc.carm.plugin.moeteleport.command.BackCommand;
import cc.carm.plugin.moeteleport.command.MoeTeleportCommand;
import cc.carm.plugin.moeteleport.command.completer.HomeNameCompleter;
import cc.carm.plugin.moeteleport.command.completer.PlayerNameCompleter;
import cc.carm.plugin.moeteleport.command.completer.TpRequestCompleter;
@@ -13,7 +14,6 @@ import cc.carm.plugin.moeteleport.command.tpa.TpaCommand;
import cc.carm.plugin.moeteleport.listener.UserListener;
import cc.carm.plugin.moeteleport.manager.ConfigManager;
import cc.carm.plugin.moeteleport.manager.RequestManager;
import cc.carm.plugin.moeteleport.manager.TeleportManager;
import cc.carm.plugin.moeteleport.manager.UserManager;
import cc.carm.plugin.moeteleport.model.UserData;
import cc.carm.plugin.moeteleport.util.ColorParser;
@@ -32,7 +32,6 @@ public class Main extends JavaPlugin {
public static boolean debugMode = true;
private static Main instance;
private UserManager userManager;
private TeleportManager teleportManager;
private RequestManager requestManager;
/**
@@ -111,6 +110,8 @@ public class Main extends JavaPlugin {
regListener(new UserListener());
log("注册指令...");
registerCommand("MoeTeleport", new MoeTeleportCommand());
registerCommand("back", new BackCommand());
registerCommand("home", new GoHomeCommand(), new HomeNameCompleter());
@@ -132,8 +133,13 @@ public class Main extends JavaPlugin {
log(getName() + " " + getDescription().getVersion() + " 开始卸载...");
long startTime = System.currentTimeMillis();
log("关闭所有请求...");
getRequestManager().shutdown();
log("保存用户数据...");
getUserManager().getUserDataMap().values().forEach(UserData::save);
getUserManager().getUserDataMap().clear();
log("卸载监听器...");
Bukkit.getServicesManager().unregisterAll(this);
@@ -0,0 +1,23 @@
package cc.carm.plugin.moeteleport.command;
import cc.carm.plugin.moeteleport.manager.ConfigManager;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
public class MoeTeleportCommand implements CommandExecutor {
@Override
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command,
@NotNull String s, @NotNull String[] args) {
if (args.length == 1 && args[0].equalsIgnoreCase("reload")) {
commandSender.sendMessage("Reloading config...");
ConfigManager.reload();
commandSender.sendMessage("Config reloaded.");
return true;
}
return false;
}
}
@@ -53,8 +53,7 @@ public class TeleportManager {
return false; // not transparent (will suffocate)
}
Block ground = leg.getRelative(BlockFace.DOWN);
return ground.getType().isSolid()
&& !PluginConfig.DANGEROUS_TYPES.get().contains(ground.getType().name());
return !PluginConfig.DANGEROUS_TYPES.get().contains(ground.getType().name());
}
@@ -1,5 +1,6 @@
package cc.carm.plugin.moeteleport.util;
import de.themoep.minedown.MineDown;
import me.clip.placeholderapi.PlaceholderAPI;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
@@ -17,7 +18,7 @@ public class MessageUtil {
public static void send(@Nullable CommandSender sender, List<String> messages) {
if (messages == null || messages.isEmpty() || sender == null) return;
for (String s : messages) {
sender.sendMessage(ColorParser.parse(s));
sender.spigot().sendMessage(MineDown.parse(s));
}
}
+7 -7
View File
@@ -8,12 +8,12 @@ not-online:
- "&f目标玩家并不在线,无法发送请求。"
tpa:
- "&d%(player) &f请求传送到您身边,您有 &5%(expire)秒 &f的时间回应。"
- "&a&l[同意] &f输入 &5/tpaccept &f同意该请求。"
- "&c&l[拒绝] &f输入 &5/tpdeny &f拒绝该请求。"
- "[&a&l[同意]](show_text=点击同意请求 run_command=/tpAccept %(player)) &f输入 &5/tpAccept &f同意该请求。"
- "[&c&l[拒绝]](show_text=点击拒绝请求 run_command=/tpDeny %(player)) &f输入 &5/tpDeny &f拒绝该请求。"
tpahere:
- "&d%(player) &f请求传送您到Ta身边,您有 &5%(expire)秒 &f的时间回应。"
- "&a&l[同意] &f输入 &5/tpaccept &f同意该请求。"
- "&c&l[拒绝] &f输入 &5/tpdeny &f拒绝该请求。"
- "[&a&l[同意]](show_text=点击同意请求 run_command=/tpAccept %(player)) &f输入 &5/tpAccept &f同意该请求。"
- "[&c&l[拒绝]](show_text=点击拒绝请求 run_command=/tpDeny %(player)) &f输入 &5/tpDeny &f拒绝该请求。"
tpaccept:
- "&f您同意了 &d%(player) &f的传送请求。"
tpdeny:
@@ -38,7 +38,7 @@ no-request-player:
- "&f您当前没有收到来自 &d%(player) &f的传送请求。"
multi-requests:
- "&f您当前有&d%(num)条请求&f待处理,请输入 &5/%(command) <玩家名> &f决定回应谁的请求。"
- "&f您也可以再次输入 &5/%(command) &f直接回应最近的一条请求。"
- "&f您也可以再次输入 &5/%(command) &f快速回应最近的一条请求。"
request-sent-timeout:
- "&f发往 &d%(player) &f的传送请求已超时。"
request-received-timeout:
@@ -48,13 +48,13 @@ teleporting:
dangerous:
- "&f目标地点不安全,传送被取消。"
dangerous-here:
- "&f当前地点不安全,无法发送传送请求。"
- "&f当前地点不安全,传送被取消。"
notAvailable:
- "&f目标地点暂时无法前往,传送被取消。"
home-list-header:
- "&f您当前设定的所有家:"
home-list-object: "&8#&f%(id) &d%(location)"
home-list-object: "&8# &f%(id) &d%(location) [&7✈](show_text=点击返回家 %(id) run_command=/home %(id))"
home-not-found:
- "&f您还没有设置这个家,请先输入 &5/setHome <家名称> &f设置一个吧!"
home-set:
+9
View File
@@ -13,7 +13,16 @@ permissions:
description: "插件的主权限节点"
default: false
"MoeTeleport.admin":
description: "插件的管理员权限节点"
default: op
commands:
"MoeTeleport":
description: "插件的主命令,用于重载插件或查看插件信息。"
permission: "MoeTeleport.admin"
usage: "/MoeTeleport reload"
"back":
description: 返回传送前的上一个地点。