fix compile errors

This commit is contained in:
Adam 2021-10-10 21:26:11 +02:00
parent 877c1cdb98
commit fb80ca3f79
41 changed files with 606 additions and 562 deletions

View file

@ -1,11 +1,17 @@
plugins { plugins {
`kotlin-dsl` `kotlin-dsl`
kotlin("jvm") version "1.5.31"
} }
dependencies { dependencies {
val kotlinVersion = "1.5.31" val kotlinVersion = "1.5.31"
// implementation(gradleApi())
// implementation("org.gradle.kotlin:gradle-kotlin-dsl-plugins:${org.gradle.kotlin.dsl.support.expectedKotlinDslPluginsVersion}")
// implementation("org.gradle.kotlin:gradle-kotlin-dsl-plugins:${kotlinVersion}")
implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlinVersion")) implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlinVersion"))
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin") implementation("org.jetbrains.kotlin:kotlin-gradle-plugin")

View file

@ -14,4 +14,4 @@ import org.w3c.performance.*
import org.w3c.workers.* import org.w3c.workers.*
import org.w3c.xhr.* import org.w3c.xhr.*
external fun collectgarbage(opt: String /* "count" | "generational" | "incremental" */): dynamic /* Unit */ //external fun collectgarbage(opt: String /* "count" | "generational" | "incremental" */): dynamic /* Unit */

View file

@ -15,8 +15,8 @@ import org.w3c.workers.*
import org.w3c.xhr.* import org.w3c.xhr.*
import tsstdlib.Record import tsstdlib.Record
external var _ENV: Record<String, Any> //external var _ENV: Record<String, Any>
external fun collectgarbage(opt: String /* "isrunning" */): Boolean //external fun collectgarbage(opt: String /* "isrunning" */): Boolean
external fun module(name: String, vararg options: Function<*>) //external fun module(name: String, vararg options: Function<*>)

View file

@ -1,6 +1,7 @@
@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") @file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS")
import kotlin.js.* import kotlin.js.*
import kotlinext.js.PropertyDescriptor
import org.khronos.webgl.* import org.khronos.webgl.*
import org.w3c.dom.* import org.w3c.dom.*
import org.w3c.dom.events.* import org.w3c.dom.events.*
@ -30,4 +31,33 @@ typealias uint16 = Number
typealias uint64 = Number typealias uint64 = Number
typealias table = Any? //typealias table = Any?
// TODO LuaTable? AnyTable? index.module_typescript-to-lua.kt
@JsName("table")
class table : Object2()
/** https://github.com/JetBrains/kotlin-wrappers/blob/master/kotlin-extensions/src/main/kotlin/kotlinext/js/Object.kt */
open external class Object2 {
fun toLocaleString(): String
fun valueOf(): dynamic
fun hasOwnProperty(v: String): Boolean
fun isPrototypeOf(v: Any): Boolean
fun propertyIsEnumerable(v: String): Boolean
companion object {
fun <P : Any, T : P> getPrototypeOf(o: T): P
fun <T> getOwnPropertyDescriptor(o: Any, p: String): PropertyDescriptor<T>
fun getOwnPropertyNames(o: Any): Array<String>
fun <T : Any> create(o: T?, properties: dynamic = definedExternally): T
fun <T : Any, P> defineProperty(o: T, p: String, attributes: PropertyDescriptor<P>): T
fun <T : Any> defineProperties(o: T, properties: dynamic): T
fun <T> seal(o: T): T
fun <R, T : R> freeze(o: T): R
fun <T> preventExtensions(o: T): T
fun isSealed(o: Any): Boolean
fun isFrozen(o: Any): Boolean
fun isExtensible(o: Any): Boolean
fun keys(o: Any): Array<String>
fun <T : Any, R : T> assign(dest: R, vararg src: T?): R
}
}

File diff suppressed because it is too large Load diff

View file

