Skip to content

Commit 8d75a05

Browse files
committed
Create recipe default files for EMI to improve ease of use for the recipe tree
1 parent d8b2972 commit 8d75a05

File tree

20 files changed

+1322
-18
lines changed

20 files changed

+1322
-18
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ of things that we haven't finished porting yet.
2929
## Known Bugs/Things that aren't done being ported yet ##
3030
- Options in the Module Tweaker that have side effects don't currently have those side effects displayed
3131
- When breaking and placing blocks that have fluid item input slots, they do not persist whether the item was actively being drained or whether it was being filled
32-
- Fixed (Upcoming 10.6.2): The Gravitational Modulation Unit does not currently provide flight
33-
- Fixed (Upcoming 10.6.2): Resistive Heaters do not keep their set Energy Usage when breaking and placing again
34-
- Fixed (Upcoming 10.6.2): Bins forget if they are locked and what they are locked too if broken and placed
35-
- Fixed (Upcoming 10.6.2): The QIO Dashboard does not persist items stored in crafting windows when broken
36-
- Fixed (Upcoming 10.6.2): The Portable QIO Dashboard's Crafting windows do not work at all. DO NOT TRY TO USE THEM
32+
- Fixed (10.6.2): The Gravitational Modulation Unit does not currently provide flight
33+
- Fixed (10.6.2): Resistive Heaters do not keep their set Energy Usage when breaking and placing again
34+
- Fixed (10.6.2): Bins forget if they are locked and what they are locked too if broken and placed
35+
- Fixed (10.6.2): The QIO Dashboard does not persist items stored in crafting windows when broken
36+
- Fixed (10.6.2): The Portable QIO Dashboard's Crafting windows do not work at all. DO NOT TRY TO USE THEM
3737
- Probably many more things as we have done barely any testing so far
3838

3939
## Configuration ##

src/datagen/additions/java/mekanism/additions/client/integration/AdditionsEmiAliasProvider.java renamed to src/datagen/additions/java/mekanism/additions/client/integration/emi/AdditionsEmiAliasProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
package mekanism.additions.client.integration;
1+
package mekanism.additions.client.integration.emi;
22

