rm backup files
This commit is contained in:
parent
96d8ceda2c
commit
e9e5b88aed
5 changed files with 0 additions and 338 deletions
|
|
@ -1,95 +0,0 @@
|
||||||
//import com.google.protobuf.gradle.builtins
|
|
||||||
//import com.google.protobuf.gradle.generateProtoTasks
|
|
||||||
//import com.google.protobuf.gradle.ofSourceSet
|
|
||||||
//import com.google.protobuf.gradle.plugins
|
|
||||||
//import com.google.protobuf.gradle.protobuf
|
|
||||||
//import com.google.protobuf.gradle.protoc
|
|
||||||
|
|
||||||
|
|
||||||
plugins {
|
|
||||||
id("dev.adamko.factoriowebmap.archetype.base")
|
|
||||||
// id("dev-adamko.pb-and-g")
|
|
||||||
// kotlin("multiplatform")
|
|
||||||
|
|
||||||
// id("dev.adamko.factoriowebmap.archetype.kotlin-jvm")
|
|
||||||
// java
|
|
||||||
// kotlin("js")
|
|
||||||
|
|
||||||
// id("com.google.protobuf") version "0.8.17"
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
val projectId: String by project.extra
|
|
||||||
val buildDir: Directory = layout.buildDirectory.dir(projectId).get()
|
|
||||||
//val nodeModulesDir: Directory by project.extra
|
|
||||||
|
|
||||||
val protobufVersion = "3.19.0"
|
|
||||||
|
|
||||||
//kotlin {
|
|
||||||
//// js {
|
|
||||||
//// // To build distributions for and run tests on browser or Node.js use one or both of:
|
|
||||||
////// browser()
|
|
||||||
//// nodejs()
|
|
||||||
//// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
// implementation(platform("com.google.protobuf:protobuf-bom:$protobufVersion"))
|
|
||||||
//
|
|
||||||
// implementation("com.google.protobuf:protobuf-java:$protobufVersion")
|
|
||||||
// implementation("com.google.protobuf:protobuf-javalite:$protobufVersion")
|
|
||||||
// implementation("com.google.protobuf:protobuf-kotlin-lite:$protobufVersion")
|
|
||||||
// implementation("com.google.protobuf:protobuf-kotlin:$protobufVersion")
|
|
||||||
// implementation("com.google.protobuf:protoc:$protobufVersion")
|
|
||||||
//
|
|
||||||
// implementation(platform("io.grpc:grpc-bom:1.41.0"))
|
|
||||||
// implementation("io.grpc:grpc-stub:1.41.0")
|
|
||||||
// implementation("io.grpc:grpc-protobuf:1.41.0")
|
|
||||||
//
|
|
||||||
// implementation("io.grpc:grpc-kotlin-stub:1.2.0")
|
|
||||||
// implementation("io.grpc:protoc-gen-grpc-kotlin:1.2.0")
|
|
||||||
//
|
|
||||||
// implementation("javax.annotation:javax.annotation-api:1.3.2")
|
|
||||||
//
|
|
||||||
|
|
||||||
// implementation(npm("protoc-gen-ts", "0.15.0"))
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//protobuf {
|
|
||||||
// protoc {
|
|
||||||
// // The artifact spec for the Protobuf Compiler
|
|
||||||
// artifact = "com.google.protobuf:protoc:3.9.2"
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// plugins {
|
|
||||||
//
|
|
||||||
// this.id("ts") {
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// this.plugins {
|
|
||||||
//// this.named("ts") {
|
|
||||||
////
|
|
||||||
//// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// generateProtoTasks {
|
|
||||||
// ofSourceSet("main").forEach { task ->
|
|
||||||
// task.builtins {
|
|
||||||
// getByName("java") {
|
|
||||||
// option("lite")
|
|
||||||
// }
|
|
||||||
//// getByName("kotlin") {
|
|
||||||
//// option("lite")
|
|
||||||
//// }
|
|
||||||
//// getByName("ts") {
|
|
||||||
//// option("lite")
|
|
||||||
//// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
package dev.adamko.factorioevents.model
|
|
||||||
|
|
||||||
import kotlin.js.JsExport
|
|
||||||
import kotlin.jvm.JvmInline
|
|
||||||
|
|
||||||
//expect sealed interface JsonPrimitive {
|
|
||||||
// value class JsonString(val string: String) : JsonPrimitive
|
|
||||||
// value class JsonNumber(val number: Number) : JsonPrimitive
|
|
||||||
// value class JsonBoolean(val boolean: Boolean) : JsonPrimitive
|
|
||||||
//}
|
|
||||||
|
|
||||||
sealed interface JsonPrimitive {
|
|
||||||
@JvmInline
|
|
||||||
value class JsonString(val string: String) : JsonPrimitive
|
|
||||||
@JvmInline
|
|
||||||
value class JsonNumber(val number: Number) : JsonPrimitive
|
|
||||||
@JvmInline
|
|
||||||
value class JsonBoolean(val boolean: Boolean) : JsonPrimitive
|
|
||||||
}
|
|
||||||
|
|
||||||
class JsonArray<T : JsonPrimitive?>(
|
|
||||||
private val list: MutableList<T> = mutableListOf()
|
|
||||||
) : MutableList<T> by list
|
|
||||||
|
|
||||||
|
|
||||||
sealed interface JsonTableValue {
|
|
||||||
@JvmInline
|
|
||||||
value class JsonPrimitiveTV(val primitive: JsonPrimitive) : JsonTableValue
|
|
||||||
@JvmInline
|
|
||||||
value class JsonArrayTV<T : JsonPrimitive?>(val array: JsonArray<T>) : JsonTableValue
|
|
||||||
@JvmInline
|
|
||||||
value class JsonTableTV<T : JsonTable?>(val array: JsonTable) : JsonTableValue
|
|
||||||
}
|
|
||||||
|
|
||||||
//expect class JsonNumber() : JsonPrimitiveType
|
|
||||||
|
|
||||||
//expect class JsonArray<T : JsonPrimitive?>
|
|
||||||
|
|
||||||
//expect open class JsonTable<K : JsonPrimitive.JsonString, V : JsonTableValue?>
|
|
||||||
|
|
||||||
open class JsonTable(
|
|
||||||
protected val map: MutableMap<JsonPrimitive.JsonString, JsonTableValue?> = mutableMapOf()
|
|
||||||
) : MutableMap<JsonPrimitive.JsonString, JsonTableValue?> by map {
|
|
||||||
|
|
||||||
inline fun <reified T> get2(key: String): T? {
|
|
||||||
|
|
||||||
val jKey = JsonPrimitive.JsonString(key)
|
|
||||||
|
|
||||||
return when {
|
|
||||||
T::class is Number -> ((get(jKey) as? JsonTableValue.JsonPrimitiveTV)?.primitive as? JsonPrimitive.JsonNumber)?.number as? T
|
|
||||||
else -> return get(jKey) as? T
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//@JsExport
|
|
||||||
class FactorioEvent : JsonTable() {
|
|
||||||
val tick: UInt?
|
|
||||||
get() = get2("tick")
|
|
||||||
// set(value) = map.put("tick", value)
|
|
||||||
}
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
package dev.adamko.factorioevents.model
|
|
||||||
|
|
||||||
|
|
||||||
//actual sealed interface JsonPrimitive {
|
|
||||||
// actual value class JsonString(val string: String) : JsonPrimitive
|
|
||||||
// actual value class JsonNumber(val number: Number) : JsonPrimitive
|
|
||||||
// actual value class JsonBoolean(val boolean: Boolean) : JsonPrimitive
|
|
||||||
//}
|
|
||||||
|
|
||||||
//actual class JsonArray<T : JsonPrimitive?>(
|
|
||||||
// private val list: MutableList<T> = mutableListOf()
|
|
||||||
//) : MutableList<T> by list
|
|
||||||
|
|
||||||
//actual sealed interface JsonTableValue {
|
|
||||||
// actual value class JsonPrimitiveTV(val primitive: JsonPrimitive) : JsonTableValue
|
|
||||||
// actual value class JsonArrayTV<T : JsonPrimitive?>(val array: JsonArray<T>) : JsonTableValue
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
//actual open class JsonTable<K : JsonPrimitive.JsonString, V: JsonTableValue?>(
|
|
||||||
// private val map: MutableMap<K, V> = mutableMapOf()
|
|
||||||
//) : MutableMap<K, V> by map
|
|
||||||
|
|
||||||
|
|
||||||
fun printMap() {
|
|
||||||
val f = JsonPrimitive.JsonString("test")
|
|
||||||
|
|
||||||
println(f.string)
|
|
||||||
println(f)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
||||||
interface Identifiable<T> {
|
|
||||||
val id: T
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
interface IndexedModel {
|
|
||||||
val index: UInt
|
|
||||||
}
|
|
||||||
|
|
||||||
interface NamedModel {
|
|
||||||
val name: String
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
data class SurfaceModel(
|
|
||||||
override val name: String,
|
|
||||||
override val index: UInt,
|
|
||||||
val daytime: Float,
|
|
||||||
val darkness: Float,
|
|
||||||
val wind_speed: Double,
|
|
||||||
) : IndexedModel, NamedModel
|
|
||||||
|
|
||||||
|
|
||||||
/** Player/Entity shared props */
|
|
||||||
interface ControlModel {
|
|
||||||
val driving: Boolean
|
|
||||||
val forces: List<ForceModel>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//data class PlayerModel(
|
|
||||||
// val index: UInt,
|
|
||||||
// val characters: List<EntityModel>
|
|
||||||
//) : Identifiable<UInt> {
|
|
||||||
// override val id: UInt = index
|
|
||||||
//}
|
|
||||||
|
|
||||||
//data class EntityModel(
|
|
||||||
// val unit_number: Int,
|
|
||||||
// override val name: String,
|
|
||||||
// val type: String,
|
|
||||||
// val active: Boolean,
|
|
||||||
// val minable: Boolean,
|
|
||||||
// val health: Boolean,
|
|
||||||
// val speed: Float, override val driving: Boolean,
|
|
||||||
//) : ControlModel, NamedModel
|
|
||||||
|
|
||||||
|
|
||||||
data class ForceModel(
|
|
||||||
val index: UInt,
|
|
||||||
override val name: String,
|
|
||||||
val research_progress: Double,
|
|
||||||
) : Identifiable<UInt>, NamedModel {
|
|
||||||
override val id: UInt = index
|
|
||||||
}
|
|
||||||
|
|
@ -1,94 +0,0 @@
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
option optimize_for = LITE_RUNTIME;
|
|
||||||
option java_multiple_files = true;
|
|
||||||
|
|
||||||
package dev.adamko.factorioevents;
|
|
||||||
|
|
||||||
import "google/protobuf/any.proto";
|
|
||||||
import "google/protobuf/timestamp.proto";
|
|
||||||
|
|
||||||
message FactorioServerLogRecord {
|
|
||||||
string mod_version = 1;
|
|
||||||
uint32 tick = 2;
|
|
||||||
string event_type = 3;
|
|
||||||
FactorioLuaObject data = 4;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
message FactorioLuaObject {
|
|
||||||
string object_name = 1;
|
|
||||||
oneof data {
|
|
||||||
LuaControl lua_control = 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// https://lua-api.factorio.com/next/LuaControl.html
|
|
||||||
message LuaControl {
|
|
||||||
bool is_player = 2;
|
|
||||||
uint32 surface_index = 3;
|
|
||||||
Position position = 4;
|
|
||||||
uint32 force_index = 5;
|
|
||||||
|
|
||||||
oneof subtype {
|
|
||||||
LuaPlayer player = 10;
|
|
||||||
LuaEntity entity = 11;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// https://lua-api.factorio.com/next/LuaPlayer.html
|
|
||||||
message LuaPlayer {
|
|
||||||
uint32 index = 1; // unique ID
|
|
||||||
string name = 2;
|
|
||||||
repeated int32 data = 4 [packed = true];
|
|
||||||
|
|
||||||
Colour colour = 8;
|
|
||||||
|
|
||||||
bool is_connected = 10;
|
|
||||||
bool is_admin = 11;
|
|
||||||
|
|
||||||
uint32 afk_time_ticks = 100;
|
|
||||||
uint32 online_time_ticks = 101;
|
|
||||||
uint32 last_online_ticks = 102;
|
|
||||||
}
|
|
||||||
|
|
||||||
// https://lua-api.factorio.com/next/LuaEntity.html
|
|
||||||
message LuaEntity {
|
|
||||||
uint32 unit_number = 1; // (optional) unique ID
|
|
||||||
string name = 2;
|
|
||||||
string type = 3;
|
|
||||||
string status = 4; // https://lua-api.factorio.com/next/defines.html#defines.entity_status
|
|
||||||
|
|
||||||
bool is_active = 8;
|
|
||||||
bool is_moving = 9;
|
|
||||||
|
|
||||||
uint32 player_index = 50; // (optional) The player connected to this character or nil if none.
|
|
||||||
uint32 last_user_index = 51; // (optional) The last player that changed any setting on this entity.
|
|
||||||
|
|
||||||
Colour colour = 100; // (optional)
|
|
||||||
}
|
|
||||||
|
|
||||||
message LuaSurface {
|
|
||||||
uint32 index = 1; // unique ID
|
|
||||||
string name = 2;
|
|
||||||
float daytime = 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
message LuaForce {
|
|
||||||
uint32 index = 1; // unique ID
|
|
||||||
string force_name = 2;
|
|
||||||
|
|
||||||
repeated uint32 player_ids = 100 [packed = true];
|
|
||||||
}
|
|
||||||
|
|
||||||
message Position {
|
|
||||||
int32 x = 1;
|
|
||||||
int32 y = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message Colour {
|
|
||||||
float red = 1;
|
|
||||||
float green = 2;
|
|
||||||
float blue = 3;
|
|
||||||
float alpha = 4;
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue