56 lines
1.4 KiB
Haxe
56 lines
1.4 KiB
Haxe
package kernel.binstore;
|
|
|
|
import bin.Service;
|
|
import bin.LSPS;
|
|
import bin.Turtle;
|
|
import bin.Terminal;
|
|
import bin.Redstone;
|
|
import bin.Net;
|
|
import bin.KernelLog;
|
|
import bin.HelloWorld;
|
|
import bin.GPS;
|
|
import bin.Disk;
|
|
import haxe.ds.ReadOnlyArray;
|
|
|
|
class BinStore {
|
|
public static var instance: BinStore;
|
|
|
|
private final store:ReadOnlyArray<Bin> = [
|
|
{c: Disk, name: "Disk", aliases: ["disk"]},
|
|
{c: GPS, name: "GPS", aliases: ["gps"]},
|
|
{c: HelloWorld, name: "HelloWorld", aliases: ["hello"]},
|
|
{c: KernelLog, name: "KernelLog", aliases: ["log"]},
|
|
{c: Net, name: "Net", aliases: ["net"]},
|
|
{c: Redstone, name: "Redstone", aliases: ["redstone","rs"]},
|
|
{c: Terminal, name: "Terminal", aliases: ["terminal","term"]},
|
|
{c: Turtle, name: "Turtle", aliases: ["turtle"]},
|
|
{c: LSPS, name: "PM", aliases: ["lsps"]},
|
|
{c: Service, name: "Service", aliases: ["service","srv"]}
|
|
];
|
|
|
|
@:allow(kernel.Init)
|
|
private function new() {
|
|
|
|
}
|
|
|
|
public function getBinByName(name:String):Null<Bin> {
|
|
for (bin in store) {
|
|
if (bin.name == name) {
|
|
return bin;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public function getBinByAlias(alias:String):Null<Bin> {
|
|
for (bin in store) {
|
|
for (a in bin.aliases) {
|
|
if (a == alias) {
|
|
return bin;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
}
|