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.

Featured Replies

Posted

I have been looking for a way to prevent an item from being placed in all contains which I do not approve (as they need to be constantly ticking).

 

However, I could not see any method which I could override, or any event to cancel, which would allow me to do this. Does Forge allow it, or is it something I will have to deal with in some other way.

 

Alternatively, could I simply do something to the ItemStack when it is placed in any invalid inventory?

 

Also, I have noticed that an item held by the cursor does not tick, is there something I need to do to have the item held update? Note that it may result in the ItemStack being replaced by another ItemStack or completely destroyed.

I have been looking for a way to prevent an item from being placed in all contains which I do not approve (as they need to be constantly ticking).

 

However, I could not see any method which I could override, or any event to cancel, which would allow me to do this. Does Forge allow it, or is it something I will have to deal with in some other way.

 

Alternatively, could I simply do something to the ItemStack when it is placed in any invalid inventory?

 

Also, I have noticed that an item held by the cursor does not tick, is there something I need to do to have the item held update? Note that it may result in the ItemStack being replaced by another ItemStack or completely destroyed.

Use TickEvent.WorldTickEvent loop through the TileEntities access there ItemStacks and call Item#onUpdate(...).

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Use TickEvent.WorldTickEvent loop through the TileEntities access there ItemStacks and call Item#onUpdate(...).
This is a terrible idea :D

I agree this is very resource intensive, but it definitely gets the job done. It is more of a "brute force" method.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Depending on what you mean by "the itemstack needs to tick all the time" is it something like:

Item auto repairs?

Item Generates some sort of value overtime?

 

I believe there is a "PlayerOpenContainerEvent" if you're ok with designing your system of where every player tick the item gets updated, but have a "last updated" value on the itemstack, you can then use this during "update calls" including when the container is opened (event) and do some math differences to make it "appear" that it was updating the whole time, even tho it just calculated from "last update" and "current time"

 

If they need to be constantly ticking, you could add in the tooltip that it must always be on a player?

Take a look at using "PlayerContainerEvent.Close".  You can determine what inventory your item is in and the maybe you can force the item to pop out of the chest into the world, or maybe back into player inventory.

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.