Skip to content

Commit 5e1cac6

Browse files
authored
Merge pull request #12 from Abbie5/jade-wthit
Add Jade and WTHIT plugins
2 parents 33d3eae + 4a3f066 commit 5e1cac6

File tree

7 files changed

+83
-1
lines changed

7 files changed

+83
-1
lines changed

build.gradle

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ repositories {
1414
mavenCentral()
1515
maven { url "https://maven.shedaniel.me/" }
1616
maven { url "https://maven.terraformersmc.com" }
17+
maven { url "https://api.modrinth.com/maven/" }
18+
maven { url "https://maven2.bai.lol" }
1719
}
1820

1921
dependencies {
@@ -27,6 +29,9 @@ dependencies {
2729

2830
// dependencies
2931
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
32+
33+
modCompileOnly "maven.modrinth:jade:${project.jade_version}"
34+
modCompileOnly "mcp.mobius.waila:wthit-api:fabric-${project.wthit_version}"
3035
}
3136

3237
processResources {

gradle.properties

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,7 @@ maven_group = de.dafuqs.revelationary
1212
archives_base_name = revelationary
1313

1414
# https://fabricmc.net/develop/
15-
fabric_version=0.90.0+1.20.1
15+
fabric_version=0.90.0+1.20.1
16+
17+
jade_version=QhvPNPdp
18+
wthit_version=8.5.0
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package de.dafuqs.revelationary.compat.jade;
2+
3+
import de.dafuqs.revelationary.api.revelations.RevelationAware;
4+
import net.minecraft.block.BlockState;
5+
import net.minecraft.entity.player.PlayerEntity;
6+
import snownee.jade.api.BlockAccessor;
7+
import snownee.jade.api.IWailaClientRegistration;
8+
import snownee.jade.api.IWailaPlugin;
9+
10+
public class RevelationaryJadePlugin implements IWailaPlugin {
11+
@Override
12+
public void registerClient(IWailaClientRegistration registration) {
13+
registration.addRayTraceCallback((hitResult, accessor, originalAccessor) -> {
14+
if (accessor instanceof BlockAccessor blockAccessor) {
15+
PlayerEntity player = accessor.getPlayer();
16+
if (player.isCreative() || player.isSpectator()) {
17+
return accessor;
18+
}
19+
20+
if (blockAccessor.getBlock() instanceof RevelationAware aware) {
21+
if (!aware.isVisibleTo(player)) {
22+
BlockState cloakedState = aware.getBlockStateCloaks().get(blockAccessor.getBlockState());
23+
return registration.blockAccessor().from(blockAccessor).blockState(cloakedState).build();
24+
}
25+
}
26+
}
27+
28+
return accessor;
29+
});
30+
}
31+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package de.dafuqs.revelationary.compat.wthit;
2+
3+
import de.dafuqs.revelationary.api.revelations.RevelationAware;
4+
import mcp.mobius.waila.api.IBlockAccessor;
5+
import mcp.mobius.waila.api.IBlockComponentProvider;
6+
import mcp.mobius.waila.api.IPluginConfig;
7+
import net.minecraft.block.BlockState;
8+
import net.minecraft.entity.player.PlayerEntity;
9+
import org.jetbrains.annotations.Nullable;
10+
11+
public class CloakedBlockComponentProvider implements IBlockComponentProvider {
12+
@Override
13+
public @Nullable BlockState getOverride(IBlockAccessor accessor, IPluginConfig config) {
14+
PlayerEntity player = accessor.getPlayer();
15+
16+
RevelationAware aware = (RevelationAware) accessor.getBlock();
17+
if (!aware.isVisibleTo(player)) {
18+
return aware.getBlockStateCloaks().get(accessor.getBlockState());
19+
}
20+
21+
return accessor.getBlockState();
22+
}
23+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package de.dafuqs.revelationary.compat.wthit;
2+
3+
import de.dafuqs.revelationary.api.revelations.RevelationAware;
4+
import mcp.mobius.waila.api.IRegistrar;
5+
import mcp.mobius.waila.api.IWailaPlugin;
6+
7+
public class RevelationaryWthitPlugin implements IWailaPlugin {
8+
@Override
9+
public void register(IRegistrar registrar) {
10+
registrar.addOverride(new CloakedBlockComponentProvider(), RevelationAware.class);
11+
}
12+
}

src/main/resources/fabric.mod.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
],
2222
"client": [
2323
"de.dafuqs.revelationary.RevelationaryClient"
24+
],
25+
"jade": [
26+
"de.dafuqs.revelationary.compat.jade.RevelationaryJadePlugin"
2427
]
2528
},
2629
"mixins": [

src/main/resources/wthit_plugins.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"revelationary:plugin": {
3+
"initializer": "de.dafuqs.revelationary.compat.wthit.RevelationaryWthitPlugin"
4+
}
5+
}

0 commit comments

Comments
 (0)