aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/world
diff options
context:
space:
mode:
authoranhgelus <anhgelus.morhtuuzh@proton.me>2024-07-27 20:28:54 +0000
committeranhgelus <anhgelus.morhtuuzh@proton.me>2024-07-27 20:28:54 +0000
commitcc667fc18e5f76445bc347139a6d731418c781b1 (patch)
tree5a173d6612621e4d9e283e1041e5ffa3f48a09f4 /src/main/java/world
parent944acad6b3e253d95675bf76c5bce9c417f07ecb (diff)
fix(compass): not working
Thanks @Leo-210 for the help
Diffstat (limited to 'src/main/java/world')
-rw-r--r--src/main/java/world/anhgelus/manhunt/Manhunt.java3
-rw-r--r--src/main/java/world/anhgelus/manhunt/mixins/Tracker.java16
2 files changed, 19 insertions, 0 deletions
diff --git a/src/main/java/world/anhgelus/manhunt/Manhunt.java b/src/main/java/world/anhgelus/manhunt/Manhunt.java
index a059c90..5c712ca 100644
--- a/src/main/java/world/anhgelus/manhunt/Manhunt.java
+++ b/src/main/java/world/anhgelus/manhunt/Manhunt.java
@@ -160,6 +160,9 @@ public class Manhunt implements ModInitializer {
private void updateCompass(ServerPlayerEntity player, ServerPlayerEntity tracked) {
final var trackerCpnt = new LodestoneTrackerComponent(Optional.of(GlobalPos.create(tracked.getWorld().getRegistryKey(), tracked.getBlockPos())), true);
+ LOGGER.info(tracked.getWorld().getRegistryKey().toString());
+ LOGGER.info(tracked.getBlockPos().toString());
+ LOGGER.info(trackerCpnt.toString());
ItemStack is = null;
int slot = PlayerInventory.NOT_FOUND;
final var inv = player.getInventory();
diff --git a/src/main/java/world/anhgelus/manhunt/mixins/Tracker.java b/src/main/java/world/anhgelus/manhunt/mixins/Tracker.java
new file mode 100644
index 0000000..eaaa336
--- /dev/null
+++ b/src/main/java/world/anhgelus/manhunt/mixins/Tracker.java
@@ -0,0 +1,16 @@
+package world.anhgelus.manhunt.mixins;
+
+import net.minecraft.component.type.LodestoneTrackerComponent;
+import net.minecraft.server.world.ServerWorld;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
+
+@Mixin(LodestoneTrackerComponent.class)
+public class Tracker {
+ @Inject(method = "forWorld", at = @At("HEAD"), cancellable = true)
+ public void forWorld(ServerWorld world, CallbackInfoReturnable<LodestoneTrackerComponent> cir) {
+ cir.setReturnValue((LodestoneTrackerComponent) (Object) this);
+ }
+}