From 064c46683f58fd8a981dd03c13cf92556a28656e Mon Sep 17 00:00:00 2001 From: Батьків Нестор-Євген Васильович Date: Tue, 26 Dec 2023 23:08:33 +0200 Subject: Add modes to tools (#2423) * Add tool modes change * Deprecate! Deprecate! Deprecate! * Add mode to item name * Opsie * Byte 8 bit * Add enum * Spotless * Types types types!!!! God I love types * Make it trigger when player clicks midair * update deps + fix wci --------- Co-authored-by: Martin Robertz --- src/main/java/gregtech/api/util/GT_Utility.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/main/java/gregtech/api/util') diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java index 13ce66ddbf..75451d9fdf 100644 --- a/src/main/java/gregtech/api/util/GT_Utility.java +++ b/src/main/java/gregtech/api/util/GT_Utility.java @@ -55,6 +55,7 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; @@ -88,7 +89,9 @@ import net.minecraft.util.ChatComponentText; import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraft.world.WorldServer; import net.minecraft.world.chunk.Chunk; @@ -4879,4 +4882,19 @@ public class GT_Utility { if (tFuel != null) return tFuel.mSpecialValue; return 0; } + + public static MovingObjectPosition getPlayerLookingTarget() { + // Basically copied from waila, thanks Caedis for such challenge + Minecraft mc = Minecraft.getMinecraft(); + EntityLivingBase viewpoint = mc.renderViewEntity; + if (viewpoint == null) return null; + + float reachDistance = mc.playerController.getBlockReachDistance(); + Vec3 posVec = viewpoint.getPosition(0); + Vec3 lookVec = viewpoint.getLook(0); + Vec3 modifiedPosVec = posVec + .addVector(lookVec.xCoord * reachDistance, lookVec.yCoord * reachDistance, lookVec.zCoord * reachDistance); + + return viewpoint.worldObj.rayTraceBlocks(posVec, modifiedPosVec); + } } -- cgit