Gary Tierney
0dc6879bdc
Refactor mining to use async actions
2017-09-17 03:13:03 +01:00
Trevor Flynn
a54485e263
Finish up porting mining plugin to Kotlin
2017-09-17 03:12:43 +01:00
Trevor Flynn
e61f4ef95a
Adding support for mining skill
2017-09-17 03:11:03 +01:00
Gary Tierney
cf0e3331e0
Add API plugin with common functionality
2017-09-17 03:11:02 +01:00
Gary Tierney
3a9e435189
Add an await function to the AsyncActionRunner trait
2017-09-17 03:11:02 +01:00
Major-
f23114d511
Fix plugin processing on windows
2017-09-16 23:11:22 +01:00
Gary Tierney
68710cae47
Use File.separator in settings.gradle
2017-09-16 22:13:12 +01:00
Gary Tierney
a60cc82650
Use main sourcset output dir for scripts
2017-09-16 21:54:57 +01:00
Gary Tierney
b4d951c7cc
Fix incremental script compilation
2017-09-16 21:49:45 +01:00
Gary Tierney
edcb72b474
Fix plugin test running with new gradle modules
2017-09-16 20:40:17 +01:00
Gary Tierney
36282cf81e
Remove plugins.gradle and factor into common extension
2017-09-16 18:49:06 +01:00
Gary Tierney
d323bcd69c
Fix plugin test runner
2017-09-16 13:19:55 +01:00
Gary Tierney
b32b98eb86
Share kotlin version config between buildSrc and project ( #353 )
...
* Share kotlin version config between buildSrc and project
* Use built-in Kotlin MessageCollector
2017-09-16 02:39:34 +01:00
Gary Tierney
cb14c32b71
Add kotlin port of the walk/run toggle plugin
2017-06-25 02:49:58 +01:00
Gary Tierney
8dc10e80bf
Add kotlin port of the emote-tab plugin
2017-06-25 02:44:15 +01:00
Gary Tierney
b2f0c7e4db
Add Kotlin port of the logout plugin
2017-06-25 02:39:46 +01:00
Gary Tierney
e605241893
Add on_button method to plugin scripts
2017-06-25 02:38:56 +01:00
Gary Tierney
9a8ed0d7a9
Port the walkto and following plugins to Kotlin
2017-06-24 18:24:13 +01:00
Gary Tierney
c15f18c609
Add plugin for consumable food/drink
2017-06-22 22:23:55 +01:00
Gary Tierney
b17ad487ab
Add Jenkinsfile
2017-06-20 08:00:06 +01:00
Gary Tierney
97e85868ff
Add support for asynchronous Mob actions
...
Adds asynchronous implementations of the Action and DistancedAction
classes, allowing plugins to make use of suspendable functions in Kotlin
instead of creating mini state machines to keep track of state.
The asynchronicity works by creating coroutine backed Channels for each
asynchronous action and having them listen on "pulse" events from the
action scheduler. The action can then suspend execution until a pulse is
received or until some expensive operation has completed (i.e.,
pathfinding).
If an asynchronous action is still busy when a pulse arrives then the
number of missed pulses will be accumulated and sent to the action at
the next possible time.
The training dummy plugin has been updated to use asycnrhonous actions
as an example.
2017-06-20 07:31:07 +01:00
Gary Tierney
182de0330f
Allow multiple players per test
...
Refactors the test helpers to use receiver functions so multiple players
can exist in the world per test case. The AddFriendsTest is an example
of where this is needed.
Additionally, Hamcrest has been replaced with AssertJ for fluent
assertions.
2017-06-20 02:33:27 +01:00
Gary Tierney
b532168551
Remove test context from plugin testing framework
2017-06-19 17:14:24 +01:00
Gary Tierney
b536b2ed9d
Add start of test framework for plugins
...
Adds a basic testing framework suitable for plugins that start simple
Actions for players, which can be expanded on in the future. The
banking and training dummy tests have been updated to use this framework
and serve as samples.
2017-06-19 02:59:57 +01:00
Gary Tierney
d0fec15a84
Add missing name normalization to lookup plugin
2017-06-18 21:45:52 +01:00
Gary Tierney
f40a3a3a5d
Update travis-ci configuration to cache build deps
2017-06-18 21:39:55 +01:00
Gary Tierney
1019cc8e6a
Check for conflicting plugin names at build-time
2017-06-18 21:37:44 +01:00
Gary Tierney
3f714831c7
Make plugin classes dependant on scripts
2017-06-18 21:25:04 +01:00
Gary Tierney
adaaae2129
Refactor the plugin compile task for performance
...
Integrates the plugin script compilation task with Gradle so we no
longer need to start a new instance of the JVM for each set of plugin
scripts that we want to compile.
2017-06-18 21:13:30 +01:00
Gary Tierney
df305bd775
Merge pull request #340 from cubeee/kotlin-port/commands
...
Convert commands to Kotlin
2017-06-18 19:09:08 +01:00
Cube
c082f407ad
Add input type checking to commands
2017-06-16 23:10:07 +03:00
Cube
4ca8978ff3
Convert lookup commands to Kotlin
2017-06-16 23:10:07 +03:00
Cube
3616753d7f
Convert npc spawn commands to Kotlin
2017-06-16 23:10:07 +03:00
Cube
4f45f5f1ff
Convert experience commands to Kotlin
2017-06-16 23:10:07 +03:00
Cube
9f67c30893
Convert teleport commands to Kotlin
2017-06-16 23:10:06 +03:00
Cube
72c0be8ac6
Convert punishment commands to Kotlin
2017-06-16 23:10:06 +03:00
Cube
6db98406d5
Overload valid_arg_length
2017-06-16 23:10:06 +03:00
Cube
5ea52e00f0
Convert messaging commands to Kotlin
2017-06-16 23:08:55 +03:00
Cube
7df948e12f
Convert ::item command to Kotlin
2017-06-16 23:04:28 +03:00
Cube
b99ee9ba31
Convert ::animate command to Kotlin
2017-06-03 18:55:40 +03:00
Cube
8e8e2d0991
Simplify on_command arguments
2017-06-03 15:23:03 +03:00
Cube
30fc810d61
Add base for Kotlin commands
2017-06-03 15:17:46 +03:00
Gary Tierney
ce3150082d
Fix builds on other platforms (non-Unix)
2017-06-02 22:30:39 +01:00
Jesse
35ab034f3d
Port location NPC spawns from Ruby to Kotlin
2017-06-01 23:43:48 +01:00
Jesse
8d00dcc7c8
Add height and direction params to npc_spawn
2017-06-01 23:23:49 +01:00
Gary Tierney
7ecc2e3158
Clean up plugin script compilation
2017-06-01 23:09:24 +01:00
Gary Tierney
42fdaee8b8
Make run task depend on plugin scripts
2017-06-01 22:47:50 +01:00
Gary Tierney
eed32efcf9
Move stub.kt to main game module
2017-05-31 21:05:35 +01:00
Gary Tierney
258fc6c97b
Add stub to plugin compile-time classpath
2017-05-31 10:55:12 +01:00
Gary Tierney
9353daabc3
Add plugin tests to the game build
2017-05-30 21:11:40 +01:00