Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[1.7.10]How can I replace a block with air and not have the inventory dropped

Featured Replies

Posted

Hey everyone, I have been searching around for a good hour now and I can't find this definitively answered. If I missed it please just point me to the correct post.

 

So I am trying to call world.setBlock to replace a block with air and everything works on normal blocks However, on blocks that extend IContainer the inventory is dropped as well. Is there a way to prevent this?

 

Looking at the source for setBlock it can take flags and it looks like 1 is what will update the block being replaced. But it seems like no matter what flag I pass in it still happens. I have tried 0 (which looking at the code and debugging through doesn't make a call to `notifyBlockChange` or `markBlockForUpdate` but it still happens.

 

Anyway, am I overlooking something? Is there a way to make a block not drop its inventory when being "broken"? I am ok with just deleting the items that are in there but I don't see an obvious way of doing it.

  • Author

I'm not seeing anything in EntityItem that would accomplish what I am trying to do. Maybe I overlooked something?

 

Plus that is just for entities. Really I need to either just delete the inventory from anything that extends IInventory.

 

____

 

edit...oh wait  Are you saying to get all entities AFTER they have been dropped and just set them to dead? hmm..sounds like that could be risky and I might accidentally delete any item that just happened to be on the ground around the block :/

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

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.