Kamp FCNPC Wrapper

Kotlin API for native SA-MP plugin FCNPC

Лицензия

Лицензия

Группа

Группа

ch.leadrian.samp.kamp
Идентификатор

Идентификатор

kamp-fcnpc-wrapper
Последняя версия

Последняя версия

1.0.0-rc1
Дата

Дата

Тип

Тип

jar
Описание

Описание

Kamp FCNPC Wrapper
Kotlin API for native SA-MP plugin FCNPC
Ссылка на сайт

Ссылка на сайт

https://github.com/Double-O-Seven/kamp-fcnpc-wrapper
Система контроля версий

Система контроля версий

https://github.com/Double-O-Seven/kamp-fcnpc-wrapper

Скачать kamp-fcnpc-wrapper

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/ch.leadrian.samp.kamp/kamp-fcnpc-wrapper/ -->
<dependency>
    <groupId>ch.leadrian.samp.kamp</groupId>
    <artifactId>kamp-fcnpc-wrapper</artifactId>
    <version>1.0.0-rc1</version>
</dependency>
// https://jarcasting.com/artifacts/ch.leadrian.samp.kamp/kamp-fcnpc-wrapper/
implementation 'ch.leadrian.samp.kamp:kamp-fcnpc-wrapper:1.0.0-rc1'
// https://jarcasting.com/artifacts/ch.leadrian.samp.kamp/kamp-fcnpc-wrapper/
implementation ("ch.leadrian.samp.kamp:kamp-fcnpc-wrapper:1.0.0-rc1")
'ch.leadrian.samp.kamp:kamp-fcnpc-wrapper:jar:1.0.0-rc1'
<dependency org="ch.leadrian.samp.kamp" name="kamp-fcnpc-wrapper" rev="1.0.0-rc1">
  <artifact name="kamp-fcnpc-wrapper" type="jar" />
</dependency>
@Grapes(
@Grab(group='ch.leadrian.samp.kamp', module='kamp-fcnpc-wrapper', version='1.0.0-rc1')
)
libraryDependencies += "ch.leadrian.samp.kamp" % "kamp-fcnpc-wrapper" % "1.0.0-rc1"
[ch.leadrian.samp.kamp/kamp-fcnpc-wrapper "1.0.0-rc1"]

Зависимости

compile (8)

Идентификатор библиотеки Тип Версия
ch.leadrian.samp.kamp : kamp-core jar 1.0.0-rc8
ch.leadrian.samp.kamp : kamp-annotations jar 1.0.0-rc8
org.jetbrains.kotlin : kotlin-gradle-plugin jar 1.3.11
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.3.11
com.google.guava : guava jar 27.0.1-jre
com.google.inject : guice jar 4.2.2
com.netflix.governator : governator jar 1.17.5
javax.inject : javax.inject jar 1

Модули Проекта

Данный проект не имеет модулей.

Build Status Release Version

Kamp FCNPC Wrapper

A wrapper for the native FCNPC plugin.

To create NPCs, simple inject ch.leadrian.samp.kamp.fcnpcwrapper.service.FCNPCService in your class:

class MyAmazingService
@Inject
constructor(private val npcService: FCNPCService) {

    fun doSomething() {
        npcService.create("Hans_Wurst")
    }

}

A lot of functionality is wrapped in ch.leadrian.samp.kamp.fcnpcwrapper.entity.FullyControllableNPC. However, some additional functionality can be found in:

  • ch.leadrian.samp.kamp.fcnpcwrapper.entity.MovePath
  • ch.leadrian.samp.kamp.fcnpcwrapper.entity.Node
  • ch.leadrian.samp.kamp.fcnpcwrapper.entity.PlaybackRecord All the entities mentioned above can be created and accessed using FCNPCService.

In order to listen to NPC related callbacks, register your class as a callback listener just like with any other callback provided by Kamp:

@Singleton
class MyAmazingCallbackListener
@Inject
constructor(
        private val callbackListenerManager: CallbackListenerManager
) : OnNPCDeathListener, OnNPCUpdateListener {
    
    @PostConstruct
    fun initialize() {
        callbackListenerManager.register(this) 
    }
    
    override fun onNPCDeath(npc: FullyControllableNPC, killer: Player?, reason: WeaponModel) {
        println("Oopsie!")
    }
    
    override fun onNPCUpdate(npc: FullyControllableNPC): Result {
        println("Updated NPC ${npc.id}")
        return OnNPCUpdateListener.Result.Sync    
    }
}

All available callbacks can be found in the package ch.leadrian.samp.kamp.fcnpcwrapper.callback.

Версии библиотеки

Версия
1.0.0-rc1