@ -27,8 +27,8 @@ external fun gethook(thread: LuaThread = definedExternally): dynamic /* JsTuple<
external interface FunctionInfo<T : Function<*>> { external interface FunctionInfo<T : Function<*>> {
var nparams: Number var nparams: Number
var isvararg: Boolean var isvararg: Boolean?
var istailcall: Boolean var istailcall: Boolean?
var func: T var func: T
var name: String? var name: String?
get() = definedExternally get() = definedExternally

View file

@ -37,7 +37,7 @@ external interface CustomInputEvent {
external interface OnAiCommandCompletedEvent { external interface OnAiCommandCompletedEvent {
var unit_number: uint var unit_number: uint
var result: behavior_result var result: behavior_result
var was_distracted: Boolean var was_distracted: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -54,11 +54,11 @@ external interface OnAreaClonedEvent {
var destination_force: LuaForce? var destination_force: LuaForce?
get() = definedExternally get() = definedExternally
set(value) = definedExternally set(value) = definedExternally
var clone_tiles: Boolean var clone_tiles: Boolean?
var clone_entities: Boolean var clone_entities: Boolean?
var clone_decoratives: Boolean var clone_decoratives: Boolean?
var clear_destination_entities: Boolean var clear_destination_entities: Boolean?
var clear_destination_decoratives: Boolean var clear_destination_decoratives: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -82,11 +82,11 @@ external interface OnBrushClonedEvent {
var destination_force: LuaForce? var destination_force: LuaForce?
get() = definedExternally get() = definedExternally
set(value) = definedExternally set(value) = definedExternally
var clone_tiles: Boolean var clone_tiles: Boolean?
var clone_entities: Boolean var clone_entities: Boolean?
var clone_decoratives: Boolean var clone_decoratives: Boolean?
var clear_destination_entities: Boolean var clear_destination_entities: Boolean?
var clear_destination_decoratives: Boolean var clear_destination_decoratives: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -319,7 +319,7 @@ external interface OnEntityRenamedEvent {
var player_index: uint? var player_index: uint?
get() = definedExternally get() = definedExternally
set(value) = definedExternally set(value) = definedExternally
var by_script: Boolean var by_script: Boolean?
var entity: LuaEntity var entity: LuaEntity
var old_name: String var old_name: String
var name: Any var name: Any
@ -359,7 +359,7 @@ external interface OnEquipmentRemovedEvent {
external interface OnForceCeaseFireChangedEvent { external interface OnForceCeaseFireChangedEvent {
var force: LuaForce var force: LuaForce
var other_force: LuaForce var other_force: LuaForce
var added: Boolean var added: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -373,7 +373,7 @@ external interface OnForceCreatedEvent {
external interface OnForceFriendsChangedEvent { external interface OnForceFriendsChangedEvent {
var force: LuaForce var force: LuaForce
var other_force: LuaForce var other_force: LuaForce
var added: Boolean var added: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -419,9 +419,9 @@ external interface OnGuiClickEvent {
set(value) = definedExternally set(value) = definedExternally
var player_index: uint var player_index: uint
var button: mouse_button_type var button: mouse_button_type
var alt: Boolean var alt: Boolean?
var control: Boolean var control: Boolean?
var shift: Boolean var shift: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -459,9 +459,9 @@ external interface OnGuiConfirmedEvent {
get() = definedExternally get() = definedExternally
set(value) = definedExternally set(value) = definedExternally
var player_index: uint var player_index: uint
var alt: Boolean var alt: Boolean?
var control: Boolean var control: Boolean?
var shift: Boolean var shift: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -789,7 +789,7 @@ external interface OnPlayerDeconstructedAreaEvent {
get() = definedExternally get() = definedExternally
set(value) = definedExternally set(value) = definedExternally
var item: String var item: String
var alt: Boolean var alt: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -842,7 +842,7 @@ external interface OnPlayerDroppedItemEvent {
external interface OnPlayerFastTransferredEvent { external interface OnPlayerFastTransferredEvent {
var player_index: uint var player_index: uint
var entity: LuaEntity var entity: LuaEntity
var from_player: Boolean var from_player: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -852,7 +852,7 @@ external interface OnPlayerFlushedFluidEvent {
var fluid: String var fluid: String
var amount: double var amount: double
var entity: LuaEntity var entity: LuaEntity
var only_this_entity: Boolean var only_this_entity: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -928,7 +928,7 @@ external interface OnPlayerMutedEvent {
external interface OnPlayerPipetteEvent { external interface OnPlayerPipetteEvent {
var player_index: uint var player_index: uint
var item: LuaItemPrototype var item: LuaItemPrototype
var used_cheat_mode: Boolean var used_cheat_mode: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -1012,7 +1012,7 @@ external interface OnPlayerSetupBlueprintEvent {
get() = definedExternally get() = definedExternally
set(value) = definedExternally set(value) = definedExternally
var item: String var item: String
var alt: Boolean var alt: Boolean?
var mapping: LuaLazyLoadedValue<Record<uint, LuaEntity>> var mapping: LuaLazyLoadedValue<Record<uint, LuaEntity>>
var name: Any var name: Any
var tick: uint var tick: uint
@ -1020,7 +1020,7 @@ external interface OnPlayerSetupBlueprintEvent {
external interface OnPlayerToggledAltModeEvent { external interface OnPlayerToggledAltModeEvent {
var player_index: uint var player_index: uint
var alt_mode: Boolean var alt_mode: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -1070,7 +1070,7 @@ external interface OnPlayerUsedSpiderRemoteEvent {
var player_index: uint var player_index: uint
var vehicle: LuaEntity var vehicle: LuaEntity
var position: Position var position: Position
var success: Boolean var success: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -1099,11 +1099,11 @@ external interface OnPostEntityDiedEvent {
external interface OnPreBuildEvent { external interface OnPreBuildEvent {
var player_index: uint var player_index: uint
var position: Position var position: Position
var shift_build: Boolean var shift_build: Boolean?
var direction: direction var direction: direction
var flip_horizontal: Boolean var flip_horizontal: Boolean?
var flip_vertical: Boolean var flip_vertical: Boolean?
var created_by_moving: Boolean var created_by_moving: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -1223,14 +1223,14 @@ external interface OnPreSurfaceDeletedEvent {
external interface OnResearchFinishedEvent { external interface OnResearchFinishedEvent {
var research: LuaTechnology var research: LuaTechnology
var by_script: Boolean var by_script: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
external interface OnResearchReversedEvent { external interface OnResearchReversedEvent {
var research: LuaTechnology var research: LuaTechnology
var by_script: Boolean var by_script: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -1361,7 +1361,7 @@ external interface OnScriptPathRequestFinishedEvent {
get() = definedExternally get() = definedExternally
set(value) = definedExternally set(value) = definedExternally
var id: uint var id: uint
var try_again_later: Boolean var try_again_later: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }
@ -1418,7 +1418,7 @@ external interface OnStringTranslatedEvent {
get() = definedExternally get() = definedExternally
set(value) = definedExternally set(value) = definedExternally
var result: String var result: String
var translated: Boolean var translated: Boolean?
var name: Any var name: Any
var tick: uint var tick: uint
} }

View file

@ -48,7 +48,7 @@ external fun <T> ipairs(t: Record<Number, T>): Iterable<dynamic /* JsTuple<Numbe
external fun next(table: Any?, index: Any = definedExternally): dynamic /* JsTuple<Any, Any> | JsTuple<> */ external fun next(table: Any?, index: Any = definedExternally): dynamic /* JsTuple<Any, Any> | JsTuple<> */
external fun <TKey, TValue> pairs(t: LuaTable<TKey, TValue>): Iterable<dynamic /* JsTuple<TKey, NonNullable<TValue>> */> /* Iterable<dynamic /* JsTuple<TKey, NonNullable<TValue>> */> & LuaIterator<dynamic /* JsTuple<TKey, NonNullable<TValue>> */, undefined> & LuaExtension<String /* "__luaIterableBrand" */> */ external fun <TKey : AnyNotNil, TValue> pairs(t: LuaTable<TKey, TValue>): Iterable<dynamic /* JsTuple<TKey, NonNullable<TValue>> */> /* Iterable<dynamic /* JsTuple<TKey, NonNullable<TValue>> */> & LuaIterator<dynamic /* JsTuple<TKey, NonNullable<TValue>> */, undefined> & LuaExtension<String /* "__luaIterableBrand" */> */
external fun <T> pairs(t: T): Iterable<dynamic /* JsTuple<Any, NonNullable<Any>> */> /* Iterable<dynamic /* JsTuple<Any, NonNullable<Any>> */> & LuaIterator<dynamic /* JsTuple<Any, NonNullable<Any>> */, undefined> & LuaExtension<String /* "__luaIterableBrand" */> */ external fun <T> pairs(t: T): Iterable<dynamic /* JsTuple<Any, NonNullable<Any>> */> /* Iterable<dynamic /* JsTuple<Any, NonNullable<Any>> */> & LuaIterator<dynamic /* JsTuple<Any, NonNullable<Any>> */, undefined> & LuaExtension<String /* "__luaIterableBrand" */> */

