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.

[SOLVED][1.12.2] Log spam from crafting recipes for items that don't always exist

Featured Replies

Posted

I want some of my mod's items to be disableable in the config file, so that if the player or pack maker doesn't want them, they don't have to be loaded into memory. When I disable items this way, I get this error for recipes for the disabled items:

com.google.gson.JsonSyntaxException: Unknown item 'mymod:myitem'
	at net.minecraftforge.common.crafting.CraftingHelper.getItemStack(CraftingHelper.java:211) ~[CraftingHelper.class:?]
	at net.minecraftforge.common.crafting.CraftingHelper.lambda$init$14(CraftingHelper.java:516) ~[CraftingHelper.class:?]
	at net.minecraftforge.common.crafting.CraftingHelper.getRecipe(CraftingHelper.java:408) ~[CraftingHelper.class:?]
	at net.minecraftforge.common.crafting.CraftingHelper.lambda$loadRecipes$22(CraftingHelper.java:711) ~[CraftingHelper.class:?]

The game still works fine, and all of the recipes are there except for the ones that make/use the disabled item, so the only problem that this is causing is the log spam. Is there a way to not load crafting recipes for some items in 1.12? In 1.11 and prior versions, I'm used to being able to conditionally add the recipe via Java, but I don't know of an equivalent for that in JSON.

Edited by josephcsible

  • Author

The reason I wanted disabling them to not register them is to make the mod more RAM-friendly. If I register them and just hide them, there's no real point.

  • Author

I just thought of something: even if I do still register the items, how would I then go about disabling the crafting recipe? Would I have to basically hardcode what CraftTweaker does, or is there an easier way?

You can't really "disable" a recipe. It's rather the other way around. You can "enable" a recipe. Unless you specifically make a recipe for an item, it won't have one.

ย 

To remove an item from a creative tab (and per extension JEI as well), use an if-statement in the item's constructor when adding to the creative tab (Item::setCreativeTab), or override CreativeTabs::displayAllRelevantItems in your own tab and remove your disabled items from the list given to you.

ย 

For full-fledged removal, you could possibly override Item::onUpdate and make sure that the items remove themselves from player's inventories if they should be disabled (players can still use /give etc)

Also previously known as eAndPi.

"Pi, is there a station coming up where we can board your train of thought?" -Kronnn

Published Mods: Underworld

Handy links: Vic_'s Forge events Own WIP Tutorials.

  • Author

I still feel like I'm missing something. How can I make a JSON recipe either work or not work depending on a configuration setting?

  • Author

Ah, conditions for recipes were exactly what I was looking for. Thanks! (For anyone else who reads this, note that it's minecraft:item_exists, not forge:item_exists).

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.