CommandHelper

CommandHelper

46.5k Downloads

Something broke with tamed wolf behavior in a recent update.

LadyCailinBot opened this issue ยท 9 comments

commented

CMDHELPER-3169 - Reported by xValen

There's a command on our server that creates wolves (tamed to the user) disguised as NPCs. It used to work normally, where you'd hit someone (Another Player), or they'd hit you, and your NPCs (Tamed Wolves) would fight back like in vanilla (This was working about two weeks ago) Now something changed and it doesn't work. You can hit them, or they can hit you, and the NPCs (Tamed Wolves) just stand around. I know this isn't an issue with minecraft because the behavior works in vanilla mode (You're able to attack people and the wolves WILL attack them too) It's just not happening anymore with the command. Thank you.

commented

Comment by PseudoKnight

Hm. Might be a wolf bug on the Minecraft server. I've noticed that tamed wolves will sometimes randomly sit down. It's not clear what causes this, but it's not in CommandHelper. I started noticing it several months ago. If they still move around, that's not your problem. There are other similar issues with wolves. Found one or two reports of Citizens breaking all wolf AI.

commented

Comment by PseudoKnight

Your code is fine.

commented

Comment by xValen

@PseudoKnight, alright, they ARE moving, just not attacking when you attack another player or they attack you, so I guess it's Citizens that's messing with it then.

commented

Comment by xValen

@PseudoKnight Citizens isn't being used for it, and the problem is still there, any ideas?

commented

Comment by PseudoKnight

The admins were reporting that the Citizens plugin being on the server at all broke wolf behavior. It doesn't matter if the wolves are NPCs or not.

commented

Comment by xValen

@PseudoKnight Ok, well the plugin isn't on the server anymore. Is the wolf behavior still broke from that? If so, how would you "reset" it?

commented

Comment by PseudoKnight

You have to tell me if it fixed the problem. If not, then you can put Citizens back on. They might have fixed it.

commented

Comment by PseudoKnight

This is vague enough that I'm not sure this is even related to CommandHelper. Nevertheless, I tested tame_mob() to see if it's still working on the latest build of CH and PaperSpigot. It is.

Without more information, no one can help you. What plugin creates and tames the wolf? What plugin disguises it? What version of Minecraft? If using CommandHelper, what build?

commented

Comment by xValen

@PseudoKnight It's all done on command helper, minecraft version 1.12.2, Everything works except the wolf aggression, here's the code:

register_command(wolfnpc, 
    array(
        description: 'Power',
        permission: 'powers.wolfnpc',
        noPermMsg: 'Sorry you don\'t have permission to use this command.',
        executor: closure(@alias, @sender, @args) {
        
            if (array_size(@args) != 0) {
                return(false)
            }
            
            @player = player()

            include('/home/minecraft/server/plugins/CommandHelper/includes/coolDown.ms')
            _coolDown('wolfnpc',10,@player)

            @oldMobs = import(@player.'wolfnpcClones')
            if(is_array(@oldMobs)){
                foreach(@mob in @oldMobs){
                    try(entity_remove(@mob),continue())
                }
            }

            include('/home/minecraft/server/plugins/CommandHelper/includes/getHeroClass.ms')
            @class = _getheroclass(@player)            
            include('/home/minecraft/server/plugins/CommandHelper/LocalPackages/commands/buffs/'.@class.'.ms')
            @sig = @hero['sig']
            @val = @hero['val']

            @mobUUIDs = spawn_mob('wolf:tamed',15)
            export(@player.'wolfnpcClones',@mobUUIDs)
            set_timeout(50,closure(
                foreach(@uuid in @mobUUIDs){
                    runas(~console,"/disguiseplayer ".@uuid.' player '.@player.' setskin {"id":"87fb3c6c5ff64bf6b326992c6137ea12","name":"tektronic","properties":[{"signature":"'.@sig.'","name":"textures","value":"'.@val.'"}]}')
                    tame_mob(@player,@uuid)
                    set_mob_effect(@uuid, 21, 4, 9999, true, false)
                    set_mob_effect(@uuid, 1, 4, 9999, true, false)
                }
            ))
        }
    )
)