Add packages to plugins

This commit is contained in:
Major
2017-09-24 22:35:07 +01:00
parent b4e8a7136b
commit 046f373c9e
32 changed files with 398 additions and 366 deletions
@@ -1,11 +1,9 @@
import com.google.common.primitives.Ints
import org.apollo.game.message.impl.PlayerActionMessage
import org.apollo.game.model.entity.setting.PrivilegeLevel
import org.apollo.game.plugin.entity.player_action.PlayerActionType
import org.apollo.plugin.entity.following.FollowAction
on_player_event { PlayerActionEvent::class }
.where { action == PlayerActionType.FOLLOW }
.then {
FollowAction.start(it, target)
terminate()
}
on_player_event { org.apollo.game.plugin.entity.player_action.PlayerActionEvent::class }
.where { action == PlayerActionType.FOLLOW }
.then {
FollowAction.start(it, target)
terminate()
}
@@ -1,7 +1,9 @@
package org.apollo.game.plugin.entity.player_action
import org.apollo.game.message.impl.SetPlayerActionMessage
import org.apollo.game.model.entity.Player
import org.apollo.game.model.event.PlayerEvent
import java.util.*
import java.util.EnumSet
enum class PlayerActionType(val displayName: String, val slot: Int, val primary: Boolean = true) {
ATTACK("Attack", 2),
@@ -1,18 +1,22 @@
import org.apollo.game.message.impl.PlayerActionMessage
import org.apollo.game.model.event.impl.LoginEvent
import org.apollo.game.plugin.entity.player_action.PlayerActionEvent
import org.apollo.game.plugin.entity.player_action.PlayerActionType
import org.apollo.game.plugin.entity.player_action.actionAt
import org.apollo.game.plugin.entity.player_action.enableAction
on { PlayerActionMessage::class }
.then {
val action = it.actionAt(option)
if (action != null) {
it.world.submit(PlayerActionEvent(it, it.world.playerRepository[index], action))
}
terminate()
.then {
val action = it.actionAt(option)
if (action != null) {
it.world.submit(PlayerActionEvent(it, it.world.playerRepository[index], action))
}
terminate()
}
on_player_event { LoginEvent::class }
.then {
it.enableAction(PlayerActionType.FOLLOW)
it.enableAction(PlayerActionType.TRADE)
}
.then {
it.enableAction(PlayerActionType.FOLLOW)
it.enableAction(PlayerActionType.TRADE)
}
+7 -3
View File
@@ -1,8 +1,12 @@
import org.apollo.game.model.*
package org.apollo.game.plugin.entity.spawn
import org.apollo.game.model.Animation
import org.apollo.game.model.Direction
import org.apollo.game.model.Graphic
import org.apollo.game.model.Position
data class Spawn(val id: Int?, val name: String, val position: Position, val facing: Direction,
val spawnAnimation: Animation? = null,
val spawnGraphic: Graphic? = null)
val spawnAnimation: Animation? = null, val spawnGraphic: Graphic? = null)
object Spawns {
val list = mutableListOf<Spawn>()
+5 -10
View File
@@ -1,23 +1,18 @@
import org.apollo.cache.def.NpcDefinition
import org.apollo.game.model.entity.Npc
import org.apollo.game.plugin.entity.spawn.Spawns
import org.apollo.game.plugin.util.lookup.lookup_npc
start { world ->
Spawns.list.forEach {
val definition = if (it.id != null) NpcDefinition.lookup(it.id!!) else lookup_npc(it.name)
if (definition == null) {
val definition = it.id?.let { NpcDefinition.lookup(it) } ?: lookup_npc(it.name) ?:
throw IllegalArgumentException("Invalid NPC name or ID ${it.name}, ${it.id}")
}
val npc = Npc(world, definition.id, it.position)
npc.turnTo(it.position.step(1, it.facing))
if (it.spawnAnimation != null) {
npc.playAnimation(it.spawnAnimation)
}
if (it.spawnGraphic != null) {
npc.playGraphic(it.spawnGraphic)
}
it.spawnAnimation?.let(npc::playAnimation)
it.spawnGraphic?.let(npc::playGraphic)
world.register(npc)
}