#How can I add custom nbt into entity?

7 messages · Page 1 of 1 (latest)

marble apex
#

I'm trying to add some custom nbt into entity, but looks like both function I know wasn't work.

carmine shuttleBOT
#

Once your ticket has been resolved, please close it with </ticket close:1054771505520717835> command!

marble apex
#

Sorry, I should move those list out of image, it make this img a little mess.
list_rank1 and list_rank2 don't do anything in this part.

nova trench
#

??sendcode

jolly gulchBOT
# nova trench ??sendcode

Send your code here instead of a screenshot

It makes it easier to diagnose your code and help you fix it or make the required changes/additions.

marble apex
#
let list_entity_boss = [
    'minecraft:wither',
    'minecraft:ender_dragon',
    'cataclysm:netherite_monstrosity',
    'cataclysm:ender_golem',
    'cataclysm:ender_guardian',
    'cataclysm:ignis',
    'cataclysm:the_harbinger',
    'cataclysm:the_leviathan',
    'cataclysm:ancient_remnant'
]
let list_entity_rank1 = [
    'thunder',
    'overeat',
    'vampire',
    'bloodstain',
    'dominator',
    'execute',
    'overkill',
    'werewolf',
    'holylight',
    'poison',
    'antiarmor',
    'butcher',
    'exorcism',
    'berserker',
    'anger'
]
let list_entity_rank2 = [
    'explode',
    'critical',
    'boost',
    'aim_weakness',
    'drift',
    'victim_delusion',
    'freeze',
    'drain',
    'moai'
]
EntityEvents.checkSpawn( event => {
    try {
        if(list_entity_boss.indexOf(event.entity.type) != -1){
            let temp_entity_rank = 2
            event.entity.maxHealth = event.entity.maxHealth * temp_entity_rank * 2
            event.entity.health = event.entity.maxHealth
            event.entity.nbt.getCompound('kjs_Effect_loot_entity').putInt('entity_rank', temp_entity_rank)
            event.server.tell('true1')
            event.server.tell(event.entity.nbt.getCompound('kjs_Effect_loot_entity').isEmpty())
        }
        else if(Math.random() <= 0.01){
            let temp_entity_rank = 1
            event.entity.maxHealth = event.entity.maxHealth * temp_entity_rank * 2
            event.entity.health = event.entity.maxHealth
            event.entity.nbt.getCompound('kjs_Effect_loot_entity').putInt('entity_rank', temp_entity_rank)
            event.server.tell('true2')
        }
        else{
            event.entity.health = event.entity.maxHealth
        }
    } catch (error) {}
})
EntityEvents.death( event => {
    function dropLoot_addon(Rank, Type){
    }

    if(!event.entity.nbt.getCompound('kjs_Effect_loot_entity').isEmpty()){

    }
})
marble apex
#

problem solved, we are using persistentData now.

let list_entity_boss = [
    'minecraft:wither',
    'minecraft:ender_dragon',
    'cataclysm:netherite_monstrosity',
    'cataclysm:ender_golem',
    'cataclysm:ender_guardian',
    'cataclysm:ignis',
    'cataclysm:the_harbinger',
    'cataclysm:the_leviathan',
    'cataclysm:ancient_remnant'
]

EntityEvents.checkSpawn( event => {
    try {
        if(list_entity_boss.indexOf(event.entity.type) != -1){
            let temp_entity_multiply = 1
            if (event.entity.persistentData == null){
                event.entity.persistentData = {}
              }
            event.entity.persistentData.kjs_Effect_loot_entity = 'entity_rank_boss'

            event.entity.maxHealth = event.entity.maxHealth * temp_entity_multiply * 2
            event.entity.health = event.entity.maxHealth
        }
        else if(Math.random() <= 0.01){
            let temp_entity_multiply = 1
            if (event.entity.persistentData == null){
                event.entity.persistentData = {}
              }
            event.entity.persistentData.kjs_Effect_loot_entity = 'entity_rank_rare'

            event.entity.maxHealth = event.entity.maxHealth * temp_entity_multiply * 2
            event.entity.health = event.entity.maxHealth
            event.entity.potionEffects.add("minecraft:glowing", 72000, 0, true, true)
            event.entity.potionEffects.add("minecraft:fire_resistance", 72000, 0, true, true)
            let tmp_entity = event.entity.block.createEntity("minecraft:lightning_bolt")
            tmp_entity.teleportTo(event.entity.x, event.entity.y, event.entity.z)
            tmp_entity.spawn()
        }
        else{
            event.entity.health = event.entity.maxHealth
        }
    } catch (error) {}
})