• 1

    posted a message on I want to give a skeleton "player-sized" arms and legs

    So is there any way to do this? I want to give a skeleton a player skin so that it looks like a player (I can do it with a zombie but than the arms are stretched out and I don't want that) but if you do that the skeleton-wth-player-skin has the skinny arms and legs. Is there any way around this?

    r/Minecraft - I want to give a skeleton

    Posted in: Resource Pack Help
  • 0

    posted a message on Freezing a horse in it's place with the push of a button
    Quote from eglaios»

    I tried and it and even on 1.15, I got this bug.


    However, it was only "skating" when I set the horse to NoAI:1. If I set the skeleton passenger to NoAI:1 (no matter if the horse was or not), it totally froze.


    I guess when a horse is rod, all the horse's movement is controlled by the passenger. Probably there's still some issue with that.


    Have you also disabled the skeleton rider's AI?


    I've tried this (in latest version 1.16.1) and it didn't work at all for me, the horse first finished it's movement before coming to a halt.


    Quote from yurcake»

    try this:

    effect slowness 10 255 true

    it won't be able to move at all, and you can change the time to 1 if its a repeating command

    hope this helps :)


    That works for not moving, though it still changes where it looks at depending on it's interests which I don't want it to.


    Quote from dalor_homer»

    If there no other way, you can spawn an AEC at the horse position, and tp it on the AEC, then when you push the button, kill it.


    first time button pushed :


    execute as @e[tag=skeleton_horse] run summon summon area_effect_cloud ~ ~ ~ {Tags:["AEC"]}


    every tick function :


    teleport @e[tag=skeleton_horse] @e[tag=AEC]

    second time button pushed :


    kill @e[tag=AEC]



    But that will only work with one skeleton at a time.

    If you have more, you can store the position where it was when you pushed the button, and tp on it until you pushed the button a sencond time.


    scoreboard create :


    scoreboard objectives add save_x dummy
    scoreboard objectives add save_y dummy
    scoreboard objectives add save_z dummy
    scoreboard objectives add save_rx dummy
    scoreboard objectives add save_rz dummy
    scoreboard objectives add paused dummy



    First time button pushed :


    execute as @e[tag=skeleton_horse] run function datapack:save_coords

    save_coords.mcfunction :

    scoreboard players add @s paused 1
    execute store result score @s save_x run data get entity @s Pos[0]
    execute store result score @s save_y run data get entity @s Pos[1]
    execute store result score @s save_z run data get entity @s Pos[2]
    execute store result score @s save_rx run data get entity @s Rotation[0]
    execute store result score @s save_rz run data get entity @s Rotation[1]

    every tick function :


    execute as @e[scores={paused=1}] run function datapack:tp


    tp.mcfunction :


    execute store result entity @s Pos[0] int 1 run scoreboard players get @s save_x
    execute store result entity @s Pos[1] int 1 run scoreboard players get @s save_y
    execute store result entity @s Pos[2] int 1 run scoreboard players get @s save_z
    execute store result entity @s Rotation[0] float 1 run scoreboard players get @s save_rx
    execute store result entity @s Rotation[1] float 1 run scoreboard players get @s save_rz

    second time button pushed :


    scoreboard players reset @e[tag=skeleton_horse] paused



    I haven't tried these commands anyways, so maybe there are some errors ^^


    In the end I did this but with armor stands because for some reason I can't get AEC's to work for me, I think I just don't understand them haha :p.This works great though!


    Thanks everyone for your suggestions :) !!!

    Posted in: Commands, Command Blocks and Functions
  • 0

    posted a message on Detect the duration of a status effect of a mob and store it (to load it later)

    As it turns out I already had the nausea to 'refresh' the effects in my code, that does work for the particles but not for the effects I listed. I fixed it now though, I just tag them when I originally apply the effect and then apply the effect again after a 'pause'. Works fine. I checked a backup of my project and indeed this was a problem before as well, I just never noticed and naively blamed it on the 1.16 update without really checking. It's all working great now though, thanks for your help once again! :)

    Posted in: Commands, Command Blocks and Functions
  • 0

    posted a message on Detect the duration of a status effect of a mob and store it (to load it later)

    You know what I just realised... it does seem to work with some effects and not with others.


    Works: (After 'unpausing' the effect continues as it's supposed to)

    Levitation

    Resistance

    Regeneration

    Fire Resistance


    Doesn't work: (after 'unpausing' there's particle effects but the effect itself seems to be gone)

    Strength

    Speed

    Slowness


    To be totally honest it MAY have been like this before the update(1.16) cause I don't remember checking it as thoroughly as I did now.

    Posted in: Commands, Command Blocks and Functions
  • 0

    posted a message on Detect the duration of a status effect of a mob and store it (to load it later)


    I think this is what you mean right?

    Seems to work, although it's curious that the particles don't show cause I think my command should make them show if I'm not mistaken.

    Posted in: Commands, Command Blocks and Functions
  • 0

    posted a message on Detect the duration of a status effect of a mob and store it (to load it later)
    Quote from eglaios»

    These data are stored into the ActiveEffects tag of an entity.

    Since there are a bunch of tags in there and although we could store all of them in scores, there is a way better way to accomplish that in only 6 commands :

    The main goal is to copy the full ActiveEffects tag into a custom item tag ,which is able to store that, then call the effects back when you make your mobs go back alive.


    For this purpose, I imagined a little simple system :

    A ) When entities become NoAI:1

    --1 : Summon an invisible armor stand tagged "EffectStorage" with a diamond on feet slot (which is not displayed) to each mob in battle

    --2 : Store their "ActiveEffects" tag into the armor stand's "ArmorItems[0].tag.ActiveEffects (corresponding to diamond's custom tag "ActiveEffects"

    --3 : Clear the mobs' effects

    B ) When entities become NoAI:0

    --1 : For each entity, store the closest "EffectStorage" armor stand's ArmorItems[0].tag.ActiveEffects nbt value into the entity's ActiveEffects data


    And here you go! Only takes 6 more command blocks for the whole mechanic, and no scores!



    System
    Commands :

    1 :

    execute as @e[type=!player] run data modify entity @s NoAI set value 1



    2 :

    execute at @e[type=!minecraft:player] run summon minecraft:armor_stand ~ ~ ~ {Invisible:1,NoGravity:1,Marker:1,ArmorItems:[{id:"minecraft:diamond",Count:1},{},{},{}],Tags:["EffectStorage"]}

    3 :

    /execute as @e[type=!player] at @s run data modify entity @e[type=minecraft:armor_stand,limit=1,sort=nearest,tag=EffectStorage] ArmorItems[0].tag.ActiveEffects set from entity @s ActiveEffects



    4 :

    effect clear @e[type=!minecraft:player]

    5 :

    effect give @e[type=!minecraft:player] minecraft:nausea 1 1

    6 :

    execute as @e[type=!player] at @s run data modify entity @s ActiveEffects set from entity @e[type=minecraft:armor_stand,limit=1,sort=nearest,tag=EffectStorage] ArmorItems[0].tag.ActiveEffects

    7 :

    execute at @e[type=!player] run kill @e[type=minecraft:armor_stand,limit=1,sort=nearest,tag=EffectStorage]



    8 :

    execute as @e[type=!player] run data modify entity @s NoAI set value 0


    And voilà! There is the on/off lever to make it work properly, you can add the fire memory to that. The only thing is that I used "@e[type=!player]" as selector. If your mobs have a tag, you would be better to add it to that system.


    The 5th command (giving nausea) is actually really important : Due to some glitch, modifying the ActiveEffects using /data without having any current effect does not refresh the mobs effects; so, for example with invisibilty, the mob gets back its "invisibility data", thought the game isn't considering it as "invisible". Same glitch with particles and stuff like that...


    The solution is to apply an effect before giving back the stored ones, so that the game detects there is a true change in the mob's ActiveEffects data and then refreshes it all. I used nausea here, because you might probably not use it on your mobs...


    This method has stopped working since 1.16 unfortunately. I don't know exactly what goes wrong but after the 'unpause' the effect particles are there but the effect itself is not working. Do you (or anyone else) know how to update this to make it work again?

    Posted in: Commands, Command Blocks and Functions
  • 0

    posted a message on Freezing a horse in it's place with the push of a button

    I'm trying to freeze and unfreeze entities in their place with the push of a button. I've managed to do this for just about every mob and projectile (for the most part that's pretty easy) but somehow I'm having trouble with horses. I'm only interested in the skeleton horse and zombie horse so I haven't tried other ones but I think they'll probably behave the same. At the moment I've tried with NoAI:1, {Motion:[0.0,0.0,0.0]}, {direction:[0.0,0.0,0.0]}, {power:[0.0,0.0,0.0]} and NoGravity:1. Result: whenever I push my 'freeze button' the horse kinda skates along the ground as can be seen in the following video:


    (If I leave NoGravity:0 the skating is much worse)

    It's exactly the same with the Zombie horse.


    Does anyone have an idea how to 'fix' this and instantly freeze the horses?

    Posted in: Commands, Command Blocks and Functions
  • 1

    posted a message on 1.16 summon a snowball with owner UUID? RESOLVED

    Hi,


    Before 1.16 you could summon a snowball with an owner using a command like this: /summon snowball ~ ~ ~ {owner:{L:1L,M:1L}}


    In 1.16 UUID's changed and now I'm not sure how to summon a snowball with a particular owner. Can anyone help me?


    EDIT: got it! For anyone that's interested: /summon snowball ~ ~4 ~ {Owner:[I;0,0,1,1]}

    Posted in: Commands, Command Blocks and Functions
  • 0

    posted a message on Detect the duration of a status effect of a mob and store it (to load it later)

    Oooooh, that's why you're using an item, I understand now. I implemented it and it works flawlessly! Thanks a lot :D

    Posted in: Commands, Command Blocks and Functions
  • 0

    posted a message on Increase the range of mob sounds

    Thanks a lot for thinking along! I'm gonna try to implement it in this fashion, seems like a great solution.

    Posted in: Commands, Command Blocks and Functions
  • 0

    posted a message on Detect the duration of a status effect of a mob and store it (to load it later)

    Wonderful work, thanks so much!

    Correct me if I'm wrong but the effect duration still ticks away during the NoAI:1 pause with this method right? If that's the case then it would be favourable for a mob under a negative effect to have the fight be paused cause the armor stand would just take care of the effect if the pause is long enough. My goal is that the exact duration that was left of the effect is returned to the mob when the fight is unpaused.

    Posted in: Commands, Command Blocks and Functions
  • 0

    posted a message on Detect the duration of a status effect of a mob and store it (to load it later)

    I'm building a mob arena and I've made a method to pause the fight mobs and make them continue again with the press of a button (basically noAI/yesAI with some more bells and whistles). During this pause though, mobs can still take damage from effects like being poisoned or withered. I want to be able to 'pause' such a status effect and make it continue when I press the button again. I've done the same for when they're on fire. I just save the NBT data for fire to a scoreboard when it pauses (and also put it to 0 to make it stop for the moment) and load it when the fight continues.


    I want to do a similar thing with the status effects but I haven't found a method to do so. Does anyone know if this is possible in any way?

    Posted in: Commands, Command Blocks and Functions
  • 0

    posted a message on Increase the range of mob sounds
    Quote from eglaios»

    Ok I see...


    I am totally sure about the fact that "increasing mob sound radius" is impossible using vanilla commands, though they can allow to setup some tricks to get a close result.


    For example, it is possible to play a mob sound each time a mob gets hit :

    You must run the following command each tick

    execute if entity @e[type=zombie,nbt={HurtTime:9s}] as @a at @s run playsound minecraft:entity.zombie.hurt master @s ~ ~ ~



    This would play the zombie hurting sound at any player no matter how far they are if any zombie gets damage.
    However, players could hear both fake and true sounds if too close from the mob. The solution is to make the mobs silent :

    /summon zombie ~ ~ ~ {Silent:1}



    Would that be closer of what you are searching for?


    That might actually work if I can detect some more stuff to /playsound to!!

    Is it possible though to make the sound originate from that mob instead of a player? (I tried it but couldn't seem to make it work, maybe I'm just overlooking something)

    That way the illusion that it's just the mobs original sound is kept.

    Posted in: Commands, Command Blocks and Functions
  • 0

    posted a message on Increase the range of mob sounds
    Quote from eglaios»

    If you know when the sounds are supposed to happen, you can use /playsound to play it in a custom radius.


    However, if you want random-timed noises to be heared up to 25 blocks away, the only thing I see is to set the mob(s) silent, then use a sort of random clock to play noises by playsound command sometimes.

    Obviously, it would be quite harder to set that for all mobs than if you were thinking about a single sort-of-boss one.


    Could we know a bit more precisely what you thought to do?


    Well, I'm making a mob arena in which mobs fight each other. A player would be viewing these fights in spectator mode, flying around the field. To get a good look of the entire field though, you'd have to "zoom out" or back up a little distance. But when you do that, you lose most of the sounds of the mobs. The sounds are part of the experience though so if possible, I'd like to extend the reach of the sounds. I hope my explanation makes sense.

    Posted in: Commands, Command Blocks and Functions
  • 0

    posted a message on Increase the range of mob sounds

    Hi,


    I was wondering if there is a way to increase the range at which a player can hear mob sounds. Normally this is set at 16 blocks I think. For a project I'm working on I'd like to increase that to 25 if that's possible. Does anyone know?

    Posted in: Commands, Command Blocks and Functions
  • To post a comment, please .