Skip to content

Commit 1be2115

Browse files
committed
Split AdornRecipes into recipe type/serializer classes
1 parent 82fe878 commit 1be2115

File tree

12 files changed

+54
-38
lines changed

12 files changed

+54
-38
lines changed

common/src/main/java/juuxel/adorn/block/entity/BrewerBlockEntity.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import juuxel.adorn.item.AdornItems;
77
import juuxel.adorn.menu.BrewerMenu;
88
import juuxel.adorn.platform.ItemBridge;
9-
import juuxel.adorn.recipe.AdornRecipes;
9+
import juuxel.adorn.recipe.AdornRecipeTypes;
1010
import juuxel.adorn.recipe.BrewerInput;
1111
import juuxel.adorn.recipe.FluidBrewingRecipe;
1212
import juuxel.adorn.recipe.InventoryWrappingRecipeInput;
@@ -167,7 +167,7 @@ public static void tick(World world, BlockPos pos, BlockState state, BrewerBlock
167167
}
168168

169169
var input = new RecipeInputImpl(brewer);
170-
var recipe = world.getRecipeManager().getFirstMatch(AdornRecipes.BREWING_TYPE.get(), input, world).map(RecipeEntry::value).orElse(null);
170+
var recipe = world.getRecipeManager().getFirstMatch(AdornRecipeTypes.BREWING.get(), input, world).map(RecipeEntry::value).orElse(null);
171171

