aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/anthonyhilyard/iceberg/mixin
diff options
context:
space:
mode:
authorAnthony Hilyard <anthony.hilyard@gmail.com>2023-04-09 13:21:56 -0700
committerAnthony Hilyard <anthony.hilyard@gmail.com>2023-04-09 13:21:56 -0700
commitde97dac7b449909e46db843aa4e65ccdcc9eb9ff (patch)
treec20d8bfd38a50a801b32e1cc14350d163c77c360 /src/main/java/com/anthonyhilyard/iceberg/mixin
parenta47883e3693071a394d9e08ff79357cc17048162 (diff)
downloadIceberg-de97dac7b449909e46db843aa4e65ccdcc9eb9ff.tar.gz
Iceberg-de97dac7b449909e46db843aa4e65ccdcc9eb9ff.tar.bz2
Iceberg-de97dac7b449909e46db843aa4e65ccdcc9eb9ff.zip
Ported latest changes from Forge 1.1.6.
Diffstat (limited to 'src/main/java/com/anthonyhilyard/iceberg/mixin')
-rw-r--r--src/main/java/com/anthonyhilyard/iceberg/mixin/ItemMixin.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/java/com/anthonyhilyard/iceberg/mixin/ItemMixin.java b/src/main/java/com/anthonyhilyard/iceberg/mixin/ItemMixin.java
new file mode 100644
index 0000000..75b8ec3
--- /dev/null
+++ b/src/main/java/com/anthonyhilyard/iceberg/mixin/ItemMixin.java
@@ -0,0 +1,31 @@
+package com.anthonyhilyard.iceberg.mixin;
+
+import com.anthonyhilyard.iceberg.util.EntityCollector;
+
+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;
+import net.minecraft.core.BlockPos;
+import net.minecraft.core.Direction;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.item.Item;
+import net.minecraft.world.level.ClipContext;
+import net.minecraft.world.level.Level;
+import net.minecraft.world.phys.BlockHitResult;
+import net.minecraft.world.phys.HitResult;
+import net.minecraft.world.phys.Vec3;
+
+@Mixin(value = Item.class, priority = 100)
+public class ItemMixin
+{
+ @Inject(method = "getPlayerPOVHitResult", at = @At(value = "HEAD"), cancellable = true)
+ private static void icebergGetPlayerPOVHitResult(Level level, Player player, ClipContext.Fluid clipContext, CallbackInfoReturnable<HitResult> info)
+ {
+ // If the level is an entity collector, always return a valid hit result.
+ if (level instanceof EntityCollector)
+ {
+ info.setReturnValue(new BlockHitResult(Vec3.ZERO, Direction.DOWN, BlockPos.ZERO, false));
+ }
+ }
+}