diff options
| author | anhgelus <anhgelus.morhtuuzh@proton.me> | 2024-07-27 20:28:54 +0000 |
|---|---|---|
| committer | anhgelus <anhgelus.morhtuuzh@proton.me> | 2024-07-27 20:28:54 +0000 |
| commit | cc667fc18e5f76445bc347139a6d731418c781b1 (patch) | |
| tree | 5a173d6612621e4d9e283e1041e5ffa3f48a09f4 /src/main | |
| parent | 944acad6b3e253d95675bf76c5bce9c417f07ecb (diff) | |
fix(compass): not working
Thanks @Leo-210 for the help
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/world/anhgelus/manhunt/Manhunt.java | 3 | ||||
| -rw-r--r-- | src/main/java/world/anhgelus/manhunt/mixins/Tracker.java | 16 | ||||
| -rw-r--r-- | src/main/resources/fabric.mod.json | 3 | ||||
| -rw-r--r-- | src/main/resources/manhunt.mixins.json | 11 |
4 files changed, 33 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);
+ }
+}
diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index b097ea1..d20a285 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -18,6 +18,9 @@ "world.anhgelus.manhunt.Manhunt"
]
},
+ "mixins": [
+ "manhunt.mixins.json"
+ ],
"depends": {
"fabricloader": ">=0.15.11",
"minecraft": "~1.21",
diff --git a/src/main/resources/manhunt.mixins.json b/src/main/resources/manhunt.mixins.json new file mode 100644 index 0000000..994072c --- /dev/null +++ b/src/main/resources/manhunt.mixins.json @@ -0,0 +1,11 @@ +{
+ "required": true,
+ "package": "world.anhgelus.manhunt.mixins",
+ "compatibilityLevel": "JAVA_21",
+ "mixins": [
+ "Tracker"
+ ],
+ "injectors": {
+ "defaultRequire": 1
+ }
+}
\ No newline at end of file |
