diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-07-13 15:12:17 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-13 15:12:17 -0400 |
commit | b9378e6f8c57fe811ee87dbcce0b328edd06489b (patch) | |
tree | 493a450a813ad1971685c186e62afac2515e6975 /src/main/java/de/hysky/skyblocker/mixins | |
parent | 66b1e05d468ea7a959e560b029eb1da908bc6caf (diff) | |
parent | 6be49ddc41c0ee9d574af9b84cfe0933f89eb162 (diff) | |
download | Skyblocker-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')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/mixins/ClientWorldMixin.java | 12 |
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); } } |