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

If you have a custom class for your item, make it extend

ItemSimpleFoiled

instead of

Item

. If you don't have a custom class for it, use

ItemSimpleFoiled

instead of

Item

when creating the item.

 

The key here is making

public boolean hasEffect(ItemStack stack)

return true with your item.

As mentioned above, but you don't need to bother with ItemSimpleFoiled or anything else, just override #hasEffect in your Item class and return true. If you don't have a custom class, instantiate your Item using an anonymous class and override it from there.

 

While it doesn't make any difference right now, I think it's good practice to extend

ItemSimpleFoiled

. That way, if

ItemSimpleFoiled

gets changed in the future, the mod is more likely to continue to work as intended.

While it doesn't make any difference right now, I think it's good practice to extend

ItemSimpleFoiled

. That way, if

ItemSimpleFoiled

gets changed in the future, the mod is more likely to continue to work as intended.

Except the OP's item probably isn't an ItemSimpleFoiled - you should only extend a class when your object is specifically related to that class. One wouldn't extend ItemSword to make a chair just because one wanted an attack damage attribute modifier.

 

If ItemSimpleFoiled were a class that only dealt with the enchanted item glow and that was its sole purpose, and everyone understood that anything that glows should extend from that class, then I would agree with you.

  • Author

Thanks guys, I made a few changes to my mod to get it to work, I did use that "extends ItemSimpleFoiled" and made a new class for enchanted items themselves, may not have been the best way but it seems to work, so thanks again. :)

Except the OP's item probably isn't an ItemSimpleFoiled - you should only extend a class when your object is specifically related to that class. One wouldn't extend ItemSword to make a chair just because one wanted an attack damage attribute modifier.

 

If ItemSimpleFoiled were a class that only dealt with the enchanted item glow and that was its sole purpose, and everyone understood that anything that glows should extend from that class, then I would agree with you.

 

Sorry, you are correct. I thought that

SimpleItemFoiled

was a generic class for items that had the enchantment effect, but it appears that other such items (

ItemExpBottle

,

ItemEnchantedBook

, etc.) merely override

hasEffect()

.

 

Thanks guys, I made a few changes to my mod to get it to work, I did use that "extends ItemSimpleFoiled" and made a new class for enchanted items themselves, may not have been the best way but it seems to work, so thanks again. :)

 

As mentioned by coolAlias above, don't extend

ItemSimpleFoiled

, just insert this into your class:

 

    @SideOnly(Side.CLIENT)
    @Override
    public boolean hasEffect(ItemStack stack)
    {
        return true;
    }

How would I specify what items to have the glow on though, without making a new class?

If your glowing items would normally be extending Item anyway, you can make one class e.g. ItemGlowing that the only thing it does is override #hasEffect to return true. Then any item you want to glow, you use that class.

 

If you have multiple glowing items that would all be different classes, e.g. one that is an ItemTool, one an ItemFood, etc., then you either have to make separate classes for each of them (which you'd probably be doing anyway), or use an anonymous class.

 

If you have some glowing items and some not using the same class, then you can use a final class field e.g. 'boolean glows' that is set via the constructor, and return that field from #hasEffect. That way, each item can specify whether or not it glows.

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.