9
0
mirror of https://github.com/Xiao-MoMi/Custom-Nameplates.git synced 2026-01-06 15:42:00 +00:00

Fix shaders on 1.20.5+

This commit is contained in:
XiaoMoMi
2024-08-13 16:49:25 +08:00
parent 5046372177
commit a5fd4f237e
6 changed files with 36 additions and 19 deletions

View File

@@ -50,7 +50,7 @@ public class BackGroundText {
if (parsed.equals("")) return "";
int parsedWidth = FontUtils.getTextWidth(parsed);
String bg = FontUtils.surroundNameplateFont(backGround.getBackGroundImage(parsedWidth));
return (removeShadow ? "<#FDFEFF>" + bg + "</#FDFEFF>" : bg)+ parsed;
return (removeShadow ? "<#FFFEFD>" + bg + "</#FFFEFD>" : bg)+ parsed;
}
public static Builder builder() {

View File

@@ -7,7 +7,7 @@ plugins {
allprojects {
version = "2.4.6"
version = "2.4.7"
apply<JavaPlugin>()
apply(plugin = "java")

View File

@@ -3,7 +3,7 @@ dependencies {
compileOnly("dev.folia:folia-api:1.20.1-R0.1-SNAPSHOT")
// command
compileOnly("dev.jorel:commandapi-bukkit-core:9.5.1")
compileOnly("dev.jorel:commandapi-bukkit-core:9.5.3")
// packet
compileOnly("com.comphenix.protocol:ProtocolLib:5.2.0-SNAPSHOT")

View File

@@ -63,7 +63,7 @@ public enum Dependency {
COMMAND_API(
"dev{}jorel",
"commandapi-bukkit-shade",
"9.5.1",
"9.5.3",
null,
"commandapi-bukkit",
Relocation.of("commandapi", "dev{}jorel{}commandapi")
@@ -71,7 +71,7 @@ public enum Dependency {
COMMAND_API_MOJMAP(
"dev{}jorel",
"commandapi-bukkit-shade-mojang-mapped",
"9.5.1",
"9.5.3",
null,
"commandapi-bukkit-mojang-mapped",
Relocation.of("commandapi", "dev{}jorel{}commandapi")

View File

@@ -91,10 +91,10 @@ public class ResourcePackManagerImpl implements ResourcePackManager {
this.saveLegacyUnicodes();
// generate shaders
if (!plugin.getVersionManager().isVersionNewerThan1_20_5()) {
this.generateShaders("ResourcePack" + File.separator + "assets" + File.separator + "minecraft" + File.separator + "shaders" + File.separator + "core" + File.separator);
this.generateShaders("ResourcePack" + File.separator + "overlay_1_20_5" + File.separator + "assets" + File.separator + "minecraft" + File.separator + "shaders" + File.separator + "core" + File.separator);
this.generateShaders("ResourcePack" + File.separator + "assets" + File.separator + "minecraft" + File.separator + "shaders" + File.separator + "core" + File.separator, false);
this.generateShaders("ResourcePack" + File.separator + "overlay_1_20_5" + File.separator + "assets" + File.separator + "minecraft" + File.separator + "shaders" + File.separator + "core" + File.separator, true);
} else {
this.generateShaders("ResourcePack" + File.separator + "overlay_1_20_5" + File.separator + "assets" + File.separator + "minecraft" + File.separator + "shaders" + File.separator + "core" + File.separator);
this.generateShaders("ResourcePack" + File.separator + "overlay_1_20_5" + File.separator + "assets" + File.separator + "minecraft" + File.separator + "shaders" + File.separator + "core" + File.separator, true);
try {
FileUtils.copyDirectory(
new File(plugin.getDataFolder(), "ResourcePack" + File.separator + "overlay_1_20_5"),
@@ -123,7 +123,7 @@ public class ResourcePackManagerImpl implements ResourcePackManager {
this.copyResourcePackToHookedPlugins(resourcePackFolder);
}
private void generateShaders(String path) {
private void generateShaders(String path, boolean v1_20_5) {
if (!CNConfig.enableShader) return;
plugin.saveResource(path + "rendertype_text.fsh", true);
plugin.saveResource(path + "rendertype_text.json", true);
@@ -138,11 +138,13 @@ public class ResourcePackManagerImpl implements ResourcePackManager {
} catch (IOException e) {
e.printStackTrace();
}
String mainShader = v1_20_5 ? ShaderConstants.Nameplates_Shader_1_20_5 : ShaderConstants.Nameplates_Shader_1_20_4;
try (BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(shader1), StandardCharsets.UTF_8))) {
writer.write(sb1.toString()
.replace("%SHADER_0%", !CNConfig.animatedImage ? "" : ShaderConstants.Animated_Text_Out)
.replace("%SHADER_1%", !CNConfig.textEffects ? ShaderConstants.Nameplates_Shader : ShaderConstants.ItemsAdder_Text_Effects + ShaderConstants.Nameplates_Shader)
.replace("%SHADER_1%", !CNConfig.textEffects ? mainShader : ShaderConstants.ItemsAdder_Text_Effects + mainShader)
.replace("%SHADER_2%", !CNConfig.animatedImage ? "" : ShaderConstants.Animated_Text_VSH)
.replace("%SHADER_3%", !CNConfig.hideScoreboardNumber ? "" : ShaderConstants.Hide_ScoreBoard_Numbers)
);
@@ -536,25 +538,40 @@ public class ResourcePackManagerImpl implements ResourcePackManager {
public static class ShaderConstants {
public static final String Nameplates_Shader =
public static final String Nameplates_Shader_1_20_5 =
"if (Color.xyz == vec3(255., 254., 253.) / 255.) {\n" +
" vertexColor = Color*texelFetch(Sampler2, UV2 / 16, 0);\n" +
" vertex.y += 1;\n" +
" vertex.x += 1;\n" +
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
" } else if (Color.xyz == vec3(254., 254., 254.) / 255.) {\n" +
" vertexColor = Color*texelFetch(Sampler2, UV2 / 16, 0);\n" +
" vertex.z *= 1.001;\n" +
" vertex.x *= 1.001;\n" +
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
" } else if (Color.xyz == vec3(253., 254., 254.) / 255.) {\n" +
" vertexColor = Color*texelFetch(Sampler2, UV2 / 16, 0);\n" +
" vertex.z *= 1.001001;\n" +
" vertex.x *= 1.001001;\n" +
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
" } else {\n" +
" vertexColor = Color*texelFetch(Sampler2, UV2 / 16, 0);\n" +
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
" }";
public static final String Nameplates_Shader_1_20_4 =
"if (Color.xyz == vec3(255., 254., 253.) / 255.) {\n" +
" vertexColor = Color*texelFetch(Sampler2, UV2 / 16, 0);\n" +
" vertex.y += 1;\n" +
" vertex.x += 1;\n" +
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
" } else if (Color.xyz == vec3(253., 254., 255.) / 255.) {\n" +
" vertexColor = Color*texelFetch(Sampler2, UV2 / 16, 0);\n" +
" vertex.y += 1;\n" +
" vertex.x += 1;\n" +
" vertex.z -= 0.002;\n" +
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
" } else if (Color.xyz == vec3(254., 254., 254.) / 255.) {\n" +
" vertexColor = Color*texelFetch(Sampler2, UV2 / 16, 0);\n" +
" vertex.z -= 0.001;\n" +
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
" } else if (Color.xyz == vec3(253., 254., 254.) / 255.) {\n" +
" vertexColor = Color*texelFetch(Sampler2, UV2 / 16, 0);\n" +
" vertex.z -= 0.0015;\n" +
" vertex.z -= 0.0011;\n" +
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
" } else {\n" +
" vertexColor = Color*texelFetch(Sampler2, UV2 / 16, 0);\n" +

View File

@@ -21,7 +21,7 @@ void main() {
discard;
}
if (texColor.a == 254.0/255.0) {
if (depthLevel == 0.00) {
if (depthLevel == 1000.00) {
discard;
} else {
color = vec4(texColor.rgb, 1.0) * vertexColor * ColorModulator;