View file

@ -22,7 +22,8 @@ external interface AnyNotNil
typealias LuaExtension<TBrand> = Any typealias LuaExtension<TBrand> = Any
external var `$multi`: (values: T) -> T /* (values: T) -> T & LuaExtension<String /* "__luaMultiFunctionBrand" */> */ //external var `$multi`: (values: T) -> T /* (values: T) -> T & LuaExtension<String /* "__luaMultiFunctionBrand" */> */
external fun <T> `$multi`(values: T): T /* (values: T) -> T & LuaExtension<String /* "__luaMultiFunctionBrand" */> */
external var `$range`: (start: Number, limit: Number, step: Number) -> Iterable<Number> /* (start: Number, limit: Number, step: Number) -> Iterable<Number> & LuaExtension<String /* "__luaRangeFunctionBrand" */> */ external var `$range`: (start: Number, limit: Number, step: Number) -> Iterable<Number> /* (start: Number, limit: Number, step: Number) -> Iterable<Number> & LuaExtension<String /* "__luaRangeFunctionBrand" */> */
@ -38,5 +39,5 @@ external interface LuaTable<TKey : AnyNotNil, TValue> {
var has: (key: TKey) -> Boolean /* (key: TKey) -> Boolean & LuaExtension<String /* "__luaTableHasMethodBrand" */> */ var has: (key: TKey) -> Boolean /* (key: TKey) -> Boolean & LuaExtension<String /* "__luaTableHasMethodBrand" */> */
var delete: (key: TKey) -> Boolean /* (key: TKey) -> Boolean & LuaExtension<String /* "__luaTableDeleteMethodBrand" */> */ var delete: (key: TKey) -> Boolean /* (key: TKey) -> Boolean & LuaExtension<String /* "__luaTableDeleteMethodBrand" */> */
companion object : Any by definedExternally // companion object : Any by definedExternally
} }

