Ride The Chickens

Share scripts you wrote for Denizen-Bukkit here!
Post Reply
User avatar
mcmonkey
Site Admin
Site Admin
Posts: 200
Joined: August 5th, 2016, 7:27 pm
Location: Los Angeles, California, USA
Contact:

Ride The Chickens

Post by mcmonkey » March 28th, 2019, 6:47 am

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
Denizen lead developer.
http://mcmonkey.org

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest