Jump to content

[1.19.2] Change entity color


DirtEngineer

Recommended Posts

  • 2 weeks later...

That would be relatively simple, but there is a little twist.
1.  It is a projectile, not a living entity.
2. The projectile holds any one of several custom fluids, the color of which is impossible to determine until runtime.

Being a projectile that is removed from the game within a few ticks of impact, I don't have to be concerned with unsetting the color change.

I do have a minimal custom renderer that extends ArrowRenderer.  Perhaps I could override the render method in EntityRenderer.
One concern is that, due to the singleton nature of items, blocks, entities, it may cause every one of these currently in the game to be tinted the same way.  It would seem to be a bit of overkill to make a custom capability just for this minor effect.  But, if that is what it takes, I'm up for it.

Reality check: am I even approaching it correctly?

Link to comment
Share on other sites

On 12/30/2022 at 2:29 PM, DirtEngineer said:

It is a projectile, not a living entity.

Why would this matter? Textures get applied the same way, same as the color.

On 12/30/2022 at 2:29 PM, DirtEngineer said:

The projectile holds any one of several custom fluids, the color of which is impossible to determine until runtime.

Ok? So you can pass the color into the texture shader and tint it instead.

On 12/30/2022 at 2:29 PM, DirtEngineer said:

I do have a minimal custom renderer that extends ArrowRenderer.  Perhaps I could override the render method in EntityRenderer.
One concern is that, due to the singleton nature of items, blocks, entities, it may cause every one of these currently in the game to be tinted the same way.  It would seem to be a bit of overkill to make a custom capability just for this minor effect.  But, if that is what it takes, I'm up for it.

This is not going to do that? The only way that would happen is if you're replacing every single render call to have your color tinting it, which since you have control over what you render, is completely unnecessary.

Link to comment
Share on other sites

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • im just coping the properties from the glass block whit no occlusion and the  "render_type": "translucent",             public static final RegistryObject<Block> GLASS_PANEL = registerBlock(             "glass_panel",             () -> new panel_pglass(BlockBehaviour.Properties.ofFullCopy(Blocks.GLASS_PANE).noOcclusion(),                     """                     {                     "name":"glass_panel",                     "en_us_lang" : "Glass Panel",                     "es_es_lang" : "Panel De Vidrio",                     "north": "minecraft:block/glass",                     "crafthing_input_c0": "minecraft:glass",                     "cutthing_input_c0": "minecraft:glass",                     "no_drop" : "true"                     }                     """, crear_archivos_glass             ) );           {             "credit": "Made with Blockbench",                 "ambientocclusion": "true",                 "render_type": "translucent",             "elements": [                 {                     "name": "panel",                     "from": [0, 0, 0],                     "to": [16, 16, 4],                     "faces": {                         "north": {"uv": [0, 0, 16, 16], "texture": "#north"},                         "east": {"uv": [12, 0, 16, 16], "texture": "#east"},                         "south": {"uv": [16, 0, 0, 16], "texture": "#south"},                         "west": {"uv": [0, 0, 4, 16], "texture": "#west"},                         "up": {"uv": [16, 16, 0, 12], "texture": "#up"},                         "down": {"uv": [16, 4, 0, 0], "texture": "#down"}                     }                 }             ],   the thing whit this that rain and snow cannot be see trough the block   
    • you need a damage source and use it to hurt the entity thing   DamageSource damagesource;                 //damagesource = level.damageSources().playerAttack((Player) le);//.trident(le, thing);                 damagesource = level.damageSources().mobAttack(player);                 if (thing.hurt(damagesource, damage)) {                     thing.setLastHurtMob(player);                 }    
    • Hellow good days  i have a custome block dead adventurer shaped i use to spawn mobs  but the mobs i spawn has no equipment zombies without nothing and skeletons without bows     minecraft has a series of json files organizing items and block by categories  then there is the minecraft:data/minecraft/tags/items/swords.json   {   "values": [     "minecraft:diamond_sword",     "minecraft:stone_sword",     "minecraft:golden_sword",     "minecraft:netherite_sword",     "minecraft:wooden_sword",     "minecraft:iron_sword"   ] }   and i got mi own json file with the mines /home/usuario/workspace/1.20.4/mercmod/src/main/resources/data/minecraft/tags/items/swords.json {   "values": [     "minecraft:stick",     "mercmod:knife_steel",     "mercmod:sword_steel",     "mercmod:warhammer_steel",     "mercmod:battleaxe_steel",     "mercmod:crowbar",     "mercmod:lance_steel"   ] }   ############################ i wanna use this files, read them, randomly select one and set it for the mob mainhand i spawning    i wanna do something like  ArrayList<String> list = ItemTags.SWORDS.something_getKeys();       data/minecraft/tags/items/arrows.json data/minecraft/tags/items/axes.json data/minecraft/tags/items/hoes.json data/minecraft/tags/items/pickaxes.json data/minecraft/tags/items/shovels.json data/minecraft/tags/items/swords.json
    • https://mclo.gs/GkmIjij  Please, help
    • the world capability works for the current world and its different for every dimension  sound like what you need  the only thing is you cannot access data from a diferent world things like reading a data of the overworld from the nether would nwork
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.