Bloopers Posted September 29, 2017 Posted September 29, 2017 Basically, I want to make it so you need to have researched about a specific item before you can "know" how to craft it. I can't find a similar question anywhere and I have no idea where to start. I assume I'll be using forge events to detect if the player actually crafted the item. Which should be simple. But then... making it so there's no output... that'll probably be a bit more difficult. So yeah, any pointers would be helpful. I think I've got a decent grasp on the whole java stuff so I don't need like super detailed explanations... I think. Quote
AnZaNaMa Posted September 29, 2017 Posted September 29, 2017 Seems like what you're going to be looking for is the PlayerEvent.ItemCraftedEvent, which apparently is called just before a player crafts an item. Unfortunately, it seems that this event is not @Cancelable, so you'll have to manually stop the crafting from happenning. Quote - Just because things are the way they are doesn't mean they can't be the way you want them to be. Unless they're aspen trees. You can tell they're aspens 'cause the way they are.
Bloopers Posted September 29, 2017 Author Posted September 29, 2017 On 9/29/2017 at 10:46 PM, AnZaNaMa said: Seems like what you're going to be looking for is the PlayerEvent.ItemCraftedEvent, which apparently is called just before a player crafts an item. Unfortunately, it seems that this event is not @Cancelable, so you'll have to manually stop the crafting from happenning. Expand How can it be "manually" stopped? Quote
AnZaNaMa Posted September 29, 2017 Posted September 29, 2017 Not sure if there is a good way to do it currently. Looking back at older posts, it seems that previously you had to do it via reflection. I don't understand why they couldn't just add @Cancelable to the event but maybe it broke something. Quote - Just because things are the way they are doesn't mean they can't be the way you want them to be. Unless they're aspen trees. You can tell they're aspens 'cause the way they are.
Draco18s Posted September 29, 2017 Posted September 29, 2017 On 9/29/2017 at 11:01 PM, AnZaNaMa said: Not sure if there is a good way to do it currently. Looking back at older posts, it seems that previously you had to do it via reflection. I don't understand why they couldn't just add @Cancelable to the event but maybe it broke something. Expand Cancelable means that where the event is used, the code queries if the event was actually cancelled before continuing on with the operation. In this case, it isn't cancelable because it's an event informing other code "hey, this happened." It's too late to do anything about it. 1 Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
AnZaNaMa Posted September 29, 2017 Posted September 29, 2017 Oh okay. Is there a reason this couldn't be changed by forge? It seems like forge changes plenty of other things in Minecraft. Maybe it just isn't worth it? Quote - Just because things are the way they are doesn't mean they can't be the way you want them to be. Unless they're aspen trees. You can tell they're aspens 'cause the way they are.
Draco18s Posted September 29, 2017 Posted September 29, 2017 It's a Forge event. So no, its not likely to be changed. Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
jabelar Posted September 30, 2017 Posted September 30, 2017 (edited) InI 1.12 with the JSON approach you can do conditional recipes. It wasn't clear if you wanted to do this for your own recipes or also for vanilla. In the first place you would just create conditional recipes, and in the latter case you would replace the vanilla recipes (which are now in a registry) with your own. I have tutorial tip information that covers this in more detail here: http://jabelarminecraft.blogspot.com/p/minecraft-modding-ore-dictionary.html look halfway down the page to the sections regarding replacing recipes and conditional recipes. I know you wanted to do it in 1.10, but maybe you should consider doing it in 1.12. Edited September 30, 2017 by jabelar Quote Check out my tutorials here: http://jabelarminecraft.blogspot.com/
jabelar Posted September 30, 2017 Posted September 30, 2017 I also had another idea. Maybe you could just use the GuiOpen event to intercept the various crafting GUIs and replace the GUI with your own and add the code you need to check player and prevent recipes. Quote Check out my tutorials here: http://jabelarminecraft.blogspot.com/
AnZaNaMa Posted September 30, 2017 Posted September 30, 2017 @jabelar I just want to take a minute to say that your tutorials are amazing. They're super descriptive and give all the information you need and more. I appreciate what you've done. It's a great contribution to the community. Quote - Just because things are the way they are doesn't mean they can't be the way you want them to be. Unless they're aspen trees. You can tell they're aspens 'cause the way they are.
Recommended Posts
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.