33
import java.util.concurrent.CompletableFuture;
4+
import mekanism.additions.client.integration.AdditionsAliases;
45
import mekanism.additions.common.MekanismAdditions;
56
import mekanism.additions.common.registries.AdditionsBlocks;
67
import mekanism.additions.common.registries.AdditionsItems;
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package mekanism.additions.client.integration.emi;
2+
3+
import java.util.Map;
4+
import java.util.concurrent.CompletableFuture;
5+
import mekanism.additions.common.MekanismAdditions;
6+
import mekanism.additions.common.registries.AdditionsBlocks;
7+
import mekanism.additions.common.registries.AdditionsItems;
8+
import mekanism.api.annotations.NothingNullByDefault;
9+
import mekanism.api.text.EnumColor;
10+
import mekanism.client.integration.emi.BaseEmiDefaults;
11+
import net.minecraft.core.HolderLookup;
12+
import net.minecraft.data.PackOutput;
13+
import net.neoforged.neoforge.common.data.ExistingFileHelper;
14+
15+
@NothingNullByDefault
16+
public class AdditionsEmiDefaults extends BaseEmiDefaults {
17+
18+
public AdditionsEmiDefaults(PackOutput output, ExistingFileHelper existingFileHelper, CompletableFuture<HolderLookup.Provider> registries) {
19+
super(output, existingFileHelper, registries, MekanismAdditions.MODID);
20+
}
21+
22+
@Override
23+
protected void addDefaults(HolderLookup.Provider lookupProvider) {
24+
addRecipe(AdditionsItems.WALKIE_TALKIE);
25+
addRecipe(AdditionsBlocks.OBSIDIAN_TNT);
26+
addRecipes("balloon/", AdditionsItems.BALLOONS, true);
27+
addRecipes("glow_panel/", AdditionsBlocks.GLOW_PANELS, true);
28+
addPlasticBlocks();
29+
}
30+
31+
private void addRecipes(String basePath, Map<EnumColor, ?> map, boolean requiresDye) {
32+
for (EnumColor color : map.keySet()) {
33+
if (!requiresDye || color.getDyeColor() != null) {
34+
addRecipe(basePath + color.getRegistryPrefix());
35+
}
36+
}
37+
}
38+
39+
private void addPlasticBlocks() {
40+
String basePath = "plastic/";
41+
addRecipes(basePath + "fence/", AdditionsBlocks.PLASTIC_FENCES, false);
42+
addRecipes(basePath + "fence_gate/", AdditionsBlocks.PLASTIC_FENCE_GATES, false);
43+
addPlasticSlabs(basePath);
44+
addPlasticStairs(basePath);
45+
addRecipes(basePath + "block/", AdditionsBlocks.PLASTIC_BLOCKS, true);
46+
addRecipes(basePath + "glow/", AdditionsBlocks.PLASTIC_GLOW_BLOCKS, false);
47+
addRecipes(basePath + "reinforced/", AdditionsBlocks.REINFORCED_PLASTIC_BLOCKS, false);
48+
addRecipes(basePath + "road/", AdditionsBlocks.PLASTIC_ROADS, false);
49+
addRecipes(basePath + "slick/enriching/", AdditionsBlocks.SLICK_PLASTIC_BLOCKS, false);
50+
addRecipes(basePath + "transparent/", AdditionsBlocks.TRANSPARENT_PLASTIC_BLOCKS, true);
51+
}
52+
53+
private void addPlasticSlabs(String basePath) {
54+
basePath += "slab/";
55+
addRecipes(basePath, AdditionsBlocks.PLASTIC_SLABS, false);
56+
addRecipes(basePath + "transparent/", AdditionsBlocks.TRANSPARENT_PLASTIC_SLABS, false);
57+
addRecipes(basePath + "glow/", AdditionsBlocks.PLASTIC_GLOW_SLABS, false);
58+
}
59+
60+
private void addPlasticStairs(String basePath) {
61+
basePath += "stairs/";
62+
addRecipes(basePath, AdditionsBlocks.PLASTIC_STAIRS, false);
63+
addRecipes(basePath + "transparent/", AdditionsBlocks.TRANSPARENT_PLASTIC_STAIRS, false);
64+
addRecipes(basePath + "glow/", AdditionsBlocks.PLASTIC_GLOW_STAIRS, false);
65+
}
66+
}

src/datagen/additions/java/mekanism/additions/common/AdditionsDataGenerator.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
import mekanism.additions.client.AdditionsLangProvider;
77
import mekanism.additions.client.AdditionsSoundProvider;
88
import mekanism.additions.client.AdditionsSpriteSourceProvider;
9-
import mekanism.additions.client.integration.AdditionsEmiAliasProvider;
9+
import mekanism.additions.client.integration.emi.AdditionsEmiAliasProvider;
10+
import mekanism.additions.client.integration.emi.AdditionsEmiDefaults;
1011
import mekanism.additions.common.loot.AdditionsLootProvider;
1112
import mekanism.additions.common.recipe.AdditionsRecipeProvider;
1213
import mekanism.common.BasePackMetadataGenerator;
@@ -50,6 +51,7 @@ public static void gatherData(GatherDataEvent event) {
5051
gen.addProvider(event.includeServer(), new AdditionsAdvancementProvider(output, lookupProvider, existingFileHelper));
5152
//Data generator to help with persisting data when porting across MC versions when optional deps aren't updated yet
5253
// DO NOT ADD OTHERS AFTER THIS ONE
53-
PersistingDisabledProvidersProvider.addDisabledEmiProvider(event, lookupProvider, MekanismAdditions.MODID, () -> AdditionsEmiAliasProvider::new);
54+
PersistingDisabledProvidersProvider.addDisabledEmiProvider(event, lookupProvider, MekanismAdditions.MODID, () -> AdditionsEmiAliasProvider::new,
55+
() -> AdditionsEmiDefaults::new);
5456
}
5557
}

src/datagen/generated/mekanism/.cache/218650cadc91bcfaaf2b781442052736f6b17664

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)