Version bump to 0.5.4

Mods added:
- Borderless Window

KubeJS Server Scripts added:
- ClearLag.js
This commit is contained in:
SeaswimmerTheFsh 2023-11-15 16:52:50 -05:00
parent 23862bc4e6
commit c20d988d1c
Signed by: cswimr
GPG key ID: 1EBC234EEDA901AE
4 changed files with 140 additions and 2 deletions

View file

@ -63,6 +63,10 @@ hash = "84f6d2ec82b50341634868cb6c1abec87d01a637ef9e35df4ad2e5ece7dce442"
file = "kubejs/server_scripts/cardboard_box_blacklist.js"
hash = "fc4faf74ae1bad06020a187ba3c699b259eab7da780bff3c48916c520aef910f"
[[files]]
file = "kubejs/server_scripts/clearlag.js"
hash = "1a405c6cff718d67f7fe5303bf16df5ed5946d3cfaffd31dab7a9875171c0532"
[[files]]
file = "kubejs/server_scripts/test.js"
hash = "698d489a6bec11eafe725433e11c9d1733313c6c617834ca216c92a3c6c5acfd"
@ -147,6 +151,11 @@ file = "mods/bookshelf.pw.toml"
hash = "a8beef77c7ca4f31b9b85f4f123f2f461814b249551720b4f75c197e2aca68fc"
metafile = true
[[files]]
file = "mods/borderless.pw.toml"
hash = "a14e9890eca705a0f01d1825bd1b26501a0b99db4f112296382819171441e87d"
metafile = true
[[files]]
file = "mods/builtin-servers.pw.toml"
hash = "40398fcc68b7ec1bc36582dce0e04a3cc7bdbb58a641bc28fe0b72de80d805f2"

View file

@ -0,0 +1,116 @@
let cleaningTime = 1200 * 30;
let timerCheck = 1200;
let timerOn = true;
let round = 0;
let lastClearLagResult = Utils.newList();
let lastTotalClearLagResult = Utils.newCountingMap();
let blacklist = [
'sophisticatedbackpacks:backpack',
'sophisticatedbackpacks:iron_backpack',
'sophisticatedbackpacks:gold_backpack',
'sophisticatedbackpacks:diamond_backpack',
'sophisticatedbackpacks:netherite_backpack'
];
let clearLag =(server, reset) => {
let itemList = server.getEntities().filter(entity => entity.type.equals('minecraft:item'));
let lastResult = Utils.newCountingMap();
lastClearLagResult.clear();
lastTotalClearLagResult.clear();
itemList.forEach(items => {
if(!blacklist.includes(items.getFullNBT().Item.id)) {
var key = items.name;
lastResult.add(key, items.item.count);
lastTotalClearLagResult.add(key, items.item.count);
items.kill();
}
});
lastClearLagResult.addAll(lastResult.entries);
lastClearLagResult.sort(null);
server.tell([Text.green('[ClearLag] ' ), `${lastTotalClearLagResult.totalCount}`, ' Removed items.']);
if(reset) round = 0;
}
let timeSchedule = (server) => {
if(timerOn) {
server.tell([Text.green('[ClearLag]'),' ClearLag is turned on!']);
server.scheduleInTicks(timerCheck, callback => {
let currentTime = timerCheck*++round;
let nextItems = server.getEntities().filter(entity => entity.type.equals('minecraft:item')).length;
if(cleaningTime < currentTime) {
clearLag(server, true);
if(timerOn) {
server.tell([Text.green('[ClearLag]'),' ClearLag is turned off!']);
timerOnChanged = false;
}
}
if (timerCheckChange) {
timerCheckChange = false;
round = 0;
server.tell([Text.green('[ClearLag]'),' TimerCheck got updated to ', `${timerCheck/1200}`, '!']);
}else if (cleaningTimeChange) {
cleaningTimeChange = false;
round = 0;
server.tell([Text.green('[ClearLag]'),' Timer got updated to ', `${cleaningTime/1200}`, '!']);
} else if ((currentTime+timerCheck) / 1200 > 1)
server.tell([Text.green('[ClearLag]'), ' Removing ', `${nextItems}`, ' items in ', `${(cleaningTime - currentTime) / 1200}`, ' minutes!']);
if(timerOn) callback.reschedule();
})
}
}
ServerEvents.loaded(event => {
timeSchedule(event.server);
});
let cleaningTimeChange = false;
let timerCheckChange = false;
ServerEvents.commandRegistry(event => {
const {commands: Commands, arguments: Arguments} = event;
event.register(
Commands.literal('clearlag')
.then(Commands.literal('clear').executes(ctx => {
let server = ctx.source.getServer();
clearLag(server, false);
return 1;
}))
.then(Commands.literal('result').executes(ctx => {
let server = ctx.source.getServer();
server.tell([Text.green('[ClearLag]'), ' Report:']);
lastClearLagResult.forEach(results => {
server.tell(['[ ', results.key, ': ', results.value, ' ]'])
});
return 1;
}))
.then(Commands.literal('interval').then(Commands.argument('integer', Arguments.INTEGER.create(event))).executes(ctx => {
let server = ctx.source.getServer();
const time = Arguments.INTEGER.getResult(ctx, 'integer') * 1200;
timerCheckChange = true;
timerCheck = time;
server.tell([Text.green('[ClearLag]'), ' Interval set to ', time, ' minute'])
return 1;
}))
.then(Commands.literal('timer').then(Commands.argument('integer', Arguments.INTEGER.create(event)).executes(ctx => {
let server = ctx.source.getServer();
const time = Arguments.INTEGER.getResult(ctx, 'integer') * 1200;
cleaningTimeChange = true
cleaningTime = time;
server.tell([Text.green('[ClearLag]'), ' Timer set to ', time, ' minute'])
return 1;
})))
.then(Commands.literal('timerOn').then(Commands.argument('boolean', Arguments.BOOLEAN.create(event)).executes(ctx => {
let server = ctx.source.getServer();
const timeOn = Arguments.BOOLEAN.getResult(ctx, 'boolean');
if(timerOn === timeOn) return 1;
timerOn = timeOn;
if(timerOn) timeSchedule(server);
server.tell([Text.green('[ClearLag]'), ' ClearLag is ', timerOn])
return 1;
})))
)
});

View file

@ -0,0 +1,13 @@
name = "Borderless Window"
filename = "BorderlessWindow-1.20-1.6.0.jar"
side = "both"
[download]
hash-format = "sha1"
hash = "2dc2dca0371065bf384b6486827451da441b5471"
mode = "metadata:curseforge"
[update]
[update.curseforge]
file-id = 4575494
project-id = 378979

View file

@ -1,12 +1,12 @@
name = "GalacticFactory"
author = "GalacticFactory"
version = "0.5.3"
version = "0.5.4"
pack-format = "packwiz:1.1.0"
[index]
file = "index.toml"
hash-format = "sha256"
hash = "06011add3d8e67ceae1ccc0977eff6c2b159289dd21a4b1f10674229e3154185"
hash = "6b36668b7d9488e4deef16b5236df690cf653b8f561971b6404af56de1606296"
[versions]
forge = "47.2.0"