Skip to content

Commit

Permalink
Remove builtin energy and fluid rendering in WTHIT for Mekanism block…
Browse files Browse the repository at this point in the history
…s as we handle it ourselves #7837
  • Loading branch information
pupnewfster committed Aug 9, 2023
1 parent d3694cf commit d7fc135
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 3 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Expand Up @@ -43,7 +43,7 @@ idea {
ext {
versionProperties = ["version" : mod_version, "mc_version": minecraft_version_range, "forge_version": forge_version_range,
"loader_version": loader_version_range, "crafttweaker_version": crafttweaker_version_range, "curios_version": curios_version_range,
"jei_version": jei_version_range, "json_things_version": json_things_version_range]
"jei_version": jei_version_range, "json_things_version": json_things_version_range, "wthit_version": wthit_version_range]
jsonPatterns = ["**/*.json", "**/*.mcmeta"]
secondaryModules = ['additions', 'defense', 'generators', 'tools']
extraTypes = ['datagen', 'gameTest']
Expand Down
5 changes: 4 additions & 1 deletion gradle.properties
Expand Up @@ -35,13 +35,16 @@ jei_version=15.2.0.22
json_things_version=0.9.0
top_version=1.20.1-10.0.1-3
wildfire_gender_mod_id=4603538
wthit_version=8.1.1
wthit_version=8.3.0

#Mod dependency min version ranges
crafttweaker_version_range=[14.0.7,)
curios_version_range=[1.19-5.1.0.0,)
jei_version_range=[15.2.0.20,)

#Mod dependency min version ranges until next MC version. For deps that we need a min version of but otherwise don't have to force ourselves loading after
json_things_version_range=[0.9.0,)
wthit_version_range=[8.2.0,)

#Mod dependencies for recipes (only used by our data generators)
ae2_version=15.0.4-beta
Expand Down
Expand Up @@ -2,16 +2,22 @@

import mcp.mobius.waila.api.IBlockAccessor;
import mcp.mobius.waila.api.IBlockComponentProvider;
import mcp.mobius.waila.api.ICommonAccessor;
import mcp.mobius.waila.api.IEntityComponentProvider;
import mcp.mobius.waila.api.IEventListener;
import mcp.mobius.waila.api.IPluginConfig;
import mcp.mobius.waila.api.IRegistrar;
import mcp.mobius.waila.api.ITooltip;
import mcp.mobius.waila.api.IWailaPlugin;
import mcp.mobius.waila.api.TooltipPosition;
import mcp.mobius.waila.api.data.EnergyData;
import mcp.mobius.waila.api.data.FluidData;
import mekanism.common.Mekanism;
import mekanism.common.block.BlockBounding;
import mekanism.common.entity.EntityRobit;
import mekanism.common.integration.lookingat.LookingAtUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
Expand All @@ -23,6 +29,8 @@
@SuppressWarnings("unused")
public class MekanismWTHITPlugin implements IWailaPlugin {

static final ResourceLocation MEK_DATA = Mekanism.rl("wthit_data");

@Override
public void register(IRegistrar registration) {
registration.addBlockData(WTHITDataProvider.INSTANCE, BlockEntity.class);
Expand All @@ -35,8 +43,24 @@ public void register(IRegistrar registration) {
registration.addConfig(LookingAtUtils.SLURRY, true);
registration.addComponent((IEntityComponentProvider) WTHITTooltipRenderer.INSTANCE, TooltipPosition.BODY, EntityRobit.class);
registration.addComponent((IBlockComponentProvider) WTHITTooltipRenderer.INSTANCE, TooltipPosition.BODY, Block.class);
registration.addDataType(Mekanism.rl("wthit_data"), WTHITLookingAtHelper.class, WTHITLookingAtHelper.SERIALIZER);
registration.addDataType(MEK_DATA, WTHITLookingAtHelper.class, WTHITLookingAtHelper.SERIALIZER);

registration.addEventListener(new IEventListener() {
@Override
public void onHandleTooltip(ITooltip tooltip, ICommonAccessor accessor, IPluginConfig config) {
if (tooltip.getLine(MEK_DATA) != null) {
//If we have mekanism data then clear out the default energy and fluid data as we handle that ourselves
if (tooltip.getLine(EnergyData.ID) != null) {
//Setting adds it if it is not present, so only set it if it is present
tooltip.setLine(EnergyData.ID);
}
if (tooltip.getLine(FluidData.ID) != null) {
//Setting adds it if it is not present, so only set it if it is present
tooltip.setLine(FluidData.ID);
}
}
}
});
registration.addOverride(new IBlockComponentProvider() {
@Nullable
@Override
Expand Down
Expand Up @@ -37,6 +37,8 @@ public void appendBody(ITooltip tooltip, IBlockAccessor accessor, IPluginConfig
private void append(ITooltip tooltip, IDataReader dataReader, IPluginConfig config) {
WTHITLookingAtHelper helper = dataReader.get(WTHITLookingAtHelper.class);
if (helper != null) {
//We have mek data, add an empty line for it so that we know to skip rendering the builtin types
tooltip.setLine(MekanismWTHITPlugin.MEK_DATA);
Component lastText = null;
//Copy the data we need and have from the server and pass it on to the tooltip rendering
for (Object element : helper.elements) {
Expand Down
6 changes: 6 additions & 0 deletions src/main/resources/META-INF/mods.toml
Expand Up @@ -46,4 +46,10 @@ license="MIT"
mandatory=false
versionRange="${json_things_version}"
ordering="AFTER"
side="BOTH"
[[dependencies.mekanism]]
modId="wthit"
mandatory=false
versionRange="${wthit_version}"
ordering="AFTER"
side="BOTH"

0 comments on commit d7fc135

Please sign in to comment.