Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[1.14.4][Solved] Create recipes for machine with json

Featured Replies

Just now, Tieso2001 said:

What value?

10 minutes ago, Animefan8888 said:

Then use its constructor to initialize it.

Basic Java.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

  • Author
6 minutes ago, Animefan8888 said:

Then use its constructor to initialize it. 

But how do pass the inventory to it

recipeWrapper = new RecipeWrapper();

It needs IItemHandlerModifiable but inventory from my TileEntity is IItemHandler

1 minute ago, Tieso2001 said:

It needs IItemHandlerModifiable but inventory from my TileEntity is IItemHandler

You use ItemStackHandler to initialize it though. And ItemStackHandler is dun dun dun a IItemHandlerModifiable instance. Therefore cast it.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

  • Author
4 minutes ago, Animefan8888 said:

You use ItemStackHandler to initialize it though. And ItemStackHandler is dun dun dun a IItemHandlerModifiable instance. Therefore cast it.

Okay, did that, that worked.

I can acces RecipeWrapper from my TileEntity, but what should I use as the second argument of RecipeManager#getRecipe.

3 minutes ago, Tieso2001 said:

but what should I use as the second argument of RecipeManager#getRecipe.

The second argument should be the RecipeWrapper field, and the first one should be your RecipeType.
 

Quote

public static final IRecipeType<?> steeping = IRecipeType.register("steeping");

Also instead of just "steeping" this should contain your modid.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

  • Author
3 minutes ago, Animefan8888 said:

The second argument should be the RecipeWrapper field, and the first one should be your RecipeType.

That doesn't work because recipeWrapper gives an error saying that it is the wrong type.

 

Edit: Apparantly there was something wrong with the recipeType which gave an error for both arguments

Edited by Tieso2001

19 minutes ago, Tieso2001 said:

Edit: Apparantly there was something wrong with the recipeType which gave an error for both arguments

I'm gonna need to see the line of code and the exact error. Unless this is you saying that you've solved it.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

  • Author
Just now, Animefan8888 said:

I'm gonna need to see the line of code and the exact error. Unless this is you saying that you've solved it. 

Yes I meant that I solved it.

  • Author

Got everything working except for the following:

 

I created a recipe json named "test_steeping.json".

I put the recipe json in "resources.data.boneappletea.recipes".

In the TileEntity: RecipeManager#getRecipe only gives null and the recipe I created.

 

I pushed everything to github again so you can take a look again: https://github.com/Tieso2001/BoneAppleTea/tree/1.14.4-dev

 

Any idea what is wrong?

7 minutes ago, Tieso2001 said:

Any idea what is wrong?

test_steeping.json

Quote

"ingredients": [

{

"item": "boneappletea:barley_grains"

}

]

is not the same as

Quote

JsonElement jsonelement = JSONUtils.isJsonArray(json, "ingredient") ? JSONUtils.getJsonArray(json, "ingredient") : JSONUtils.getJsonObject(json, "ingredient");

Its also either a JsonArray or a JsonObject so in your Json you need to choose one.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

  • Author
7 minutes ago, Animefan8888 said:

is not the same as

Changed it in the json to ingredient.

 

Also I have a question:

public static final IRecipeType<SteepingRecipe> steeping = IRecipeType.register("steeping");

If I register the type like this, what does the type in the json have to be.

"minecraft:steeping",

"boneappletea:steeping",

or just "steeping"?

26 minutes ago, Tieso2001 said:

If I register the type like this, what does the type in the json have to be.

The IRecipeType is only used in code. The type in the Json refers to the registry name of the IRecipeSerializer.

27 minutes ago, Tieso2001 said:

IRecipeType.register("steeping");

As an extension. This will result in the IRecipeType being registered under minecraft:steeping which you don't want. Pass modid:steeping instead.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

  • Author
On 10/1/2019 at 8:17 PM, Animefan8888 said:

The IRecipeType is only used in code. The type in the Json refers to the registry name of the IRecipeSerializer.

As an extension. This will result in the IRecipeType being registered under minecraft:steeping which you don't want. Pass modid:steeping instead.

Finally got it working. Thank you for the help.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.