RideAllTheChickens:
type: world
debug: false
events:
on player right clicks chicken:
- mount <player>|<context.entity> <context.entity.location>
- adjust <context.entity> has_ai:false
- if !<context.entity.flag[RideAllTheChickens.WasRidden]||false> {
- flag server RideAllTheChickens.Ridden:++
- flag <context.entity> RideAllTheChickens.WasRidden
}
- wait 1t
- actionbar "Press LSHIFT for TURBO SPEEEED"
on player steers chicken:
- if <context.jump> {
- flag player RideAllTheChickens.ShouldJump:true
}
- - if <player.flag[RideAllTheChickens.JumpCooldown]||0> > 0 {
- - flag player RideAllTheChickens.JumpCooldown:--
- }
- - flag player RideAllTheChickens.TickCooldown:++
- - if <player.flag[RideAllTheChickens.TickCooldown]||0> == 5 {
- - flag player RideAllTheChickens.TickCooldown:0
- }
- else {
+ - flag player RideAllTheChickens.JumpCooldown:--
+ - flag player RideAllTheChickens.TickCooldown:--
+ - if <player.flag[RideAllTheChickens.TickCooldown]||0> > 0 {
+ - flag player RideAllTheChickens.Forward:+:<context.forward>
+ - flag player RideAllTheChickens.Sideways:+:<context.sideways>
+ - if <context.dismount> {
+ - determine cancelled
+ }
- queue clear
}
- - define dividing <tern[<context.entity.is_on_ground>]:2||16>
- - if <context.dismount||false> {
+ - flag player RideAllTheChickens.TickCooldown:5
+ - define dividing <tern[<context.entity.is_on_ground>]:8||64>
+ - if <context.dismount> {
- define dividing <def[dividing].div[10]>
- determine passively cancelled
}
- - define velocity l@0,0,0
- - if <context.forward> > 0 {
- - define velocity <def[velocity].add[<player.location.direction.vector.mul[<context.forward.div[<def[dividing]>]>]>]>
- }
- else if <context.forward> < 0 {
- - define velocity <def[velocity].sub[<player.location.direction.vector.mul[<context.forward.div[<def[dividing].mul[-1]>]>]>]>
+ - define forward <context.forward.add[<player.flag[RideAllTheChickens.Forward]||0>].div[<def[dividing]>]>
+ - define sideways <context.sideways.add[<player.flag[RideAllTheChickens.Sideways]||0>].div[<def[dividing]>]>
+ - define looking <player.location.direction.vector.sub[0,<player.location.direction.vector.y>,0]>
+ - define velocity <def[looking].mul[<def[forward]>].add[<def[looking].rotate_around_y[<el@90.to_radians>].mul[<def[sideways]>]>]>
+ - flag player RideAllTheChickens.Forward:0
+ - flag player RideAllTheChickens.Sideways:0
- }
- - if <context.sideways> > 0 {
- - define velocity <def[velocity].add[<player.location.direction.vector.rotate_around_y[<el@90.to_radians>].mul[<context.sideways.div[<def[dividing]>]>]>]>
- }
- else if <context.sideways> < 0 {
- - define velocity <def[velocity].add[<player.location.direction.vector.rotate_around_y[<el@-90.to_radians>].mul[<context.sideways.div[<def[dividing].mul[-1]>]>]>]>
- }
- - define velocity <def[velocity].sub[0,<def[velocity].y>,0]>
- if <player.flag[RideAllTheChickens.ShouldJump]||false> {
- - if <context.entity.is_on_ground> && <player.flag[RideAllTheChickens.JumpCooldown]||0> == 0 {
+ - if <context.entity.is_on_ground> && <player.flag[RideAllTheChickens.JumpCooldown]||0> <= 0 {
- define velocity <def[velocity].add[0,0.5,0]>
- flag player RideAllTheChickens.JumpCooldown:10
}
- flag player RideAllTheChickens.ShouldJump:false
}
- define length <def[velocity].vector_length>
- if <def[length]> > 0.01 {
- look <context.entity> <context.entity.location.add[<def[velocity]>]>
- adjust <context.entity> velocity:<context.entity.velocity.add[<def[velocity]>]>
- flag server RideAllTheChickens.TotalDistance:+:<def[length]>
}
on system time hourly:
- - webget "http://stats.denizenscript.com/tracker?script=111&version=1&chickens_ridden=<server.flag[RideAllTheChickens.Ridden].round_down||0>&total_distance=<server.flag[RideAllTheChickens.TotalDistance].round_down||0>"
+ - webget "http://stats.denizenscript.com/tracker?script=111&version=2&chickens_ridden=<server.flag[RideAllTheChickens.Ridden].round||0>&total_distance=<server.flag[RideAllTheChickens.TotalDistance].round_down||0>"
- flag server RideAllTheChickens.Ridden:0
- flag server RideAllTheChickens.TotalDistance:0
-
-
-
-