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 a potion that has two vanilla effects, and in PotionUtils#getColor (mcp mappings) you can see that all the potion effects colours are combined together to get the resulting colour for the bottle, tipped arrow, etc. Is there a way to override that somehow? There's also a CustomPotionColor nbt tag, but I don't know how to set that on initialization? 

EDIT: I believe I finally found a hack-y work around, I created my own class extending Effect and overrode shouldRendershouldRenderInvText, and shouldRenderHUD to false. Then I added a new EffectInstance to my potion with said custom effect, setting the duration to whatever the highest of the other effects are, and making the amplifier some big number like 100. PotionUtils#getPotionColorFromEffectList calculates the resulting colour based on each potions own colour + the amplifier, so setting the amplifier very high forces the colour to be your effects liquid colour. Finally I got rid of the potion tooltip line with the ItemTooltipEvent:

@SubscribeEvent
public static void hideToolTip(ItemTooltipEvent event) {
    CompoundNBT tag = event.getItemStack().getTag();
    if (tag != null && tag.getString("Potion").contains("your_potion_id")) {
        event.getToolTip().removeIf(textComponent -> textComponent.getString().contains("your_effect_id"));
    }
}

 Hopefully this helps someone who had the same problem as me :)

Edited by lerrific
Found a solution

1 hour ago, lerrific said:

I have a potion that has two vanilla effects, and in PotionUtils#getColor (mcp mappings) you can see that all the potion effects colours are combined together to get the resulting colour for the bottle, tipped arrow, etc. Is there a way to override that somehow? There's also a CustomPotionColor nbt tag, but I don't know how to set that on initialization?

Use the PotionColorCalculationEvent, check whether the effects of the event match those of your potion,
if this is the case you can set the color in the event

  • Author
11 hours ago, Luis_ST said:

Use the PotionColorCalculationEvent, check whether the effects of the event match those of your potion,
if this is the case you can set the color in the event

that's only for when you drink a potion, and it changes the particle effects, no? I want to be able to set the colour of the potion bottle, the splash potion, and the tipped arrows

Edited by lerrific

1 hour ago, lerrific said:

that's only for when you drink a potion, and it changes the particle effects, no? I want to be able to set the colour of the potion bottle, the splash potion, and the tipped arrows

then I have no idea

Edit: I will look at the whole thing again as soon as possible, i will find a usable solution for your problem, i hope.

Edited by Luis_ST

  • Author

Figured so, thanks. just a bit odd having an inconsistency between the creative menu and the crafting / brewing

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.