Skip to content

Commit edd263b

Browse files
committed
+ ITEM: incomplete chip
+ ITEM: silicone sheet + CLASS: RECIPE REGISTER + CLASS: CUSTOM RECIPE CLASS
1 parent 67d158e commit edd263b

File tree

10 files changed

+175
-22
lines changed

10 files changed

+175
-22
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:item/generated",
3+
"textures": {
4+
"layer0": "robotics:item/incomplete_chip"
5+
}
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:item/generated",
3+
"textures": {
4+
"layer0": "robotics:item/silicone_sheet"
5+
}
6+
}

src/main/java/com/workert/robotics/Robotics.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public Robotics() {
3333
this.modEventBus.addListener(Robotics::clientSetup);
3434
this.modEventBus.addListener(ClientHandler::registerLayerDefinition);
3535

36+
ModRecipeTypes.register(modEventBus);
3637
REGISTRATE.registerEventListeners(this.modEventBus);
3738
this.modEventBus.addListener(RoboticsDatagen::gatherData);
3839

@@ -44,7 +45,6 @@ public Robotics() {
4445
BlockEntityRegistry.register();
4546

4647
MenuRegistry.register(this.modEventBus);
47-
RecipeRegistry.register(this.modEventBus);
4848

4949
PacketRegistry.registerPackets();
5050

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package com.workert.robotics.base.registries;
2+
3+
4+
import com.simibubi.create.content.processing.recipe.ProcessingRecipe;
5+
import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder.ProcessingRecipeParams;
6+
7+
8+
import net.minecraft.world.level.Level;
9+
10+
import net.minecraftforge.items.wrapper.RecipeWrapper;
11+
12+
import javax.annotation.ParametersAreNonnullByDefault;
13+
14+
15+
@ParametersAreNonnullByDefault
16+
public class CustomProcessingRecipe extends ProcessingRecipe<RecipeWrapper> {
17+
18+
public CustomProcessingRecipe(ProcessingRecipeParams params) {
19+
super(ModRecipeTypes.CUSTOM_PROCESSING, params);
20+
}
21+
22+
@Override
23+
public boolean matches(RecipeWrapper inv, Level worldIn) {
24+
if (inv.isEmpty())
25+
return false;
26+
return ingredients.get(0)
27+
.test(inv.getItem(0));
28+
}
29+
30+
@Override
31+
protected int getMaxInputCount() {
32+
return 1;
33+
}
34+
35+
@Override
36+
protected int getMaxOutputCount() {
37+
return 2;
38+
}
39+
40+
41+
}
42+

src/main/java/com/workert/robotics/base/registries/ItemRegistry.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,20 @@ public static void register() {
6060
.tag(AllTags.forgeItemTag("ingots/chip_electronic"))
6161
.register();
6262

63+
public static final ItemEntry<Item> INCOMPLETE_CHIP = Robotics.REGISTRATE
64+
.item("incomplete_chip", Item::new)
65+
.lang("Incomplete Chip")
66+
.tag(Tags.Items.INGOTS)
67+
.tag(AllTags.forgeItemTag("ingots/incomplete_chip"))
68+
.register();
69+
70+
public static final ItemEntry<Item> SILICONE_SHEET = Robotics.REGISTRATE
71+
.item("silicone_sheet", Item::new)
72+
.lang("Silicone Sheet")
73+
.tag(Tags.Items.INGOTS)
74+
.tag(AllTags.forgeItemTag("ingots/silicone_sheet"))
75+
.register();
76+
6377
public static final ItemEntry<Item> PROGRAM = Robotics.REGISTRATE
6478
.item("program", Item::new)
6579
.lang("Program")
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package com.workert.robotics.base.registries;
2+
3+
import com.simibubi.create.foundation.recipe.IRecipeTypeInfo;
4+
import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder.ProcessingRecipeFactory;
5+
import com.simibubi.create.content.processing.recipe.ProcessingRecipeSerializer;
6+
import net.minecraft.world.item.crafting.RecipeSerializer;
7+
import net.minecraft.world.item.crafting.RecipeType;
8+
import net.minecraft.resources.ResourceLocation;
9+
import net.minecraftforge.eventbus.api.IEventBus;
10+
import net.minecraftforge.registries.DeferredRegister;
11+
import net.minecraftforge.registries.ForgeRegistries;
12+
import net.minecraftforge.registries.RegistryObject;
13+
14+
public enum ModRecipeTypes implements IRecipeTypeInfo {
15+
16+
// Define tus tipos de recetas aquí
17+
CUSTOM_PROCESSING(CustomProcessingRecipe::new);
18+
// Puedes añadir más tipos según necesites
19+
20+
private final ResourceLocation id;
21+
private final RegistryObject<RecipeSerializer<?>> serializerObject;
22+
private final RegistryObject<RecipeType<?>> typeObject;
23+
24+
ModRecipeTypes(ProcessingRecipeFactory<?> factory) {
25+
String name = name().toLowerCase(); // Convierte el nombre del enum a minúsculas
26+
id = new ResourceLocation("robotics", name); // Usa el ID de tu mod
27+
serializerObject = Registers.SERIALIZER_REGISTER.register(name,
28+
() -> new ProcessingRecipeSerializer<>(factory));
29+
typeObject = Registers.TYPE_REGISTER.register(name,
30+
() -> RecipeType.simple(id));
31+
}
32+
33+
@Override
34+
public ResourceLocation getId() {
35+
return id;
36+
}
37+
38+
@SuppressWarnings("unchecked")
39+
@Override
40+
public <T extends RecipeSerializer<?>> T getSerializer() {
41+
return (T) serializerObject.get();
42+
}
43+
44+
@SuppressWarnings("unchecked")
45+
@Override
46+
public <T extends RecipeType<?>> T getType() {
47+
return (T) typeObject.get();
48+
}
49+
50+
// Registra tus recetas
51+
public static void register(IEventBus modEventBus) {
52+
Registers.SERIALIZER_REGISTER.register(modEventBus);
53+
Registers.TYPE_REGISTER.register(modEventBus);
54+
}
55+
56+
private static class Registers {
57+
// Reemplaza "robotics" con el ID de tu mod
58+
private static final DeferredRegister<RecipeSerializer<?>> SERIALIZER_REGISTER =
59+
DeferredRegister.create(ForgeRegistries.RECIPE_SERIALIZERS, "robotics");
60+
private static final DeferredRegister<RecipeType<?>> TYPE_REGISTER =
61+
DeferredRegister.create(ForgeRegistries.RECIPE_TYPES, "robotics");
62+
}
63+
}

src/main/java/com/workert/robotics/base/registries/RecipeRegistry.java

Lines changed: 0 additions & 21 deletions
This file was deleted.
343 Bytes
Loading
249 Bytes
Loading
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"type": "create:sequenced_assembly",
3+
"ingredient": {
4+
"item": "robotics:silicone_sheet"
5+
},
6+
"loops": 1,
7+
"results": [
8+
{
9+
"item": "robotics:chip_electronic"
10+
}
11+
],
12+
"sequence": [
13+
{
14+
"type": "create:pressing",
15+
"ingredients": [
16+
{
17+
"item": "robotics:incomplete_chip"
18+
}
19+
],
20+
"results": [
21+
{
22+
"item": "robotics:incomplete_chip"
23+
}
24+
]
25+
},
26+
{
27+
"type": "create:pressing",
28+
"ingredients": [
29+
{
30+
"item": "robotics:incomplete_chip"
31+
}
32+
],
33+
"results": [
34+
{
35+
"item": "robotics:incomplete_chip"
36+
}
37+
]
38+
}
39+
],
40+
"transitionalItem": {
41+
"item": "robotics:incomplete_chip"
42+
}
43+
}

0 commit comments

Comments
 (0)