Date: 2019/03/28 06:42:43 UTC-07:00
Type: Denizen Script
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]>]>