mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-12 23:04:52 +09:00
Implemented changes suggested by linter
This commit is contained in:
1 parent
8a85cfc8da
commit
6bb2c50e5c
4 files changed
+62
-53
No files matched your search
@@ -273,6 +273,12 @@ export class Control extends libLink.Link {
|
||||
handler(info);
|
||||
}
|
||||
}
|
||||
if (info.slave_id !== undefined) {
|
||||
let slaveHandlers = this.slaveLogHandlers.get(info.slave_id);
|
||||
for (let handler of slaveHandlers || []) {
|
||||
handler(info);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async onInstanceLog(id, handler) {
|
||||
|
||||
@@ -20,41 +20,40 @@ class InstancePlugin extends libPlugin.BaseInstancePlugin {
|
||||
// },5000)
|
||||
|
||||
|
||||
this.instance.server.on("ipc-inventory_sync_upload", content =>
|
||||
this.handleUpload(content).catch(err => this.logger.error(
|
||||
`Error handling ipc-inventory_sync_upload:\n${err.stack}`
|
||||
))
|
||||
)
|
||||
this.instance.server.on("ipc-inventory_sync_download", content =>
|
||||
this.handleDownload(content).catch(err => this.logger.error(
|
||||
`Error handling ipc-inventory_sync_download:\n${err.stack}`
|
||||
))
|
||||
)
|
||||
this.instance.server.on("ipc-inventory_sync_upload", content => this.handleUpload(content).catch(err => this.logger.error(
|
||||
`Error handling ipc-inventory_sync_upload:\n${err.stack}`
|
||||
))
|
||||
);
|
||||
this.instance.server.on("ipc-inventory_sync_download", content => this.handleDownload(content).catch(err => this.logger.error(
|
||||
`Error handling ipc-inventory_sync_download:\n${err.stack}`
|
||||
))
|
||||
);
|
||||
}
|
||||
|
||||
onMasterConnectionEvent(event) {
|
||||
console.log("Connectionevent", event)
|
||||
console.log("Connectionevent", event);
|
||||
if (event === "connect") {
|
||||
}
|
||||
}
|
||||
|
||||
async handleUpload(player) {
|
||||
console.log("Uploading", player)
|
||||
console.log("Uploading", player);
|
||||
this.info.messages.upload.send(this.instance, {
|
||||
instance_id: this.instance.id,
|
||||
instance_name: this.instance.name,
|
||||
player_name: player.name,
|
||||
inventory: JSON.stringify(player),
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
async handleDownload(player) {
|
||||
console.log("Downloading", player.player_name)
|
||||
console.log("Downloading", player.player_name);
|
||||
let response = await this.info.messages.download.send(this.instance, {
|
||||
player_name: player.player_name
|
||||
})
|
||||
player_name: player.player_name,
|
||||
});
|
||||
if (response.inventory) {
|
||||
console.log("Sending command")
|
||||
await this.sendRcon(`/sc inventory_sync.downloadInventory('${response.player_name}', '${libLuaTools.escapeString(response.inventory)}')`)
|
||||
console.log("Sending command");
|
||||
await this.sendRcon(`/sc inventory_sync.downloadInventory('${response.player_name}', '${libLuaTools.escapeString(response.inventory)}')`);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -38,30 +38,34 @@ class MasterPlugin extends libPlugin.BaseMasterPlugin {
|
||||
});
|
||||
}, this.master.config.get("inventory_sync.autosave_interval") * 1000);
|
||||
}
|
||||
async uploadRequestHandler(message) {
|
||||
console.log("Saving inventory for", message.data.player_name)
|
||||
this.inventories[message.data.player_name] = message.data.inventory
|
||||
|
||||
return { success: true }
|
||||
async uploadRequestHandler(message) {
|
||||
console.log("Saving inventory for", message.data.player_name);
|
||||
this.inventories[message.data.player_name] = message.data.inventory;
|
||||
|
||||
return { success: true };
|
||||
}
|
||||
|
||||
async downloadRequestHandler(message) {
|
||||
console.log("Downloading inventory for", message.data.player_name)
|
||||
console.log("Downloading inventory for", message.data.player_name);
|
||||
return {
|
||||
player_name: message.data.player_name,
|
||||
inventory: this.inventories[message.data.player_name]
|
||||
}
|
||||
inventory: this.inventories[message.data.player_name],
|
||||
};
|
||||
}
|
||||
|
||||
async onShutdown() {
|
||||
clearInterval(this.autosaveId);
|
||||
await saveDatabase(this.master.config, this.inventories, this.logger);
|
||||
}
|
||||
|
||||
async databaseStatsRequestHandler(message) {
|
||||
let inventories = Object.keys(this.inventories)
|
||||
.map(name => ({
|
||||
name,
|
||||
length: this.inventories[name].length
|
||||
length: this.inventories[name].length,
|
||||
}))
|
||||
.sort((a, b) => a.stringified.length - b.stringified.length)
|
||||
.sort((a, b) => a.stringified.length - b.stringified.length);
|
||||
return {
|
||||
database_size: inventories.map(x => x.length).reduce((a, b) => b - a, 0),
|
||||
database_entries: inventories.length,
|
||||
@@ -69,7 +73,7 @@ class MasterPlugin extends libPlugin.BaseMasterPlugin {
|
||||
name: inventories[0].name,
|
||||
size: inventories[0].length,
|
||||
},
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,37 +7,37 @@ import info from "../info";
|
||||
import "./index.css";
|
||||
|
||||
function InventoryPage() {
|
||||
let control = useContext(ControlContext);
|
||||
let control = useContext(ControlContext);
|
||||
|
||||
let [statsData, updateStatsData] = useState()
|
||||
let [statsData, updateStatsData] = useState();
|
||||
|
||||
useEffect(() => {
|
||||
(async () => {
|
||||
// Get statistics
|
||||
updateStatsData(await info.messages.databaseStats.send(control, {}))
|
||||
})()
|
||||
}, [])
|
||||
useEffect(() => {
|
||||
(async () => {
|
||||
// Get statistics
|
||||
updateStatsData(await info.messages.databaseStats.send(control, {}));
|
||||
})();
|
||||
}, []);
|
||||
|
||||
return <PageLayout nav={[{ name: "Inventory sync" }]}>
|
||||
<h2>Inventory sync</h2>
|
||||
{statsData && <>
|
||||
<p>Database size: {Math.round(statsData.database_size / 1000)}kB</p>
|
||||
<p>Database entries: {statsData.database_entries}</p>
|
||||
<p>Largest entry is {statsData.largest_entry.name} with {(statsData.largest_entry.size / 1000)}kB</p>
|
||||
</>}
|
||||
</PageLayout>;
|
||||
return <PageLayout nav={[{ name: "Inventory sync" }]}>
|
||||
<h2>Inventory sync</h2>
|
||||
{statsData && <>
|
||||
<p>Database size: {Math.round(statsData.database_size / 1000)}kB</p>
|
||||
<p>Database entries: {statsData.database_entries}</p>
|
||||
<p>Largest entry is {statsData.largest_entry.name} with {(statsData.largest_entry.size / 1000)}kB</p>
|
||||
</>}
|
||||
</PageLayout>;
|
||||
}
|
||||
|
||||
export class WebPlugin extends libPlugin.BaseWebPlugin {
|
||||
async init() {
|
||||
this.pages = [
|
||||
{ path: "/inventory", sidebarName: "Inventory sync", content: <InventoryPage /> },
|
||||
];
|
||||
}
|
||||
async init() {
|
||||
this.pages = [
|
||||
{ path: "/inventory", sidebarName: "Inventory sync", content: <InventoryPage /> },
|
||||
];
|
||||
}
|
||||
|
||||
onMasterConnectionEvent(event) {
|
||||
if (event === "connect") {
|
||||
onMasterConnectionEvent(event) {
|
||||
if (event === "connect") {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user