From 88f5ff3db5b32a6229ad5f573af197a90baa01f9 Mon Sep 17 00:00:00 2001 From: Lyfts <127234178+Lyfts@users.noreply.github.com> Date: Wed, 8 Apr 2026 17:38:39 +0200 Subject: [PATCH 1/2] fix hang glider not usable from offhand --- .../openblocks/common/entity/EntityHangGlider.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/openblocks/common/entity/EntityHangGlider.java b/src/main/java/openblocks/common/entity/EntityHangGlider.java index 286e59f48..4a8c96d58 100644 --- a/src/main/java/openblocks/common/entity/EntityHangGlider.java +++ b/src/main/java/openblocks/common/entity/EntityHangGlider.java @@ -13,6 +13,7 @@ import net.minecraft.world.World; import net.minecraft.world.gen.NoiseGeneratorPerlin; +import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -23,6 +24,7 @@ import openblocks.common.item.ItemHangGlider; import openmods.Log; import openmods.OpenMods; +import xonin.backhand.api.core.BackhandUtils; public class EntityHangGlider extends Entity implements IEntityAdditionalSpawnData { @@ -47,6 +49,8 @@ public class EntityHangGlider extends Entity implements IEntityAdditionalSpawnDa private static final int PROPERTY_DEPLOYED = 17; + private static final boolean isBackhandLoaded = Loader.isModLoaded("backhand"); + private static Map gliderMap = new HashMap<>(); private IVarioController varioControl = IVarioController.NULL; @@ -69,10 +73,16 @@ private static boolean isGliderValid(EntityPlayer player, EntityHangGlider glide if (player == null || player.isDead || glider == null || glider.isDead) return false; ItemStack held = player.getHeldItem(); + if (isBackhandLoaded) { + ItemStack offhand = BackhandUtils.getOffhandItem(player); + if (offhand != null && offhand.getItem() instanceof ItemHangGlider) { + held = offhand; + } + } + if (held == null || !(held.getItem() instanceof ItemHangGlider)) return false; if (player.isRiding()) return false; - if (player.worldObj.provider.dimensionId != glider.worldObj.provider.dimensionId) return false; - return true; + return player.worldObj.provider.dimensionId == glider.worldObj.provider.dimensionId; } @SideOnly(Side.CLIENT) From 29c23540021532984ca78b66d11fd349cbb29fde Mon Sep 17 00:00:00 2001 From: Lyfts <127234178+Lyfts@users.noreply.github.com> Date: Wed, 8 Apr 2026 17:42:05 +0200 Subject: [PATCH 2/2] forgot deps lol --- dependencies.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/dependencies.gradle b/dependencies.gradle index fa562b15b..f1681b102 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -7,4 +7,5 @@ dependencies { compileOnly('openperipheral:OpenPeripheralCore-API:3.4.1') compileOnly('curse.maven:computercraft-67504:2269339') compileOnly('com.github.GTNewHorizons:Mobs-Info:0.5.10-GTNH:dev') + compileOnly("com.github.GTNewHorizons:Backhand:1.8.8:dev") { transitive = false } }