Jump to content

[1.10.2] Disabling crafting recipe for certain players


Bloopers

Recommended Posts

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.

Link to comment
Share on other sites

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.

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

Link to comment
Share on other sites

8 minutes ago, 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.

How can it be "manually" stopped?

Link to comment
Share on other sites

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.

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

Link to comment
Share on other sites

12 minutes ago, 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.

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.

  • Like 1

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.

Link to comment
Share on other sites

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? 

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

Link to comment
Share on other sites

It's a Forge event.

So no, its not likely to be changed.

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.

Link to comment
Share on other sites

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 by jabelar

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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



×
×
  • Create New...

Important Information

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