修正脚本与构建
This commit is contained in:
parent
6f045b681f
commit
06feedcc83
|
|
@ -13,7 +13,9 @@ plugins {
|
||||||
allprojects {
|
allprojects {
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
maven { url = "https://maven.neoforged.net/releases" }
|
maven { url = "https://libraries.minecraft.net/" }
|
||||||
|
maven { url = "https://neoforged.forgecdn.net/releases" }
|
||||||
|
maven { url = "https://neoforged.forgecdn.net/mojang-meta" }
|
||||||
maven { url = "https://maven.minecraftforge.net/" }
|
maven { url = "https://maven.minecraftforge.net/" }
|
||||||
maven { url = "https://maven.parchmentmc.org" }
|
maven { url = "https://maven.parchmentmc.org" }
|
||||||
maven { url = "https://maven.izzel.io/releases/" }
|
maven { url = "https://maven.izzel.io/releases/" }
|
||||||
|
|
@ -26,6 +28,10 @@ allprojects {
|
||||||
maven {
|
maven {
|
||||||
url "https://cursemaven.com"
|
url "https://cursemaven.com"
|
||||||
}
|
}
|
||||||
|
maven {
|
||||||
|
name = 'papermc'
|
||||||
|
url = 'https://repo.papermc.io/repository/maven-public/'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
processResources{
|
processResources{
|
||||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.leisuretimedock.crossmod.client;
|
||||||
import com.leisuretimedock.crossmod.network.PingRequestManager;
|
import com.leisuretimedock.crossmod.network.PingRequestManager;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
@ -102,7 +103,7 @@ public class ClientPingHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 合并Ping数据和统计数据的显示方法
|
// 合并Ping数据和统计数据的显示方法
|
||||||
public static List<String> getCombinedDebugText() {
|
public static @NotNull List<String> getCombinedDebugText() {
|
||||||
List<String> lines = new ArrayList<>();
|
List<String> lines = new ArrayList<>();
|
||||||
|
|
||||||
// 添加Ping数据
|
// 添加Ping数据
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,11 @@ package com.leisuretimedock.crossmod.client;
|
||||||
|
|
||||||
import com.leisuretimedock.crossmod.CrossTeleportMod;
|
import com.leisuretimedock.crossmod.CrossTeleportMod;
|
||||||
import com.leisuretimedock.crossmod.client.gui.CrossServerGui;
|
import com.leisuretimedock.crossmod.client.gui.CrossServerGui;
|
||||||
|
import com.leisuretimedock.crossmod.client.gui.GenericIceMessageScreen;
|
||||||
|
import net.minecraft.ChatFormatting;
|
||||||
import net.minecraft.client.KeyMapping;
|
import net.minecraft.client.KeyMapping;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.network.chat.TranslatableComponent;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.client.ClientRegistry;
|
import net.minecraftforge.client.ClientRegistry;
|
||||||
import net.minecraftforge.event.TickEvent;
|
import net.minecraftforge.event.TickEvent;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,57 @@
|
||||||
|
package com.leisuretimedock.crossmod.client.gui;
|
||||||
|
|
||||||
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
|
import com.mojang.blaze3d.vertex.*;
|
||||||
|
import net.minecraft.client.gui.screens.GenericDirtMessageScreen;
|
||||||
|
import net.minecraft.client.gui.screens.inventory.InventoryScreen;
|
||||||
|
import net.minecraft.client.renderer.GameRenderer;
|
||||||
|
import net.minecraft.network.chat.Component;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraftforge.client.event.ScreenEvent;
|
||||||
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
public class GenericIceMessageScreen extends GenericDirtMessageScreen {
|
||||||
|
public static final ResourceLocation ICE = new ResourceLocation("textures/block/ice.png");
|
||||||
|
//todo: tip ?
|
||||||
|
private int tick = 0;
|
||||||
|
public GenericIceMessageScreen(Component title) {
|
||||||
|
super(title);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void tick() {
|
||||||
|
super.tick();
|
||||||
|
tick++;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(@NotNull PoseStack poseStack, int mouseX, int mouseY, float partialTick) {
|
||||||
|
super.render(poseStack, mouseX, mouseY, partialTick);
|
||||||
|
if (minecraft != null && minecraft.player != null){
|
||||||
|
InventoryScreen.renderEntityInInventory(width / 2, height / 2, 30, (float) width / 2 - mouseX, (float) height / 2 - mouseY, minecraft.player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderDirtBackground(int vOffset) {
|
||||||
|
renderIceBackground(vOffset,200, 200, 200, 255);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void renderIceBackground(int vOffset, int r, int g, int b, int a) {
|
||||||
|
Tesselator tesselator = Tesselator.getInstance();
|
||||||
|
BufferBuilder bufferbuilder = tesselator.getBuilder();
|
||||||
|
RenderSystem.setShader(GameRenderer::getPositionTexColorShader);
|
||||||
|
RenderSystem.setShaderTexture(0, ICE);
|
||||||
|
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
|
float f = 32.0F;
|
||||||
|
bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR);
|
||||||
|
bufferbuilder.vertex(0.0, this.height, 0.0).uv(0.0F, (float)this.height / f + (float)vOffset).color(r, g, b, a).endVertex();
|
||||||
|
bufferbuilder.vertex(this.width, this.height, 0.0).uv((float)this.width / f, (float)this.height / f + (float)vOffset).color(r, g, b, a).endVertex();
|
||||||
|
bufferbuilder.vertex(this.width, 0.0, 0.0).uv((float)this.width / f, (float)vOffset).color(r, g, b, a).endVertex();
|
||||||
|
bufferbuilder.vertex(0.0, 0.0, 0.0).uv(0.0F, (float)vOffset).color(r, g, b, a).endVertex();
|
||||||
|
tesselator.end();
|
||||||
|
MinecraftForge.EVENT_BUS.post(new ScreenEvent.BackgroundDrawnEvent(this, new PoseStack()));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package com.leisuretimedock.crossmod.reset;
|
package com.leisuretimedock.crossmod.reset;
|
||||||
|
|
||||||
|
import com.leisuretimedock.crossmod.client.gui.GenericIceMessageScreen;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.gui.screens.GenericDirtMessageScreen;
|
|
||||||
import net.minecraft.client.multiplayer.ServerData;
|
import net.minecraft.client.multiplayer.ServerData;
|
||||||
import net.minecraft.network.chat.TranslatableComponent;
|
import net.minecraft.network.chat.TranslatableComponent;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
|
|
@ -27,7 +27,7 @@ public class ResetHelper {
|
||||||
GameData.revertToFrozen();
|
GameData.revertToFrozen();
|
||||||
}
|
}
|
||||||
|
|
||||||
minecraft.clearLevel(new GenericDirtMessageScreen(new TranslatableComponent("ltd.mod.client.negotiating").withStyle(BOLD)));
|
minecraft.clearLevel(new GenericIceMessageScreen(new TranslatableComponent("ltd.mod.client.negotiating").withStyle(BOLD)));
|
||||||
minecraft.setCurrentServer(serverData);
|
minecraft.setCurrentServer(serverData);
|
||||||
});
|
});
|
||||||
log.debug("Waiting for Clear to complete");
|
log.debug("Waiting for Clear to complete");
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,15 @@
|
||||||
|
pluginManagement {
|
||||||
|
repositories {
|
||||||
|
mavenLocal()
|
||||||
|
gradlePluginPortal()
|
||||||
|
maven { url = 'https://maven.neoforged.net/releases' }
|
||||||
|
maven { url = 'https://maven.parchmentmc.org' } // Add this line
|
||||||
|
maven {
|
||||||
|
name = 'papermc'
|
||||||
|
url = 'https://repo.papermc.io/repository/maven-public/'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
plugins {
|
plugins {
|
||||||
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0'
|
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0'
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,10 @@ group = plugin_group
|
||||||
version = plugin_version
|
version = plugin_version
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
maven { url 'https://repo.velocitypowered.com/releases/' }
|
maven {
|
||||||
|
name = 'papermc'
|
||||||
|
url = 'https://repo.papermc.io/repository/maven-public/'
|
||||||
|
}
|
||||||
maven { url 'https://repo.lucko.me/' } // LuckPerms
|
maven { url 'https://repo.lucko.me/' } // LuckPerms
|
||||||
maven { url "https://repo.william278.net/releases" } //
|
maven { url "https://repo.william278.net/releases" } //
|
||||||
}
|
}
|
||||||
|
|
@ -19,9 +22,9 @@ base {
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly 'org.projectlombok:lombok:1.18.24'
|
compileOnly 'org.projectlombok:lombok:1.18.24'
|
||||||
annotationProcessor 'org.projectlombok:lombok:1.18.24'
|
annotationProcessor 'org.projectlombok:lombok:1.18.24'
|
||||||
compileOnly 'com.velocitypowered:velocity-api:3.2.0-SNAPSHOT'
|
compileOnly("com.velocitypowered:velocity-api:3.4.0")
|
||||||
|
annotationProcessor("com.velocitypowered:velocity-api:3.4.0")
|
||||||
implementation("org.spongepowered:configurate-yaml:4.1.2")
|
implementation("org.spongepowered:configurate-yaml:4.1.2")
|
||||||
annotationProcessor 'com.velocitypowered:velocity-api:3.2.0-SNAPSHOT'
|
|
||||||
compileOnly 'net.luckperms:api:5.4' // LuckPerms API
|
compileOnly 'net.luckperms:api:5.4' // LuckPerms API
|
||||||
implementation "net.william278:velocityscoreboardapi:1.1.3"
|
implementation "net.william278:velocityscoreboardapi:1.1.3"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import static com.leisuretimedock.crossplugin.CrossPlugin.CROSS_TELEPORT_MOD;
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class PingManager {
|
public class PingManager {
|
||||||
private final ProxyServer server;
|
private final ProxyServer server;
|
||||||
private final Map<String, Long> serverPingResults = new HashMap<>();
|
private final Map<String, Integer> serverFallCounter = new HashMap<>();
|
||||||
private final ConfigManager configManager;
|
private final ConfigManager configManager;
|
||||||
|
|
||||||
public PingManager(ProxyServer server, ConfigManager configManager) {
|
public PingManager(ProxyServer server, ConfigManager configManager) {
|
||||||
|
|
@ -50,10 +50,14 @@ public class PingManager {
|
||||||
long ping = endTime - startTime;
|
long ping = endTime - startTime;
|
||||||
String name = serverInfo.getServerInfo().getName();
|
String name = serverInfo.getServerInfo().getName();
|
||||||
if (throwable == null) {
|
if (throwable == null) {
|
||||||
serverPingResults.put(name, ping);
|
if(configManager.isEnablePingLog()) log.debug(CROSS_TELEPORT_MOD, "Ping to server {}: {} ms", name, ping);
|
||||||
if(configManager.isEnablePingLog()) log.debug(CROSS_TELEPORT_MOD, "Ping to server {}: {}ms", name, ping);
|
|
||||||
} else {
|
} else {
|
||||||
if(configManager.isEnablePingLog()) log.warn(CROSS_TELEPORT_MOD, "Failed to ping server {}", name, throwable);
|
if(configManager.isEnablePingLog()) {
|
||||||
|
Integer put = serverFallCounter.put(name, serverFallCounter.getOrDefault(name, 0) + 1);
|
||||||
|
if (put != null && put == 1) {
|
||||||
|
log.warn(CROSS_TELEPORT_MOD, "Failed to ping server {}", name, throwable);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user