Customizable Elytra

Customizable Elytra

6M Downloads

Dyeing or putting a banner on elytra only gives me one wing.

xKazIsKoolx opened this issue ยท 14 comments

commented

2022-09-28_01 03 54
2022-09-28_01 02 19
2022-09-28_01 02 59
2022-09-28_01 03 04
2022-09-28_01 03 05
2022-09-28_01 03 48

Mod list:
Bookshelf
AdditionalBanners
Collective
ElytraPhysics
EasyElytraTakeoff
Numble
UnderwaterEnchanting
TheFletchingTableMod
InfiniteMusic
MapTooltip
ExtendedBonemeal
WildBackport
Accurate Block Placement
Better Impaling
FishingOverhaul
NotEnoughAnimations
VoidFog
MoreHorseArmor
End's Phantasm
LibraryFerret
AwesomeDungeonEnd
Enderite
MoreLeads
DragonFight
InsaneLib
Iceologer
Layered Snowfall
StairsInTheWoods
RedstoneLampsPlus
ProgressiveBosses
GameMenuModOption
Paperdoll
Simple Coordinates
SpiffyHud
YungsApi
CopperGolem
SheepConsistency
Global Packs Forge
TorchSlabMod
DoubleSlabs
Enhanced Celestials
Controllable
ClientTweaks
Shulker Enchantments
ExperienceBugFix
FM Audio Extension
AutoRegLib
Quark
TerraBlender
Balm
XPFromHarvest
KleeSlabs
PassthroughSigns
ScaffoldingDropsNearby
PrettyBeaches
GetItTogetherDrops
Inferno's Herobrine
Clumps
Fancymenu
Forge
Placebo
GiantSpawn
ShutUpExperimentalSettings
ForgeCutomCursorMod
Auudio
Konkrete
DrippyLoadingScreen
ClothConfig
TyrannotitanLib
MissingLinks
DoubleDoors
OldCombatMod
SoundPhysics
Optifine

commented

Hmm, could it be that the resourece pack modifies the vanilla generated.json model located in assets/minecraft/models/item/generated.json? All the other item models (usually) base their rendering off of that one, so if the resource pack changes it, that might break something as obscure as this feature. Although this is an area that I've barely touched so I'm not 100% sure on this.

commented

That sounds about right. I have a generated.json that makes all handheld items 2d. Thanks for the help

commented

That could definitely be it. I know that the color for parts of the model (quads) is decided using the following logic:

i = this.itemColors.getColor(item, bakedquad.getTintIndex());

So if that generated.json does stuff related to the tint index, that might be the source of the issue?

commented

My generated.json is as follows

{
"textures": {
"particle": "#layer0"
},
"ambientocclusion": false,
"elements": [
{
"from": [0, 0, 7.99],
"to": [16, 16, 8.01],
"faces": {
"north": {"uv": [16, 0, 0, 16], "texture": "#layer0", "tintindex": 0 },
"south": {"uv": [0, 0, 16, 16], "texture": "#layer0", "tintindex": 0 }
}
}
],
"gui_light": "front",
"display": {
"ground": {
"rotation": [ 0, 0, 0 ],
"translation": [ 0, 2, 0],
"scale":[ 0.5, 0.5, 0.5 ]
},
"head": {
"rotation": [ 0, 180, 0 ],
"translation": [ 0, 13, 7],
"scale":[ 1, 1, 1]
},
"thirdperson_righthand": {
"rotation": [ 0, 0, 0 ],
"translation": [ 0, 3, 1 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson_righthand": {
"rotation": [ 0, -90, 25 ],
"translation": [ 1.13, 3.2, 1.13],
"scale": [ 0.68, 0.68, 0.68 ]
},
"fixed": {
"rotation": [ 0, 180, 0 ],
"scale": [ 1, 1, 1 ]
},
"gui": {
"rotation": [ -45, 0, 0 ],
"scale": [ 1, 1.414, 1 ]
}
}
}

Sorry, I don't know how to do the thing to make it look like code lol. I tried and it compressed it all into one paragraph

commented

Hmm, I see you're forcing the north and south faces to use texture layer 0. Maybe that's it? The JSON for the customizable elytra model (firework star is similar but with its own layers) is like this:

{
    "parent": "item/generated",
    "textures": {
        "layer0": "item/firework_star",
        "layer1": "item/firework_star_overlay"
    }
}

If you want an easy fix, you might be able to just write a custom model JSON file for these two items, where the additional layer is added in somehow? (Again, not sure how these files work but perhaps it's adding another value to the elements key that's the same as the existing one but with layer1 instead of layer0, and then they'd both get rendered?

Also, to add a code block like that you use this syntax:
```language
code goes here
```
so for example,
```json
{
"test": "value"
}
```
becomes

{
    "test": "value"
}
commented

As a side note, from looking at what I can see in terms of Minecraft's code, I think that usually the faces are generated by code, which is the special parent listed in generated.json as builtin/generated. It looks like it creates stuff as needed based on the model data of the item itself in vanilla, which the resource pack overrides.

commented

Does one of your mods mess with UI code? The colored elytra is made up of two layers and it seems like something is messing with it and preventing it from coloring the second layer, thus making one wing look missing

commented

If that's the case, I have no idea which mod it would be. None of them mess with the ui in any way except for fancymenu, but I didn't use it to change anything about the crafting interface

commented

Hmm, if you craft a Firework Star (the vanilla item), does it also have this issue where one of the layers is entirely transparent like the elytra? If it works fine the firework star should be gray with colored spots representing the color of the firework star..

commented

The firework star is messed up too

commented

So at this point, I'm aware that it has nothing to do with your mod, but is there any chance you could try to help me fix this?

commented

I've tried picking some of the mods in your list at random and checking their source code to see if they mess with it but haven't found any yet.
The best thing I can recommend you to do at the moment is to try to do a binary search on your mod list to find which mod is causing this; Remove half of your mods (obviously ensuring their dependencies are met and such) and boot up the game, if the items still render incorrectly, remove another half and repeat. If the items render correctly, you know the problematic mod is in the half you removed, so you can try that half of the mods and repeat. This is pretty much the fastest way to narrow down your mod list to the mod (or at least a far smaller list of mods) that is causing the issue.

commented

I've narrowed it down to the texture pack that I'm using. Do you know which file handles this second layer? I could fix it pretty easily if I knew which file I needed to edit

commented

Thanks for all the help