View file

@ -21,7 +21,7 @@ external interface LuaFile {
fun flush(): Boolean fun flush(): Boolean
fun <T : Array<dynamic /* "*n" | "*l" | "*a" | "*L" | Number */>> lines(vararg formats: T): Iterable<Any /* Any & LuaExtension<String /* "__luaMultiReturnBrand" */> */> /* Iterable<Any /* Any & LuaExtension<String /* "__luaMultiReturnBrand" */> */> & LuaIterator<Any /* Any & LuaExtension<String /* "__luaMultiReturnBrand" */> */, undefined> & LuaExtension<String /* "__luaIterableBrand" */> */ fun <T : Array<dynamic /* "*n" | "*l" | "*a" | "*L" | Number */>> lines(vararg formats: T): Iterable<Any /* Any & LuaExtension<String /* "__luaMultiReturnBrand" */> */> /* Iterable<Any /* Any & LuaExtension<String /* "__luaMultiReturnBrand" */> */> & LuaIterator<Any /* Any & LuaExtension<String /* "__luaMultiReturnBrand" */> */, undefined> & LuaExtension<String /* "__luaIterableBrand" */> */
fun read(): FileReadFormatToType<String /* "*l" */>? fun read(): FileReadFormatToType<String /* "*l" */>?
fun <T> read(format: T): FileReadFormatToType? /* Any & LuaExtension<String /* "__luaMultiReturnBrand" */> */ fun <T> read(format: T): FileReadFormatToType<T>? /* Any & LuaExtension<String /* "__luaMultiReturnBrand" */> */
fun seek(whence: String /* "set" | "cur" | "end" */ = definedExternally, offset: Number = definedExternally): dynamic /* JsTuple<Number> | JsTuple<Nothing?, String> */ fun seek(whence: String /* "set" | "cur" | "end" */ = definedExternally, offset: Number = definedExternally): dynamic /* JsTuple<Number> | JsTuple<Nothing?, String> */
fun setvbuf(mode: String /* "no" | "full" | "line" */, size: Number = definedExternally) fun setvbuf(mode: String /* "no" | "full" | "line" */, size: Number = definedExternally)
fun write(vararg args: Any /* String | Number */): dynamic /* JsTuple<LuaFile> | JsTuple<Nothing?, String> */ fun write(vararg args: Any /* String | Number */): dynamic /* JsTuple<LuaFile> | JsTuple<Nothing?, String> */

View file

@ -42,7 +42,7 @@ external fun popen(prog: String, mode: String /* "r" | "w" */ = definedExternall
external fun read(): FileReadFormatToType<String /* "*l" */>? external fun read(): FileReadFormatToType<String /* "*l" */>?
external fun <T> read(format: T): FileReadFormatToType? /* Any & LuaExtension<String /* "__luaMultiReturnBrand" */> */ external fun <T> read(format: T): FileReadFormatToType<T>? /* Any & LuaExtension<String /* "__luaMultiReturnBrand" */> */
external var stderr: LuaFile external var stderr: LuaFile

View file

@ -30,15 +30,15 @@ external interface SerpentOptions {
var sortkeys: dynamic /* Boolean | (this: Unit, keys: Array<Any>, table: Any) -> Unit */ var sortkeys: dynamic /* Boolean | (this: Unit, keys: Array<Any>, table: Any) -> Unit */
get() = definedExternally get() = definedExternally
set(value) = definedExternally set(value) = definedExternally
var sparse: Boolean var sparse: Boolean?
var compact: Boolean var compact: Boolean?
var fatal: Boolean var fatal: Boolean?
var nocode: Boolean var nocode: Boolean?
var nohuge: Boolean var nohuge: Boolean?
var maxlevel: Number var maxlevel: Number
var maxnum: Number var maxnum: Number
var maxlength: Number var maxlength: Number
var metatostring: Boolean var metatostring: Boolean?
var numformat: String var numformat: String
var valignore: Array<String> var valignore: Array<String>
var keyallow: Array<String> var keyallow: Array<String>

View file

@ -15,8 +15,10 @@ import org.w3c.workers.*
import org.w3c.xhr.* import org.w3c.xhr.*
external interface LuaMetatable<T, TIndex> { external interface LuaMetatable<T, TIndex> {
val <T> __pairs: ((t: T) -> dynamic)? // val <T> __pairs: ((t: T) -> dynamic)?
val <T : Any?> __ipairs: ((t: T) -> dynamic)? // val <T : Any?> __ipairs: ((t: T) -> dynamic)?
fun <T> __pairs(t: T): dynamic
fun <T : Any?> __ipairs(t: T): dynamic
val __add: ((operand: Any) -> Any)? val __add: ((operand: Any) -> Any)?
val __sub: ((operand: Any) -> Any)? val __sub: ((operand: Any) -> Any)?
val __mul: ((operand: Any) -> Any)? val __mul: ((operand: Any) -> Any)?

View file

@ -39,7 +39,7 @@ external interface LuaDateInfoResult {
var hour: Number var hour: Number
var min: Number var min: Number
var sec: Number var sec: Number
var isdst: Boolean var isdst: Boolean?
var yday: Number var yday: Number
var wday: Number var wday: Number
} }

View file

@ -1,6 +1,6 @@
@file:JsQualifier("table") @file:JsQualifier("table")
@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") @file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS")
package table package table2
import kotlin.js.* import kotlin.js.*
import org.khronos.webgl.* import org.khronos.webgl.*

View file

@ -23,7 +23,7 @@ external interface IteratorYieldResult<TYield> {
} }
external interface IteratorReturnResult<TReturn> { external interface IteratorReturnResult<TReturn> {
var done: Boolean var done: Boolean?
var value: TReturn var value: TReturn
} }

View file

@ -35,7 +35,7 @@ external interface BaseSettingDefinition {
external interface BoolSettingDefinition : BaseSettingDefinition { external interface BoolSettingDefinition : BaseSettingDefinition {
override var type: String /* "bool-setting" */ override var type: String /* "bool-setting" */
var default_value: Boolean var default_value: Boolean?
var forced_value: Boolean? var forced_value: Boolean?
get() = definedExternally get() = definedExternally
set(value) = definedExternally set(value) = definedExternally

View file

@ -3,6 +3,7 @@
@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS") @file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS")
package util package util
import AnyNotNil
import kotlin.js.* import kotlin.js.*
import org.khronos.webgl.* import org.khronos.webgl.*
import org.w3c.dom.* import org.w3c.dom.*
@ -49,15 +50,13 @@ external fun multiply_color(c1: ColorTable, n: Number): dynamic /* JsTuple<Any,
external fun multiply_color(c1: Any /* JsTuple<Any, float, Any, float, Any, float, Any, float> */, n: Number): dynamic /* JsTuple<Any, float, Any, float, Any, float, Any, float> */ external fun multiply_color(c1: Any /* JsTuple<Any, float, Any, float, Any, float, Any, float> */, n: Number): dynamic /* JsTuple<Any, float, Any, float, Any, float, Any, float> */
external fun moveposition(position: Position, direction: defines.direction.north, distance: Number): Position external fun moveposition(position: Position, direction: defines.direction, distance: Number): Position?
//external fun moveposition(position: Position, direction: defines.direction.north, distance: Number): Position
//external fun moveposition(position: Position, direction: defines.direction.east, distance: Number): Position
//external fun moveposition(position: Position, direction: defines.direction.south, distance: Number): Position
//external fun moveposition(position: Position, direction: defines.direction.west, distance: Number): Position
external fun moveposition(position: Position, direction: defines.direction.east, distance: Number): Position //external fun moveposition(position: Position, direction: direction, distance: Number): Position?
external fun moveposition(position: Position, direction: defines.direction.south, distance: Number): Position
external fun moveposition(position: Position, direction: defines.direction.west, distance: Number): Position
external fun moveposition(position: Position, direction: direction, distance: Number): Position?
external fun oppositedirection(direction: direction): direction external fun oppositedirection(direction: direction): direction
@ -108,4 +107,4 @@ external fun <T> remove_from_list(list: Array<T>, value: T): Boolean
external fun <T : Any> list_to_map(list: Array<T>): dynamic /* Record | LuaTable */ external fun <T : Any> list_to_map(list: Array<T>): dynamic /* Record | LuaTable */
external fun <T> list_to_map(list: T): LuaTable<Any, Boolean> external fun <T> list_to_map(list: T): LuaTable<AnyNotNil, Boolean>