Page 1 of 1

Ride The Chickens

Posted: March 28th, 2019, 6:47 am
by mcmonkey
Morphan famously made this script: https://one.denizenscript.com/denizen/repo/entry/111

However it's not really fully functional on modern Minecraft, likely due to changes in how mob AI works.

I made a variant of it which uses modern Denizen syntax and makes use the "move" mechanism to function with modern Minecraft!

Note that by default, per the original script's design, you can't dismount - pressing LSHIFT will make you go faster, rather that dismount. To dismount you have to kill the chicken (walk it into something dangerous, like fire)!

Raw code:

Code: Select all

RideAllTheChickens:
  type: world
  debug: false
  events:
    on player right clicks chicken:
    - if <context.entity.has_passenger>:
        - queue clear
    - mount <player>|<context.entity> <context.entity.location>
    - adjust <context.entity> has_ai:false
    - wait 1t
    - actionbar "Press LSHIFT for TURBO SPEEEED"
    on player steers chicken:
    - define looking <player.location.direction.vector.with_y[0].div[3]>
    - define forward <def[looking].mul[<context.forward>]>
    - define sideways <def[looking].rotate_around_y[<el@90.to_radians>].mul[<context.sideways>]>
    - define speed 1
    - define upward <player.flag[RideAllTheChickens.JumpingVelocity]||0>
    - flag player RideAllTheChickens.JumpingVelocity:<def[upward].sub[0.06]>
    - if <def[upward]> <= 0 && <context.entity.location.sub[0,0.01,0].material.is_solid>:
        - flag player RideAllTheChickens.JumpingVelocity:0
        - define upward 0
        - if <context.jump>:
            - flag player RideAllTheChickens.JumpingVelocity:0.5
    - if <context.dismount>:
        - determine passively cancelled
        - define speed 10
    - define speed <tern[<context.dismount>]:10||1>
    - define velocity <def[forward].add[<def[sideways]>].mul[<def[speed]>].add[0,<def[upward]>,0]>
    - adjust <context.entity> move:<def[velocity]>
    - if <def[velocity].vector_length> > 0.01:
        - look <context.entity> <context.entity.location.add[<def[velocity]>]>
Haste link: https://one.denizenscript.com/haste/53481