aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kubatech/mixin
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kubatech/mixin')
-rw-r--r--src/main/java/kubatech/mixin/Mixin.java3
-rw-r--r--src/main/java/kubatech/mixin/mixins/minecraft/WorldMixin.java21
2 files changed, 23 insertions, 1 deletions
diff --git a/src/main/java/kubatech/mixin/Mixin.java b/src/main/java/kubatech/mixin/Mixin.java
index 01bb73089a..2a3259ef60 100644
--- a/src/main/java/kubatech/mixin/Mixin.java
+++ b/src/main/java/kubatech/mixin/Mixin.java
@@ -9,7 +9,8 @@ import java.util.List;
public enum Mixin {
// Minecraft
- EnchantmentHelperMixin("minecraft.EnchantmentHelperMixin", VANILLA);
+ EnchantmentHelperMixin("minecraft.EnchantmentHelperMixin", VANILLA),
+ WorldMixin("minecraft.WorldMixin", VANILLA);
public final String mixinClass;
public final List<TargetedMod> targetedMods;
diff --git a/src/main/java/kubatech/mixin/mixins/minecraft/WorldMixin.java b/src/main/java/kubatech/mixin/mixins/minecraft/WorldMixin.java
new file mode 100644
index 0000000000..320917c694
--- /dev/null
+++ b/src/main/java/kubatech/mixin/mixins/minecraft/WorldMixin.java
@@ -0,0 +1,21 @@
+package kubatech.mixin.mixins.minecraft;
+
+import kubatech.loaders.BlockLoader;
+import net.minecraft.block.Block;
+import net.minecraft.world.World;
+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;
+
+@SuppressWarnings("unused")
+@Mixin(value = World.class)
+public class WorldMixin {
+
+ @SuppressWarnings("ConstantConditions")
+ @Inject(method = "getBlock", at = @At("RETURN"), require = 1)
+ private void getBlockDetector(int x, int y, int z, CallbackInfoReturnable<Block> callbackInfoReturnable) {
+ if (callbackInfoReturnable.getReturnValue() == BlockLoader.kubaBlock)
+ BlockLoader.kubaBlock.setLastBlockAccess((World) (Object) this, x, y, z);
+ }
+}