diff --git a/wiki/events/BlockEvents/placed/en.yml b/wiki/events/BlockEvents/placed/en.yml new file mode 100644 index 0000000..2c5d4d6 --- /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 0000000..5bdf128 --- /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 +```js +BlockEvents.placed(event => { + if (even.getEntity() == null) { + event.cancel(); + } +}) +``` +Code above will prevent dispensers from placing blocks. \ No newline at end of file diff --git a/wiki/events/ClientEvents/leftDebugInfo/en.yml b/wiki/events/ClientEvents/leftDebugInfo/en.yml new file mode 100644 index 0000000..dd86ac6 --- /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 0000000..d0fc116 --- /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 +```js +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 0000000..160196d --- /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 0000000..babf4c6 --- /dev/null +++ b/wiki/events/ClientEvents/rightDebugInfo/page.kubedoc @@ -0,0 +1,2 @@ +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 c713964..9a82f91 100644 --- a/wiki/events/ServerEvents/basicCommand/page.kubedoc +++ b/wiki/events/ServerEvents/basicCommand/page.kubedoc @@ -1,9 +1,22 @@ -# 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 +```js +ServerEvents.customCommand('', event => { + event.player // player who executed the command +}) +``` +<| +## Usage example |> 1.21 ```js ServerEvents.basicCommand('icons', event => { diff --git a/wiki/events/ServerEvents/recipes/en.yml b/wiki/events/ServerEvents/recipes/en.yml new file mode 100644 index 0000000..48030da --- /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 0000000..9abb0da --- /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/events/ServerEvents/tags/en.yml b/wiki/events/ServerEvents/tags/en.yml new file mode 100644 index 0000000..f7d17de --- /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 0000000..b9e56fc --- /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/recipes/page.kubedoc b/wiki/tutorials/recipes/page.kubedoc index 58821ac..29d8184 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 diff --git a/wiki/tutorials/tags/page.kubedoc b/wiki/tutorials/tags/page.kubedoc index 6ec2d22..392e7ce 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