Skip to content

Commit 6461b31

Browse files
committed
Add back config toggles for mod integrations
1 parent fb3f1ae commit 6461b31

File tree

20 files changed

+94
-80
lines changed

20 files changed

+94
-80
lines changed

common/src/main/java/juuxel/adorn/block/variant/BlockVariantSets.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import juuxel.adorn.block.ShelfBlock;
1616
import juuxel.adorn.block.StepBlock;
1717
import juuxel.adorn.block.TableBlock;
18+
import juuxel.adorn.config.ConfigManager;
1819
import juuxel.adorn.item.ChairBlockItem;
1920
import juuxel.adorn.item.TableBlockItem;
2021
import juuxel.adorn.lib.registry.Registered;
@@ -71,8 +72,10 @@ public static void add(BlockVariantSet variantSet) {
7172
}
7273

7374
public static void loadCompatSets() {
74-
for (var set : ServiceLoader.load(BlockVariantSet.class)) {
75-
add(set);
75+
for (var set : ServiceLoader.load(CompatBlockVariantSet.class)) {
76+
if (ConfigManager.isCompatEnabled(set.getModId())) {
77+
add(set);
78+
}
7679
}
7780
}
7881

Original file line numberDiff line numberDiff line change
@@ -1,13 +1,5 @@
11
package juuxel.adorn.block.variant;
22

3-
import java.util.Arrays;
4-
import java.util.List;
5-
import java.util.function.Function;
6-
7-
public abstract class CompatBlockVariantSet implements BlockVariantSet {
8-
protected abstract String getModId();
9-
10-
protected List<BlockVariant> createVariants(Function<String, BlockVariant> factory, String... variants) {
11-
return Arrays.stream(variants).map(variant -> factory.apply(getModId() + '/' + variant)).toList();
12-
}
3+
public interface CompatBlockVariantSet extends BlockVariantSet {
4+
String getModId();
135
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package juuxel.adorn.block.variant;
2+
3+
import java.util.Arrays;
4+
import java.util.List;
5+
import java.util.function.Function;
6+
7+
public abstract class PrefixedBlockVariantSet implements CompatBlockVariantSet {
8+
protected List<BlockVariant> createVariants(Function<String, BlockVariant> factory, String... variants) {
9+
return Arrays.stream(variants).map(variant -> factory.apply(getModId() + '/' + variant)).toList();
10+
}
11+
}

common/src/main/java/juuxel/adorn/config/ConfigManager.java

+12
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,18 @@ public static Config config() {
3838
return get().config;
3939
}
4040

41+
public static boolean isCompatEnabled(String modId) {
42+
var compatMap = ConfigManager.config().compat;
43+
44+
if (!compatMap.containsKey(modId)) {
45+
compatMap.put(modId, true);
46+
ConfigManager.get().save();
47+
return true;
48+
}
49+
50+
return compatMap.get(modId);
51+
}
52+
4153
protected abstract Path getConfigDirectory();
4254

4355
private Path getConfigPath() {

fabric/src/main/java/juuxel/adorn/compat/Compat.java

+1-13
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,8 @@ public static void init() {
1010
ifModLoaded("towelette", () -> ToweletteCompat.init());
1111
}
1212

13-
public static boolean isCompatEnabled(String mod) {
14-
var compatMap = ConfigManager.config().compat;
15-
16-
if (!compatMap.containsKey(mod)) {
17-
compatMap.put(mod, true);
18-
ConfigManager.get().save();
19-
return true;
20-
}
21-
22-
return compatMap.get(mod);
23-
}
24-
2513
private static void ifModLoaded(String mod, Runnable fn) {
26-
if (isCompatEnabled(mod) && FabricLoader.getInstance().isModLoaded(mod)) {
14+
if (ConfigManager.isCompatEnabled(mod) && FabricLoader.getInstance().isModLoaded(mod)) {
2715
fn.run();
2816
}
2917
}

forge/src/main/java/juuxel/adorn/platform/forge/compat/ArchitectsPaletteCompat.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package juuxel.adorn.platform.forge.compat;
22

33
import juuxel.adorn.block.variant.BlockVariant;
4-
import juuxel.adorn.block.variant.CompatBlockVariantSet;
4+
import juuxel.adorn.block.variant.PrefixedBlockVariantSet;
55

66
import java.util.List;
77

8-
public final class ArchitectsPaletteCompat extends CompatBlockVariantSet {
8+
public final class ArchitectsPaletteCompat extends PrefixedBlockVariantSet {
99
@Override
1010
protected String getModId() {
1111
return "architects_palette";

forge/src/main/java/juuxel/adorn/platform/forge/compat/BiomeMakeoverCompat.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package juuxel.adorn.platform.forge.compat;
22

33
import juuxel.adorn.block.variant.BlockVariant;
4-
import juuxel.adorn.block.variant.CompatBlockVariantSet;
4+
import juuxel.adorn.block.variant.PrefixedBlockVariantSet;
55

66
import java.util.List;
77

8-
public final class BiomeMakeoverCompat extends CompatBlockVariantSet {
8+
public final class BiomeMakeoverCompat extends PrefixedBlockVariantSet {
99
@Override
1010
protected String getModId() {
1111
return "biomemakeover";

forge/src/main/java/juuxel/adorn/platform/forge/compat/BiomesOPlentyCompat.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package juuxel.adorn.platform.forge.compat;
22

33
import juuxel.adorn.block.variant.BlockVariant;
4-
import juuxel.adorn.block.variant.CompatBlockVariantSet;
4+
import juuxel.adorn.block.variant.PrefixedBlockVariantSet;
55

66
import java.util.List;
77

8-
public final class BiomesOPlentyCompat extends CompatBlockVariantSet {
8+
public final class BiomesOPlentyCompat extends PrefixedBlockVariantSet {
99
@Override
1010
protected String getModId() {
1111
return "biomesoplenty";

forge/src/main/java/juuxel/adorn/platform/forge/compat/BygCompat.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package juuxel.adorn.platform.forge.compat;
22

33
import juuxel.adorn.block.variant.BlockVariant;
4-
import juuxel.adorn.block.variant.CompatBlockVariantSet;
4+
import juuxel.adorn.block.variant.PrefixedBlockVariantSet;
55

66
import java.util.List;
77

8-
public final class BygCompat extends CompatBlockVariantSet {
8+
public final class BygCompat extends PrefixedBlockVariantSet {
99
@Override
1010
protected String getModId() {
1111
return "byg";

forge/src/main/java/juuxel/adorn/platform/forge/compat/Compat.java

+1-13
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,8 @@ public static void init(IEventBus modBus) {
1818
((ForgeRegistrar<?>) BlockVariantSets.ITEMS).hook(modBus);
1919
}
2020

21-
public static boolean isCompatEnabled(String mod) {
22-
var compatMap = ConfigManager.config().compat;
23-
24-
if (!compatMap.containsKey(mod)) {
25-
compatMap.put(mod, true);
26-
ConfigManager.get().save();
27-
return true;
28-
}
29-
30-
return compatMap.get(mod);
31-
}
32-
3321
private static void ifModLoaded(String mod, Runnable fn) {
34-
if (isCompatEnabled(mod) && ModList.get().isLoaded(mod)) {
22+
if (ConfigManager.isCompatEnabled(mod) && ModList.get().isLoaded(mod)) {
3523
fn.run();
3624
}
3725
}

forge/src/main/java/juuxel/adorn/platform/forge/compat/EcologicsCompat.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package juuxel.adorn.platform.forge.compat;
22

33
import juuxel.adorn.block.variant.BlockVariant;
4-
import juuxel.adorn.block.variant.CompatBlockVariantSet;
4+
import juuxel.adorn.block.variant.PrefixedBlockVariantSet;
55

66
import java.util.List;
77

8-
public final class EcologicsCompat extends CompatBlockVariantSet {
8+
public final class EcologicsCompat extends PrefixedBlockVariantSet {
99
@Override
1010
protected String getModId() {
1111
return "ecologics";

integrations/src/biomemakeover/java/juuxel/adorn/compat/biomemakeover/BiomeMakeoverCompat.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
import com.google.auto.service.AutoService;
44
import juuxel.adorn.block.variant.BlockVariant;
5-
import juuxel.adorn.block.variant.BlockVariantSet;
65
import juuxel.adorn.block.variant.CompatBlockVariantSet;
6+
import juuxel.adorn.block.variant.PrefixedBlockVariantSet;
77

88
import java.util.List;
99

10-
@AutoService(BlockVariantSet.class)
11-
public final class BiomeMakeoverCompat extends CompatBlockVariantSet {
10+
@AutoService(CompatBlockVariantSet.class)
11+
public final class BiomeMakeoverCompat extends PrefixedBlockVariantSet {
1212
@Override
13-
protected String getModId() {
13+
public String getModId() {
1414
return "biomemakeover";
1515
}
1616

integrations/src/blockus/java/juuxel/adorn/compat/blockus/BlockusCompat.java

+8-3
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,17 @@
22

33
import com.google.auto.service.AutoService;
44
import juuxel.adorn.block.variant.BlockVariant;
5-
import juuxel.adorn.block.variant.BlockVariantSet;
5+
import juuxel.adorn.block.variant.CompatBlockVariantSet;
66

77
import java.util.List;
88

9-
@AutoService(BlockVariantSet.class)
10-
public final class BlockusCompat implements BlockVariantSet {
9+
@AutoService(CompatBlockVariantSet.class)
10+
public final class BlockusCompat implements CompatBlockVariantSet {
11+
@Override
12+
public String getModId() {
13+
return "blockus";
14+
}
15+
1116
@Override
1217
public List<BlockVariant> getWoodVariants() {
1318
return List.of(new BlockVariant.Wood("blockus/white_oak"));

integrations/src/byg/java/juuxel/adorn/compat/byg/BygCompat.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
import com.google.auto.service.AutoService;
44
import juuxel.adorn.block.variant.BlockVariant;
5-
import juuxel.adorn.block.variant.BlockVariantSet;
65
import juuxel.adorn.block.variant.CompatBlockVariantSet;
6+
import juuxel.adorn.block.variant.PrefixedBlockVariantSet;
77

88
import java.util.List;
99

10-
@AutoService(BlockVariantSet.class)
11-
public final class BygCompat extends CompatBlockVariantSet {
10+
@AutoService(CompatBlockVariantSet.class)
11+
public final class BygCompat extends PrefixedBlockVariantSet {
1212
@Override
13-
protected String getModId() {
13+
public String getModId() {
1414
return "byg";
1515
}
1616

integrations/src/cinderscapes/java/juuxel/adorn/compat/cinderscapes/CinderscapesCompat.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
import com.google.auto.service.AutoService;
44
import juuxel.adorn.block.variant.BlockVariant;
5-
import juuxel.adorn.block.variant.BlockVariantSet;
65
import juuxel.adorn.block.variant.CompatBlockVariantSet;
6+
import juuxel.adorn.block.variant.PrefixedBlockVariantSet;
77

88
import java.util.List;
99

10-
@AutoService(BlockVariantSet.class)
11-
public final class CinderscapesCompat extends CompatBlockVariantSet {
10+
@AutoService(CompatBlockVariantSet.class)
11+
public final class CinderscapesCompat extends PrefixedBlockVariantSet {
1212
@Override
13-
protected String getModId() {
13+
public String getModId() {
1414
return "cinderscapes";
1515
}
1616

integrations/src/promenade/java/juuxel/adorn/compat/promenade/PromenadeCompat.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
import com.google.auto.service.AutoService;
44
import juuxel.adorn.block.variant.BlockVariant;
5-
import juuxel.adorn.block.variant.BlockVariantSet;
65
import juuxel.adorn.block.variant.CompatBlockVariantSet;
6+
import juuxel.adorn.block.variant.PrefixedBlockVariantSet;
77

88
import java.util.List;
99

10-
@AutoService(BlockVariantSet.class)
11-
public final class PromenadeCompat extends CompatBlockVariantSet {
10+
@AutoService(CompatBlockVariantSet.class)
11+
public final class PromenadeCompat extends PrefixedBlockVariantSet {
1212
@Override
13-
protected String getModId() {
13+
public String getModId() {
1414
return "promenade";
1515
}
1616

integrations/src/techreborn/java/juuxel/adorn/compat/techreborn/TechRebornCompat.java

+8-3
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,17 @@
22

33
import com.google.auto.service.AutoService;
44
import juuxel.adorn.block.variant.BlockVariant;
5-
import juuxel.adorn.block.variant.BlockVariantSet;
5+
import juuxel.adorn.block.variant.CompatBlockVariantSet;
66

77
import java.util.List;
88

9-
@AutoService(BlockVariantSet.class)
10-
public final class TechRebornCompat implements BlockVariantSet {
9+
@AutoService(CompatBlockVariantSet.class)
10+
public final class TechRebornCompat implements CompatBlockVariantSet {
11+
@Override
12+
public String getModId() {
13+
return "techreborn";
14+
}
15+
1116
@Override
1217
public List<BlockVariant> getWoodVariants() {
1318
return List.of(new BlockVariant.Wood("techreborn/rubber"));

integrations/src/terrestria/java/juuxel/adorn/compat/terrestria/TerrestriaCompat.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
import com.google.auto.service.AutoService;
44
import juuxel.adorn.block.variant.BlockVariant;
5-
import juuxel.adorn.block.variant.BlockVariantSet;
65
import juuxel.adorn.block.variant.CompatBlockVariantSet;
6+
import juuxel.adorn.block.variant.PrefixedBlockVariantSet;
77

88
import java.util.List;
99

10-
@AutoService(BlockVariantSet.class)
11-
public final class TerrestriaCompat extends CompatBlockVariantSet {
10+
@AutoService(CompatBlockVariantSet.class)
11+
public final class TerrestriaCompat extends PrefixedBlockVariantSet {
1212
@Override
13-
protected String getModId() {
13+
public String getModId() {
1414
return "terrestria";
1515
}
1616

integrations/src/traverse/java/juuxel/adorn/compat/traverse/TraverseCompat.java

+8-3
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,17 @@
22

33
import com.google.auto.service.AutoService;
44
import juuxel.adorn.block.variant.BlockVariant;
5-
import juuxel.adorn.block.variant.BlockVariantSet;
5+
import juuxel.adorn.block.variant.CompatBlockVariantSet;
66

77
import java.util.List;
88

9-
@AutoService(BlockVariantSet.class)
10-
public final class TraverseCompat implements BlockVariantSet {
9+
@AutoService(CompatBlockVariantSet.class)
10+
public final class TraverseCompat implements CompatBlockVariantSet {
11+
@Override
12+
public String getModId() {
13+
return "traverse";
14+
}
15+
1116
@Override
1217
public List<BlockVariant> getWoodVariants() {
1318
return List.of(new BlockVariant.Wood("traverse/fir"));

integrations/src/woods_and_mires/java/juuxel/adorn/compat/wam/WamCompat.java

+8-3
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,17 @@
22

33
import com.google.auto.service.AutoService;
44
import juuxel.adorn.block.variant.BlockVariant;
5-
import juuxel.adorn.block.variant.BlockVariantSet;
5+
import juuxel.adorn.block.variant.CompatBlockVariantSet;
66

77
import java.util.List;
88

9-
@AutoService(BlockVariantSet.class)
10-
public final class WamCompat implements BlockVariantSet {
9+
@AutoService(CompatBlockVariantSet.class)
10+
public final class WamCompat implements CompatBlockVariantSet {
11+
@Override
12+
public String getModId() {
13+
return "woods_and_mires";
14+
}
15+
1116
@Override
1217
public List<BlockVariant> getWoodVariants() {
1318
return List.of(new BlockVariant.Wood("woods_and_mires/pine"));

0 commit comments

Comments
 (0)