Compare commits

..

2 Commits

Author SHA1 Message Date
M2ke4U
4825d8cb94 Fix visible issue in tpsbar 2023-11-28 20:20:13 +08:00
M2ke4U
025f90a764 Rework and fix spector teleportation fix 2023-11-27 21:13:13 +08:00
2 changed files with 31 additions and 38 deletions

View File

@@ -109,7 +109,7 @@ index 0000000000000000000000000000000000000000..3f74f748501d2f915869e9077dd2f220
+}
diff --git a/src/main/java/me/earthme/luminol/functions/GlobalServerTpsBar.java b/src/main/java/me/earthme/luminol/functions/GlobalServerTpsBar.java
new file mode 100644
index 0000000000000000000000000000000000000000..1b97730810895a1a049e8942dc47c20cd750d14c
index 0000000000000000000000000000000000000000..98505b8ba09b93534eaa1b400d0c244ecb66e0ea
--- /dev/null
+++ b/src/main/java/me/earthme/luminol/functions/GlobalServerTpsBar.java
@@ -0,0 +1,206 @@
@@ -188,7 +188,7 @@ index 0000000000000000000000000000000000000000..1b97730810895a1a049e8942dc47c20c
+
+ for (Player player : Bukkit.getOnlinePlayers()){
+ if (player.getUniqueId() == uuid){
+ shouldRemove = false;
+ shouldRemove = !isPlayerVisible(player);
+ break;
+ }
+ }
@@ -216,7 +216,7 @@ index 0000000000000000000000000000000000000000..1b97730810895a1a049e8942dc47c20c
+
+ BossBar targetBossbar = uuid2Bossbars.get(nmsPlayer.getUUID());
+
+ if (targetBossbar == null && !visibleExclude.contains(nmsPlayer.getUUID())){
+ if (targetBossbar == null && !visibleExclude.contains(nmsPlayer.getUUID()) && isPlayerVisible(apiPlayer)){
+ targetBossbar = BossBar.bossBar(Component.text(""),0.0F, BossBar.Color.valueOf(LuminolConfig.tpsColors[3]), BossBar.Overlay.NOTCHED_20);
+ uuid2Bossbars.put(nmsPlayer.getUUID(),targetBossbar);
+ apiPlayer.showBossBar(targetBossbar);

View File

@@ -25,7 +25,7 @@ index d032786938db9725e1be72dae63a1387bcb69d79..08536bd5bbea3a9bb9d4c6212d361570
if (tpsbarEnabled){
initTpsbar();
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 97bfb92e52c3c5ef1cd22afe2b97c204eb45025a..d0ceec72b56741b35cc090e7c9d2c642b8709449 100644
index 97bfb92e52c3c5ef1cd22afe2b97c204eb45025a..710e87e388095f28af4983a04cb89ddb6be61986 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -18,6 +18,9 @@ import java.util.Optional;
@@ -38,22 +38,41 @@ index 97bfb92e52c3c5ef1cd22afe2b97c204eb45025a..d0ceec72b56741b35cc090e7c9d2c642
import net.minecraft.BlockUtil;
import net.minecraft.ChatFormatting;
import net.minecraft.CrashReport;
@@ -835,26 +838,54 @@ public class ServerPlayer extends Player {
@@ -835,18 +838,7 @@ public class ServerPlayer extends Player {
Entity entity = this.getCamera();
+ boolean shouldTickRemainingThisThread = true;//Luminol - Fix spector camera
if (entity != this) {
if (entity.isAlive()) {
- if (entity != this) {
- if (entity.isAlive()) {
- this.absMoveTo(entity.getX(), entity.getY(), entity.getZ(), entity.getYRot(), entity.getXRot());
- this.serverLevel().getChunkSource().move(this);
- if (this.wantsToStopRiding()) {
- this.setCamera(this);
- }
- } else {
- this.setCamera(this);
- }
- }
-
+ //Luminol - move up
CriteriaTriggers.TICK.trigger(this);
if (this.levitationStartPos != null) {
CriteriaTriggers.LEVITATION.trigger(this, this.levitationStartPos, this.tickCount - this.levitationStartTime);
@@ -855,6 +847,38 @@ public class ServerPlayer extends Player {
this.trackStartFallingPosition();
this.trackEnteredOrExitedLavaOnVehicle();
this.advancements.flushDirty(this);
+
+ if (entity != this) {
+ if (entity.isAlive()) {
+ //Luminol start - Fix spector camera
+ if (TickThread.isTickThreadFor(entity) || !LuminolConfig.fixSpectorTeleportFolia){
+ this.absMoveTo(entity.getX(), entity.getY(), entity.getZ(), entity.getYRot(), entity.getXRot());
+ this.serverLevel().getChunkSource().move(this);
+ if (this.wantsToStopRiding()) {
+ this.setCamera(this);
+ }
+ }else{
+ shouldTickRemainingThisThread = false;
+ this.teleportAsync(
+ ((ServerLevel) entity.level()),
+ entity.position,
@@ -67,39 +86,13 @@ index 97bfb92e52c3c5ef1cd22afe2b97c204eb45025a..d0ceec72b56741b35cc090e7c9d2c642
+ if (this.wantsToStopRiding()) {
+ this.setCamera(this);
+ }
+ CriteriaTriggers.TICK.trigger(this);
+ if (this.levitationStartPos != null) {
+ CriteriaTriggers.LEVITATION.trigger(this, this.levitationStartPos, this.tickCount - this.levitationStartTime);
+ }
+
+ this.trackStartFallingPosition();
+ this.trackEnteredOrExitedLavaOnVehicle();
+ this.advancements.flushDirty(this);
+ }
+ );
}
+ }
+ //Luminol end
} else {
this.setCamera(this);
}
}
- CriteriaTriggers.TICK.trigger(this);
- if (this.levitationStartPos != null) {
- CriteriaTriggers.LEVITATION.trigger(this, this.levitationStartPos, this.tickCount - this.levitationStartTime);
- }
+ if (shouldTickRemainingThisThread){ //Luminol - Fix spector camera
+ CriteriaTriggers.TICK.trigger(this);
+ if (this.levitationStartPos != null) {
+ CriteriaTriggers.LEVITATION.trigger(this, this.levitationStartPos, this.tickCount - this.levitationStartTime);
+ } else {
+ this.setCamera(this);
+ }
- this.trackStartFallingPosition();
- this.trackEnteredOrExitedLavaOnVehicle();
- this.advancements.flushDirty(this);
+ this.trackStartFallingPosition();
+ this.trackEnteredOrExitedLavaOnVehicle();
+ this.advancements.flushDirty(this);
+ }
}