mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-24 17:39:30 +00:00
feat(core): 一些对资源包托管和资源包生成的修复
This commit is contained in:
@@ -272,6 +272,7 @@ warning.config.host.s3.missing_secret: "<yellow>Issue found in config.yml at 're
|
||||
warning.config.host.s3.missing_upload_path: "<yellow>Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'upload-path' argument for s3 host.</yellow>"
|
||||
warning.config.host.self.missing_ip: "<yellow>Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'ip' argument for self host.</yellow>"
|
||||
warning.config.host.self.invalid_port: "<yellow>Issue found in config.yml at 'resource-pack.delivery.hosting' - Invalid port '<arg:0>' for self host.</yellow>"
|
||||
warning.config.host.self.invalid_url: "<yellow>Issue found in config.yml at 'resource-pack.delivery.hosting' - Invalid url '<arg:0>' for self host.</yellow>"
|
||||
warning.config.host.gitlab.missing_url: "<yellow>Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'gitlab-url' argument for gitlab host.</yellow>"
|
||||
warning.config.host.gitlab.missing_token: "<yellow>Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'access-token' argument for gitlab host.</yellow>"
|
||||
warning.config.host.gitlab.missing_project: "<yellow>Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'project-id' argument for gitlab host.</yellow>"
|
||||
@@ -291,4 +292,5 @@ warning.config.conflict_matcher.inverted.missing_term: "<yellow>Issue found in c
|
||||
warning.config.conflict_matcher.all_of.missing_terms: "<yellow>Issue found in config.yml at 'resource-pack.duplicated-files-handler' - Missing required 'terms' argument for 'all_of' matcher.</yellow>"
|
||||
warning.config.conflict_matcher.any_of.missing_terms: "<yellow>Issue found in config.yml at 'resource-pack.duplicated-files-handler' - Missing required 'terms' argument for 'any_of' matcher.</yellow>"
|
||||
warning.config.conflict_resolution.missing_type: "<yellow>Issue found in config.yml at 'resource-pack.duplicated-files-handler' - Missing required 'type' argument for one of the resolutions.</yellow>"
|
||||
warning.config.conflict_resolution.invalid_type: "<yellow>Issue found in config.yml at 'resource-pack.duplicated-files-handler' - One of the resolutions is using the invalid type '<arg:0>'.</yellow>"
|
||||
warning.config.conflict_resolution.invalid_type: "<yellow>Issue found in config.yml at 'resource-pack.duplicated-files-handler' - One of the resolutions is using the invalid type '<arg:0>'.</yellow>"
|
||||
warning.resource_pack.generation_in_progress: "<yellow>Resource pack generation is already in progress. Please wait until it finishes.</yellow>"
|
||||
@@ -274,6 +274,7 @@ warning.config.host.s3.missing_secret: "<yellow>在 config.yml 的 'resource-pac
|
||||
warning.config.host.s3.missing_upload_path: "<yellow>在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - S3 托管缺少必需的 'upload-path' 参数</yellow>"
|
||||
warning.config.host.self.missing_ip: "<yellow>在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - 自托管托管缺少必需的 'ip' 参数</yellow>"
|
||||
warning.config.host.self.invalid_port: "<yellow>在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - 自托管托管的端口 '<arg:0>' 无效</yellow>"
|
||||
warning.config.host.self.invalid_url: "<yellow>在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - 自托管托管的 URL '<arg:0>' 无效</yellow>"
|
||||
warning.config.host.gitlab.missing_url: "<yellow>在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - GitLab 托管缺少必需的 'gitlab-url' 参数</yellow>"
|
||||
warning.config.host.gitlab.missing_token: "<yellow>在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - GitLab 托管缺少必需的 'access-token' 参数</yellow>"
|
||||
warning.config.host.gitlab.missing_project: "<yellow>在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - GitLab 托管缺少必需的 'project-id' 参数</yellow>"
|
||||
@@ -293,4 +294,5 @@ warning.config.conflict_matcher.inverted.missing_term: "<yellow>在 config.yml
|
||||
warning.config.conflict_matcher.all_of.missing_terms: "<yellow>在 config.yml 的 'resource-pack.duplicated-files-handler' 处发现问题 - 全匹配器缺少必需的 'terms' 参数</yellow>"
|
||||
warning.config.conflict_matcher.any_of.missing_terms: "<yellow>在 config.yml 的 'resource-pack.duplicated-files-handler' 处发现问题 - 任一匹配器缺少必需的 'terms' 参数</yellow>"
|
||||
warning.config.conflict_resolution.missing_type: "<yellow>在 config.yml 的 'resource-pack.duplicated-files-handler' 处发现问题 - 文件冲突处理器的某个解决方案缺少必需的 'type' 参数</yellow>"
|
||||
warning.config.conflict_resolution.invalid_type: "<yellow>在 config.yml 的 'resource-pack.duplicated-files-handler' 处发现问题 - 文件冲突处理器的某个解决方案使用了无效类型 '<arg:0>'</yellow>"
|
||||
warning.config.conflict_resolution.invalid_type: "<yellow>在 config.yml 的 'resource-pack.duplicated-files-handler' 处发现问题 - 文件冲突处理器的某个解决方案使用了无效类型 '<arg:0>'</yellow>"
|
||||
warning.resource_pack.generation_in_progress: "<yellow>资源包正在生成中, 请等待完成再试</yellow>"
|
||||
@@ -1354,7 +1354,7 @@ public class PacketConsumers {
|
||||
// When the hotbar is full, the latest creative mode inventory can only be accessed when the player opens the inventory screen. Currently, it is not worth further handling this issue.
|
||||
public static final TriConsumer<NetWorkUser, NMSPacketEvent, Object> SET_CREATIVE_SLOT = (user, event, packet) -> {
|
||||
try {
|
||||
if (ProtocolVersionUtils.isVersionNewerThan(user.protocolVersion(), ProtocolVersion.V1_21_4)) return;
|
||||
if (user.protocolVersion().isVersionNewerThan(ProtocolVersion.V1_21_4)) return;
|
||||
if (!user.isOnline()) return;
|
||||
BukkitServerPlayer player = (BukkitServerPlayer) user;
|
||||
if (VersionHelper.isFolia()) {
|
||||
|
||||
@@ -73,6 +73,7 @@ public abstract class AbstractPackManager implements PackManager {
|
||||
private final TreeMap<ConfigSectionParser, List<CachedConfig>> cachedConfigs = new TreeMap<>();
|
||||
protected BiConsumer<Path, Path> zipGenerator;
|
||||
protected ResourcePackHost resourcePackHost;
|
||||
private boolean generateResourcePack = false;
|
||||
|
||||
public AbstractPackManager(CraftEngine plugin, BiConsumer<Path, Path> eventDispatcher) {
|
||||
this.plugin = plugin;
|
||||
@@ -486,6 +487,10 @@ public abstract class AbstractPackManager implements PackManager {
|
||||
|
||||
@Override
|
||||
public void generateResourcePack() {
|
||||
if (this.generateResourcePack) {
|
||||
throw new LocalizedException("warning.resource_pack.generation_in_progress");
|
||||
}
|
||||
this.generateResourcePack = true;
|
||||
this.plugin.logger().info("Generating resource pack...");
|
||||
long start = System.currentTimeMillis();
|
||||
// get the target location
|
||||
@@ -547,6 +552,7 @@ public abstract class AbstractPackManager implements PackManager {
|
||||
long end = System.currentTimeMillis();
|
||||
this.plugin.logger().info("Finished generating resource pack in " + (end - start) + "ms");
|
||||
this.eventDispatcher.accept(generatedPackPath, zipFile);
|
||||
this.generateResourcePack = false;
|
||||
}
|
||||
|
||||
private void generateParticle(Path generatedPackPath) {
|
||||
|
||||
@@ -66,7 +66,13 @@ public class SelfHost implements ResourcePackHost {
|
||||
if (port <= 0 || port > 65535) {
|
||||
throw new LocalizedException("warning.config.host.self.invalid_port", String.valueOf(port));
|
||||
}
|
||||
String url = arguments.get("url").toString();
|
||||
String url = arguments.getOrDefault("url", "").toString();
|
||||
if (!url.isEmpty()) {
|
||||
if (!url.startsWith("http://") && !url.startsWith("https://")) {
|
||||
throw new LocalizedException("warning.config.host.self.invalid_url", url);
|
||||
}
|
||||
if (!url.endsWith("/")) url += "/";
|
||||
}
|
||||
boolean oneTimeToken = (boolean) arguments.getOrDefault("one-time-token", true);
|
||||
String protocol = arguments.getOrDefault("protocol", "http").toString();
|
||||
boolean denyNonMinecraftRequest = (boolean) arguments.getOrDefault("deny-non-minecraft-request", true);
|
||||
|
||||
@@ -32,6 +32,10 @@ public enum ProtocolVersion {
|
||||
return name;
|
||||
}
|
||||
|
||||
public boolean isVersionNewerThan(ProtocolVersion targetVersion) {
|
||||
return this.getId() >= targetVersion.getId();
|
||||
}
|
||||
|
||||
public static ProtocolVersion getByName(String name) {
|
||||
for (ProtocolVersion version : values()) {
|
||||
if (version.getName().equals(name)) {
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
package net.momirealms.craftengine.core.util;
|
||||
|
||||
import net.momirealms.craftengine.core.plugin.network.ProtocolVersion;
|
||||
|
||||
public class ProtocolVersionUtils {
|
||||
|
||||
public static boolean isVersionNewerThan(ProtocolVersion version, ProtocolVersion targetVersion) {
|
||||
return version.getId() >= targetVersion.getId();
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ org.gradle.jvmargs=-Xmx1G
|
||||
# Rule: [major update].[feature update].[bug fix]
|
||||
project_version=0.0.53-beta.3
|
||||
config_version=31
|
||||
lang_version=10
|
||||
lang_version=11
|
||||
project_group=net.momirealms
|
||||
latest_supported_version=1.21.5
|
||||
|
||||
|
||||
Reference in New Issue
Block a user