Skip to content

Commit 78c89b1

Browse files
committed
made exclusions lib optional, since it crashes with connector rn. Workaround for #593
1 parent c453908 commit 78c89b1

4 files changed

Lines changed: 50 additions & 4 deletions

File tree

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ dependencies {
4646
modImplementation ("net.fabricmc.fabric-api:fabric-api:${project.fabric_version}")
4747

4848
// ours
49-
modImplementation ("maven.modrinth:exclusions-lib:${project.exclusionslib_version}")
49+
modImplementation("maven.modrinth:exclusions-lib:${project.exclusionslib_version}") // soft impl via json
5050
modImplementation ("maven.modrinth:Revelationary:${project.revelationary_version}")
5151
modImplementation include("maven.modrinth:AdditionalEntityAttributes:${project.additional_entity_attributes_version}")
5252
modImplementation include("com.github.DaFuqs:Arrowhead:${project.arrowhead_version}")

src/main/java/de/dafuqs/spectrum/compat/SpectrumIntegrationPacks.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import de.dafuqs.spectrum.compat.alloy_forgery.*;
66
import de.dafuqs.spectrum.compat.botania.*;
77
import de.dafuqs.spectrum.compat.create.*;
8+
import de.dafuqs.spectrum.compat.exclusions_lib.*;
89
import de.dafuqs.spectrum.compat.farmersdelight.*;
910
import de.dafuqs.spectrum.compat.gobber.*;
1011
import de.dafuqs.spectrum.compat.malum.*;
@@ -44,6 +45,7 @@ protected static void registerIntegrationPack(String modId, Supplier<ModIntegrat
4445
public static final String FARMERSDELIGHT_ID = "farmersdelight";
4546
public static final String NEEPMEAT_ID = "neepmeat";
4647
public static final String MALUM_ID = "malum";
48+
public static final String EXCLUSIONS_LIB_ID = "exclusions_lib";
4749

4850
@SuppressWarnings("Convert2MethodRef")
4951
public static void register() {
@@ -63,6 +65,10 @@ public static void register() {
6365
for (ModIntegrationPack container : INTEGRATION_PACKS.values()) {
6466
container.register();
6567
}
68+
69+
if (!FabricLoader.getInstance().isModLoaded(EXCLUSIONS_LIB_ID)) {
70+
ExclusionsLibCompat.registerNotPresent();
71+
}
6672
}
6773

6874
@Environment(EnvType.CLIENT)
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package de.dafuqs.spectrum.compat.exclusions_lib;
2+
3+
import com.mojang.serialization.*;
4+
import de.dafuqs.spectrum.compat.*;
5+
import net.minecraft.registry.*;
6+
import net.minecraft.util.*;
7+
import net.minecraft.util.math.*;
8+
import net.minecraft.world.*;
9+
import net.minecraft.world.gen.blockpredicate.*;
10+
11+
/**
12+
* Loaded when Exclusions Lib is *not* present
13+
* So the game can be loaded without complaining about a missing Block Predicate
14+
*/
15+
public class ExclusionsLibCompat {
16+
17+
static class AlwaysFalseBlockPredicate implements BlockPredicate {
18+
19+
public static AlwaysFalseBlockPredicate instance = new AlwaysFalseBlockPredicate();
20+
public static final Codec<AlwaysFalseBlockPredicate> CODEC = Codec.unit(() -> instance);
21+
22+
private AlwaysFalseBlockPredicate() {
23+
}
24+
25+
public boolean test(StructureWorldAccess structureWorldAccess, BlockPos blockPos) {
26+
return false;
27+
}
28+
29+
public BlockPredicateType<?> getType() {
30+
return BlockPredicateType.TRUE;
31+
}
32+
}
33+
34+
public static BlockPredicateType<AlwaysFalseBlockPredicate> OVERLAPS_STRUCTURE_DUMMY;
35+
36+
public static void registerNotPresent() {
37+
OVERLAPS_STRUCTURE_DUMMY = Registry.register(Registries.BLOCK_PREDICATE_TYPE, Identifier.of(SpectrumIntegrationPacks.EXCLUSIONS_LIB_ID, "overlaps_structure"), () -> AlwaysFalseBlockPredicate.CODEC);
38+
}
39+
40+
}

src/main/resources/fabric.mod.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,16 @@
7878
"cloth-config": "*",
7979
"modonomicon": ">=1.77.3",
8080
"trinkets": "*",
81-
"matchbooks": "*",
82-
"exclusions_lib": "*"
81+
"matchbooks": "*"
8382
},
8483
"suggests": {
8584
"chalk": "*",
8685
"chalk-colorful-addon": "*",
8786
"paginatedadvancements": "*",
8887
"ants": "*",
8988
"bettercombat": "*",
90-
"continuity": "*"
89+
"continuity": "*",
90+
"exclusions_lib": "*"
9191
},
9292
"breaks": {
9393
"idwtialsimmoedm": "<0.3.0-"

0 commit comments

Comments
 (0)