Jump to content

Override return of a bucket when crafting


Vulpyne

Recommended Posts

Hi, I'm trying to use a bucket of water in a recipe but as well the crafted item being produced, an empty bucket is returned to the player's inventory. Is there some way to stop this from happening?

 

I've tried searching, the only result I can find is an unanswered post from 6 months ago on this forum :/ And I've tried looking through the code but to no avail. Even if I had somewhere to start I could actually try things but I have no idea, or is it I'm just blindly walking by an obvious solution? Well, if that's the case then I apologise haha

Link to comment
Share on other sites

Hello, the code responsible for this is located at SlotCrafting.onPickupFromSlot (at least in 1.5). I don't think it's possible without modifying the method (probably via ASM). I was looking how to solve this as well, but I was too lazy to write another ASM hook so I rather added an empty bucket to a recipe (so one bucket is consumed and one returned).

mnn.getNativeLang() != English

If I helped you please click on the "thank you" button.

Link to comment
Share on other sites

you can do it when making a recipe like i did here

 

 

GameRegistry.addShapelessRecipe(new ItemStack(pdust), 
	new ItemStack(Medieval.pbag.setContainerItem(Medieval.bag)));

 

so what says here that when i get the item pdust and  will make pbag into a container which will return a pdust and a bag

I like helping people because i was also in a same problem and i do not like unfinished work, so a thank you will be enough for the people im helping and a thank you to the people that helped me :)

Link to comment
Share on other sites

You've got it the wrong way round haha, I want to stop the return of a bucket when placing a bucket of water in the recipe

 

but since i am so nice i looked for a way made codes and got to a simple one :/ took time to understand but it was because it was to simple lol...

 

so in the recipe item.bucketwater just add

.setContainerItem(null)

 

 

so it should look like this

 

'w', Item.bucketWater.setContainerItem(null),

I like helping people because i was also in a same problem and i do not like unfinished work, so a thank you will be enough for the people im helping and a thank you to the people that helped me :)

Link to comment
Share on other sites

'w', Item.bucketWater.setContainerItem(null),

I have a feeling that this ^ will break all crafting recipes with bucket of water - IMO all recipes will never return a bucket when using a bucket with water.

mnn.getNativeLang() != English

If I helped you please click on the "thank you" button.

Link to comment
Share on other sites

yeah, it could work. too bad that almost all auto-crafters will return the bucket :( (they don't call crafting handlers).

mnn.getNativeLang() != English

If I helped you please click on the "thank you" button.

Link to comment
Share on other sites

well first of all there is no recipe that uses waterbuckets and secondly  you are right about the return buckets on other recipes

 

 

I like helping people because i was also in a same problem and i do not like unfinished work, so a thank you will be enough for the people im helping and a thank you to the people that helped me :)

Link to comment
Share on other sites

i also tried that on one the bucket doesnt return and the other does but if you do that it doesnt work. it will return it even with null

 

even so it still works and if you dont want what i used its ok i tried helping u.u

I like helping people because i was also in a same problem and i do not like unfinished work, so a thank you will be enough for the people im helping and a thank you to the people that helped me :)

Link to comment
Share on other sites

Sorry been away the past few days,

 

@ralphyrafa - I appreciate the help :) It's just that I'd prefer not to edit those classes incase, for example, another mod used water in one their recipes. Besides, I might require water buckets to work normally in crafting later on.

 

@diesieben07 - I'm pretty new to this so I'm not exactly sure of what that would involve but I'll look into it, it's a shame what mnm pointed out, that auto-crafters ignore crafting handlers :/ In the end I might just have to add an empty bucket to the recipe.

Link to comment
Share on other sites

Only one properly working crafting "machine" I found so far is from Immibis - mod tubestuff - "Automatic Crafting Table MkII". (Other mods - MFR, BC, TE, Forestry and AE doesn't support crafting handler and/or custom recipes. Last time I checked it, it was on 1.5.2 so something might have changed.)

 

Using ICraftingHandler is quite simple, you just create a class implementing that interface and register it on mod load - GameRegistry.registerCraftingHandler. Then in "onCrafting" method of your new class you check if it's your recipe and remove the bucket.

mnn.getNativeLang() != English

If I helped you please click on the "thank you" button.

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.