|
|
|
|
@@ -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" +
|
|
|
|
|
|