change(kubejs): updated KubeJS scripts
This commit is contained in:
parent
ee585b9e8b
commit
a9f874e58d
6 changed files with 150 additions and 101 deletions
|
|
@ -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
|
|
||||||
|
|
@ -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=
|
|
||||||
|
|
@ -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",
|
|
||||||
);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
|
|
@ -17,6 +17,7 @@ PlayerEvents.respawned((event) => {
|
||||||
const player = event.player;
|
const player = event.player;
|
||||||
|
|
||||||
const ticket = tickets[player.uuid];
|
const ticket = tickets[player.uuid];
|
||||||
|
|
||||||
if (ticket != null) player.give(Item.of(ticket, 1));
|
if (ticket != null) player.give(Item.of(ticket, 1));
|
||||||
|
|
||||||
tickets[player.uuid] = null;
|
tickets[player.uuid] = null;
|
||||||
|
|
|
||||||
71
kubejs/server_scripts/rsapi-commands.js
Normal file
71
kubejs/server_scripts/rsapi-commands.js
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
ServerEvents.commandRegistry((event) => {
|
||||||
|
const { commands: Commands, arguments: Arguments } = event;
|
||||||
|
|
||||||
|
// /rsapi [<player>]
|
||||||
|
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 [<player>]
|
||||||
|
Commands.argument("target", Arguments.PLAYER.create(event)).executes(
|
||||||
|
(ctx) => playerInventory(Arguments.PLAYER.getResult(ctx, "target")),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
});
|
||||||
78
kubejs/server_scripts/rsapi-events.js
Normal file
78
kubejs/server_scripts/rsapi-events.js
Normal file
|
|
@ -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");
|
||||||
|
});
|
||||||
Loading…
Add table
Add a link
Reference in a new issue