Skip to content

Commit b0a980c

Browse files
committed
Slightly update pigment extracting recipes to properly handle the new way of representing specific colored tag variations
1 parent 5fb5de9 commit b0a980c

File tree

2 files changed

+88
-87
lines changed

2 files changed

+88
-87
lines changed

src/datagen/main/java/mekanism/common/recipe/impl/PaintingRecipeProvider.java

Lines changed: 52 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -26,32 +26,61 @@
2626
class PaintingRecipeProvider implements ISubRecipeProvider {
2727

2828
private static final Map<EnumColor, ItemLike> BEDS = new EnumMap<>(EnumColor.class);
29+
private static final Map<EnumColor, ItemLike> CANDLES = new EnumMap<>(EnumColor.class);
30+
private static final Map<EnumColor, ItemLike> CONCRETE = new EnumMap<>(EnumColor.class);
31+
private static final Map<EnumColor, ItemLike> CONCRETE_POWDER = new EnumMap<>(EnumColor.class);
32+
private static final Map<EnumColor, ItemLike> CARPETS = new EnumMap<>(EnumColor.class);
2933
private static final Map<EnumColor, ItemLike> STAINED_GLASS = new EnumMap<>(EnumColor.class);
3034
private static final Map<EnumColor, ItemLike> STAINED_GLASS_PANES = new EnumMap<>(EnumColor.class);
35+
private static final Map<EnumColor, ItemLike> TERRACOTTA = new EnumMap<>(EnumColor.class);
36+
private static final Map<EnumColor, ItemLike> WOOL = new EnumMap<>(EnumColor.class);
3137

3238
static {
33-
addTypes(EnumColor.WHITE, Blocks.WHITE_BED, Blocks.WHITE_STAINED_GLASS, Blocks.WHITE_STAINED_GLASS_PANE);
34-
addTypes(EnumColor.ORANGE, Blocks.ORANGE_BED, Blocks.ORANGE_STAINED_GLASS, Blocks.ORANGE_STAINED_GLASS_PANE);
35-
addTypes(EnumColor.PINK, Blocks.MAGENTA_BED, Blocks.MAGENTA_STAINED_GLASS, Blocks.MAGENTA_STAINED_GLASS_PANE);
36-
addTypes(EnumColor.INDIGO, Blocks.LIGHT_BLUE_BED, Blocks.LIGHT_BLUE_STAINED_GLASS, Blocks.LIGHT_BLUE_STAINED_GLASS_PANE);
37-
addTypes(EnumColor.YELLOW, Blocks.YELLOW_BED, Blocks.YELLOW_STAINED_GLASS, Blocks.YELLOW_STAINED_GLASS_PANE);
38-
addTypes(EnumColor.BRIGHT_GREEN, Blocks.LIME_BED, Blocks.LIME_STAINED_GLASS, Blocks.LIME_STAINED_GLASS_PANE);
39-
addTypes(EnumColor.BRIGHT_PINK, Blocks.PINK_BED, Blocks.PINK_STAINED_GLASS, Blocks.PINK_STAINED_GLASS_PANE);
40-
addTypes(EnumColor.DARK_GRAY, Blocks.GRAY_BED, Blocks.GRAY_STAINED_GLASS, Blocks.GRAY_STAINED_GLASS_PANE);
41-
addTypes(EnumColor.GRAY, Blocks.LIGHT_GRAY_BED, Blocks.LIGHT_GRAY_STAINED_GLASS, Blocks.LIGHT_GRAY_STAINED_GLASS_PANE);
42-
addTypes(EnumColor.DARK_AQUA, Blocks.CYAN_BED, Blocks.CYAN_STAINED_GLASS, Blocks.CYAN_STAINED_GLASS_PANE);
43-
addTypes(EnumColor.PURPLE, Blocks.PURPLE_BED, Blocks.PURPLE_STAINED_GLASS, Blocks.PURPLE_STAINED_GLASS_PANE);
44-
addTypes(EnumColor.DARK_BLUE, Blocks.BLUE_BED, Blocks.BLUE_STAINED_GLASS, Blocks.BLUE_STAINED_GLASS_PANE);
45-
addTypes(EnumColor.BROWN, Blocks.BROWN_BED, Blocks.BROWN_STAINED_GLASS, Blocks.BROWN_STAINED_GLASS_PANE);
46-
addTypes(EnumColor.DARK_GREEN, Blocks.GREEN_BED, Blocks.GREEN_STAINED_GLASS, Blocks.GREEN_STAINED_GLASS_PANE);
47-
addTypes(EnumColor.RED, Blocks.RED_BED, Blocks.RED_STAINED_GLASS, Blocks.RED_STAINED_GLASS_PANE);
48-
addTypes(EnumColor.BLACK, Blocks.BLACK_BED, Blocks.BLACK_STAINED_GLASS, Blocks.BLACK_STAINED_GLASS_PANE);
39+
addTypes(EnumColor.WHITE, Blocks.WHITE_BED, Blocks.WHITE_CANDLE, Blocks.WHITE_CONCRETE, Blocks.WHITE_CONCRETE_POWDER, Blocks.WHITE_CARPET, Blocks.WHITE_STAINED_GLASS,
40+
Blocks.WHITE_STAINED_GLASS_PANE, Blocks.WHITE_TERRACOTTA, Blocks.WHITE_WOOL);
41+
addTypes(EnumColor.ORANGE, Blocks.ORANGE_BED, Blocks.ORANGE_CANDLE, Blocks.ORANGE_CONCRETE, Blocks.ORANGE_CONCRETE_POWDER, Blocks.ORANGE_CARPET, Blocks.ORANGE_STAINED_GLASS,
42+
Blocks.ORANGE_STAINED_GLASS_PANE, Blocks.ORANGE_TERRACOTTA, Blocks.ORANGE_WOOL);
43+
addTypes(EnumColor.PINK, Blocks.MAGENTA_BED, Blocks.MAGENTA_CANDLE, Blocks.MAGENTA_CONCRETE, Blocks.MAGENTA_CONCRETE_POWDER, Blocks.MAGENTA_CARPET, Blocks.MAGENTA_STAINED_GLASS,
44+
Blocks.MAGENTA_STAINED_GLASS_PANE, Blocks.MAGENTA_TERRACOTTA, Blocks.MAGENTA_WOOL);
45+
addTypes(EnumColor.INDIGO, Blocks.LIGHT_BLUE_BED, Blocks.LIGHT_BLUE_CANDLE, Blocks.LIGHT_BLUE_CONCRETE, Blocks.LIGHT_BLUE_CONCRETE_POWDER, Blocks.LIGHT_BLUE_CARPET,
46+
Blocks.LIGHT_BLUE_STAINED_GLASS, Blocks.LIGHT_BLUE_STAINED_GLASS_PANE, Blocks.LIGHT_BLUE_TERRACOTTA, Blocks.LIGHT_BLUE_WOOL);
47+
addTypes(EnumColor.YELLOW, Blocks.YELLOW_BED, Blocks.YELLOW_CANDLE, Blocks.YELLOW_CONCRETE, Blocks.YELLOW_CONCRETE_POWDER, Blocks.YELLOW_CARPET, Blocks.YELLOW_STAINED_GLASS,
48+
Blocks.YELLOW_STAINED_GLASS_PANE, Blocks.YELLOW_TERRACOTTA, Blocks.YELLOW_WOOL);
49+
addTypes(EnumColor.BRIGHT_GREEN, Blocks.LIME_BED, Blocks.LIME_CANDLE, Blocks.LIME_CONCRETE, Blocks.LIME_CONCRETE_POWDER, Blocks.LIME_CARPET, Blocks.LIME_STAINED_GLASS,
50+
Blocks.LIME_STAINED_GLASS_PANE, Blocks.LIME_TERRACOTTA, Blocks.LIME_WOOL);
51+
addTypes(EnumColor.BRIGHT_PINK, Blocks.PINK_BED, Blocks.PINK_CANDLE, Blocks.PINK_CONCRETE, Blocks.PINK_CONCRETE_POWDER, Blocks.PINK_CARPET, Blocks.PINK_STAINED_GLASS,
52+
Blocks.PINK_STAINED_GLASS_PANE, Blocks.PINK_TERRACOTTA, Blocks.PINK_WOOL);
53+
addTypes(EnumColor.DARK_GRAY, Blocks.GRAY_BED, Blocks.GRAY_CANDLE, Blocks.GRAY_CONCRETE, Blocks.GRAY_CONCRETE_POWDER, Blocks.GRAY_CARPET, Blocks.GRAY_STAINED_GLASS,
54+
Blocks.GRAY_STAINED_GLASS_PANE, Blocks.GRAY_TERRACOTTA, Blocks.GRAY_WOOL);
55+
addTypes(EnumColor.GRAY, Blocks.LIGHT_GRAY_BED, Blocks.LIGHT_GRAY_CANDLE, Blocks.LIGHT_GRAY_CONCRETE, Blocks.LIGHT_GRAY_CONCRETE_POWDER, Blocks.LIGHT_GRAY_CARPET,
56+
Blocks.LIGHT_GRAY_STAINED_GLASS, Blocks.LIGHT_GRAY_STAINED_GLASS_PANE, Blocks.LIGHT_GRAY_TERRACOTTA, Blocks.LIGHT_GRAY_WOOL);
57+
addTypes(EnumColor.DARK_AQUA, Blocks.CYAN_BED, Blocks.CYAN_CANDLE, Blocks.CYAN_CONCRETE, Blocks.CYAN_CONCRETE_POWDER, Blocks.CYAN_CARPET, Blocks.CYAN_STAINED_GLASS,
58+
Blocks.CYAN_STAINED_GLASS_PANE, Blocks.CYAN_TERRACOTTA, Blocks.CYAN_WOOL);
59+
addTypes(EnumColor.PURPLE, Blocks.PURPLE_BED, Blocks.PURPLE_CANDLE, Blocks.PURPLE_CONCRETE, Blocks.PURPLE_CONCRETE_POWDER, Blocks.PURPLE_CARPET, Blocks.PURPLE_STAINED_GLASS,
60+
Blocks.PURPLE_STAINED_GLASS_PANE, Blocks.PURPLE_TERRACOTTA, Blocks.PURPLE_WOOL);
61+
addTypes(EnumColor.DARK_BLUE, Blocks.BLUE_BED, Blocks.BLUE_CANDLE, Blocks.BLUE_CONCRETE, Blocks.BLUE_CONCRETE_POWDER, Blocks.BLUE_CARPET, Blocks.BLUE_STAINED_GLASS,
62+
Blocks.BLUE_STAINED_GLASS_PANE, Blocks.BLUE_TERRACOTTA, Blocks.BLUE_WOOL);
63+
addTypes(EnumColor.BROWN, Blocks.BROWN_BED, Blocks.BROWN_CANDLE, Blocks.BROWN_CONCRETE, Blocks.BROWN_CONCRETE_POWDER, Blocks.BROWN_CARPET, Blocks.BROWN_STAINED_GLASS,
64+
Blocks.BROWN_STAINED_GLASS_PANE, Blocks.BROWN_TERRACOTTA, Blocks.BROWN_WOOL);
65+
addTypes(EnumColor.DARK_GREEN, Blocks.GREEN_BED, Blocks.GREEN_CANDLE, Blocks.GREEN_CONCRETE, Blocks.GREEN_CONCRETE_POWDER, Blocks.GREEN_CARPET, Blocks.GREEN_STAINED_GLASS,
66+
Blocks.GREEN_STAINED_GLASS_PANE, Blocks.GREEN_TERRACOTTA, Blocks.GREEN_WOOL);
67+
addTypes(EnumColor.RED, Blocks.RED_BED, Blocks.RED_CANDLE, Blocks.RED_CONCRETE, Blocks.RED_CONCRETE_POWDER, Blocks.RED_CARPET, Blocks.RED_STAINED_GLASS, Blocks.RED_STAINED_GLASS_PANE,
68+
Blocks.RED_TERRACOTTA, Blocks.RED_WOOL);
69+
addTypes(EnumColor.BLACK, Blocks.BLACK_BED, Blocks.BLACK_CANDLE, Blocks.BLACK_CONCRETE, Blocks.BLACK_CONCRETE_POWDER, Blocks.BLACK_CARPET, Blocks.BLACK_STAINED_GLASS,
70+
Blocks.BLACK_STAINED_GLASS_PANE, Blocks.BLACK_TERRACOTTA, Blocks.BLACK_WOOL);
4971
}
5072

51-
private static void addTypes(EnumColor color, ItemLike bed, ItemLike stainedGlass, ItemLike stainedGlassPane) {
73+
private static void addTypes(EnumColor color, ItemLike bed, ItemLike candle, ItemLike concrete, ItemLike concretePowder, ItemLike carpet, ItemLike stainedGlass,
74+
ItemLike stainedGlassPane, ItemLike terracotta, ItemLike wool) {
5275
BEDS.put(color, bed);
76+
CANDLES.put(color, candle);
77+
CONCRETE.put(color, concrete);
78+
CONCRETE_POWDER.put(color, concretePowder);
79+
CARPETS.put(color, carpet);
5380
STAINED_GLASS.put(color, stainedGlass);
5481
STAINED_GLASS_PANES.put(color, stainedGlassPane);
82+
TERRACOTTA.put(color, terracotta);
83+
WOOL.put(color, wool);
5584
}
5685

5786
@Override
@@ -63,15 +92,15 @@ public void addRecipes(RecipeOutput consumer) {
6392
//Some base input tags are effectively duplicates of vanilla, but are done to make sure we don't change
6493
// things that make no sense to be colored, such as some sort of fancy carpets, or a unique type of glass that
6594
// is tagged as glass, but shouldn't be able to be converted directly into stained-glass
66-
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_WOOL, oneAtATime, PigmentExtractingRecipeProvider.WOOL, basePath + "wool/");
67-
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_CARPETS, eightAtATime, PigmentExtractingRecipeProvider.CARPETS, basePath + "carpet/");
95+
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_WOOL, oneAtATime, WOOL, basePath + "wool/");
96+
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_CARPETS, eightAtATime, CARPETS, basePath + "carpet/");
6897
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_BEDS, oneAtATime, BEDS, basePath + "bed/");
69-
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_CANDLE, oneAtATime, PigmentExtractingRecipeProvider.CANDLES, basePath + "candle/");
98+
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_CANDLE, oneAtATime, CANDLES, basePath + "candle/");
7099
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_GLASS, eightAtATime, STAINED_GLASS, basePath + "glass/");
71100
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_GLASS_PANES, eightAtATime, STAINED_GLASS_PANES, basePath + "glass_pane/");
72-
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_TERRACOTTA, eightAtATime, PigmentExtractingRecipeProvider.TERRACOTTA, basePath + "terracotta/");
73-
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_CONCRETE, eightAtATime, PigmentExtractingRecipeProvider.CONCRETE, basePath + "concrete/");
74-
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_CONCRETE_POWDER, eightAtATime, PigmentExtractingRecipeProvider.CONCRETE_POWDER,
101+
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_TERRACOTTA, eightAtATime, TERRACOTTA, basePath + "terracotta/");
102+
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_CONCRETE, eightAtATime, CONCRETE, basePath + "concrete/");
103+
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_CONCRETE_POWDER, eightAtATime, CONCRETE_POWDER,
75104
basePath + "concrete_powder/");
76105
//TODO: Eventually we may want to consider taking patterns into account
77106
addRecoloringRecipes(consumer, MekanismTags.Items.COLORABLE_BANNERS, oneAtATime, BannerBlock::byColor, basePath + "banner/");

0 commit comments

Comments
 (0)