Skip to content

Commit 81370df

Browse files
committed
add mod loading conditions to datamap (#158)
1 parent 11fc73b commit 81370df

File tree

2 files changed

+108
-2
lines changed

2 files changed

+108
-2
lines changed

src/generated/resources/data/neoforge/data_maps/block/waxables.json

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,147 @@
11
{
22
"values": {
33
"dye_depot:amber_concrete_powder": {
4+
"neoforge:conditions": [
5+
{
6+
"type": "neoforge:mod_loaded",
7+
"modid": "dye_depot"
8+
}
9+
],
410
"waxed": "oreganized:waxed_amber_concrete_powder"
511
},
612
"dye_depot:aqua_concrete_powder": {
13+
"neoforge:conditions": [
14+
{
15+
"type": "neoforge:mod_loaded",
16+
"modid": "dye_depot"
17+
}
18+
],
719
"waxed": "oreganized:waxed_aqua_concrete_powder"
820
},
921
"dye_depot:beige_concrete_powder": {
22+
"neoforge:conditions": [
23+
{
24+
"type": "neoforge:mod_loaded",
25+
"modid": "dye_depot"
26+
}
27+
],
1028
"waxed": "oreganized:waxed_beige_concrete_powder"
1129
},
1230
"dye_depot:coral_concrete_powder": {
31+
"neoforge:conditions": [
32+
{
33+
"type": "neoforge:mod_loaded",
34+
"modid": "dye_depot"
35+
}
36+
],
1337
"waxed": "oreganized:waxed_coral_concrete_powder"
1438
},
1539
"dye_depot:forest_concrete_powder": {
40+
"neoforge:conditions": [
41+
{
42+
"type": "neoforge:mod_loaded",
43+
"modid": "dye_depot"
44+
}
45+
],
1646
"waxed": "oreganized:waxed_forest_concrete_powder"
1747
},
1848
"dye_depot:ginger_concrete_powder": {
49+
"neoforge:conditions": [
50+
{
51+
"type": "neoforge:mod_loaded",
52+
"modid": "dye_depot"
53+
}
54+
],
1955
"waxed": "oreganized:waxed_ginger_concrete_powder"
2056
},
2157
"dye_depot:indigo_concrete_powder": {
58+
"neoforge:conditions": [
59+
{
60+
"type": "neoforge:mod_loaded",
61+
"modid": "dye_depot"
62+
}
63+
],
2264
"waxed": "oreganized:waxed_indigo_concrete_powder"
2365
},
2466
"dye_depot:maroon_concrete_powder": {
67+
"neoforge:conditions": [
68+
{
69+
"type": "neoforge:mod_loaded",
70+
"modid": "dye_depot"
71+
}
72+
],
2573
"waxed": "oreganized:waxed_maroon_concrete_powder"
2674
},
2775
"dye_depot:mint_concrete_powder": {
76+
"neoforge:conditions": [
77+
{
78+
"type": "neoforge:mod_loaded",
79+
"modid": "dye_depot"
80+
}
81+
],
2882
"waxed": "oreganized:waxed_mint_concrete_powder"
2983
},
3084
"dye_depot:navy_concrete_powder": {
85+
"neoforge:conditions": [
86+
{
87+
"type": "neoforge:mod_loaded",
88+
"modid": "dye_depot"
89+
}
90+
],
3191
"waxed": "oreganized:waxed_navy_concrete_powder"
3292
},
3393
"dye_depot:olive_concrete_powder": {
94+
"neoforge:conditions": [
95+
{
96+
"type": "neoforge:mod_loaded",
97+
"modid": "dye_depot"
98+
}
99+
],
34100
"waxed": "oreganized:waxed_olive_concrete_powder"
35101
},
36102
"dye_depot:rose_concrete_powder": {
103+
"neoforge:conditions": [
104+
{
105+
"type": "neoforge:mod_loaded",
106+
"modid": "dye_depot"
107+
}
108+
],
37109
"waxed": "oreganized:waxed_rose_concrete_powder"
38110
},
39111
"dye_depot:slate_concrete_powder": {
112+
"neoforge:conditions": [
113+
{
114+
"type": "neoforge:mod_loaded",
115+
"modid": "dye_depot"
116+
}
117+
],
40118
"waxed": "oreganized:waxed_slate_concrete_powder"
41119
},
42120
"dye_depot:tan_concrete_powder": {
121+
"neoforge:conditions": [
122+
{
123+
"type": "neoforge:mod_loaded",
124+
"modid": "dye_depot"
125+
}
126+
],
43127
"waxed": "oreganized:waxed_tan_concrete_powder"
44128
},
45129
"dye_depot:teal_concrete_powder": {
130+
"neoforge:conditions": [
131+
{
132+
"type": "neoforge:mod_loaded",
133+
"modid": "dye_depot"
134+
}
135+
],
46136
"waxed": "oreganized:waxed_teal_concrete_powder"
47137
},
48138
"dye_depot:verdant_concrete_powder": {
139+
"neoforge:conditions": [
140+
{
141+
"type": "neoforge:mod_loaded",
142+
"modid": "dye_depot"
143+
}
144+
],
49145
"waxed": "oreganized:waxed_verdant_concrete_powder"
50146
},
51147
"minecraft:black_concrete_powder": {

src/main/java/galena/oreganized/data/ODataMaps.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,23 @@
22

33
import galena.oreganized.compat.ColorCompat;
44
import galena.oreganized.index.OBlocks;
5-
import java.util.concurrent.CompletableFuture;
65
import net.minecraft.core.HolderLookup;
76
import net.minecraft.core.registries.Registries;
87
import net.minecraft.data.PackOutput;
98
import net.minecraft.resources.ResourceKey;
9+
import net.minecraft.resources.ResourceLocation;
1010
import net.minecraft.world.item.Item;
11+
import net.neoforged.neoforge.common.conditions.ICondition;
12+
import net.neoforged.neoforge.common.conditions.ModLoadedCondition;
1113
import net.neoforged.neoforge.common.data.DataMapProvider;
1214
import net.neoforged.neoforge.registries.DeferredBlock;
1315
import net.neoforged.neoforge.registries.datamaps.builtin.Compostable;
1416
import net.neoforged.neoforge.registries.datamaps.builtin.NeoForgeDataMaps;
1517
import net.neoforged.neoforge.registries.datamaps.builtin.Waxable;
1618

19+
import java.util.Optional;
20+
import java.util.concurrent.CompletableFuture;
21+
1722
public class ODataMaps extends DataMapProvider {
1823

1924
public ODataMaps(PackOutput output, CompletableFuture<HolderLookup.Provider> lookup) {
@@ -37,7 +42,12 @@ protected void gather(HolderLookup.Provider provider) {
3742

3843
OBlocks.WAXED_CONCRETE_POWDER.forEach((color, waxed) -> {
3944
var unwaxed = ColorCompat.createBlockKey("concrete_powder", color);
40-
waxables.add(unwaxed, new Waxable(waxed.get()), false);
45+
var conditions = Optional.of(unwaxed.location().getNamespace())
46+
.filter(it -> !it.equals(ResourceLocation.DEFAULT_NAMESPACE))
47+
.map(ModLoadedCondition::new)
48+
.stream()
49+
.toArray(ICondition[]::new);
50+
waxables.add(unwaxed, new Waxable(waxed.get()), false, conditions);
4151
});
4252
}
4353
}

0 commit comments

Comments
 (0)