From a9f874e58d68b9a6d92cc932810e1eb20a5c5210 Mon Sep 17 00:00:00 2001 From: Malasaur Date: Sat, 14 Feb 2026 18:43:49 +0100 Subject: [PATCH] change(kubejs): updated KubeJS scripts --- kubejs/config/client.properties | 16 ----- kubejs/config/common.properties | 13 ----- kubejs/server_scripts/creative.js | 72 ----------------------- kubejs/server_scripts/keep.js | 1 + kubejs/server_scripts/rsapi-commands.js | 71 ++++++++++++++++++++++ kubejs/server_scripts/rsapi-events.js | 78 +++++++++++++++++++++++++ 6 files changed, 150 insertions(+), 101 deletions(-) delete mode 100644 kubejs/config/client.properties delete mode 100644 kubejs/config/common.properties delete mode 100644 kubejs/server_scripts/creative.js create mode 100644 kubejs/server_scripts/rsapi-commands.js create mode 100644 kubejs/server_scripts/rsapi-events.js diff --git a/kubejs/config/client.properties b/kubejs/config/client.properties deleted file mode 100644 index 0edf714..0000000 --- a/kubejs/config/client.properties +++ /dev/null @@ -1,16 +0,0 @@ -#KubeJS Client Properties -#Sat Feb 07 11:24:15 CET 2026 -backgroundColor=2E3440 -barBorderColor=ECEFF4 -exportAtlases=false -menuBackgroundBrightness=64 -disableRecipeBook=false -title= -barColor=ECEFF4 -overrideColors=false -fmlLogColor=ECEFF4 -showTagNames=false -fmlMemoryColor=ECEFF4 -menuBackgroundScale=32.0 -blurScaledPackIcon=true -menuInnerBackgroundBrightness=32 diff --git a/kubejs/config/common.properties b/kubejs/config/common.properties deleted file mode 100644 index c77a425..0000000 --- a/kubejs/config/common.properties +++ /dev/null @@ -1,13 +0,0 @@ -#KubeJS Common Properties -#Sat Feb 07 11:23:27 CET 2026 -matchJsonRecipes=true -allowAsyncStreams=true -announceReload=true -startupErrorGUI=true -serverOnly=false -hideServerScriptErrors=false -saveDevPropertiesInConfig=false -packmode= -ignoreCustomUniqueRecipeIds=false -creativeModeTabIcon=minecraft\:purple_dye -startupErrorReportUrl= diff --git a/kubejs/server_scripts/creative.js b/kubejs/server_scripts/creative.js deleted file mode 100644 index fd17b15..0000000 --- a/kubejs/server_scripts/creative.js +++ /dev/null @@ -1,72 +0,0 @@ -// Creates and configures the Creative dimension - -/* -const config = global.config; -const hexToRgb = global.hexToRgb; - -///////////////// -/// DIMENSION /// -///////////////// -// Defines the Creative dimension -ServerEvents.highPriorityData((event) => { - event.addJson("retards:dimension/creative.json", { - type: "minecraft:overworld", - generator: { - type: "minecraft:flat", - settings: { - biome: "minecraft:plains", - lakes: false, - features: false, - layers: Object.entries(config.creative.layers).map( - ([block, count]) => ({ - block: block, - height: count, - }), - ), - structures: {}, - }, - }, - }); -}); - -////////////// -/// PORTAL /// -////////////// -// Defines the Creative portal -/* -ServerEvents.highPriorityData((event) => { - const portal = config.creative; - const color = hexToRgb(portal.color); - event.addJson("retards:portals/creative.json", { - block: portal.material, - dim: "retards:creative", - r: color.r, - g: color.g, - b: color.b, - ignitionType: "FLUID", - ignitionSource: portal.fluid, - }); -}); - -////////////// -/// DIMINV /// -////////////// -// Applies Dimensional Inventories to the Creative dimension -PlayerEvents.loggedIn((event) => { - const data = event.server.persistentData; - if (!data.creativeInitialized) { - data.creativeInitialized = true; - event.server.runCommandSilent("diminv pool creative create"); - event.server.runCommandSilent( - "diminv pool creative dimension retards:creative assign", - ); - event.server.runCommandSilent("diminv pool creative gameMode creative"); - event.server.runCommandSilent( - "diminv pool creative progressAdvancements false", - ); - event.server.runCommandSilent( - "diminv pool creative incrementStatistics false", - ); - } -}); -*/ diff --git a/kubejs/server_scripts/keep.js b/kubejs/server_scripts/keep.js index 1cd1668..f841801 100644 --- a/kubejs/server_scripts/keep.js +++ b/kubejs/server_scripts/keep.js @@ -17,6 +17,7 @@ PlayerEvents.respawned((event) => { const player = event.player; const ticket = tickets[player.uuid]; + if (ticket != null) player.give(Item.of(ticket, 1)); tickets[player.uuid] = null; diff --git a/kubejs/server_scripts/rsapi-commands.js b/kubejs/server_scripts/rsapi-commands.js new file mode 100644 index 0000000..ddae331 --- /dev/null +++ b/kubejs/server_scripts/rsapi-commands.js @@ -0,0 +1,71 @@ +ServerEvents.commandRegistry((event) => { + const { commands: Commands, arguments: Arguments } = event; + + // /rsapi [] + function playerInventory(player) { + const result = []; + + function pushItem(pos, item) { + if (item.isEmpty()) return; + let nbtData = {}; + try { + if (item.nbt) { + nbtData = JSON.parse(item.nbt.toString()); + } + } catch (e) { + nbtData = {}; + } + result.push([pos, item.id, item.count, nbtData]); + } + + // Main inventory (27 slots) + player.inventory.items.forEach((item, i) => { + pushItem(["inventory", i], item); + }); + + // Hotbar (9 slots) + // player.inventory.hotbar.forEach((item, i) => { + // pushItem(["hotbar", i], item); + // }); + + console.log(result); + return 1; + + // Armor + // pushItem(["armor", "head"], player.headArmorItem); + // pushItem(["armor", "chest"], player.chestArmorItem); + // pushItem(["armor", "legs"], player.legsArmorItem); + // pushItem(["armor", "feet"], player.feetArmorItem); + + // Offhand + // pushItem(["offhand", 0], player.offHandItem); + + // Trinkets (if present) + if (player.trinkets) { + player.trinkets.groups.forEach((group) => { + group.slots.forEach((slot) => { + slot.items.forEach((item, index) => { + pushItem(["trinkets", group.id, slot.id, index], item); + }); + }); + }); + } + + console.log(JSON.stringify(result)); + + return 1; + } + + // /rsapi + event.register( + Commands.literal("rsapi") + .requires((src) => src.hasPermission(2)) + .executes((ctx) => playerInventory(ctx.source.player)) + .then( + // /rsapi [] + Commands.argument("target", Arguments.PLAYER.create(event)).executes( + (ctx) => playerInventory(Arguments.PLAYER.getResult(ctx, "target")), + ), + ), + ); +}); diff --git a/kubejs/server_scripts/rsapi-events.js b/kubejs/server_scripts/rsapi-events.js new file mode 100644 index 0000000..88400b1 --- /dev/null +++ b/kubejs/server_scripts/rsapi-events.js @@ -0,0 +1,78 @@ +var _hooks = {}; + +function rsapi(event, id, data) { + console.log(`rsapi:${id}:${JSON.stringify(data)}`); + if (_hooks[id]) _hooks[id](event, data); +} + +const RSEvent = { + on: (id, func) => { + _hooks[id] = func; + }, +}; + +function getData(event) { + return { + username: event.player ? String(event.player.username) : null, + message: event.message ? String(event.message) : null, + input: event.input ? String(event.input) : null, + }; +} + +/////////////////// +/// === API === /// +/////////////////// + +// rsapi:event.playerJoined:"Player" +PlayerEvents.loggedIn((event) => { + const { username } = getData(event); + rsapi(event, "event.playerJoined", username); +}); + +// rsapi:event.playerLeft:"Player" +PlayerEvents.loggedOut((event) => { + const { username } = getData(event); + rsapi(event, "event.playerLeft", username); +}); + +// rsapi:event.playerChat:["Player","Message"] +PlayerEvents.chat((event) => { + const { username, message } = getData(event); + rsapi(event, "event.playerChat", [username, message]); +}); + +// rsapi:event.serverChat:"Message" +ServerEvents.command("say", (event) => { + const { input } = getData(event); + rsapi( + event, + "event.serverChat", + input.startsWith("say ") ? input.slice(4) : input, + ); +}); + +// rsapi:event.playerDied:"Player" +EntityEvents.death("player", (event) => { + const { username } = getData(event); + rsapi(event, "event.playerDied", username); +}); + +///////////////////// +/// === HOOKS === /// +///////////////////// + +RSEvent.on("event.playerJoined", (event, username) => { + function title(player, message) { + event.server.runCommandSilent("title @a times 20 200 20"); + event.server.runCommandSilent( + "title " + player + ' title ["' + message + '"]', + ); + } + + if (username === "Sbebas_s") title(username, "MCFLURRY!!!!"); + else if (username === "Mark917") title(username, "CUCARACHA"); + else if (username === "Anthony_7") title(username, "onion rings"); + else if (username === "Tren_boy") title(username, "Kebab"); + else if (username === "Cheruz") title(username, "Basta\ngiocare\nnegro"); + else title(username, "Welcome"); +});