Jump to content

Recommended Posts

Posted

I'm currently trying to make a container that will only accept two items as valid items which can be put into the container, but I'm a little confused at how to make it correctly work. I've successfully made it so shift-clicking the items into the container will only accept the two items, however I don't know how to implement it for the drag and drop options (picking up item from inventory and placing it manually into the container). One old post I found here suggested making a helper class which you could call to check if the item was valid, however it didn't explain how to implement it actually being put into the container and removed from the players inventory. If anyone could help me out here that would be great.

Posted

Look at BrewingStandMenu.IngredientsSlot or PotionSlot mayPlace() methods with their helpers.

Then look at how BrewingStandMenu uses mayPlace/Item()

 

Another example would be FurnaceFuelSlot and AbstractFurnaceMenu's use of canSmelt() or isFuel()

 

The 2 implementations are slightly different.

If you look carefully, canSmelt() is only used in the furnace for shift clicking.

You can in fact manually put anything in the furnace's smelting slot because it just uses a plain Slot and hence has no mayPlace() logic.

So that should give you some idea about what you need to implement to get the behaviour you want.

  • Thanks 1

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

Posted

It took a little bit of time to figure out what was happening and then reproduce it (was using wrong extends class), but now it works perfectly. Thanks a lot!

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.