Skip to content

Commit

Permalink
Merge pull request #12 from Abbie5/jade-wthit
Browse files Browse the repository at this point in the history
Add Jade and WTHIT plugins
  • Loading branch information
DaFuqs authored Jan 29, 2024
2 parents 33d3eae + 4a3f066 commit 5e1cac6
Show file tree
Hide file tree
Showing 7 changed files with 83 additions and 1 deletion.
5 changes: 5 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ repositories {
mavenCentral()
maven { url "https://maven.shedaniel.me/" }
maven { url "https://maven.terraformersmc.com" }
maven { url "https://api.modrinth.com/maven/" }
maven { url "https://maven2.bai.lol" }
}

dependencies {
Expand All @@ -27,6 +29,9 @@ dependencies {

// dependencies
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"

modCompileOnly "maven.modrinth:jade:${project.jade_version}"
modCompileOnly "mcp.mobius.waila:wthit-api:fabric-${project.wthit_version}"
}

processResources {
Expand Down
5 changes: 4 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,7 @@ maven_group = de.dafuqs.revelationary
archives_base_name = revelationary

# https://fabricmc.net/develop/
fabric_version=0.90.0+1.20.1
fabric_version=0.90.0+1.20.1

jade_version=QhvPNPdp
wthit_version=8.5.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package de.dafuqs.revelationary.compat.jade;

import de.dafuqs.revelationary.api.revelations.RevelationAware;
import net.minecraft.block.BlockState;
import net.minecraft.entity.player.PlayerEntity;
import snownee.jade.api.BlockAccessor;
import snownee.jade.api.IWailaClientRegistration;
import snownee.jade.api.IWailaPlugin;

public class RevelationaryJadePlugin implements IWailaPlugin {
@Override
public void registerClient(IWailaClientRegistration registration) {
registration.addRayTraceCallback((hitResult, accessor, originalAccessor) -> {
if (accessor instanceof BlockAccessor blockAccessor) {
PlayerEntity player = accessor.getPlayer();
if (player.isCreative() || player.isSpectator()) {
return accessor;
}

if (blockAccessor.getBlock() instanceof RevelationAware aware) {
if (!aware.isVisibleTo(player)) {
BlockState cloakedState = aware.getBlockStateCloaks().get(blockAccessor.getBlockState());
return registration.blockAccessor().from(blockAccessor).blockState(cloakedState).build();
}
}
}

return accessor;
});
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package de.dafuqs.revelationary.compat.wthit;

import de.dafuqs.revelationary.api.revelations.RevelationAware;
import mcp.mobius.waila.api.IBlockAccessor;
import mcp.mobius.waila.api.IBlockComponentProvider;
import mcp.mobius.waila.api.IPluginConfig;
import net.minecraft.block.BlockState;
import net.minecraft.entity.player.PlayerEntity;
import org.jetbrains.annotations.Nullable;

public class CloakedBlockComponentProvider implements IBlockComponentProvider {
@Override
public @Nullable BlockState getOverride(IBlockAccessor accessor, IPluginConfig config) {
PlayerEntity player = accessor.getPlayer();

RevelationAware aware = (RevelationAware) accessor.getBlock();
if (!aware.isVisibleTo(player)) {
return aware.getBlockStateCloaks().get(accessor.getBlockState());
}

return accessor.getBlockState();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package de.dafuqs.revelationary.compat.wthit;

import de.dafuqs.revelationary.api.revelations.RevelationAware;
import mcp.mobius.waila.api.IRegistrar;
import mcp.mobius.waila.api.IWailaPlugin;

public class RevelationaryWthitPlugin implements IWailaPlugin {
@Override
public void register(IRegistrar registrar) {
registrar.addOverride(new CloakedBlockComponentProvider(), RevelationAware.class);
}
}
3 changes: 3 additions & 0 deletions src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
],
"client": [
"de.dafuqs.revelationary.RevelationaryClient"
],
"jade": [
"de.dafuqs.revelationary.compat.jade.RevelationaryJadePlugin"
]
},
"mixins": [
Expand Down
5 changes: 5 additions & 0 deletions src/main/resources/wthit_plugins.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"revelationary:plugin": {
"initializer": "de.dafuqs.revelationary.compat.wthit.RevelationaryWthitPlugin"
}
}

0 comments on commit 5e1cac6

Please sign in to comment.