172172
if (recipe != null && brewer.getStack(INPUT_SLOT).isOf(AdornItems.MUG.get())) {
173173
if (brewer.progress++ >= MAX_PROGRESS) {

common/src/main/java/juuxel/adorn/compat/emi/AdornEmiPlugin.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import juuxel.adorn.AdornCommon;
1010
import juuxel.adorn.block.AdornBlocks;
1111
import juuxel.adorn.client.gui.screen.TradingStationScreen;
12-
import juuxel.adorn.recipe.AdornRecipes;
12+
import juuxel.adorn.recipe.AdornRecipeTypes;
1313
import juuxel.adorn.recipe.FluidBrewingRecipe;
1414
import juuxel.adorn.recipe.ItemBrewingRecipe;
1515

@@ -28,7 +28,7 @@ public void register(EmiRegistry registry) {
2828

2929
var recipeManager = registry.getRecipeManager();
3030

31-
for (var entry : recipeManager.listAllOfType(AdornRecipes.BREWING_TYPE.get())) {
31+
for (var entry : recipeManager.listAllOfType(AdornRecipeTypes.BREWING.get())) {
3232
BrewingEmiRecipe emiRecipe = switch (entry.value()) {
3333
case ItemBrewingRecipe recipe -> new BrewingEmiRecipe(entry.id(), recipe);
3434
case FluidBrewingRecipe recipe -> new BrewingEmiRecipe(entry.id(), recipe);

common/src/main/java/juuxel/adorn/compat/jei/AdornJeiPlugin.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import juuxel.adorn.AdornCommon;
55
import juuxel.adorn.block.AdornBlocks;
66
import juuxel.adorn.client.gui.screen.TradingStationScreen;
7-
import juuxel.adorn.recipe.AdornRecipes;
7+
import juuxel.adorn.recipe.AdornRecipeTypes;
88
import me.shedaniel.rei.plugincompatibilities.api.REIPluginCompatIgnore;
99
import mezz.jei.api.IModPlugin;
1010
import mezz.jei.api.JeiPlugin;
@@ -37,7 +37,7 @@ public void registerCategories(IRecipeCategoryRegistration registration) {
3737

3838
@Override
3939
public void registerRecipes(IRecipeRegistration registration) {
40-
registerRecipes(registration, AdornRecipes.BREWING_TYPE.get(), JeiRecipeTypes.BREWER);
40+
registerRecipes(registration, AdornRecipeTypes.BREWING.get(), JeiRecipeTypes.BREWER);
4141
}
4242

4343
private <I extends RecipeInput, T extends Recipe<I>> void registerRecipes(

common/src/main/java/juuxel/adorn/compat/rei/client/AdornReiClient.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import juuxel.adorn.compat.rei.AdornReiServer;
55
import juuxel.adorn.compat.rei.BrewerDisplay;
66
import juuxel.adorn.lib.AdornTags;
7-
import juuxel.adorn.recipe.AdornRecipes;
7+
import juuxel.adorn.recipe.AdornRecipeTypes;
88
import juuxel.adorn.recipe.FluidBrewingRecipe;
99
import juuxel.adorn.recipe.ItemBrewingRecipe;
1010
import me.shedaniel.rei.api.client.plugins.REIClientPlugin;
@@ -28,8 +28,8 @@ public void registerCategories(CategoryRegistry registry) {
2828

2929
@Override
3030
public void registerDisplays(DisplayRegistry registry) {
31-
registry.registerRecipeFiller(ItemBrewingRecipe.class, AdornRecipes.BREWING_TYPE.get(), entry -> new BrewerDisplay(entry.value()));
32-
registry.registerRecipeFiller(FluidBrewingRecipe.class, AdornRecipes.BREWING_TYPE.get(), entry -> new BrewerDisplay(entry.value()));
31+
registry.registerRecipeFiller(ItemBrewingRecipe.class, AdornRecipeTypes.BREWING.get(), entry -> new BrewerDisplay(entry.value()));
32+
registry.registerRecipeFiller(FluidBrewingRecipe.class, AdornRecipeTypes.BREWING.get(), entry -> new BrewerDisplay(entry.value()));
3333
}
3434

3535
@Override
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,22 @@
11
package juuxel.adorn.recipe;
22

3-
import juuxel.adorn.AdornCommon;
43
import juuxel.adorn.lib.registry.Registered;
54
import juuxel.adorn.lib.registry.Registrar;
65
import juuxel.adorn.lib.registry.RegistrarFactory;
7-
import net.minecraft.recipe.Recipe;
86
import net.minecraft.recipe.RecipeSerializer;
9-
import net.minecraft.recipe.RecipeType;
107
import net.minecraft.recipe.SpecialRecipeSerializer;
118
import net.minecraft.registry.RegistryKeys;
129

13-
public final class AdornRecipes {
10+
public final class AdornRecipeSerializers {
1411
public static final Registrar<RecipeSerializer<?>> RECIPE_SERIALIZERS = RegistrarFactory.get().create(RegistryKeys.RECIPE_SERIALIZER);
15-
public static final Registrar<RecipeType<?>> RECIPE_TYPES = RegistrarFactory.get().create(RegistryKeys.RECIPE_TYPE);
1612

17-
public static final Registered<RecipeType<BrewingRecipe>> BREWING_TYPE = registerRecipeType("brewing");
18-
public static final Registered<RecipeSerializer<ItemBrewingRecipe>> BREWING_SERIALIZER =
13+
public static final Registered<RecipeSerializer<ItemBrewingRecipe>> BREWING =
1914
RECIPE_SERIALIZERS.register("brewing", ItemBrewingRecipe.Serializer::new);
20-
public static final Registered<RecipeSerializer<FluidBrewingRecipe>> BREWING_FROM_FLUID_SERIALIZER =
15+
public static final Registered<RecipeSerializer<FluidBrewingRecipe>> BREWING_FROM_FLUID =
2116
RECIPE_SERIALIZERS.register("brewing_from_fluid", FluidBrewingRecipe.Serializer::new);
22-
23-
public static final Registered<RecipeSerializer<FertilizerRefillingRecipe>> FERTILIZER_REFILLING_SERIALIZER =
17+
public static final Registered<RecipeSerializer<FertilizerRefillingRecipe>> FERTILIZER_REFILLING =
2418
RECIPE_SERIALIZERS.register("fertilizer_refilling", () -> new SpecialRecipeSerializer<>(FertilizerRefillingRecipe::new));
2519

26-
private static <R extends Recipe<?>> Registered<RecipeType<R>> registerRecipeType(String id) {
27-
return RECIPE_TYPES.register(id, () -> new RecipeType<>() {
28-
@Override
29-
public String toString() {
30-
return AdornCommon.NAMESPACE + ':' + id;
31-
}
32-
});
33-
}
34-
3520
public static void init() {
3621
}
3722
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package juuxel.adorn.recipe;
2+
3+
import juuxel.adorn.AdornCommon;
4+
import juuxel.adorn.lib.registry.Registered;
5+
import juuxel.adorn.lib.registry.Registrar;
6+
import juuxel.adorn.lib.registry.RegistrarFactory;
7+
import net.minecraft.recipe.Recipe;
8+
import net.minecraft.recipe.RecipeType;
9+
import net.minecraft.registry.RegistryKeys;
10+
11+
public final class AdornRecipeTypes {
12+
public static final Registrar<RecipeType<?>> RECIPE_TYPES = RegistrarFactory.get().create(RegistryKeys.RECIPE_TYPE);
13+
14+
public static final Registered<RecipeType<BrewingRecipe>> BREWING = registerRecipeType("brewing");
15+
16+
private static <R extends Recipe<?>> Registered<RecipeType<R>> registerRecipeType(String id) {
17+
return RECIPE_TYPES.register(id, () -> new RecipeType<>() {
18+
@Override
19+
public String toString() {
20+
return AdornCommon.NAMESPACE + ':' + id;
21+
}
22+
});
23+
}
24+
25+
public static void init() {
26+
}
27+
}

common/src/main/java/juuxel/adorn/recipe/BrewingRecipe.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
public sealed interface BrewingRecipe extends Recipe<BrewerInput> permits FluidBrewingRecipe, ItemBrewingRecipe {
77
@Override
88
default RecipeType<?> getType() {
9-
return AdornRecipes.BREWING_TYPE.get();
9+
return AdornRecipeTypes.BREWING.get();
1010
}
1111
}

common/src/main/java/juuxel/adorn/recipe/FertilizerRefillingRecipe.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public boolean fits(int width, int height) {
7272

7373
@Override
7474
public RecipeSerializer<?> getSerializer() {
75-
return AdornRecipes.FERTILIZER_REFILLING_SERIALIZER.get();
75+
return AdornRecipeSerializers.FERTILIZER_REFILLING.get();
7676
}
7777

7878
private record MatchResult(ItemStack wateringCan, int fertilizers) {

common/src/main/java/juuxel/adorn/recipe/FluidBrewingRecipe.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public ItemStack getResult(RegistryWrapper.WrapperLookup registries) {
5050

5151
@Override
5252
public RecipeSerializer<?> getSerializer() {
53-
return AdornRecipes.BREWING_FROM_FLUID_SERIALIZER.get();
53+
return AdornRecipeSerializers.BREWING_FROM_FLUID.get();
5454
}
5555

5656
public static final class Serializer implements RecipeSerializer<FluidBrewingRecipe> {

common/src/main/java/juuxel/adorn/recipe/ItemBrewingRecipe.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public ItemStack getResult(RegistryWrapper.WrapperLookup registries) {
4747

4848
@Override
4949
public RecipeSerializer<?> getSerializer() {
50-
return AdornRecipes.BREWING_SERIALIZER.get();
50+
return AdornRecipeSerializers.BREWING.get();
5151
}
5252

5353
public static final class Serializer implements RecipeSerializer<ItemBrewingRecipe> {

fabric/src/main/java/juuxel/adorn/Adorn.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@
2727
import juuxel.adorn.loot.AdornLootConditionTypes;
2828
import juuxel.adorn.loot.AdornLootFunctionTypes;
2929
import juuxel.adorn.menu.AdornMenus;
30-
import juuxel.adorn.recipe.AdornRecipes;
30+
import juuxel.adorn.recipe.AdornRecipeSerializers;
31+
import juuxel.adorn.recipe.AdornRecipeTypes;
3132
import juuxel.adorn.resources.AdornResources;
3233
import net.fabricmc.api.EnvType;
3334
import net.fabricmc.api.Environment;
@@ -53,7 +54,8 @@ public static void init() {
5354
AdornStats.init();
5455
SofaSleeping.init();
5556
AdornCriteria.init();
56-
AdornRecipes.init();
57+
AdornRecipeTypes.init();
58+
AdornRecipeSerializers.init();
5759
AdornLootConditionTypes.init();
5860
AdornLootFunctionTypes.init();
5961
Compat.init();

forge/src/main/java/juuxel/adorn/platform/forge/Adorn.java

+6-4
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@
2727
import juuxel.adorn.platform.forge.event.ItemEvents;
2828
import juuxel.adorn.platform.forge.networking.AdornNetworking;
2929
import juuxel.adorn.platform.forge.registrar.ForgeRegistrar;
30-
import juuxel.adorn.recipe.AdornRecipes;
30+
import juuxel.adorn.recipe.AdornRecipeSerializers;
31+
import juuxel.adorn.recipe.AdornRecipeTypes;
3132
import net.neoforged.api.distmarker.Dist;
3233
import net.neoforged.bus.api.IEventBus;
3334
import net.neoforged.fml.ModLoadingContext;
@@ -53,10 +54,11 @@ public Adorn() {
5354
register(AdornBlockEntities.BLOCK_ENTITIES, modBus);
5455
AdornItemGroups.init();
5556
register(AdornItemGroups.ITEM_GROUPS, modBus);
56-
AdornRecipes.init();
57+
AdornRecipeTypes.init();
58+
AdornRecipeSerializers.init();
5759
register(AdornMenus.MENUS, modBus);
58-
register(AdornRecipes.RECIPE_SERIALIZERS, modBus);
59-
register(AdornRecipes.RECIPE_TYPES, modBus);
60+
register(AdornRecipeSerializers.RECIPE_SERIALIZERS, modBus);
61+
register(AdornRecipeTypes.RECIPE_TYPES, modBus);
6062
register(AdornLootConditionTypes.LOOT_CONDITION_TYPES, modBus);
6163
register(AdornLootFunctionTypes.LOOT_FUNCTION_TYPES, modBus);
6264
register(AdornStats.CUSTOM_STATS, modBus);

0 commit comments

Comments
 (0)