Jump to content

How to change default crafting recipes and disable items in vanilla minecraft


Recommended Posts

Posted

Hi. I need help with changing vanilla minecraft default recipes and disabling items from vanilla minecraft.

I want to change in my mod entire logic of vanilla game and make custom progress system based on players progress in my mod.
Disabling item is for unlocking them after player get progress points something like in sevtech ages.

No code for now just item registers but i cant find any option to change registry with vanilla items and recipes without changing game files it self

Posted
1 hour ago, _KS_ said:

Hi. I need help with changing vanilla minecraft default recipes and disabling items from vanilla minecraft.

Replace the recipe JSONs by supplying ones with a similar name. If you want to make it such that recipes can't be crafted until a certain point, it is much simpler to create a new block that functions the same as a crafting workbench but checks the progress. You can then disable any vanilla items by making an uncraftable recipe. If you need to change how non-JSONable recipes work, there are events for those (`PotionBrewEvent$Pre`, `AnvilUpdateEvent`, etc.).

You should always avoid touching and reregistering registry objects or modifying vanilla methods as you would most likely break compatibility with any other mod. The best way is just to modify the JSONs when applicable.

  • Like 1
Posted (edited)
1 hour ago, ChampionAsh5357 said:

Replace the recipe JSONs by supplying ones with a similar name. If you want to make it such that recipes can't be crafted until a certain point, it is much simpler to create a new block that functions the same as a crafting workbench but checks the progress. You can then disable any vanilla items by making an uncraftable recipe. If you need to change how non-JSONable recipes work, there are events for those (`PotionBrewEvent$Pre`, `AnvilUpdateEvent`, etc.).

You should always avoid touching and reregistering registry objects or modifying vanilla methods as you would most likely break compatibility with any other mod. The best way is just to modify the JSONs when applicable.

Yes i know about problems with touching registry objects but i dont want to modify any of game file in assets because after uninstaling my mod this can generate problems.
About crafting table and any of blocks like anvil, etc. i made my own versions in my mod just for this purpose

I'm 100% sure i can change registry objects because i making mod to be incompatible with any other mod that adding any machines or upgrades to vanilla crafting methods

Edited by _KS_
Posted
1 hour ago, _KS_ said:

Yes i know about problems with touching registry objects but i dont want to modify any of game file in assets because after uninstaling my mod this can generate problems.

You wouldn't be modifying the game assets though? Additionally, if you want to make a mod that's backwards compatible with vanilla, I would suggest a datapack.

1 hour ago, _KS_ said:

I'm 100% sure i can change registry objects because i making mod to be incompatible with any other mod that adding any machines or upgrades to vanilla crafting methods

Sure, but I would not explain how to do it since nearly any instance of registry replacement will break the game because of all the static storages of vanilla registry objects which in most instances would cause the game to crash in some capacity. Hence, I suggested the solution above as an alternative. It would also allow you to have more compatibility with other mods if you provide an open API or create an addon that supports the mod even if you do not wish to support it.

  • Like 1
Posted
52 minutes ago, ChampionAsh5357 said:

You wouldn't be modifying the game assets though? Additionally, if you want to make a mod that's backwards compatible with vanilla, I would suggest a datapack.

Sure, but I would not explain how to do it since nearly any instance of registry replacement will break the game because of all the static storages of vanilla registry objects which in most instances would cause the game to crash in some capacity. Hence, I suggested the solution above as an alternative. It would also allow you to have more compatibility with other mods if you provide an open API or create an addon that supports the mod even if you do not wish to support it.

Ok if i good understand what u telling there.
The best idea cause of minecraft static storage is to make custom crafting table, furnace etc. to just track player progress in game.
But what with disabling items to make custom mining progress or better is to go around this and make something like this custom crafting blocks

Posted
3 hours ago, _KS_ said:

But what with disabling items to make custom mining progress or better is to go around this and make something like this custom crafting blocks

You can override any JSON, so loot tables and recipes can just be modified to handle that. You can even add a custom condition for loot tables that take in the player context such that you can check your player's progress before dropping that loot.

  • Like 1
Posted (edited)
14 hours ago, ChampionAsh5357 said:

You can override any JSON, so loot tables and recipes can just be modified to handle that. You can even add a custom condition for loot tables that take in the player context such that you can check your player's progress before dropping that loot.

What about uninstalling mod? Overriding json files can generate problem or game check control sums of files after any startup.

For safe change in game i propably need to change all loots via events to custom and make custom usable blocks

Edited by _KS_
Posted
1 hour ago, _KS_ said:

What about uninstalling mod? Overriding json files can generate problem or game check control sums of files after any startup.

How would that generate problems? It would just revert to vanilla behavior on uninstall.

  • Like 1
Posted (edited)
7 minutes ago, ChampionAsh5357 said:

How would that generate problems? It would just revert to vanilla behavior on uninstall.

 

Ok. How u want to do this.
Using just file operations or getting game variables and changing it.
Sorry for my misunderstood im new in forge coding.
I will propably do this by cancelling events and calculating my self everyting

Edited by _KS_
Posted
45 minutes ago, _KS_ said:

Sorry for my misunderstood im new in forge coding.

JSON replacement is a vanilla system using datapacks. You can modify behavior in any which way without worrying.

45 minutes ago, _KS_ said:

Ok. How u want to do this.

I've already explained above. Override recipes and loot table JSONs for changing/disabling things. If not supported, use an associated event. Since you want the recipes to be unlocked based upon the player, you will most likely need to create a new block which supports taking in the player as part of the recipe calculation.

  • Like 1
Posted (edited)
9 minutes ago, ChampionAsh5357 said:

JSON replacement is a vanilla system using datapacks. You can modify behavior in any which way without worrying.

I've already explained above. Override recipes and loot table JSONs for changing/disabling things. If not supported, use an associated event. Since you want the recipes to be unlocked based upon the player, you will most likely need to create a new block which supports taking in the player as part of the recipe calculation.

Thx i will stay with my method because now i recognize i need to change all block inventories (player too)to make my mod work correctly. Still thx so much for help 

Edited by _KS_

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I need to know what mod is doing this crash, i mean the mod xenon is doing the crash but i want to know who mod is incompatible with xenon, but please i need to know a solution if i need to replace xenon, i cant use optifine anymore and all the other mods i tried(sodium, lithium, vulkan, etc) doesn't work, it crash the game.
    • I have been trying to solve a consistent crashing issue on my brother's computer where it will crash during the "Scanning Mod Candidates" phase of the loading process that starts when you click the play button on the Minecraft launcher. The issue seems to stem from a missing library that it mentions in the log file I provide below. I might I'm missing the bigger issue here for a smaller one but hopefully someone can find what I'm missing. Here's all of the stuff that I've been able to figure out so far: 1. It has nothing to do with mods, the crash happened with a real modpack, and even when I made a custom modpack and launched it without putting ANY mods into it (That is where the log file comes from by the way). 2. I have tried to find this class like a file in the Minecraft folders, but I've had no luck finding it (I don't think it works like that, but since I really don't understand how it works, I just figured I'd try). 3. I haven't seen anyone else have this issue before. 4. I know that my modpack (with mods) does work since I've run it on my computer, and it works fantastic. For some reason my brother's computer can't seem to run anything through curseforge. 5. This is for Minecraft version 1.20.1, Minecraft launcher version 3.4.50-2.1.3, forge 47.3.0, and curseforge app version 1.256.0.21056 6. My brother is using a Dell laptop from 6 years ago running Windows 10 (If you think more info on this would help, please ask as I do have it. I'm just choosing not to put it here for now). 7. I have reinstalled the curseforge app and installed Minecraft version 1.20.1. I have not reinstalled Minecraft or forge 47.3.0 but I didn't know if that would help. 8. I had an error code of 1 Please let me know if there is anything else that I am missing that you would like me to add to this post/add in a comment! Lastly, many thanks in advance to whoever can help! ------------- LOG FILE (latest.log) ------------- (from /Users/<NAME OF USER>/cursforge/minecraft/Instances/<THE NAME OF MY EMPTY MODPACK>/logs/latest.log) (This was made after running an empty modpack with same versions for all apps) ("[REDACTED]" is not the actual text from the log, it is me replacing text I figured wouldn't be necessary for fixing and would hurt my privacy) https://pastebin.com/hxXvGGEK ------------- DEBUG.LOG (I realized that I should have put this here first after I had done all of the work on putting latest.log in) -------------------- (again, "[REDACTED]" is not the actual text from the log, it is me replacing text I figured wouldn't be necessary for fixing and would hurt my privacy) https://pastebin.com/Fmh8GHYs
    • Pastebin... https://pastebin.com/Y3iZ85L5   Brand new profile, does not point to a mod as far as I can tell, my fatal message just has something about mixins. Don't know much about reading logs like this, but am genuinely stuck, please help. Java updated, pc restarted.
    • Fastfund recovery helps an individual to get back their scammed funds irrespective of nationality, Romance scam funds and Broker's scam, all kinds of scam funds are 100% accurately recovered without disappointment, their goal is to give all those who seek help to recover lost satisfaction of funds recovery within 72 hours After countless hours of research and desperate attempts to find a solution, I stumbled upon FASTFUND RECOVERY. It was like finding an oasis in the middle of a desert. Their website promised to help victims of scams reclaim what was rightfully theirs, and I instantly knew I had to give them a shot. Before diving headfirst into the recovery process, I wanted to make sure that FASTFUND RECOVERY was the real deal. So, I did my due diligence and looked into their expertise and reputation. To my relief, I found that they had an impeccable track record, successfully assisting countless individuals in recovering their lost funds. Their team consisted of experts in cybersecurity and financial fraud, armed with the knowledge and tools needed to tackle even the most intricate scams. With their reputation preceding them, I felt a renewed sense of hope. FASTFUND RECOVERY successfully came to my aid and got back the amount I lost to these scammers and for this, I am sending this article for clarification. The info of FASTFUND RECOVERY is email: Fastfundrecovery8 (@)Gmail (.) com. Web fastfundrecovery(.)com. (W/A 1 807/500/7554)
  • Topics

×
×
  • Create New...

Important Information

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