是否有可能在类中引用interface的静态字段,而不需要导入或显式调用对interface的引用。
我想这样做:
interface Globals {
companion object {
val mc get() = Bloomware.mc
val cPlayer get() = mc.player!!
val cWorld get() = mc.world!!
fun sendPacket(p: Packet<*>?) {
mc.networkHandler!!.sendPacket(p)
}
}
}
(类用户)
object ResourceCancel : Module(), Globals {
@Subscribe
private fun onPacketSend(event: EventPacket.Send) {
cPlayer.jump() // call this
}
我知道这在Java中是可能的,但我不能在Kotlin中重复相同的
我很确定在Kotlin中没有办法做到这一点。
我认为你能得到的最接近的方法是在它自己的包中定义你的全局内容,然后在你想要访问它们的文件中导入该包.*
。
package com.foo.globals
val mc get() = Bloomware.mc
val cPlayer get() = mc.player!!
val cWorld get() = mc.world!!
fun sendPacket(p: Packet<*>?) {
mc.networkHandler!!.sendPacket(p)
}
import com.foo.globals.*
object ResourceCancel : Module() {
@Subscribe
private fun onPacketSend(event: EventPacket.Send) {
cPlayer.jump() // call this
}