From aa35252914c407e8fa7877666558283615a32bc4 Mon Sep 17 00:00:00 2001 From: Denis Date: Sat, 26 Apr 2025 13:00:16 +0600 Subject: [PATCH 1/7] Documented ServerEvents.tags --- wiki/events/ServerEvents/tags/en.yml | 2 + wiki/events/ServerEvents/tags/page.kubedoc | 67 ++++++++++++++++++++++ wiki/tutorials/tags/page.kubedoc | 7 ++- 3 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 wiki/events/ServerEvents/tags/en.yml create mode 100644 wiki/events/ServerEvents/tags/page.kubedoc diff --git a/wiki/events/ServerEvents/tags/en.yml b/wiki/events/ServerEvents/tags/en.yml new file mode 100644 index 00000000..f7d17dee --- /dev/null +++ b/wiki/events/ServerEvents/tags/en.yml @@ -0,0 +1,2 @@ +title: "ServerEvents.tags" +description: "Adding, removing, and modifying tags" diff --git a/wiki/events/ServerEvents/tags/page.kubedoc b/wiki/events/ServerEvents/tags/page.kubedoc new file mode 100644 index 00000000..b9e56fc9 --- /dev/null +++ b/wiki/events/ServerEvents/tags/page.kubedoc @@ -0,0 +1,67 @@ +This event used to create new or modify existing [tags](https://minecraft.wiki/w/Tag). + +>>> info +Tags used for grouping different registry objects (for example: tag `#minecraft:logs` groups all of the tree logs). + +Tags commonly used by mods and recipes for example instead of making bunch of [stick's](https://minecraft.wiki/w/Stick) recipes for each wood type you can create just one that uses tags. +Because when tags being used as recipe ingredient they can be replaced by any of tagged items. +<<< + +## Syntax +```js +ServerEvents.tags("", event => { + event.add("", ""); + event.add("", "#"); + event.remove("", ""); + event.removeAll(""); + event.removeAllTagsFrom(""); + event.get(""); +}) +``` + +`` can be any of registries even modded ones! For modded registries you must include namespace. +List of vanilla registries avalible at [minecraft wiki](https://minecraft.wiki/w/Resource_location#Registries_and_registry_objects); + + +### event.add +`event.add` function adds specified regestry object or tag to another tag. For example: +```js +event.add('forge:cobblestone', 'minecraft:diamond_ore') +``` +will add `minecraft:diamond_ore` to `#forge:cobblestone` tag. + +Adding tag to different tag will add all of the objects in child tag to parent one. +```js +event.add('c:stones', '#forge:stone') +``` +so this will add **all** of regestry objects that are tagged now or will tagged later `#c:stones` in `#forge:stone` tag. + + +### event.remove +`event.remove` function does exactly opposite of previous function. So, +```js +event.remove('forge:cobblestone', 'minecraft:mossy_cobblestone') +``` +will remove `minecraft:mossy_cobblestone` from `#forge:cobblestone` tag. + +### event.removeAll +This function removes all entries from the tag. For example: +```js +event.removeAll('forge:ingots/copper') +``` +will remove everything from `#forge:ingots/copper` tag. + +### event.removeAllTagsFrom +This function is really similar to `event.removeAll` but it removes only other tags that are in tag. + +### event.get +This function returns tag object. + +For example this can be used to get list of all tag entries. +``` +const stones = event.get('forge:stone').getObjectIds() +``` +this code will put list of resource locations that are in `#forge:stone` tag into stones varible + +## Usage example +[[[/tutorials/tags]]] \ No newline at end of file diff --git a/wiki/tutorials/tags/page.kubedoc b/wiki/tutorials/tags/page.kubedoc index 6ec2d228..392e7ce0 100644 --- a/wiki/tutorials/tags/page.kubedoc +++ b/wiki/tutorials/tags/page.kubedoc @@ -47,4 +47,9 @@ ServerEvents.tags('block', event => { // Add tall grass to the climbable tag. This does make it climbable! event.add('minecraft:climbable', 'minecraft:tall_grass') }) -``` \ No newline at end of file +``` + +>>> info +[[[/events/ServerEvents/tags]]] +View event page for more reference including list of vanilla registries +<<< \ No newline at end of file From 04504e51c8e458fffd23e94960304f07eeb5604f Mon Sep 17 00:00:00 2001 From: Denis Date: Sat, 26 Apr 2025 13:03:36 +0600 Subject: [PATCH 2/7] Documented BlockEvents.placed --- wiki/events/BlockEvents/placed/en.yml | 2 ++ wiki/events/BlockEvents/placed/page.kubedoc | 28 +++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 wiki/events/BlockEvents/placed/en.yml create mode 100644 wiki/events/BlockEvents/placed/page.kubedoc diff --git a/wiki/events/BlockEvents/placed/en.yml b/wiki/events/BlockEvents/placed/en.yml new file mode 100644 index 00000000..2c5d4d6b --- /dev/null +++ b/wiki/events/BlockEvents/placed/en.yml @@ -0,0 +1,2 @@ +title: "BlockEvents.placed" +description: "Called when block placed by player" diff --git a/wiki/events/BlockEvents/placed/page.kubedoc b/wiki/events/BlockEvents/placed/page.kubedoc new file mode 100644 index 00000000..9e85fe4a --- /dev/null +++ b/wiki/events/BlockEvents/placed/page.kubedoc @@ -0,0 +1,28 @@ +This event called each time block is placed by entity or a dispenser. + +## Syntax +```js +BlockEvents.placed(event => { + event.cancel(); // cancels event by preventing block placement + event.getLevel(); // returns level block placed in + event.getEntity(); // returns entity that placed the block. Could be null if block placed by dispenser + event.getBlock(); // returns block which was placed + + // Inherited from KubeEntityEvent + event.getPlayer(); // returns player that placed the block. Could be null if block placed by dispenser OR entity that placed the block isn't player + + // Inherited from KubeLevelEvent + event.getServer(); // returns server block placed in. + event.getRegistries(); // returns regestry access of level block was placed in +}) +``` + +## Usage example +``` +BlockEvents.placed(event => { + if (even.getEntity() == null) { + event.cancel(); + } +}) +``` +Code above will prevent dispensers from placing blocks. \ No newline at end of file From 60070c8efa922aa9aeba159a1f65520be5611e37 Mon Sep 17 00:00:00 2001 From: Denis Date: Sat, 26 Apr 2025 13:19:43 +0600 Subject: [PATCH 3/7] Documented ClientEvents.leftDebugInfo & Client.Events.rightDebugInfo --- wiki/events/ClientEvents/leftDebugInfo/en.yml | 2 ++ .../ClientEvents/leftDebugInfo/page.kubedoc | 29 +++++++++++++++++++ .../events/ClientEvents/rightDebugInfo/en.yml | 2 ++ .../ClientEvents/rightDebugInfo/page.kubedoc | 2 ++ 4 files changed, 35 insertions(+) create mode 100644 wiki/events/ClientEvents/leftDebugInfo/en.yml create mode 100644 wiki/events/ClientEvents/leftDebugInfo/page.kubedoc create mode 100644 wiki/events/ClientEvents/rightDebugInfo/en.yml create mode 100644 wiki/events/ClientEvents/rightDebugInfo/page.kubedoc diff --git a/wiki/events/ClientEvents/leftDebugInfo/en.yml b/wiki/events/ClientEvents/leftDebugInfo/en.yml new file mode 100644 index 00000000..dd86ac62 --- /dev/null +++ b/wiki/events/ClientEvents/leftDebugInfo/en.yml @@ -0,0 +1,2 @@ +title: "ClientEvents.leftDebugInfo" +description: "Adding, removing, and modifying debug info" diff --git a/wiki/events/ClientEvents/leftDebugInfo/page.kubedoc b/wiki/events/ClientEvents/leftDebugInfo/page.kubedoc new file mode 100644 index 00000000..b199a94d --- /dev/null +++ b/wiki/events/ClientEvents/leftDebugInfo/page.kubedoc @@ -0,0 +1,29 @@ +This event called each frame when debug info (avalible by pressing F3) is rendered. + +>>> warning +This event called every frame meaning any heavy operations here will result in lags! +<<< + +## Syntax +```js +ClientEvents.leftDebugInfo(event => { // or ClientEvents.rightDebugInfo + event.getLines(); // returns array of strings. This array represents lines of text in one side of F3 menu + event.getShowDebug() // returns true if debug menu should be rendered. +}); +``` + +>>> warning +Mutating array returned by `event.getLines()` will change text rendered in F3 screen. +<<< + +## Usage example +``` +ClientEvents.leftDebugInfo(event => { + event.getLines().push("I love KUBEJSSS"); +}); +``` +Code above will add text `I love KUBEJSSS` in bottom of left side in F3 screen. + +>>> info +`event.getLines()` returns javascript array. You can find information about them at [MDN docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) +<<< \ No newline at end of file diff --git a/wiki/events/ClientEvents/rightDebugInfo/en.yml b/wiki/events/ClientEvents/rightDebugInfo/en.yml new file mode 100644 index 00000000..160196d8 --- /dev/null +++ b/wiki/events/ClientEvents/rightDebugInfo/en.yml @@ -0,0 +1,2 @@ +title: "ClientEvents.rightDebugInfo" +description: "Adding, removing, and modifying debug info" diff --git a/wiki/events/ClientEvents/rightDebugInfo/page.kubedoc b/wiki/events/ClientEvents/rightDebugInfo/page.kubedoc new file mode 100644 index 00000000..b18a18e9 --- /dev/null +++ b/wiki/events/ClientEvents/rightDebugInfo/page.kubedoc @@ -0,0 +1,2 @@ +This event works exactly the same as `ClientEvents.leftDebugInfo` does. Visit it's docs for information. +[[[/events/ClientEvents/leftDebugInfo]]] \ No newline at end of file From 1f5aa24f6e345f1c24693f4082ec6186eacb8ec3 Mon Sep 17 00:00:00 2001 From: Denis Date: Sat, 26 Apr 2025 13:20:51 +0600 Subject: [PATCH 4/7] Fixed codeblocks --- wiki/events/BlockEvents/placed/page.kubedoc | 2 +- wiki/events/ClientEvents/leftDebugInfo/page.kubedoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/wiki/events/BlockEvents/placed/page.kubedoc b/wiki/events/BlockEvents/placed/page.kubedoc index 9e85fe4a..5bdf1287 100644 --- a/wiki/events/BlockEvents/placed/page.kubedoc +++ b/wiki/events/BlockEvents/placed/page.kubedoc @@ -18,7 +18,7 @@ BlockEvents.placed(event => { ``` ## Usage example -``` +```js BlockEvents.placed(event => { if (even.getEntity() == null) { event.cancel(); diff --git a/wiki/events/ClientEvents/leftDebugInfo/page.kubedoc b/wiki/events/ClientEvents/leftDebugInfo/page.kubedoc index b199a94d..d0fc1165 100644 --- a/wiki/events/ClientEvents/leftDebugInfo/page.kubedoc +++ b/wiki/events/ClientEvents/leftDebugInfo/page.kubedoc @@ -17,7 +17,7 @@ Mutating array returned by `event.getLines()` will change text rendered in F3 sc <<< ## Usage example -``` +```js ClientEvents.leftDebugInfo(event => { event.getLines().push("I love KUBEJSSS"); }); From 66ae46e0802263c431570df9c459056d1088cb9f Mon Sep 17 00:00:00 2001 From: Denis Date: Sat, 26 Apr 2025 13:27:01 +0600 Subject: [PATCH 5/7] Changed ServerEvents.basicCommand for consistancy --- .../ClientEvents/rightDebugInfo/page.kubedoc | 2 +- .../ServerEvents/basicCommand/page.kubedoc | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/wiki/events/ClientEvents/rightDebugInfo/page.kubedoc b/wiki/events/ClientEvents/rightDebugInfo/page.kubedoc index b18a18e9..babf4c6a 100644 --- a/wiki/events/ClientEvents/rightDebugInfo/page.kubedoc +++ b/wiki/events/ClientEvents/rightDebugInfo/page.kubedoc @@ -1,2 +1,2 @@ -This event works exactly the same as `ClientEvents.leftDebugInfo` does. Visit it's docs for information. +This event works exactly the same as `ClientEvents.leftDebugInfo` does but for right side on debug screen. Visit it's docs for information. [[[/events/ClientEvents/leftDebugInfo]]] \ No newline at end of file diff --git a/wiki/events/ServerEvents/basicCommand/page.kubedoc b/wiki/events/ServerEvents/basicCommand/page.kubedoc index c7139642..722c4b83 100644 --- a/wiki/events/ServerEvents/basicCommand/page.kubedoc +++ b/wiki/events/ServerEvents/basicCommand/page.kubedoc @@ -1,9 +1,20 @@ -# Available Event Fields -- `event.player` - player entity -- `event.input` - string (Only 1.21+) +This event allows regestry of basic chat commands. -# Example +## Syntax +|> 1.21 +```js +ServerEvents.basicCommand('', event => { + event.player // player who executed the command + event.input // string provided as command arguments (ONLY 1.21+) +}) +``` +<||> 1.20.1 +ServerEvents.customCommand('', event => { + event.player // player who executed the command +}) +<| +## Usage example |> 1.21 ```js ServerEvents.basicCommand('icons', event => { From dd8b87dd41a25ffbbecf4937db24c7fdef1f5d51 Mon Sep 17 00:00:00 2001 From: Denis Date: Sat, 26 Apr 2025 13:28:23 +0600 Subject: [PATCH 6/7] Fixing spacings --- wiki/events/ServerEvents/basicCommand/page.kubedoc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/wiki/events/ServerEvents/basicCommand/page.kubedoc b/wiki/events/ServerEvents/basicCommand/page.kubedoc index 722c4b83..9a82f91c 100644 --- a/wiki/events/ServerEvents/basicCommand/page.kubedoc +++ b/wiki/events/ServerEvents/basicCommand/page.kubedoc @@ -4,14 +4,16 @@ This event allows regestry of basic chat commands. |> 1.21 ```js ServerEvents.basicCommand('', event => { - event.player // player who executed the command + event.player // player who executed the command event.input // string provided as command arguments (ONLY 1.21+) }) ``` <||> 1.20.1 +```js ServerEvents.customCommand('', event => { - event.player // player who executed the command + event.player // player who executed the command }) +``` <| ## Usage example From b6030e593a4b9128d356445d7f3f6c16943e48e3 Mon Sep 17 00:00:00 2001 From: Denis Date: Sat, 26 Apr 2025 13:42:09 +0600 Subject: [PATCH 7/7] Created redirect for ServerEvents.recipe --- wiki/events/ServerEvents/recipes/en.yml | 2 ++ wiki/events/ServerEvents/recipes/page.kubedoc | 6 ++++++ wiki/tutorials/recipes/page.kubedoc | 5 +++++ 3 files changed, 13 insertions(+) create mode 100644 wiki/events/ServerEvents/recipes/en.yml create mode 100644 wiki/events/ServerEvents/recipes/page.kubedoc diff --git a/wiki/events/ServerEvents/recipes/en.yml b/wiki/events/ServerEvents/recipes/en.yml new file mode 100644 index 00000000..48030dac --- /dev/null +++ b/wiki/events/ServerEvents/recipes/en.yml @@ -0,0 +1,2 @@ +title: "ServerEvents.recipes" +description: "Adding, removing, and modifying recipes" diff --git a/wiki/events/ServerEvents/recipes/page.kubedoc b/wiki/events/ServerEvents/recipes/page.kubedoc new file mode 100644 index 00000000..9abb0dad --- /dev/null +++ b/wiki/events/ServerEvents/recipes/page.kubedoc @@ -0,0 +1,6 @@ +This event used to create new or modify existing recipes. + +>>> info +[[[/tutorials/recipes]]] +Please see tutorial page for more information +<<< \ No newline at end of file diff --git a/wiki/tutorials/recipes/page.kubedoc b/wiki/tutorials/recipes/page.kubedoc index 58821ac0..29d81847 100644 --- a/wiki/tutorials/recipes/page.kubedoc +++ b/wiki/tutorials/recipes/page.kubedoc @@ -297,3 +297,8 @@ ServerEvents.recipes(event => { ## Looping In addition to helper functions, you can also loop through an array to perform an action on every item in the array. + +>>> info +[[[/events/ServerEvents/recipes]]] +View event page for more reference +<<< \ No newline at end of file