lerrific Posted June 5, 2021 Posted June 5, 2021 (edited) 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 shouldRender, shouldRenderInvText, 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 June 11, 2021 by lerrific Found a solution Quote
Luis_ST Posted June 5, 2021 Posted June 5, 2021 On 6/5/2021 at 6:15 AM, 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? Expand 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 Quote
lerrific Posted June 5, 2021 Author Posted June 5, 2021 (edited) On 6/5/2021 at 8:07 AM, 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 Expand 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 June 5, 2021 by lerrific Quote
Luis_ST Posted June 5, 2021 Posted June 5, 2021 (edited) On 6/5/2021 at 7:18 PM, 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 Expand 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 June 5, 2021 by Luis_ST Quote
lerrific Posted June 6, 2021 Author Posted June 6, 2021 Figured so, thanks. just a bit odd having an inconsistency between the creative menu and the crafting / brewing Quote
Recommended Posts
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.