how to make a weeping angel like mob

Started by Cheese Dealer on

Topic category: Help with MCreator software

Joined Aug 2024
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
how to make a weeping angel like mob

Title pretty much explains it but i want to know if its possible at all to make a mob similar to the creaking / a weeping angel in MCreator

Joined Aug 2024
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
am i gonna be doing this…
Fri, 02/07/2025 - 05:28

am i gonna be doing this forever cause this is like a main thing i need for my mod

Joined Mar 2022
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
From what I can remember,…
Fri, 02/07/2025 - 13:05

From what I can remember, you can just raytrace, but not sure for entities..

Joined Aug 2024
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
so impossible? yeah right…
Sun, 02/09/2025 - 21:59

so impossible? yeah right ive seen other mcreator mods do that

Joined Jul 2017
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
in your entity's ai tasks…
Wed, 09/10/2025 - 01:34

in your entity's ai tasks tab, find the tasks that you want to stop when the player is looking and start again when the player is not looking (for example, if you want the mob to start attacking when the player is looking away, find the "melee attack" task). find the "conditions: ∞" dropdown on that task block and click on it. there should be two procedures: additional start condition, and additional continue condition. click on the + button to create a new condition procedure.

in the procedure editor window that opens, add an if block (in "control flow"). inside the if block, add a logic return block (in "control flow") (use the blue one that says logic). then attach a "True" block (in "logic"). outside of the if block at the end, do the same thing but with return false.

now in the condition of the if block, you have a few options. you can use any of these three ways:

  • Entity procedures > Data: Direction (yaw) in deg relative to S of [entity]
    • 1. (i think) this block returns 0 if the entity is facing south, then as the entity turns the number increases, then it loops back to 0 once the entity is facing south again
    • 2. then you have to find the angle between the mob and the player relative to South. honestly idfk how to do this i might wanna get back to you later.
    • if the absolute value of the angle found from part 1. minus the angle found in part 2. is less than a certain number, let's say 90, then the player is considered to be looking at the mob and you can return true. otherwise, return false.
    • you can replace the number 90 with a bigger number if you want to be nice to the player, or a smaller number if you want to be mean to the player and force them to look exactly at the mob to freeze the mob. i'd say 90 is a good choice because it just means that the player kinda has to look in the same general direction as the mob to make the mob freeze. this is good for if you want the mob to move when the player is not looking. go lower than 90 if you want the player to be able to see the weeping angel mob moving if you look slightly away. i wouldn't go higher than 90 though
  • Entity procedures > Data: Look X position of [entity] etc..., Look Y position of [entity] etc..., Look Z position of [entity] etc...
    • this is the simplest approach but the most likely to screw up in game.
    • get the x y z position of the block that the player is looking at.
    • then get the x y z position of the mob.
    • if the position of the mob is close enough to the position of the block that the player is looking at, then we can assume that the player is looking at the mob, so return true. otherwise, return false.
    • you can find the distance between the mob position and the block look position by calculating square root((mob x - block look x)^2 + (mob z - block look z)^2). you can find these math blocks in the math section.
    • if that entire value calculated above is less than a certain number, let's say 3, then we can consider the player to be looking at the mob. the condition in your if block therefore should be the entire big block calculated above inside a logic block < 3. you can change the number 3 to be higher if you want to be nice to the player, or lower if you want to be mean to the player and force them to look perfectly at the exact position of the mob.

the basic idea is to make a condition procedure that returns true when the player is looking in the direction of the mob and false otherwise, which will make the mob attack or run or do whatever only if the player is looking at it. here are the tools, figure out the rest of the logic on your own bc i have to go do homework

this probably require some understanding of math including distance formula, trigonometry, maybe vectors, etc., complex procedures like this are really fun to make but require your own thinking to get working

anyway you can probably ask google ai mode how to do this

bleh