Skip to content

Commit 4a88c98

Browse files
committed
Add integration for Origins mod climbing power
1 parent d2f6698 commit 4a88c98

File tree

4 files changed

+36
-1
lines changed

4 files changed

+36
-1
lines changed

build.gradle

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,18 @@ allprojects {
133133
}
134134
}
135135

136+
exclusiveContent {
137+
forRepository {
138+
maven {
139+
name = "quiltmc"
140+
url = "https://maven.quiltmc.org/repository/release"
141+
}
142+
}
143+
filter {
144+
includeGroup "org.quiltmc.parsers"
145+
}
146+
}
147+
136148
exclusiveContent {
137149
forRepository {
138150
ivy {

common/build.gradle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ dependencies {
4545
transitive(false)
4646
}
4747

48+
// for origins compat
49+
modCompileOnlyApi "com.github.apace100:apoli:2.9.0"
50+
4851
// needed dependencies
4952
compileOnly("com.google.code.findbugs:jsr305:3.0.2")
5053
compileOnly('com.electronwill.night-config:toml:3.6.6')

common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/ClimbTracker.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.vivecraft.client_vr.gameplay.VRPlayer;
2525
import org.vivecraft.client_vr.provider.ControllerType;
2626
import org.vivecraft.common.network.CommonNetworkHelper;
27+
import org.vivecraft.mod_compat_vr.origins.OriginsHelper;
2728

2829
import java.util.*;
2930

@@ -113,7 +114,7 @@ public boolean isClimbeyClimb() {
113114
}
114115

115116
public boolean isClimbeyClimbEquipped() {
116-
return ClientNetworking.serverAllowsClimbey && ((PlayerExtension) this.mc.player).vivecraft$isClimbeyClimbEquipped();
117+
return ClientNetworking.serverAllowsClimbey && (((PlayerExtension) this.mc.player).vivecraft$isClimbeyClimbEquipped() || (OriginsHelper.isLoaded() && OriginsHelper.hasClimbingPower(this.mc.player)));
117118
}
118119

119120
private boolean canstand(BlockPos bp, LocalPlayer p) {
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.vivecraft.mod_compat_vr.origins;
2+
3+
import java.util.List;
4+
5+
import org.vivecraft.client.Xplat;
6+
import io.github.apace100.apoli.component.PowerHolderComponent;
7+
import io.github.apace100.apoli.power.ClimbingPower;
8+
import net.minecraft.world.entity.LivingEntity;
9+
10+
public class OriginsHelper {
11+
public static boolean isLoaded() {
12+
return Xplat.isModLoaded("origins");
13+
}
14+
15+
public static boolean hasClimbingPower(LivingEntity entity) {
16+
List<ClimbingPower> powers = PowerHolderComponent.KEY.get(entity).getPowers(ClimbingPower.class, true);
17+
return !powers.isEmpty();
18+
}
19+
}

0 commit comments

Comments
 (0)