aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/mixins/ClientWorldMixin.java
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2024-07-13 15:12:17 -0400
committerGitHub <noreply@github.com>2024-07-13 15:12:17 -0400
commitb9378e6f8c57fe811ee87dbcce0b328edd06489b (patch)
tree493a450a813ad1971685c186e62afac2515e6975 /src/main/java/de/hysky/skyblocker/mixins/ClientWorldMixin.java
parent66b1e05d468ea7a959e560b029eb1da908bc6caf (diff)
parent6be49ddc41c0ee9d574af9b84cfe0933f89eb162 (diff)
downloadSkyblocker-b9378e6f8c57fe811ee87dbcce0b328edd06489b.tar.gz
Skyblocker-b9378e6f8c57fe811ee87dbcce0b328edd06489b.tar.bz2
Skyblocker-b9378e6f8c57fe811ee87dbcce0b328edd06489b.zip
Merge pull request #724 from AzureAaron/simon-says
Simon Says Solver & Lights On Solver
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/mixins/ClientWorldMixin.java')
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/ClientWorldMixin.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixins/ClientWorldMixin.java b/src/main/java/de/hysky/skyblocker/mixins/ClientWorldMixin.java
index 6c10e5d2..a2d7887b 100644
--- a/src/main/java/de/hysky/skyblocker/mixins/ClientWorldMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixins/ClientWorldMixin.java
@@ -1,7 +1,7 @@
package de.hysky.skyblocker.mixins;
-
import de.hysky.skyblocker.skyblock.crimson.dojo.DojoManager;
+import de.hysky.skyblocker.skyblock.dungeon.device.SimonSays;
import de.hysky.skyblocker.utils.Utils;
import net.minecraft.block.BlockState;
import net.minecraft.client.world.ClientWorld;
@@ -11,13 +11,21 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+import com.llamalad7.mixinextras.sugar.Local;
+
@Mixin(ClientWorld.class)
public class ClientWorldMixin {
+ /**
+ * @implNote The {@code pos} can be mutable when this is called by chunk delta updates, so if you want to copy it into memory
+ * (e.g. store it in a field/list/map) make sure to duplicate it via {@link BlockPos#toImmutable()}.
+ */
@Inject(method = "handleBlockUpdate", at = @At("RETURN"))
- private void skyblocker$handleBlockUpdate(BlockPos pos, BlockState state, int flags, CallbackInfo ci) {
+ private void skyblocker$handleBlockUpdate(CallbackInfo ci, @Local(argsOnly = true) BlockPos pos, @Local(argsOnly = true) BlockState state) {
if (Utils.isInCrimson()) {
DojoManager.onBlockUpdate(pos.toImmutable(), state);
}
+
+ SimonSays.onBlockUpdate(pos, state);
}
}