Skip to content

Commit 785098d

Browse files
committed
Reliable remover integration, closes #7
1 parent 4bf9bd4 commit 785098d

9 files changed

Lines changed: 51 additions & 7 deletions

File tree

CHANGELOG-LATEST.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
### Fixed
1+
### Added
22

3-
- Fixed crash with Lithostitched.
3+
- Added Reliable Remover integration.

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.2.0] - 2026-03-02
9+
10+
### Added
11+
12+
- Added Reliable Remover integration.
13+
- Blacklisted items will now be removed from entries and loot displays.
14+
815
## [1.1.3] - 2026-03-02
916

1017
### Fixed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.evandev.fieldguide.compat.reliableremover;
2+
3+
import com.evandev.reliable_remover.api.ReliableRemoverAPI;
4+
import net.minecraft.world.item.ItemStack;
5+
import net.minecraft.world.level.block.Block;
6+
7+
public class ReliableRemoverCompat {
8+
public static boolean isHidden(ItemStack stack) {
9+
return ReliableRemoverAPI.isItemHidden(stack);
10+
}
11+
12+
public static boolean isHidden(Block block) {
13+
return ReliableRemoverAPI.isItemHidden(new ItemStack(block));
14+
}
15+
}

common/src/main/java/com/evandev/fieldguide/config/ClothConfigIntegration.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,12 @@ public static Screen createScreen(Screen parent) {
8686
.setSaveConsumer(newValue -> config.grantXpOnScan = newValue)
8787
.build());
8888

89+
general.addEntry(entryBuilder.startBooleanToggle(Component.translatable("option.fieldguide.enable_reliable_remover"), config.enableReliableRemover)
90+
.setDefaultValue(true)
91+
.setTooltip(Component.translatable("option.fieldguide.enable_reliable_remover.tooltip"))
92+
.setSaveConsumer(newValue -> config.enableReliableRemover = newValue)
93+
.build());
94+
8995
general.addEntry(entryBuilder.startIntField(Component.translatable("option.fieldguide.xp_amount_on_scan"), config.xpAmountOnScan)
9096
.setDefaultValue(5)
9197
.setMin(0)

common/src/main/java/com/evandev/fieldguide/config/ModConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ public class ModConfig {
4747
public boolean showScanIcon = true;
4848
public boolean playScanningSound = true;
4949
public boolean grantXpOnScan = true;
50+
public boolean enableReliableRemover = true;
5051
public int xpAmountOnScan = 5;
5152

5253
public String scanOverlayColor = "#F9EED0";

common/src/main/java/com/evandev/fieldguide/server/loot/StaticLootParser.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package com.evandev.fieldguide.server.loot;
22

3+
import com.evandev.fieldguide.compat.reliableremover.ReliableRemoverCompat;
4+
import com.evandev.fieldguide.config.ModConfig;
35
import com.evandev.fieldguide.mixin.accessor.*;
6+
import com.evandev.fieldguide.platform.Services;
47
import net.minecraft.server.level.ServerLevel;
58
import net.minecraft.world.item.Item;
69
import net.minecraft.world.item.ItemStack;
@@ -110,7 +113,10 @@ private static void parseEntry(LootPoolEntryContainer entry, List<ParsedDrop> dr
110113
}
111114

112115
if (!stack.is(Items.AIR)) {
113-
drops.add(new ParsedDrop(stack, branchChance, min, max));
116+
boolean isHidden = Services.PLATFORM.isModLoaded("reliable_remover") && ModConfig.get().enableReliableRemover && ReliableRemoverCompat.isHidden(stack);
117+
if (!isHidden) {
118+
drops.add(new ParsedDrop(stack, branchChance, min, max));
119+
}
114120
}
115121
}
116122
case NestedLootTable reference -> handleReference(reference, drops, branchChance, context);

common/src/main/java/com/evandev/fieldguide/util/EntryResolver.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package com.evandev.fieldguide.util;
22

33
import com.evandev.fieldguide.Constants;
4+
import com.evandev.fieldguide.compat.reliableremover.ReliableRemoverCompat;
45
import com.evandev.fieldguide.config.ModConfig;
56
import com.evandev.fieldguide.data.*;
7+
import com.evandev.fieldguide.platform.Services;
68
import net.minecraft.core.registries.BuiltInRegistries;
79
import net.minecraft.core.registries.Registries;
810
import net.minecraft.resources.ResourceLocation;
@@ -24,7 +26,14 @@ public static boolean isValidEntity(EntityType<?> type, ModConfig config) {
2426
}
2527

2628
public static boolean isValidBlock(Block block, ModConfig config) {
27-
return !config.isEntityBlacklisted(BuiltInRegistries.BLOCK.getKey(block));
29+
if (config.isEntityBlacklisted(BuiltInRegistries.BLOCK.getKey(block))) {
30+
return false;
31+
}
32+
33+
if (Services.PLATFORM.isModLoaded("reliable_remover") && ModConfig.get().enableReliableRemover && ReliableRemoverCompat.isHidden(block)) {
34+
return false;
35+
}
36+
return true;
2837
}
2938

3039
public static ResourceLocation getEntryId(Object obj) {

common/src/main/resources/assets/fieldguide/lang/en_us.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@
7171
"option.fieldguide.xp_amount_on_scan": "XP Amount on Scan",
7272
"option.fieldguide.xp_amount_on_scan.tooltip": "The amount of experience points granted when an entry is successfully scanned for the first time.",
7373

74-
"option.fieldguide.discovery_redirects": "Discovery Redirects",
75-
"option.fieldguide.discovery_redirects.tooltip": "Redirect scanning of one entry to another.\nFormat: 'modid:scanned_id|modid:target_id'",
74+
"option.fieldguide.enable_reliable_remover": "Reliable Remover Integration",
75+
"option.fieldguide.enable_reliable_remover.tooltip": "Whether or not blacklisted items should be removed from Field Guide entries and loot displays.",
7676

7777
"option.fieldguide.text_color": "Text Color",
7878
"option.fieldguide.text_color.tooltip": "The hex color code used for standard text in the field guide.",

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Project
2-
version=1.1.3
2+
version=1.2.0
33
group=com.evandev.fieldguide
44
java_version=21
55

0 commit comments

Comments
 (0)