Skip to content

Commit e866d9b

Browse files
committed
Re-add JEI support
1 parent 5b7f8f6 commit e866d9b

File tree

3 files changed

+62
-78
lines changed

3 files changed

+62
-78
lines changed

gradle/mods.versions.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
[versions]
2-
jei = "19.22.1.316"
2+
# https://maven.blamejared.com/mezz/jei/
3+
jei = "24.0.0.2"
34

45
# Jade
56
[libraries.jade]
@@ -8,11 +9,11 @@ version = "6853386"
89

910
# Just Enough Items
1011
[libraries.jeiCommon]
11-
module = "mezz.jei:jei-1.21.1-common-api"
12+
module = "mezz.jei:jei-1.21.8-common-api"
1213
version.ref = "jei"
1314

1415
[libraries.jeiNeo]
15-
module = "mezz.jei:jei-1.21.1-neoforge-api"
16+
module = "mezz.jei:jei-1.21.8-neoforge-api"
1617
version.ref = "jei"
1718

1819
[bundles]

neoforge-main/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,8 +233,7 @@ dependencies {
233233
// jarJar(compactmods.bundles.gander)
234234

235235
// Just Enough Items
236-
// compileOnly(mods.jeiCommon)
237-
// compileOnly(mods.jeiNeo)
236+
compileOnly(mods.bundles.jei)
238237

239238
// Curios API
240239
// compileOnly(libs.curios)
Lines changed: 57 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,57 @@
1-
//package dev.compactmods.machines.compat.jei;
2-
//
3-
//import dev.compactmods.machines.CompactMachinesCommon;
4-
//import dev.compactmods.machines.api.CompactMachines;
5-
//import dev.compactmods.machines.api.component.CMDataComponents;
6-
//import dev.compactmods.machines.api.machine.MachineConstants;
7-
//import dev.compactmods.machines.api.room.template.RoomTemplateHelper;
8-
//import dev.compactmods.machines.machine.Machines;
9-
//import dev.compactmods.machines.shrinking.Shrinking;
10-
//import mezz.jei.api.IModPlugin;
11-
//import mezz.jei.api.JeiPlugin;
12-
//import mezz.jei.api.constants.VanillaTypes;
13-
//import mezz.jei.api.ingredients.IIngredientType;
14-
//import mezz.jei.api.ingredients.subtypes.ISubtypeInterpreter;
15-
//import mezz.jei.api.ingredients.subtypes.UidContext;
16-
//import mezz.jei.api.registration.IRecipeRegistration;
17-
//import mezz.jei.api.registration.ISubtypeRegistration;
18-
//import net.minecraft.network.chat.Component;
19-
//import net.minecraft.resources.ResourceLocation;
20-
//import net.minecraft.tags.TagKey;
21-
//import net.minecraft.world.item.Item;
22-
//import net.minecraft.world.item.ItemStack;
23-
//import net.minecraft.world.item.crafting.Ingredient;
24-
//import net.neoforged.neoforge.server.ServerLifecycleHooks;
25-
//import org.jetbrains.annotations.NotNull;
26-
//import org.jetbrains.annotations.Nullable;
27-
//
28-
//import javax.annotation.ParametersAreNonnullByDefault;
29-
//import javax.annotation.ParametersAreNullableByDefault;
30-
//
31-
//@JeiPlugin
32-
//public class CompactMachinesJeiPlugin implements IModPlugin {
33-
// @Override
34-
// public ResourceLocation getPluginUid() {
35-
// return CompactMachines.modRL("main");
36-
// }
37-
//
38-
// @Override
39-
// public void registerRecipes(IRecipeRegistration registration) {
40-
// registration.addIngredientInfo(
41-
// Machines.Items.unboundColored(CompactMachinesCommon.BRAND_MACHINE_COLOR),
42-
// VanillaTypes.ITEM_STACK,
43-
// Component.translatable("jei.compactmachines.machines"));
44-
//
45-
// // Add all known template JEI infos
46-
// RoomTemplateHelper.getTemplateHolders(ServerLifecycleHooks.getCurrentServer().registryAccess())
47-
// .map(Machines.Items::forNewRoom)
48-
// .forEach(t -> registration.addIngredientInfo(t, VanillaTypes.ITEM_STACK,
49-
// Component.translatable("jei.compactmachines.machines")));
50-
//
51-
// registration.addIngredientInfo(
52-
// new ItemStack(Shrinking.PERSONAL_SHRINKING_DEVICE.get()),
53-
// VanillaTypes.ITEM_STACK,
54-
// Component.translatable("jei.compactmachines.shrinking_device"));
55-
// }
56-
//
57-
// @Override
58-
// @ParametersAreNonnullByDefault
59-
// public void registerItemSubtypes(ISubtypeRegistration registration) {
60-
// registration.registerSubtypeInterpreter(VanillaTypes.ITEM_STACK, Machines.Items.UNBOUND_MACHINE.get(),
61-
// new ISubtypeInterpreter<>() {
62-
// @Override
63-
// public @Nullable Object getSubtypeData(ItemStack ingredient, UidContext context) {
64-
// return ingredient.get(CMDataComponents.ROOM_TEMPLATE_ID);
65-
// }
66-
//
67-
// @Override
68-
// public @NotNull String getLegacyStringSubtypeInfo(ItemStack ingredient, UidContext context) {
69-
// return "";
70-
// }
71-
// });
72-
// }
73-
//}
1+
package dev.compactmods.machines.compat.jei;
2+
3+
import dev.compactmods.machines.CompactMachinesCommon;
4+
import dev.compactmods.machines.api.CompactMachines;
5+
import dev.compactmods.machines.api.component.CMDataComponents;
6+
import dev.compactmods.machines.api.room.template.RoomTemplateHelper;
7+
import dev.compactmods.machines.machine.Machines;
8+
import dev.compactmods.machines.shrinking.Shrinking;
9+
import mezz.jei.api.IModPlugin;
10+
import mezz.jei.api.JeiPlugin;
11+
import mezz.jei.api.constants.VanillaTypes;
12+
import mezz.jei.api.ingredients.subtypes.ISubtypeInterpreter;
13+
import mezz.jei.api.ingredients.subtypes.UidContext;
14+
import mezz.jei.api.registration.IRecipeRegistration;
15+
import mezz.jei.api.registration.ISubtypeRegistration;
16+
import net.minecraft.network.chat.Component;
17+
import net.minecraft.resources.ResourceLocation;
18+
import net.minecraft.world.item.ItemStack;
19+
import net.neoforged.neoforge.server.ServerLifecycleHooks;
20+
import org.jetbrains.annotations.NotNull;
21+
import org.jetbrains.annotations.Nullable;
22+
23+
import javax.annotation.ParametersAreNonnullByDefault;
24+
25+
@JeiPlugin
26+
public class CompactMachinesJeiPlugin implements IModPlugin {
27+
@Override
28+
public @NotNull ResourceLocation getPluginUid() {
29+
return CompactMachines.modRL("main");
30+
}
31+
32+
@Override
33+
public void registerRecipes(IRecipeRegistration registration) {
34+
registration.addIngredientInfo(
35+
Machines.Items.unboundColored(CompactMachinesCommon.BRAND_MACHINE_COLOR),
36+
VanillaTypes.ITEM_STACK,
37+
Component.translatable("jei.compactmachines.machines"));
38+
39+
// Add all known template JEI infos
40+
RoomTemplateHelper.getTemplateHolders(ServerLifecycleHooks.getCurrentServer().registryAccess())
41+
.map(Machines.Items::forNewRoom)
42+
.forEach(t -> registration.addIngredientInfo(t, VanillaTypes.ITEM_STACK,
43+
Component.translatable("jei.compactmachines.machines")));
44+
45+
registration.addIngredientInfo(
46+
new ItemStack(Shrinking.PERSONAL_SHRINKING_DEVICE.get()),
47+
VanillaTypes.ITEM_STACK,
48+
Component.translatable("jei.compactmachines.shrinking_device"));
49+
}
50+
51+
@Override
52+
@ParametersAreNonnullByDefault
53+
public void registerItemSubtypes(ISubtypeRegistration registration) {
54+
registration.registerSubtypeInterpreter(VanillaTypes.ITEM_STACK, Machines.Items.UNBOUND_MACHINE.get(),
55+
(ingredient, context) -> ingredient.get(CMDataComponents.ROOM_TEMPLATE_ID));
56+
}
57+
}

0 commit comments

Comments
 (0)