mirror of
https://github.com/Xiao-MoMi/Custom-Nameplates.git
synced 2025-12-30 04:09:12 +00:00
2.2.3.2
This commit is contained in:
@@ -18,10 +18,13 @@
|
||||
package net.momirealms.customnameplates.listener;
|
||||
|
||||
import net.momirealms.customnameplates.object.carrier.NamedEntityCarrier;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerRespawnEvent;
|
||||
import org.bukkit.event.player.PlayerToggleSneakEvent;
|
||||
import org.bukkit.event.vehicle.VehicleExitEvent;
|
||||
import org.spigotmc.event.entity.EntityMountEvent;
|
||||
|
||||
public record EntityTagListener(NamedEntityCarrier namedEntityCarrier) implements Listener {
|
||||
|
||||
@@ -34,4 +37,11 @@ public record EntityTagListener(NamedEntityCarrier namedEntityCarrier) implement
|
||||
public void onRespawn(PlayerRespawnEvent event) {
|
||||
namedEntityCarrier.onRespawn(event.getPlayer());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onExistVehicle(VehicleExitEvent event) {
|
||||
if (event.getExited() instanceof Player player) {
|
||||
namedEntityCarrier.onSneak(player, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
package net.momirealms.customnameplates.manager;
|
||||
|
||||
import com.francobm.magicosmetics.api.MagicAPI;
|
||||
import net.momirealms.customnameplates.CustomNameplates;
|
||||
import net.momirealms.customnameplates.object.Function;
|
||||
import net.momirealms.customnameplates.object.SimpleChar;
|
||||
|
||||
@@ -188,7 +188,8 @@ public class ResourceManager {
|
||||
try (BufferedWriter writer = new BufferedWriter(
|
||||
new OutputStreamWriter(new FileOutputStream(outPut), StandardCharsets.UTF_8))) {
|
||||
writer.write(sb.toString()
|
||||
.replace("{hide}", !ConfigManager.hideScoreboardNumber ? "" : "if (Position.z == 0.0\n" +
|
||||
.replace("{hide}", !ConfigManager.hideScoreboardNumber ? "" :
|
||||
"if (Position.z == 0.0\n" +
|
||||
" && gl_Position.x >= 0.94\n" +
|
||||
" && gl_Position.y >= -0.35\n" +
|
||||
" && vertexColor.g == 84.0/255.0\n" +
|
||||
@@ -199,40 +200,41 @@ public class ResourceManager {
|
||||
" gl_Position = ProjMat * ModelViewMat * vec4(ScreenSize + 100.0, 0.0, ScreenSize + 100.0);\n" +
|
||||
" }"
|
||||
)
|
||||
.replace("{IA}", !ConfigManager.iaShaderSupport ? "" : "if (Color.xyz == vec3(255., 255., 254.) / 255.) {\n" +
|
||||
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
|
||||
" vertexColor = ((.6 + .6 * cos(6. * (gl_Position.x + GameTime * 1000.) + vec4(0, 23, 21, 1))) + vec4(0., 0., 0., 1.)) * texelFetch(Sampler2, UV2 / 16, 0);\n" +
|
||||
" } else if(Color.xyz == vec3(255., 255., 253.) / 255.) {\n" +
|
||||
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
|
||||
" vertexColor = Color * texelFetch(Sampler2, UV2 / 16, 0);\n" +
|
||||
" gl_Position.y = gl_Position.y + sin(GameTime * 12000. + (gl_Position.x * 6)) / 150.;\n" +
|
||||
" } else if (Color.xyz == vec3(255., 255., 252.) / 255.) {\n" +
|
||||
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
|
||||
" vertexColor = ((.6 + .6 * cos(6. * (gl_Position.x + GameTime * 1000.) + vec4(0, 23, 21, 1))) + vec4(0., 0., 0., 1.)) * texelFetch(Sampler2, UV2 / 16, 0);\n" +
|
||||
" gl_Position.y = gl_Position.y + sin(GameTime*12000. + (gl_Position.x*6)) / 150.;\n" +
|
||||
" } else if (Color.xyz == vec3(255., 255., 251.) / 255.) {\n" +
|
||||
" vertexColor = Color * texelFetch(Sampler2, UV2 / 16, 0);\n" +
|
||||
" float vertexId = mod(gl_VertexID, 4.0);\n" +
|
||||
" if (vertex.z <= 0.) {\n" +
|
||||
" if (vertexId == 3. || vertexId == 0.) vertex.y += cos(GameTime * 12000. / 4) * 0.1;\n" +
|
||||
" vertex.y += max(cos(GameTime*12000. / 4) * 0.1, 0.);\n" +
|
||||
" } else {\n" +
|
||||
" if (vertexId == 3. || vertexId == 0.) vertex.y -= cos(GameTime * 12000. / 4) * 3;\n" +
|
||||
" vertex.y -= max(cos(GameTime*12000. / 4) * 4, 0.);\n" +
|
||||
" }\n" +
|
||||
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
|
||||
" } else if (Color.xyz == vec3(255., 254., 254.) / 255.) {\n" +
|
||||
" float vertexId = mod(gl_VertexID, 4.0);\n" +
|
||||
" if (vertex.z <= 0.) {\n" +
|
||||
" if (vertexId == 3. || vertexId == 0.) vertex.y += cos(GameTime * 12000. / 4) * 0.1;\n" +
|
||||
" vertex.y += max(cos(GameTime*12000. / 4) * 0.1, 0.);\n" +
|
||||
" } else {\n" +
|
||||
" if (vertexId == 3. || vertexId == 0.) vertex.y -= cos(GameTime * 12000. / 4) * 3;\n" +
|
||||
" vertex.y -= max(cos(GameTime*12000. / 4) * 4, 0.);\n" +
|
||||
" }\n" +
|
||||
" vertexColor = ((.6 + .6 * cos(6. * (gl_Position.x + GameTime * 1000.) + vec4(0, 23, 21, 1))) + vec4(0., 0., 0., 1.)) * texelFetch(Sampler2, UV2 / 16, 0);\n" +
|
||||
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
|
||||
" } else ")
|
||||
.replace("{IA}", !ConfigManager.iaShaderSupport ? "" :
|
||||
"if (Color.xyz == vec3(255., 255., 254.) / 255.) {\n" +
|
||||
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
|
||||
" vertexColor = ((.6 + .6 * cos(6. * (gl_Position.x + GameTime * 1000.) + vec4(0, 23, 21, 1))) + vec4(0., 0., 0., 1.)) * texelFetch(Sampler2, UV2 / 16, 0);\n" +
|
||||
" } else if(Color.xyz == vec3(255., 255., 253.) / 255.) {\n" +
|
||||
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
|
||||
" vertexColor = Color * texelFetch(Sampler2, UV2 / 16, 0);\n" +
|
||||
" gl_Position.y = gl_Position.y + sin(GameTime * 12000. + (gl_Position.x * 6)) / 150.;\n" +
|
||||
" } else if (Color.xyz == vec3(255., 255., 252.) / 255.) {\n" +
|
||||
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
|
||||
" vertexColor = ((.6 + .6 * cos(6. * (gl_Position.x + GameTime * 1000.) + vec4(0, 23, 21, 1))) + vec4(0., 0., 0., 1.)) * texelFetch(Sampler2, UV2 / 16, 0);\n" +
|
||||
" gl_Position.y = gl_Position.y + sin(GameTime*12000. + (gl_Position.x*6)) / 150.;\n" +
|
||||
" } else if (Color.xyz == vec3(255., 255., 251.) / 255.) {\n" +
|
||||
" vertexColor = Color * texelFetch(Sampler2, UV2 / 16, 0);\n" +
|
||||
" float vertexId = mod(gl_VertexID, 4.0);\n" +
|
||||
" if (vertex.z <= 0.) {\n" +
|
||||
" if (vertexId == 3. || vertexId == 0.) vertex.y += cos(GameTime * 12000. / 4) * 0.1;\n" +
|
||||
" vertex.y += max(cos(GameTime*12000. / 4) * 0.1, 0.);\n" +
|
||||
" } else {\n" +
|
||||
" if (vertexId == 3. || vertexId == 0.) vertex.y -= cos(GameTime * 12000. / 4) * 3;\n" +
|
||||
" vertex.y -= max(cos(GameTime*12000. / 4) * 4, 0.);\n" +
|
||||
" }\n" +
|
||||
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
|
||||
" } else if (Color.xyz == vec3(255., 254., 254.) / 255.) {\n" +
|
||||
" float vertexId = mod(gl_VertexID, 4.0);\n" +
|
||||
" if (vertex.z <= 0.) {\n" +
|
||||
" if (vertexId == 3. || vertexId == 0.) vertex.y += cos(GameTime * 12000. / 4) * 0.1;\n" +
|
||||
" vertex.y += max(cos(GameTime*12000. / 4) * 0.1, 0.);\n" +
|
||||
" } else {\n" +
|
||||
" if (vertexId == 3. || vertexId == 0.) vertex.y -= cos(GameTime * 12000. / 4) * 3;\n" +
|
||||
" vertex.y -= max(cos(GameTime*12000. / 4) * 4, 0.);\n" +
|
||||
" }\n" +
|
||||
" vertexColor = ((.6 + .6 * cos(6. * (gl_Position.x + GameTime * 1000.) + vec4(0, 23, 21, 1))) + vec4(0., 0., 0., 1.)) * texelFetch(Sampler2, UV2 / 16, 0);\n" +
|
||||
" gl_Position = ProjMat * ModelViewMat * vertex;\n" +
|
||||
" } else ")
|
||||
|
||||
);
|
||||
} catch (IOException e) {
|
||||
|
||||
@@ -166,8 +166,7 @@ public class NamedEntityImpl implements NamedEntity {
|
||||
for (Player viewer : asm.getNearbyPlayers()) {
|
||||
respawn(viewer);
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
refresh();
|
||||
}
|
||||
}
|
||||
@@ -242,21 +241,26 @@ public class NamedEntityImpl implements NamedEntity {
|
||||
private double getY() {
|
||||
Entity vehicle = owner.getVehicle();
|
||||
if (vehicle != null) {
|
||||
if (vehicle.getType() == EntityType.HORSE) {
|
||||
return vehicle.getLocation().getY() + 0.85;
|
||||
}
|
||||
if (vehicle.getType() == EntityType.DONKEY) {
|
||||
return vehicle.getLocation().getY() + 0.525;
|
||||
}
|
||||
if (vehicle.getType() == EntityType.PIG) {
|
||||
return vehicle.getLocation().getY() + 0.325;
|
||||
}
|
||||
if (vehicle.getType() == EntityType.STRIDER) {
|
||||
return vehicle.getLocation().getY() + 1.15;
|
||||
switch (vehicle.getType()) {
|
||||
case BOAT, CHEST_BOAT -> {
|
||||
return vehicle.getLocation().getY() - 0.325;
|
||||
}
|
||||
case HORSE -> {
|
||||
return vehicle.getLocation().getY() + 0.85;
|
||||
}
|
||||
case DONKEY -> {
|
||||
return vehicle.getLocation().getY() + 0.525;
|
||||
}
|
||||
case PIG -> {
|
||||
return vehicle.getLocation().getY() + 0.325;
|
||||
}
|
||||
case STRIDER -> {
|
||||
return vehicle.getLocation().getY() + 1.15;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (owner.getPose() == Pose.SWIMMING || owner.isGliding()) {
|
||||
return owner.getLocation().getY() - 1.22;
|
||||
return owner.getLocation().getY() - 1.25;
|
||||
}
|
||||
return owner.getLocation().getY();
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ public class VehicleChecker extends Function {
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
this.refresh(player);
|
||||
}
|
||||
},20,20);
|
||||
},4,4);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Armor_Stand / Text_Display (1.19.4+)
|
||||
mode: Text_Display
|
||||
mode: Armor_Stand
|
||||
|
||||
# Text display options
|
||||
text-display-options:
|
||||
@@ -40,7 +40,7 @@ line-spacing: 0.4
|
||||
bottom-line-Y-offset: 0.4
|
||||
|
||||
# Seconds
|
||||
# This decides how long will the chat hologram remains
|
||||
# This decides how long will the chat bubble remain
|
||||
# 气泡的停留时间
|
||||
stay-time: 8
|
||||
|
||||
@@ -52,6 +52,6 @@ characters-per-line: 30
|
||||
# 单次最大文字长度
|
||||
max-character-length: 100
|
||||
|
||||
# Cool Down
|
||||
# Cool down (seconds)
|
||||
# 发送冷却
|
||||
cool-down: 1
|
||||
Reference in New Issue
Block a user