Mirror von
https://github.com/ViaVersion/ViaVersion.git
synchronisiert 2024-12-27 08:30:09 +01:00
Make bossbar patch a configurable option
Dieser Commit ist enthalten in:
Ursprung
1bf1e8981c
Commit
83518b92fe
@ -236,6 +236,10 @@ public class ViaVersionPlugin extends JavaPlugin implements ViaVersionAPI {
|
|||||||
return getConfig().getBoolean("hologram-patch", false);
|
return getConfig().getBoolean("hologram-patch", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isBossbarPatch() {
|
||||||
|
return getConfig().getBoolean("bossbar-patch", true);
|
||||||
|
}
|
||||||
|
|
||||||
public double getHologramYOffset() {
|
public double getHologramYOffset() {
|
||||||
return getConfig().getDouble("hologram-y", -1D);
|
return getConfig().getDouble("hologram-y", -1D);
|
||||||
}
|
}
|
||||||
|
@ -896,14 +896,14 @@ public class OutgoingTransformer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Add config option
|
|
||||||
// Boss bar
|
// Boss bar
|
||||||
if(type == EntityType.ENDER_DRAGON || type == EntityType.WITHER) {
|
if(plugin.isBossbarPatch()) {
|
||||||
if(entry.getOldID() == 2) {
|
if (type == EntityType.ENDER_DRAGON || type == EntityType.WITHER) {
|
||||||
|
if (entry.getOldID() == 2) {
|
||||||
BossBar bar = bossBarMap.get(entityID);
|
BossBar bar = bossBarMap.get(entityID);
|
||||||
String title = (String) entry.getValue();
|
String title = (String) entry.getValue();
|
||||||
title = title.isEmpty() ? (type == EntityType.ENDER_DRAGON ? "Ender Dragon" : "Wither") : title;
|
title = title.isEmpty() ? (type == EntityType.ENDER_DRAGON ? "Ender Dragon" : "Wither") : title;
|
||||||
if(bar == null) {
|
if (bar == null) {
|
||||||
bar = ViaVersion.getInstance().createBossBar(title, BossColor.PURPLE, BossStyle.SOLID);
|
bar = ViaVersion.getInstance().createBossBar(title, BossColor.PURPLE, BossStyle.SOLID);
|
||||||
bossBarMap.put(entityID, bar);
|
bossBarMap.put(entityID, bar);
|
||||||
bar.addPlayer(info.getPlayer());
|
bar.addPlayer(info.getPlayer());
|
||||||
@ -911,13 +911,13 @@ public class OutgoingTransformer {
|
|||||||
} else {
|
} else {
|
||||||
bar.setTitle((String) entry.getValue());
|
bar.setTitle((String) entry.getValue());
|
||||||
}
|
}
|
||||||
} else if(entry.getOldID() == 6) {
|
} else if (entry.getOldID() == 6) {
|
||||||
BossBar bar = bossBarMap.get(entityID);
|
BossBar bar = bossBarMap.get(entityID);
|
||||||
// Make health range between 0 and 1
|
// Make health range between 0 and 1
|
||||||
float maxHealth = type == EntityType.ENDER_DRAGON ? 200.0f : 300.0f;
|
float maxHealth = type == EntityType.ENDER_DRAGON ? 200.0f : 300.0f;
|
||||||
float health = Math.max(0.0f, Math.min(((float) entry.getValue()) / maxHealth, 1.0f));
|
float health = Math.max(0.0f, Math.min(((float) entry.getValue()) / maxHealth, 1.0f));
|
||||||
System.out.println(health + " " + entry.getValue());
|
System.out.println(health + " " + entry.getValue());
|
||||||
if(bar == null) {
|
if (bar == null) {
|
||||||
String title = type == EntityType.ENDER_DRAGON ? "Ender Dragon" : "Wither";
|
String title = type == EntityType.ENDER_DRAGON ? "Ender Dragon" : "Wither";
|
||||||
bar = ViaVersion.getInstance().createBossBar(title, health, BossColor.PURPLE, BossStyle.SOLID);
|
bar = ViaVersion.getInstance().createBossBar(title, health, BossColor.PURPLE, BossStyle.SOLID);
|
||||||
bossBarMap.put(entityID, bar);
|
bossBarMap.put(entityID, bar);
|
||||||
@ -929,6 +929,7 @@ public class OutgoingTransformer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private UUID getUUID(int id) {
|
private UUID getUUID(int id) {
|
||||||
|
@ -19,3 +19,5 @@ hologram-patch: false
|
|||||||
hologram-y: -1
|
hologram-y: -1
|
||||||
# Enable player tick simulation, this fixes eating, drinking, nether portals.
|
# Enable player tick simulation, this fixes eating, drinking, nether portals.
|
||||||
simulate-pt: true
|
simulate-pt: true
|
||||||
|
# Should we patch boss bars so they work? (Default: true, disable if you're having issues)
|
||||||
|
bossbar-patch: true
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren