diff --git a/src/main/java/io/ib67/sfcraft/module/ElytraSpeedMeterModule.java b/src/main/java/io/ib67/sfcraft/module/ElytraSpeedMeterModule.java index 7695115..7e9517a 100644 --- a/src/main/java/io/ib67/sfcraft/module/ElytraSpeedMeterModule.java +++ b/src/main/java/io/ib67/sfcraft/module/ElytraSpeedMeterModule.java @@ -60,6 +60,7 @@ public class ElytraSpeedMeterModule extends ServerModule { if (b) { var text = Text.literal(""); text.append(generateDurabilityMeter(f, player)); + text.append(genPitchMeter(player.getPitch())); player.sendMessage(text, true); } else { clean((ServerPlayerEntity) player); @@ -72,6 +73,20 @@ public class ElytraSpeedMeterModule extends ServerModule { } } + private Text genPitchMeter(float pitch) { + MutableText text; + var display = (Math.ceil(Math.abs(pitch) * 100) / 100); + if (pitch < 0) { // 朝上 + text = Text.literal(" 🡹 " + display + "°"); + } else { + text = Text.literal(" 🡻 " + display + "°"); + } + if (pitch > 75) { + text.withColor(Colors.LIGHT_RED); + } + return text; + } + private Text generateDurabilityMeter(long f, PlayerEntity player) { var stack = player.getInventory().getArmorStack(PlayerInventory.ARMOR_SLOTS[2]); if (stack.isDamageable() && stack.isDamaged()) { @@ -79,7 +94,7 @@ public class ElytraSpeedMeterModule extends ServerModule { var percent = (int) Math.ceil(((double) remaining / stack.getMaxDamage()) * 100); return ELYTRA_DURABILITY[Math.max(percent - 1, 0)]; } - return Text.literal(" ELYTRA: INFINITY").withColor(Colors.BLUE); + return Text.literal("ELYTRA: INFINITY").withColor(Colors.BLUE); } private static int getDamageColor(int percent) { diff --git a/src/main/java/io/ib67/sfcraft/module/command/BackModule.java b/src/main/java/io/ib67/sfcraft/module/command/BackModule.java index aebfb7d..4710f67 100644 --- a/src/main/java/io/ib67/sfcraft/module/command/BackModule.java +++ b/src/main/java/io/ib67/sfcraft/module/command/BackModule.java @@ -39,7 +39,7 @@ public class BackModule extends ServerModule { var wld = player.server.getWorld(pos.dimension()); var _pos = pos.pos(); if (wld == null) return 0; - var nearby = wld.getClosestPlayer(_pos.getX(), _pos.getY(), _pos.getZ(), 20, true); + var nearby = wld.getClosestPlayer(_pos.getX(), _pos.getY(), _pos.getZ(), 100, true); if (nearby != null) { _pos = nearby.getBlockPos(); Helper.teleportSafely(player, wld, _pos.getX(), _pos.getY(), _pos.getZ(),0,0); diff --git a/src/main/java/io/ib67/sfcraft/module/compat/ModCompatModule.java b/src/main/java/io/ib67/sfcraft/module/compat/ModCompatModule.java index f962990..358764a 100644 --- a/src/main/java/io/ib67/sfcraft/module/compat/ModCompatModule.java +++ b/src/main/java/io/ib67/sfcraft/module/compat/ModCompatModule.java @@ -1,14 +1,6 @@ package io.ib67.sfcraft.module.compat; -import io.ib67.sfcraft.SFEntityType; import io.ib67.sfcraft.ServerModule; -import io.ib67.sfcraft.entity.SFGuiderEntity; -import net.fabricmc.fabric.api.entity.event.v1.ServerPlayerEvents; -import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents; -import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents; -import net.minecraft.entity.Entity; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.world.ServerWorld; public class ModCompatModule extends ServerModule { @Override diff --git a/src/main/java/io/ib67/sfcraft/util/Helper.java b/src/main/java/io/ib67/sfcraft/util/Helper.java index b8cfdf2..9d4eb1b 100644 --- a/src/main/java/io/ib67/sfcraft/util/Helper.java +++ b/src/main/java/io/ib67/sfcraft/util/Helper.java @@ -35,7 +35,7 @@ public class Helper { var wld = player.server.getWorld(pos.dimension()); var _pos = pos.pos(); if (wld == null) return false; - var nearby = wld.getClosestPlayer(_pos.getX(), _pos.getY(), _pos.getZ(), 20, true); + var nearby = wld.getClosestPlayer(_pos.getX(), _pos.getY(), _pos.getZ(), 100, true); return nearby != null; }