ConanServerManager/lib/structs/mod.dart

48 lines
1.2 KiB
Dart

import 'package:libac_flutter/nbt/impl/CompoundTag.dart';
import 'package:libac_flutter/nbt/impl/LongTag.dart';
import 'package:libac_flutter/nbt/impl/StringTag.dart';
import 'package:libac_flutter/utils/uuid/UUID.dart';
class Mod {
String mod_name = "";
int mod_id = 0;
String mod_pak = "";
String mod_hash = "";
bool newMod = false;
UUID _id = UUID.ZERO;
String mod_instance_id() {
if (_id.toString() == UUID.ZERO.toString()) {
_id = UUID.generate(4);
}
return _id.toString();
}
Mod(
{this.mod_name = "undef",
this.mod_id = 0,
this.newMod = false,
this.mod_pak = "Not Initialized",
this.mod_hash = ""});
CompoundTag serialize() {
CompoundTag tag = CompoundTag();
tag.put("name", StringTag.valueOf(mod_name));
tag.put("id", LongTag.valueOf(mod_id));
tag.put("pak", StringTag.valueOf(mod_pak));
tag.put("hash", StringTag.valueOf(mod_hash));
return tag;
}
static Mod deserialize(CompoundTag tag) {
CompoundTag ct = tag as CompoundTag;
return Mod(
mod_name: ct.get("name")!.asString(),
mod_id: ct.get("id")!.asLong(),
mod_pak: ct.get("pak")!.asString(),
mod_hash: ct.get("hash")!.asString());
}
}