diff --git a/src/Lib/Data/Vanilla/alwaysday.ts b/src/Lib/Data/Vanilla/alwaysday.ts new file mode 100644 index 0000000..378ddfe --- /dev/null +++ b/src/Lib/Data/Vanilla/alwaysday.ts @@ -0,0 +1,14 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The alwaysday command */ +export const alwaysday: CommandInfo[] = [ + { + name: "alwaysday", + documentation: "Sets /gamerule dodaylightcycle to false, and sets /time to 5000. This is the same as the Always Day slider in the Game Settings. The command can also be given as daylock.", + parameters: [ + { text: "alwaysday", type: ParameterType.keyword, required: true }, + { text: "lock", type: ParameterType.boolean, required: false }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/camerashake.ts b/src/Lib/Data/Vanilla/camerashake.ts new file mode 100644 index 0000000..f7c712d --- /dev/null +++ b/src/Lib/Data/Vanilla/camerashake.ts @@ -0,0 +1,51 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + + /**The camerashake command */ +export const camerashake: CommandInfo[] = [ + { + name: "camerashake", + documentation: "Applies shaking to the players' camera with specified intensity and duration", + parameters: [ + { text: "camerashake", type: ParameterType.keyword, required: true }, + { text: "add", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { + text: "intensity", + type: ParameterType.float, + required: false, + options: { minimum: 0, maximum: 4 }, + }, + { + text: "seconds", + type: ParameterType.float, + required: false, + options: { minimum: 0 }, + }, + { + text: "shake type", + type: ParameterType.cameraShakeType, + required: false, + }, + ], + }, + { + name: "camerashake", + documentation: "Stops shaking to the players' camera with specified intensity and duration", + parameters: [ + { text: "camerashake", type: ParameterType.keyword, required: true }, + { text: "stop", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: false, + options: { playerOnly: true }, + }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/clear.ts b/src/Lib/Data/Vanilla/clear.ts new file mode 100644 index 0000000..9ffb0b5 --- /dev/null +++ b/src/Lib/Data/Vanilla/clear.ts @@ -0,0 +1,22 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + + /**The clear command */ +export const clear: CommandInfo[] = [ + { + name: "clear", + documentation: "Clears items from player inventory.", + parameters: [ + { text: "clear", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: false, + options: { playerOnly: true }, + }, + { text: "item name", type: ParameterType.item, required: false }, + { text: "data", type: ParameterType.integer, required: false }, + { text: "max count", type: ParameterType.integer, required: false }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/clearspawnpoint.ts b/src/Lib/Data/Vanilla/clearspawnpoint.ts new file mode 100644 index 0000000..bd5da01 --- /dev/null +++ b/src/Lib/Data/Vanilla/clearspawnpoint.ts @@ -0,0 +1,23 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The clearspawnpoint command */ +export const clearspawnpoint: CommandInfo[] = [ + { + name: "clearspawnpoint", + documentation: "Specifies the player whose spawn point should be removed. If not specified, defaults to the command's executor (@s). Must be a player name or a target selector. And the target selector should be of player type.", + parameters: [ + { + text: "clearspawnpoint", + type: ParameterType.keyword, + required: true, + }, + { + text: "player", + type: ParameterType.selector, + required: false, + options: { playerOnly: true }, + }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/clone.ts b/src/Lib/Data/Vanilla/clone.ts new file mode 100644 index 0000000..04da658 --- /dev/null +++ b/src/Lib/Data/Vanilla/clone.ts @@ -0,0 +1,104 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The clone command */ +export const clone: CommandInfo[] = [ + { + name: "clone", + documentation: "Clones blocks from the cube defined by begin and end into the destination. ", + parameters: [ + { text: "clone", type: ParameterType.keyword, required: true }, + { text: "begin x", type: ParameterType.coordinate, required: true }, + { text: "begin y", type: ParameterType.coordinate, required: true }, + { text: "begin z", type: ParameterType.coordinate, required: true }, + { text: "end x", type: ParameterType.coordinate, required: true }, + { text: "end y", type: ParameterType.coordinate, required: true }, + { text: "end z", type: ParameterType.coordinate, required: true }, + { + text: "destination x", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination y", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination z", + type: ParameterType.coordinate, + required: true, + }, + { text: "mask", type: ParameterType.maskMode, required: false }, + { text: "clone mode", type: ParameterType.cloneMode, required: true }, + ], + }, + { + name: "clone", + documentation: "Copies blocks from one place to another.", + parameters: [ + { text: "clone", type: ParameterType.keyword, required: true }, + { text: "begin x", type: ParameterType.coordinate, required: true }, + { text: "begin y", type: ParameterType.coordinate, required: true }, + { text: "begin z", type: ParameterType.coordinate, required: true }, + { text: "end x", type: ParameterType.coordinate, required: true }, + { text: "end y", type: ParameterType.coordinate, required: true }, + { text: "end z", type: ParameterType.coordinate, required: true }, + { + text: "destination x", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination y", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination z", + type: ParameterType.coordinate, + required: true, + }, + { text: "filtered", type: ParameterType.keyword, required: true }, + { text: "clone mode", type: ParameterType.cloneMode, required: true }, + { text: "tile name", type: ParameterType.block, required: true }, + { text: "tile data", type: ParameterType.integer, required: false }, + ], + }, + { + name: "clone", + documentation: "Copies blocks from one place to another.", + parameters: [ + { text: "clone", type: ParameterType.keyword, required: true }, + { text: "begin x", type: ParameterType.coordinate, required: true }, + { text: "begin y", type: ParameterType.coordinate, required: true }, + { text: "begin z", type: ParameterType.coordinate, required: true }, + { text: "end x", type: ParameterType.coordinate, required: true }, + { text: "end y", type: ParameterType.coordinate, required: true }, + { text: "end z", type: ParameterType.coordinate, required: true }, + { + text: "destination x", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination y", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination z", + type: ParameterType.coordinate, + required: true, + }, + { text: "filtered", type: ParameterType.keyword, required: true }, + { text: "clone mode", type: ParameterType.cloneMode, required: true }, + { text: "tile name", type: ParameterType.block, required: true }, + { + text: "block states", + type: ParameterType.blockStates, + required: false, + }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/damage.ts b/src/Lib/Data/Vanilla/damage.ts new file mode 100644 index 0000000..1a61e6c --- /dev/null +++ b/src/Lib/Data/Vanilla/damage.ts @@ -0,0 +1,28 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The damage command */ +export const damage: CommandInfo[] = [ + { + name: "damage", + documentation: "When damaged, the entity may react accordingly, such as being knocked back, becoming angry, etc. The damager entity may also react in certain ways, such as the arrow's disappearing.", + parameters: [ + { text: "damage", type: ParameterType.keyword, required: true }, + { text: "target", type: ParameterType.selector, required: true }, + { text: "amount", type: ParameterType.integer, required: true }, + { text: "cause", type: ParameterType.causeType, required: false }, + ], + }, + { + name: "damage", + documentation: "Apply damage to the specified entity.", + parameters: [ + { text: "damage", type: ParameterType.keyword, required: true }, + { text: "target", type: ParameterType.selector, required: true }, + { text: "amount", type: ParameterType.integer, required: true }, + { text: "cause", type: ParameterType.causeType, required: true }, + { text: "entity", type: ParameterType.keyword, required: true }, + { text: "damager", type: ParameterType.selector, required: true }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/daylock.ts b/src/Lib/Data/Vanilla/daylock.ts new file mode 100644 index 0000000..2bcb612 --- /dev/null +++ b/src/Lib/Data/Vanilla/daylock.ts @@ -0,0 +1,14 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The daylock command */ +export const daylock: CommandInfo[] = [ + { + name: "daylock", + documentation: "Specifies whether the eternal daytime is locked or not. If not specified, defaults to true. ", + parameters: [ + { text: "daylock", type: ParameterType.keyword, required: true }, + { text: "lock", type: ParameterType.boolean, required: false }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/deop.ts b/src/Lib/Data/Vanilla/deop.ts new file mode 100644 index 0000000..4574997 --- /dev/null +++ b/src/Lib/Data/Vanilla/deop.ts @@ -0,0 +1,19 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The deop command */ +export const deop: CommandInfo[] = [ + { + name: "deop", + documentation: "Removes operator status from a player. Specified the player to be deopped. Must be a player name or a target selector. And the target selector should be of player type.", + parameters: [ + { text: "deop", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { allowFakePlayers: true, playerOnly: true }, + }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/dialogue.ts b/src/Lib/Data/Vanilla/dialogue.ts new file mode 100644 index 0000000..5ceb7df --- /dev/null +++ b/src/Lib/Data/Vanilla/dialogue.ts @@ -0,0 +1,48 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The dialogue command */ +export const dialogue: CommandInfo[] = [ + { + name: "dialogue", + documentation: "Forces open the targeted NPC's dialogue box to the targeted player(s), simulating the experience of clicking on an NPC", + parameters: [ + { text: "dialogue", type: ParameterType.keyword, required: true }, + { text: "open", type: ParameterType.keyword, required: true }, + { + text: "npc", + type: ParameterType.selector, + required: true, + options: { allowFakePlayers: false, playerOnly: false }, + }, + { + text: "player receiver", + type: ParameterType.selector, + required: true, + options: { playerOnly: true, allowFakePlayers: false }, + }, + { text: "scene name", type: ParameterType.string, required: false }, + ], + }, + { + name: "dialogue", + documentation: "Direct an NPC to use the dialogue provided in a specifically designated scene file", + parameters: [ + { text: "dialogue", type: ParameterType.keyword, required: true }, + { text: "change", type: ParameterType.keyword, required: true }, + { + text: "npc", + type: ParameterType.selector, + required: true, + options: { allowFakePlayers: false, playerOnly: false }, + }, + { text: "scene name", type: ParameterType.string, required: true }, + { + text: "player receiver", + type: ParameterType.selector, + required: false, + options: { playerOnly: true, allowFakePlayers: false }, + }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/difficulty.ts b/src/Lib/Data/Vanilla/difficulty.ts new file mode 100644 index 0000000..7343012 --- /dev/null +++ b/src/Lib/Data/Vanilla/difficulty.ts @@ -0,0 +1,14 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The difficulty command */ +export const difficulty: CommandInfo[] = [ + { + name: "difficulty", + documentation: "Sets the difficulty level (peaceful, easy, etc.).", + parameters: [ + { text: "difficulty", type: ParameterType.keyword, required: true }, + { text: "mode", type: ParameterType.difficulty, required: true }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/effect.ts b/src/Lib/Data/Vanilla/effect.ts new file mode 100644 index 0000000..8c7ae17 --- /dev/null +++ b/src/Lib/Data/Vanilla/effect.ts @@ -0,0 +1,31 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The effect command */ +export const effect: CommandInfo[] = [ + { + name: "effect", + documentation: "Add or remove status effects on players and other entities.", + parameters: [ + { text: "effect", type: ParameterType.keyword, required: true }, + { text: "player", type: ParameterType.selector, required: true }, + { text: "effect", type: ParameterType.effect, required: true }, + { text: "seconds", type: ParameterType.integer, required: false }, + { text: "amplifier", type: ParameterType.integer, required: false }, + { + text: "hide particles", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "effect", + documentation: "Sets the difficulty level.", + parameters: [ + { text: "effect", type: ParameterType.keyword, required: true }, + { text: "player", type: ParameterType.selector, required: true }, + { text: "clear", type: ParameterType.keyword, required: true }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/enchant.ts b/src/Lib/Data/Vanilla/enchant.ts new file mode 100644 index 0000000..7eb8e2e --- /dev/null +++ b/src/Lib/Data/Vanilla/enchant.ts @@ -0,0 +1,36 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The enchant command */ +export const enchant: CommandInfo[] = [ + { + name: "enchant", + documentation: "Adds an enchantment to a player's selected item, subject to the same restrictions as an anvil. Also works on any mob or entity holding a weapon/tool /armor in their main hand.", + parameters: [ + { text: "enchant", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "id", type: ParameterType.integer, required: true }, + { text: "level", type: ParameterType.integer, required: false }, + ], + }, + { + name: "enchant", + documentation: "Enchants a player item.", + parameters: [ + { text: "enchant", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "id", type: ParameterType.string, required: true }, + { text: "level", type: ParameterType.keyword, required: false }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/event.ts b/src/Lib/Data/Vanilla/event.ts new file mode 100644 index 0000000..eb6a431 --- /dev/null +++ b/src/Lib/Data/Vanilla/event.ts @@ -0,0 +1,16 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The event command */ +export const event: CommandInfo[] = [ + { + name: "event", + documentation: "Triggers an event for the specified objects.", + parameters: [ + { text: "event", type: ParameterType.keyword, required: true }, + { text: "entity", type: ParameterType.keyword, required: true }, + { text: "target", type: ParameterType.selector, required: true }, + { text: "event name", type: ParameterType.event, required: true }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/execute.ts b/src/Lib/Data/Vanilla/execute.ts new file mode 100644 index 0000000..84749c2 --- /dev/null +++ b/src/Lib/Data/Vanilla/execute.ts @@ -0,0 +1,36 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The execute command */ +export const execute: CommandInfo[] = [ + { + name: "execute", + documentation: "Executes another command.", + parameters: [ + { text: "execute", type: ParameterType.keyword, required: true }, + { text: "origin", type: ParameterType.selector, required: true }, + { text: "position x", type: ParameterType.coordinate, required: true }, + { text: "position y", type: ParameterType.coordinate, required: true }, + { text: "position z", type: ParameterType.coordinate, required: true }, + { text: "command", type: ParameterType.command, required: true }, + ], + }, + { + name: "execute", + documentation: "Executes another command.", + parameters: [ + { text: "execute", type: ParameterType.keyword, required: true }, + { text: "origin", type: ParameterType.selector, required: true }, + { text: "position x", type: ParameterType.coordinate, required: true }, + { text: "position y", type: ParameterType.coordinate, required: true }, + { text: "position z", type: ParameterType.coordinate, required: true }, + { text: "detect", type: ParameterType.keyword, required: true }, + { text: "detectPos x", type: ParameterType.coordinate, required: true }, + { text: "detectPos y", type: ParameterType.coordinate, required: true }, + { text: "detectPos z", type: ParameterType.coordinate, required: true }, + { text: "block", type: ParameterType.block, required: true }, + { text: "data", type: ParameterType.integer, required: true }, + { text: "command", type: ParameterType.command, required: true }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/fill.ts b/src/Lib/Data/Vanilla/fill.ts new file mode 100644 index 0000000..471c6c6 --- /dev/null +++ b/src/Lib/Data/Vanilla/fill.ts @@ -0,0 +1,104 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The fill command */ +export const fill: CommandInfo[] = [ + { + name: "fill", + documentation: "Fills a region with a specific block.", + parameters: [ + { text: "fill", type: ParameterType.keyword, required: true }, + { text: "from x", type: ParameterType.coordinate, required: true }, + { text: "from y", type: ParameterType.coordinate, required: true }, + { text: "from z", type: ParameterType.coordinate, required: true }, + { text: "to x", type: ParameterType.coordinate, required: true }, + { text: "to y", type: ParameterType.coordinate, required: true }, + { text: "to z", type: ParameterType.coordinate, required: true }, + { text: "tile name", type: ParameterType.block, required: true }, + { text: "tile data", type: ParameterType.integer, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { + text: "replace tile name", + type: ParameterType.block, + required: false, + }, + { + text: "replace data value", + type: ParameterType.integer, + required: false, + }, + ], + }, + { + name: "fill", + documentation: "Fills a region with a specific block.", + parameters: [ + { text: "fill", type: ParameterType.keyword, required: true }, + { text: "from x", type: ParameterType.coordinate, required: true }, + { text: "from y", type: ParameterType.coordinate, required: true }, + { text: "from z", type: ParameterType.coordinate, required: true }, + { text: "to x", type: ParameterType.coordinate, required: true }, + { text: "to y", type: ParameterType.coordinate, required: true }, + { text: "to z", type: ParameterType.coordinate, required: true }, + { text: "tile name", type: ParameterType.block, required: true }, + { text: "tile data", type: ParameterType.integer, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { + text: "replace tile name", + type: ParameterType.block, + required: false, + }, + { + text: "replace block states", + type: ParameterType.blockStates, + required: false, + }, + ], + }, + { + name: "fill", + documentation: "Fills a region with a specific block.", + parameters: [ + { text: "fill", type: ParameterType.keyword, required: true }, + { text: "from x", type: ParameterType.coordinate, required: true }, + { text: "from y", type: ParameterType.coordinate, required: true }, + { text: "from z", type: ParameterType.coordinate, required: true }, + { text: "to x", type: ParameterType.coordinate, required: true }, + { text: "to y", type: ParameterType.coordinate, required: true }, + { text: "to z", type: ParameterType.coordinate, required: true }, + { text: "tile name", type: ParameterType.block, required: true }, + { + text: "block states", + type: ParameterType.blockStates, + required: true, + }, + { text: "replace", type: ParameterType.keyword, required: true }, + { + text: "replace tile name", + type: ParameterType.block, + required: false, + }, + { + text: "replace block states", + type: ParameterType.blockStates, + required: false, + }, + ], + }, + { + name: "fill", + documentation: "Fills a region with a specific block.", + parameters: [ + { text: "fill", type: ParameterType.keyword, required: true }, + { text: "from x", type: ParameterType.coordinate, required: true }, + { text: "from y", type: ParameterType.coordinate, required: true }, + { text: "from z", type: ParameterType.coordinate, required: true }, + { text: "to x", type: ParameterType.coordinate, required: true }, + { text: "to y", type: ParameterType.coordinate, required: true }, + { text: "to z", type: ParameterType.coordinate, required: true }, + { text: "tile name", type: ParameterType.block, required: true }, + { text: "tile data", type: ParameterType.integer, required: false }, + { text: "mode", type: ParameterType.fillMode, required: true }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/fog.ts b/src/Lib/Data/Vanilla/fog.ts new file mode 100644 index 0000000..5325a3a --- /dev/null +++ b/src/Lib/Data/Vanilla/fog.ts @@ -0,0 +1,52 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The fog command */ +export const fog: CommandInfo[] = [ + { + name: "fog", + documentation: + "Pushes a new fog setting, to specified player(s), along with a user provided ID, onto the top of the Fog Command layers of the players' active fog stacks.", + parameters: [ + { text: "fog", type: ParameterType.keyword, required: true }, + { text: "victim", type: ParameterType.selector, required: true }, + { text: "push", type: ParameterType.keyword, required: true }, + { text: "fog id", type: ParameterType.string, required: true }, + { + text: "user provided id", + type: ParameterType.string, + required: true, + }, + ], + }, + { + name: "fog", + documentation: + 'Removes the top-most fog setting, from selected player(s), that matches the user provided ID (i.e. as provided previously via a "/fog push" command).', + parameters: [ + { text: "fog", type: ParameterType.keyword, required: true }, + { text: "victim", type: ParameterType.selector, required: true }, + { text: "pop", type: ParameterType.keyword, required: true }, + { + text: "user provided id", + type: ParameterType.string, + required: true, + }, + ], + }, + { + name: "fog", + documentation: + 'Removes all matching fog settings, from the selected player(s), that matches the user-provided ID (i.e. as provided previously via one or more "/fog push" commands).', + parameters: [ + { text: "fog", type: ParameterType.keyword, required: true }, + { text: "victim", type: ParameterType.selector, required: true }, + { text: "remove", type: ParameterType.keyword, required: true }, + { + text: "user provided id", + type: ParameterType.string, + required: true, + }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/function.ts b/src/Lib/Data/Vanilla/function.ts new file mode 100644 index 0000000..af6c91f --- /dev/null +++ b/src/Lib/Data/Vanilla/function.ts @@ -0,0 +1,14 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The function command */ +export const Function: CommandInfo[] = [ + { + name: "function", + documentation: " Runs a function from a behavior pack.", + parameters: [ + { text: "function", type: ParameterType.keyword, required: true }, + { text: "function path", type: ParameterType.function, required: true }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/gamemode.ts b/src/Lib/Data/Vanilla/gamemode.ts new file mode 100644 index 0000000..7a79eaf --- /dev/null +++ b/src/Lib/Data/Vanilla/gamemode.ts @@ -0,0 +1,20 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The gamemode command */ +export const gamemode: CommandInfo[] = [ + { + name: "gamemode", + documentation: "Sets a player's game mode.", + parameters: [ + { text: "gamemode", type: ParameterType.keyword, required: true }, + { text: "gamemode", type: ParameterType.gamemode, required: true }, + { + text: "player", + type: ParameterType.selector, + required: false, + options: { playerOnly: true }, + }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/gamerule.ts b/src/Lib/Data/Vanilla/gamerule.ts new file mode 100644 index 0000000..f00792e --- /dev/null +++ b/src/Lib/Data/Vanilla/gamerule.ts @@ -0,0 +1,328 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The gamerule command */ +export const gamerule: CommandInfo[] = [ + { + name: "gamerule", + documentation: "Whether command blocks should notify admins when they perform commands.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { + text: "commandblockoutput", + type: ParameterType.keyword, + required: true, + }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether command blocks should be enabled in-game.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { + text: "commandblocksenabled", + type: ParameterType.keyword, + required: true, + }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether the daylight cycle and moon phases progress.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { + text: "dodaylightcycle", + type: ParameterType.keyword, + required: true, + }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not entities drop loot.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "doentitydrops", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not to do fire ticks, meaning that fire could do damage to block or not.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "dofiretick", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether to show the player a respawn screen or immediate respawn.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { + text: "doimmediaterespawn", + type: ParameterType.keyword, + required: true, + }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not to activate or deactivate the insomnia mechanic.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "doinsomnia", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not mobs should drop loot.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "domobloot", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not mobs / animal should be spawning.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "domobspawning", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not blocks that are destroyed also drop items.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "dotiledrops", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not to change between clear, rain and thunder weather.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "doweathercycle", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not drowning does damage to players.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "drowningdamage", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not falling does damage to players.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "falldamage", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not fire does damage to players.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "firedamage", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not freezing does damage to players.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "freezedamage", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "The maximum amount of commands that can be run in a single call (sub calls included)", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { + text: "functioncommandlimit", + type: ParameterType.keyword, + required: true, + }, + { text: "amount", type: ParameterType.integer, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not the players maintain their inventory when dying", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "keepinventory", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "The maximum amount of commands that can be run in a single call (sub calls included).", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { + text: "maxcommandchainlength", + type: ParameterType.keyword, + required: true, + }, + { text: "int", type: ParameterType.integer, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not mobs can explode the world.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "mobgriefing", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not players regain health by regen.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { + text: "naturalregeneration", + type: ParameterType.keyword, + required: true, + }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not players can attack each other.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "pvp", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "How many ticks the server can randomly progress elements of the world, such a crop growing.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { + text: "randomtickspeed", + type: ParameterType.keyword, + required: true, + }, + { text: "int", type: ParameterType.integer, required: false }, + ], + }, + { + name: "gamerule", + documentation: "??", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { + text: "respawnblocksexplode", + type: ParameterType.keyword, + required: true, + }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not commands send back feedback to players, such as /tag @s list", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { + text: "sendcommandfeedback", + type: ParameterType.keyword, + required: true, + }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Sets or queries a game rule value.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { + text: "showbordereffect", + type: ParameterType.keyword, + required: true, + }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not global coordinates display is showed.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { + text: "showcoordinates", + type: ParameterType.keyword, + required: true, + }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Whether or not the death message are outputted", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { + text: "showdeathmessages", + type: ParameterType.keyword, + required: true, + }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Sets or queries a game rule value.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "showtags", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Sets or queries a game rule value.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "spawnradius", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.integer, required: false }, + ], + }, + { + name: "gamerule", + documentation: "Sets or queries a game rule value.", + parameters: [ + { text: "gamerule", type: ParameterType.keyword, required: true }, + { text: "tntexplodes", type: ParameterType.keyword, required: true }, + { text: "value", type: ParameterType.boolean, required: false }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/give.ts b/src/Lib/Data/Vanilla/give.ts new file mode 100644 index 0000000..40f5ebb --- /dev/null +++ b/src/Lib/Data/Vanilla/give.ts @@ -0,0 +1,23 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The give command */ +export const give: CommandInfo[] = [ + { + name: "give", + documentation: "Gives an item to a player.", + parameters: [ + { text: "give", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "item name", type: ParameterType.item, required: true }, + { text: "amount", type: ParameterType.integer, required: false }, + { text: "data", type: ParameterType.integer, required: false }, + { text: "components", type: ParameterType.jsonItem, required: false }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/index.ts b/src/Lib/Data/Vanilla/index.ts new file mode 100644 index 0000000..502cd1c --- /dev/null +++ b/src/Lib/Data/Vanilla/index.ts @@ -0,0 +1,60 @@ +/* Auto generated */ + +export * from "./alwaysday"; +export * from "./camerashake"; +export * from "./clear"; +export * from "./clearspawnpoint"; +export * from "./clone"; +export * from "./damage"; +export * from "./daylock"; +export * from "./deop"; +export * from "./dialogue"; +export * from "./difficulty"; +export * from "./effect"; +export * from "./enchant"; +export * from "./event"; +export * from "./execute"; +export * from "./fill"; +export * from "./fog"; +export * from "./function"; +export * from "./gamemode"; +export * from "./gamerule"; +export * from "./give"; +export * from "./kick"; +export * from "./kill"; +export * from "./locate"; +export * from "./loot"; +export * from "./me"; +export * from "./msg"; +export * from "./music"; +export * from "./op"; +export * from "./particle"; +export * from "./playanimation"; +export * from "./playsound"; +export * from "./replaceitem"; +export * from "./ride"; +export * from "./say"; +export * from "./schedule"; +export * from "./scoreboard"; +export * from "./setblock"; +export * from "./setmaxplayers"; +export * from "./setworldspawn"; +export * from "./spawnpoint"; +export * from "./spreadplayers"; +export * from "./stopsound"; +export * from "./structure"; +export * from "./summon"; +export * from "./tag"; +export * from "./teleport"; +export * from "./tell"; +export * from "./tellraw"; +export * from "./testfor"; +export * from "./testforblock"; +export * from "./tickingarea"; +export * from "./time"; +export * from "./title"; +export * from "./titleraw"; +export * from "./toggledownfall"; +export * from "./w"; +export * from "./weather"; +export * from "./xp"; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/kick.ts b/src/Lib/Data/Vanilla/kick.ts new file mode 100644 index 0000000..1ab8749 --- /dev/null +++ b/src/Lib/Data/Vanilla/kick.ts @@ -0,0 +1,19 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The kick command */ +export const kick: CommandInfo[] = [ + { + name: "kick", + documentation: "Kicks the specified players.", + parameters: [ + { text: "kick", type: ParameterType.keyword, required: true }, + { + text: "selector", + type: ParameterType.selector, + required: false, + options: { playerOnly: true }, + }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/kill.ts b/src/Lib/Data/Vanilla/kill.ts new file mode 100644 index 0000000..9b9294d --- /dev/null +++ b/src/Lib/Data/Vanilla/kill.ts @@ -0,0 +1,14 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The kill command */ +export const kill: CommandInfo[] = [ + { + name: "kill", + documentation: "Kills entities (players, mobs, items, etc.).", + parameters: [ + { text: "kill", type: ParameterType.keyword, required: true }, + { text: "selector", type: ParameterType.selector, required: false }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/locate.ts b/src/Lib/Data/Vanilla/locate.ts new file mode 100644 index 0000000..2649905 --- /dev/null +++ b/src/Lib/Data/Vanilla/locate.ts @@ -0,0 +1,14 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The locate command */ +export const locate: CommandInfo[] = [ + { + name: "locate", + documentation: "Displays the coordinates for the closest structure of a given type.", + parameters: [ + { text: "locate", type: ParameterType.keyword, required: true }, + { text: "feature", type: ParameterType.locateFeature, required: true }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/loot.ts b/src/Lib/Data/Vanilla/loot.ts new file mode 100644 index 0000000..68d9706 --- /dev/null +++ b/src/Lib/Data/Vanilla/loot.ts @@ -0,0 +1,435 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The loot command */ +export const loot: CommandInfo[] = [ + /**give */ + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "give", type: ParameterType.keyword, required: true }, + { text: "players", type: ParameterType.selector, required: true, options: { playerOnly: true } }, + { text: "kill", type: ParameterType.keyword, required: true }, + { text: "entity target", type: ParameterType.selector, required: true }, + { text: "item", type: ParameterType.item, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "give", type: ParameterType.keyword, required: true }, + { text: "players", type: ParameterType.selector, required: true, options: { playerOnly: true } }, + { text: "kill", type: ParameterType.keyword, required: true }, + { text: "entity target", type: ParameterType.selector, required: true }, + { text: "tool", type: ParameterType.handType, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "give", type: ParameterType.keyword, required: true }, + { text: "players", type: ParameterType.selector, required: true, options: { playerOnly: true } }, + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "loot table", type: ParameterType.lootTable, required: true }, + { text: "item", type: ParameterType.item, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "give", type: ParameterType.keyword, required: true }, + { text: "players", type: ParameterType.selector, required: true, options: { playerOnly: true } }, + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "loot table", type: ParameterType.lootTable, required: true }, + { text: "tool", type: ParameterType.handType, required: false }, + ], + }, + /**insert */ + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "insert", type: ParameterType.keyword, required: true }, + { text: "position x", type: ParameterType.coordinate, required: true }, + { text: "position y", type: ParameterType.coordinate, required: true }, + { text: "position z", type: ParameterType.coordinate, required: true }, + { text: "kill", type: ParameterType.keyword, required: true }, + { text: "entity target", type: ParameterType.selector, required: true }, + { text: "item", type: ParameterType.item, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "insert", type: ParameterType.keyword, required: true }, + { text: "position x", type: ParameterType.coordinate, required: true }, + { text: "position y", type: ParameterType.coordinate, required: true }, + { text: "position z", type: ParameterType.coordinate, required: true }, + { text: "kill", type: ParameterType.keyword, required: true }, + { text: "entity target", type: ParameterType.selector, required: true }, + { text: "tool", type: ParameterType.handType, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "insert", type: ParameterType.keyword, required: true }, + { text: "position x", type: ParameterType.coordinate, required: true }, + { text: "position y", type: ParameterType.coordinate, required: true }, + { text: "position z", type: ParameterType.coordinate, required: true }, + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "loot table", type: ParameterType.lootTable, required: true }, + { text: "item", type: ParameterType.item, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "insert", type: ParameterType.keyword, required: true }, + { text: "position x", type: ParameterType.coordinate, required: true }, + { text: "position y", type: ParameterType.coordinate, required: true }, + { text: "position z", type: ParameterType.coordinate, required: true }, + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "loot table", type: ParameterType.lootTable, required: true }, + { text: "tool", type: ParameterType.handType, required: false }, + ], + }, + /**replace block */ + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "block", type: ParameterType.keyword, required: true }, + { text: "x", type: ParameterType.coordinate, required: true }, + { text: "y", type: ParameterType.coordinate, required: true }, + { text: "z", type: ParameterType.coordinate, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true, options:{acceptedValues:["slot.container"]} }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "kill", type: ParameterType.keyword, required: true }, + { text: "entity target", type: ParameterType.selector, required: true }, + { text: "item", type: ParameterType.item, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "block", type: ParameterType.keyword, required: true }, + { text: "x", type: ParameterType.coordinate, required: true }, + { text: "y", type: ParameterType.coordinate, required: true }, + { text: "z", type: ParameterType.coordinate, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true, options:{acceptedValues:["slot.container"]} }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "kill", type: ParameterType.keyword, required: true }, + { text: "entity target", type: ParameterType.selector, required: true }, + { text: "tool", type: ParameterType.handType, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "block", type: ParameterType.keyword, required: true }, + { text: "x", type: ParameterType.coordinate, required: true }, + { text: "y", type: ParameterType.coordinate, required: true }, + { text: "z", type: ParameterType.coordinate, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true, options:{acceptedValues:["slot.container"]} }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "count", type: ParameterType.integer, required: true }, + { text: "kill", type: ParameterType.keyword, required: true }, + { text: "entity target", type: ParameterType.selector, required: true }, + { text: "item", type: ParameterType.item, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "block", type: ParameterType.keyword, required: true }, + { text: "x", type: ParameterType.coordinate, required: true }, + { text: "y", type: ParameterType.coordinate, required: true }, + { text: "z", type: ParameterType.coordinate, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true, options:{acceptedValues:["slot.container"]} }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "count", type: ParameterType.integer, required: true }, + { text: "kill", type: ParameterType.keyword, required: true }, + { text: "entity target", type: ParameterType.selector, required: true }, + { text: "tool", type: ParameterType.handType, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "block", type: ParameterType.keyword, required: true }, + { text: "x", type: ParameterType.coordinate, required: true }, + { text: "y", type: ParameterType.coordinate, required: true }, + { text: "z", type: ParameterType.coordinate, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true, options:{acceptedValues:["slot.container"]} }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "loot table", type: ParameterType.lootTable, required: true }, + { text: "item", type: ParameterType.item, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "block", type: ParameterType.keyword, required: true }, + { text: "x", type: ParameterType.coordinate, required: true }, + { text: "y", type: ParameterType.coordinate, required: true }, + { text: "z", type: ParameterType.coordinate, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true, options:{acceptedValues:["slot.container"]} }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "loot table", type: ParameterType.lootTable, required: true }, + { text: "tool", type: ParameterType.handType, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "block", type: ParameterType.keyword, required: true }, + { text: "x", type: ParameterType.coordinate, required: true }, + { text: "y", type: ParameterType.coordinate, required: true }, + { text: "z", type: ParameterType.coordinate, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true, options:{acceptedValues:["slot.container"]} }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "count", type: ParameterType.integer, required: true }, + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "loot table", type: ParameterType.lootTable, required: true }, + { text: "item", type: ParameterType.item, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "block", type: ParameterType.keyword, required: true }, + { text: "x", type: ParameterType.coordinate, required: true }, + { text: "y", type: ParameterType.coordinate, required: true }, + { text: "z", type: ParameterType.coordinate, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true, options:{acceptedValues:["slot.container"]} }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "count", type: ParameterType.integer, required: true }, + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "loot table", type: ParameterType.lootTable, required: true }, + { text: "tool", type: ParameterType.handType, required: false }, + ], + }, + /**replace entity */ + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "entity", type: ParameterType.keyword, required: true }, + { text: "target", type: ParameterType.selector, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "kill", type: ParameterType.keyword, required: true }, + { text: "entity target", type: ParameterType.selector, required: true }, + { text: "item", type: ParameterType.item, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "entity", type: ParameterType.keyword, required: true }, + { text: "target", type: ParameterType.selector, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "kill", type: ParameterType.keyword, required: true }, + { text: "entity target", type: ParameterType.selector, required: true }, + { text: "tool", type: ParameterType.handType, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "entity", type: ParameterType.keyword, required: true }, + { text: "target", type: ParameterType.selector, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "count", type: ParameterType.integer, required: true }, + { text: "kill", type: ParameterType.keyword, required: true }, + { text: "entity target", type: ParameterType.selector, required: true }, + { text: "item", type: ParameterType.item, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "entity", type: ParameterType.keyword, required: true }, + { text: "target", type: ParameterType.selector, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "count", type: ParameterType.integer, required: true }, + { text: "kill", type: ParameterType.keyword, required: true }, + { text: "entity target", type: ParameterType.selector, required: true }, + { text: "tool", type: ParameterType.handType, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "entity", type: ParameterType.keyword, required: true }, + { text: "target", type: ParameterType.selector, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "loot table", type: ParameterType.lootTable, required: true }, + { text: "item", type: ParameterType.item, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "entity", type: ParameterType.keyword, required: true }, + { text: "target", type: ParameterType.selector, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "loot table", type: ParameterType.lootTable, required: true }, + { text: "tool", type: ParameterType.handType, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "entity", type: ParameterType.keyword, required: true }, + { text: "target", type: ParameterType.selector, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "count", type: ParameterType.integer, required: true }, + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "loot table", type: ParameterType.lootTable, required: true }, + { text: "item", type: ParameterType.item, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "replace", type: ParameterType.keyword, required: true }, + { text: "entity", type: ParameterType.keyword, required: true }, + { text: "target", type: ParameterType.selector, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "count", type: ParameterType.integer, required: true }, + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "loot table", type: ParameterType.lootTable, required: true }, + { text: "tool", type: ParameterType.handType, required: false }, + ], + }, + /** spawn */ + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "spawn", type: ParameterType.keyword, required: true }, + { text: "position x", type: ParameterType.coordinate, required: true }, + { text: "position y", type: ParameterType.coordinate, required: true }, + { text: "position z", type: ParameterType.coordinate, required: true }, + { text: "kill", type: ParameterType.keyword, required: true }, + { text: "entity target", type: ParameterType.selector, required: true }, + { text: "item", type: ParameterType.item, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "spawn", type: ParameterType.keyword, required: true }, + { text: "position x", type: ParameterType.coordinate, required: true }, + { text: "position y", type: ParameterType.coordinate, required: true }, + { text: "position z", type: ParameterType.coordinate, required: true }, + { text: "kill", type: ParameterType.keyword, required: true }, + { text: "entity target", type: ParameterType.selector, required: true }, + { text: "tool", type: ParameterType.handType, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "spawn", type: ParameterType.keyword, required: true }, + { text: "position x", type: ParameterType.coordinate, required: true }, + { text: "position y", type: ParameterType.coordinate, required: true }, + { text: "position z", type: ParameterType.coordinate, required: true }, + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "loot table", type: ParameterType.lootTable, required: true }, + { text: "item", type: ParameterType.item, required: false }, + ], + }, + { + name: "loot", + documentation: "Drops the given loot table into the world", + parameters: [ + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "spawn", type: ParameterType.keyword, required: true }, + { text: "position x", type: ParameterType.coordinate, required: true }, + { text: "position y", type: ParameterType.coordinate, required: true }, + { text: "position z", type: ParameterType.coordinate, required: true }, + { text: "loot", type: ParameterType.keyword, required: true }, + { text: "loot table", type: ParameterType.lootTable, required: true }, + { text: "tool", type: ParameterType.handType, required: false }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/me.ts b/src/Lib/Data/Vanilla/me.ts new file mode 100644 index 0000000..5a3b98b --- /dev/null +++ b/src/Lib/Data/Vanilla/me.ts @@ -0,0 +1,14 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The me command */ +export const me: CommandInfo[] = [ + { + name: "me", + documentation: "Displays a message about yourself(sender).", + parameters: [ + { text: "me", type: ParameterType.keyword, required: true }, + { text: "message", type: ParameterType.message, required: true }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/msg.ts b/src/Lib/Data/Vanilla/msg.ts new file mode 100644 index 0000000..83804a2 --- /dev/null +++ b/src/Lib/Data/Vanilla/msg.ts @@ -0,0 +1,15 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The msg command */ +export const msg: CommandInfo[] = [ + { + name: "msg", + documentation: "An alias of `/tell` and `/w`. Displays a private message to other players.", + parameters: [ + { text: "msg", type: ParameterType.keyword, required: true }, + { text: "selector", type: ParameterType.selector, required: true }, + { text: "message", type: ParameterType.message, required: true }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/music.ts b/src/Lib/Data/Vanilla/music.ts new file mode 100644 index 0000000..b3de1d3 --- /dev/null +++ b/src/Lib/Data/Vanilla/music.ts @@ -0,0 +1,86 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The music command */ +export const music: CommandInfo[] = [ + { + name: "music", + documentation: "Allows you to control playing music tracks.", + parameters: [ + { text: "music", type: ParameterType.keyword, required: true }, + { text: "queue", type: ParameterType.keyword, required: true }, + { text: "track name", type: ParameterType.string, required: true }, + { + text: "volume", + type: ParameterType.float, + required: false, + options: { minimum: 0.01, maximum: 1 }, + }, + { + text: "fade seconds", + type: ParameterType.float, + required: false, + options: { minimum: 0 }, + }, + { + text: "repeat", + type: ParameterType.musicRepeatMode, + required: false, + }, + ], + }, + { + name: "music", + documentation: "Allows you to control playing music tracks.", + parameters: [ + { text: "music", type: ParameterType.keyword, required: true }, + { text: "play", type: ParameterType.keyword, required: true }, + { text: "track name", type: ParameterType.string, required: true }, + { + text: "volume", + type: ParameterType.float, + required: false, + options: { minimum: 0.01, maximum: 1 }, + }, + { + text: "fade seconds", + type: ParameterType.float, + required: false, + options: { minimum: 0 }, + }, + { + text: "repeat", + type: ParameterType.musicRepeatMode, + required: false, + }, + ], + }, + { + name: "music", + documentation: "Allows you to control playing music tracks.", + parameters: [ + { text: "music", type: ParameterType.keyword, required: true }, + { text: "stop", type: ParameterType.keyword, required: true }, + { + text: "fade seconds", + type: ParameterType.float, + required: false, + options: { minimum: 0 }, + }, + ], + }, + { + name: "music", + documentation: "Allows you to control playing music tracks.", + parameters: [ + { text: "music", type: ParameterType.keyword, required: true }, + { text: "volume", type: ParameterType.keyword, required: true }, + { + text: "volume", + type: ParameterType.float, + required: false, + options: { minimum: 0.01, maximum: 1 }, + }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/op.ts b/src/Lib/Data/Vanilla/op.ts new file mode 100644 index 0000000..ec2979c --- /dev/null +++ b/src/Lib/Data/Vanilla/op.ts @@ -0,0 +1,19 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The op command */ +export const op: CommandInfo[] = [ + { + name: "op", + documentation: "Grants operator status to a player.", + parameters: [ + { text: "op", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/particle.ts b/src/Lib/Data/Vanilla/particle.ts new file mode 100644 index 0000000..88252ea --- /dev/null +++ b/src/Lib/Data/Vanilla/particle.ts @@ -0,0 +1,17 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The particle command */ +export const particle: CommandInfo[] = [ + { + name: "particle", + documentation: "Creates particles. Must be a single word that has no space or a quoted string", + parameters: [ + { text: "particle", type: ParameterType.keyword, required: true }, + { text: "effect", type: ParameterType.particle, required: true }, + { text: "position x", type: ParameterType.coordinate, required: false }, + { text: "position y", type: ParameterType.coordinate, required: false }, + { text: "position z", type: ParameterType.coordinate, required: false }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/playanimation.ts b/src/Lib/Data/Vanilla/playanimation.ts new file mode 100644 index 0000000..fd89533 --- /dev/null +++ b/src/Lib/Data/Vanilla/playanimation.ts @@ -0,0 +1,26 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The playanimation command */ +export const playanimation: CommandInfo[] = [ + { + name: "playanimation", + documentation: "Makes one or more entities play a one-off animation. Assumes all variables are set up correctly", + parameters: [ + { text: "playanimation", type: ParameterType.keyword, required: true }, + { text: "entity", type: ParameterType.selector, required: true }, + { text: "animation", type: ParameterType.animation, required: true }, + { text: "next state", type: ParameterType.string, required: false }, + { + text: "stop expression", + type: ParameterType.string, + required: false, + }, + { + text: "controller name", + type: ParameterType.string, + required: false, + }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/playsound.ts b/src/Lib/Data/Vanilla/playsound.ts new file mode 100644 index 0000000..125c925 --- /dev/null +++ b/src/Lib/Data/Vanilla/playsound.ts @@ -0,0 +1,26 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The playsound command */ +export const playsound: CommandInfo[] = [ + { + name: "playsound", + documentation: "Plays a specified sound at a player, in a location, and in a specific volume and pitch.", + parameters: [ + { text: "playsound", type: ParameterType.keyword, required: true }, + { text: "sound", type: ParameterType.sound, required: true }, + { + text: "player", + type: ParameterType.selector, + required: false, + options: { playerOnly: true }, + }, + { text: "position x", type: ParameterType.coordinate, required: false }, + { text: "position y", type: ParameterType.coordinate, required: false }, + { text: "position z", type: ParameterType.coordinate, required: false }, + { text: "volume", type: ParameterType.float, required: false }, + { text: "pitch", type: ParameterType.float, required: false }, + { text: "minimumVolume", type: ParameterType.float, required: false }, + ] + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/replaceitem.ts b/src/Lib/Data/Vanilla/replaceitem.ts new file mode 100644 index 0000000..f29b662 --- /dev/null +++ b/src/Lib/Data/Vanilla/replaceitem.ts @@ -0,0 +1,84 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The replaceitem command */ +export const replaceitem: CommandInfo[] = [ + { + name: "replaceitem", + documentation: "Replaces items in inventories.", + parameters: [ + { text: "replaceitem", type: ParameterType.keyword, required: true }, + { text: "block", type: ParameterType.keyword, required: true }, + { text: "position x", type: ParameterType.coordinate, required: true }, + { text: "position y", type: ParameterType.coordinate, required: true }, + { text: "position z", type: ParameterType.coordinate, required: true }, + { text: "slot.container", type: ParameterType.keyword, required: true }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { text: "item name", type: ParameterType.item, required: true }, + { text: "amount", type: ParameterType.keyword, required: false }, + { text: "data", type: ParameterType.keyword, required: false }, + { text: "components", type: ParameterType.keyword, required: false }, + ], + }, + { + name: "replaceitem", + documentation: "Replaces items in inventories.", + parameters: [ + { text: "replaceitem", type: ParameterType.keyword, required: true }, + { text: "block", type: ParameterType.keyword, required: true }, + { text: "position x", type: ParameterType.coordinate, required: true }, + { text: "position y", type: ParameterType.coordinate, required: true }, + { text: "position z", type: ParameterType.coordinate, required: true }, + { text: "slot.container", type: ParameterType.keyword, required: true }, + { text: "slotId", type: ParameterType.slotID, required: true }, + { + text: "replacemode", + type: ParameterType.replaceMode, + required: true, + }, + { text: "item name", type: ParameterType.item, required: true }, + { text: "amount", type: ParameterType.keyword, required: false }, + { text: "data", type: ParameterType.keyword, required: false }, + { text: "components", type: ParameterType.keyword, required: false }, + ], + }, + { + name: "replaceitem", + documentation: "Replaces items in inventories.", + parameters: [ + { text: "replaceitem", type: ParameterType.keyword, required: true }, + { text: "entity", type: ParameterType.keyword, required: true }, + { text: "selector", type: ParameterType.selector, required: true }, + { + text: "slot.container", + type: ParameterType.slotType, + required: true, + }, + { text: "slotId", type: ParameterType.slotID, required: true }, + { text: "item name", type: ParameterType.item, required: true }, + { text: "amount", type: ParameterType.integer, required: false }, + { text: "data", type: ParameterType.integer, required: false }, + { text: "components", type: ParameterType.jsonItem, required: false }, + ], + }, + { + name: "replaceitem", + documentation: "Replaces items in inventories.", + parameters: [ + { text: "replaceitem", type: ParameterType.keyword, required: true }, + { text: "entity", type: ParameterType.keyword, required: true }, + { text: "selector", type: ParameterType.selector, required: true }, + { text: "slot type", type: ParameterType.slotType, required: true }, + { text: "slot id", type: ParameterType.slotID, required: true }, + { + text: "replace mode", + type: ParameterType.replaceMode, + required: true, + }, + { text: "item name", type: ParameterType.item, required: true }, + { text: "amount", type: ParameterType.integer, required: false }, + { text: "data", type: ParameterType.integer, required: false }, + { text: "components", type: ParameterType.jsonItem, required: false }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/ride.ts b/src/Lib/Data/Vanilla/ride.ts new file mode 100644 index 0000000..6b2ea79 --- /dev/null +++ b/src/Lib/Data/Vanilla/ride.ts @@ -0,0 +1,74 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The ride command */ +export const ride: CommandInfo[] = [ + { + name: "ride", + documentation: + "Makes entities ride other entities, stops entities from riding, makes rides evict their riders, or summons rides or riders", + parameters: [ + { text: "ride", type: ParameterType.keyword, required: true }, + { text: "riders", type: ParameterType.selector, required: true }, + { text: "start_riding", type: ParameterType.keyword, required: true }, + { text: "ride", type: ParameterType.selector, required: true }, + { + text: "teleport", + type: ParameterType.teleportRules, + required: false, + }, + { + text: "fill mode", + type: ParameterType.ridefillMode, + required: false, + }, + ], + }, + { + name: "ride", + documentation: + "Makes entities ride other entities, stops entities from riding, makes rides evict their riders, or summons rides or riders", + parameters: [ + { text: "ride", type: ParameterType.keyword, required: true }, + { text: "riders", type: ParameterType.selector, required: true }, + { text: "stop_riding", type: ParameterType.keyword, required: true }, + ], + }, + { + name: "ride", + documentation: + "Makes entities ride other entities, stops entities from riding, makes rides evict their riders, or summons rides or riders", + parameters: [ + { text: "ride", type: ParameterType.keyword, required: true }, + { text: "rides", type: ParameterType.selector, required: true }, + { text: "evict_riders", type: ParameterType.keyword, required: true }, + ], + }, + { + name: "ride", + documentation: + "Makes entities ride other entities, stops entities from riding, makes rides evict their riders, or summons rides or riders", + parameters: [ + { text: "ride", type: ParameterType.keyword, required: true }, + { text: "riders", type: ParameterType.selector, required: true }, + { text: "summon_ride", type: ParameterType.keyword, required: true }, + { text: "entity type", type: ParameterType.entity, required: true }, + { text: "ride rules", type: ParameterType.rideRules, required: true }, + { text: "event", type: ParameterType.event, required: true }, + { text: "name", type: ParameterType.string, required: true }, + ], + }, + { + name: "ride", + documentation: + "Makes entities ride other entities, stops entities from riding, makes rides evict their riders, or summons rides or riders", + parameters: [ + { text: "ride", type: ParameterType.keyword, required: true }, + { text: "rides", type: ParameterType.selector, required: true }, + { text: "summon_rider", type: ParameterType.keyword, required: true }, + { text: "entity type", type: ParameterType.entity, required: true }, + { text: "event", type: ParameterType.event, required: true }, + { text: "name", type: ParameterType.string, required: true }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/say.ts b/src/Lib/Data/Vanilla/say.ts new file mode 100644 index 0000000..0877297 --- /dev/null +++ b/src/Lib/Data/Vanilla/say.ts @@ -0,0 +1,14 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The say command */ +export const say: CommandInfo[] = [ + { + name: "say", + documentation: "Displays a message to multiple players.", + parameters: [ + { text: "say", type: ParameterType.keyword, required: true }, + { text: "message", type: ParameterType.message, required: true }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/schedule.ts b/src/Lib/Data/Vanilla/schedule.ts new file mode 100644 index 0000000..c22de9b --- /dev/null +++ b/src/Lib/Data/Vanilla/schedule.ts @@ -0,0 +1,53 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The schedule command */ +export const schedule: CommandInfo[] = [ + { + name: "schedule", + documentation: "Schedules an action to be executed once an area is loaded, or after a certain amount of time", + parameters: [ + { text: "schedule", type: ParameterType.keyword, required: true }, + { text: "on_area_loaded", type: ParameterType.keyword, required: true }, + { text: "add", type: ParameterType.keyword, required: true }, + { text: "from x", type: ParameterType.coordinate, required: true }, + { text: "from y", type: ParameterType.coordinate, required: true }, + { text: "from z", type: ParameterType.coordinate, required: true }, + { text: "to x", type: ParameterType.coordinate, required: true }, + { text: "to y", type: ParameterType.coordinate, required: true }, + { text: "to z", type: ParameterType.coordinate, required: true }, + { text: "function", type: ParameterType.function, required: true }, + ], + }, + { + name: "schedule", + documentation: "Schedules an action to be executed once an area is loaded, or after a certain amount of time", + parameters: [ + { text: "schedule", type: ParameterType.keyword, required: true }, + { text: "on_area_loaded", type: ParameterType.keyword, required: true }, + { text: "add", type: ParameterType.keyword, required: true }, + { text: "circle", type: ParameterType.keyword, required: true }, + { text: "center x", type: ParameterType.coordinate, required: true }, + { text: "center y", type: ParameterType.coordinate, required: true }, + { text: "center z", type: ParameterType.coordinate, required: true }, + { text: "radius", type: ParameterType.integer, required: true }, + { text: "function", type: ParameterType.function, required: true }, + ], + }, + { + name: "schedule", + documentation: "Schedules an action to be executed once an area is loaded, or after a certain amount of time", + parameters: [ + { text: "schedule", type: ParameterType.keyword, required: true }, + { text: "on_area_loaded", type: ParameterType.keyword, required: true }, + { text: "add", type: ParameterType.keyword, required: true }, + { text: "tickingarea", type: ParameterType.keyword, required: true }, + { + text: "tickingarea name", + type: ParameterType.tickingarea, + required: true, + }, + { text: "function", type: ParameterType.function, required: true }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/scoreboard.ts b/src/Lib/Data/Vanilla/scoreboard.ts new file mode 100644 index 0000000..86616d8 --- /dev/null +++ b/src/Lib/Data/Vanilla/scoreboard.ts @@ -0,0 +1,248 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The scoreboard command */ +export const scoreboard: CommandInfo[] = [ + { + name: "scoreboard", + documentation: "Add a new objective to the scoreboard.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "objectives", type: ParameterType.keyword, required: true }, + { text: "add", type: ParameterType.keyword, required: true }, + { text: "name", type: ParameterType.objective, required: true }, + { text: "dummy", type: ParameterType.keyword, required: true }, + { text: "display name", type: ParameterType.string, required: false }, + ], + }, + { + name: "scoreboard", + documentation: "Display a list of objectives.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "objectives", type: ParameterType.keyword, required: true }, + { text: "list", type: ParameterType.keyword, required: true }, + ], + }, + { + name: "scoreboard", + documentation: "Removes the given objective from chat.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "objectives", type: ParameterType.keyword, required: true }, + { text: "remove", type: ParameterType.keyword, required: true }, + { text: "name", type: ParameterType.objective, required: true }, + ], + }, + { + name: "scoreboard", + documentation: "Sets the objective on the list.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "objectives", type: ParameterType.keyword, required: true }, + { text: "setdisplay", type: ParameterType.keyword, required: true }, + { text: "list", type: ParameterType.keyword, required: true }, + { text: "objective", type: ParameterType.objective, required: false }, + { text: "ascending", type: ParameterType.keyword, required: false }, + ], + }, + { + name: "scoreboard", + documentation: "Sets the objective on the list.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "objectives", type: ParameterType.keyword, required: true }, + { text: "setdisplay", type: ParameterType.keyword, required: true }, + { text: "list", type: ParameterType.keyword, required: true }, + { text: "objective", type: ParameterType.objective, required: false }, + { text: "descending", type: ParameterType.keyword, required: false }, + ], + }, + { + name: "scoreboard", + documentation: "Sets the objective on the sidebar.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "objectives", type: ParameterType.keyword, required: true }, + { text: "setdisplay", type: ParameterType.keyword, required: true }, + { text: "sidebar", type: ParameterType.keyword, required: true }, + { text: "objective", type: ParameterType.objective, required: false }, + { text: "ascending", type: ParameterType.keyword, required: false }, + ], + }, + { + name: "scoreboard", + documentation: "Sets the objective on the sidebar.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "objectives", type: ParameterType.keyword, required: true }, + { text: "setdisplay", type: ParameterType.keyword, required: true }, + { text: "sidebar", type: ParameterType.keyword, required: true }, + { text: "objective", type: ParameterType.objective, required: false }, + { text: "descending", type: ParameterType.keyword, required: false }, + ], + }, + { + name: "scoreboard", + documentation: "Sets the objective under the name.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "objectives", type: ParameterType.keyword, required: true }, + { text: "setdisplay", type: ParameterType.keyword, required: true }, + { text: "below_name", type: ParameterType.keyword, required: true }, + { text: "objective", type: ParameterType.objective, required: false }, + ], + }, + { + name: "scoreboard", + documentation: "Adds the given value onto the specified entities.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "players", type: ParameterType.keyword, required: true }, + { text: "add", type: ParameterType.keyword, required: true }, + { + text: "entity", + type: ParameterType.selector, + required: true, + options: { allowFakePlayers: true }, + }, + { text: "objective", type: ParameterType.objective, required: true }, + { text: "count", type: ParameterType.integer, required: true }, + ], + }, + { + name: "scoreboard", + documentation: "List values of the given entity and their scores.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "players", type: ParameterType.keyword, required: true }, + { text: "list", type: ParameterType.keyword, required: true }, + { + text: "entity", + type: ParameterType.selector, + required: false, + options: { allowFakePlayers: true }, + }, + ], + }, + { + name: "scoreboard", + documentation: "Executes a scoreboard operation between two entities.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "players", type: ParameterType.keyword, required: true }, + { text: "operation", type: ParameterType.keyword, required: true }, + { + text: "destination", + type: ParameterType.selector, + required: true, + options: { allowFakePlayers: true }, + }, + { text: "objective", type: ParameterType.objective, required: true }, + { text: "operation", type: ParameterType.operation, required: true }, + { + text: "selector", + type: ParameterType.selector, + required: true, + options: { allowFakePlayers: true }, + }, + { text: "objective", type: ParameterType.objective, required: true }, + ], + }, + { + name: "scoreboard", + documentation: "Generates a random value onto the given entity.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "players", type: ParameterType.keyword, required: true }, + { text: "random", type: ParameterType.keyword, required: true }, + { + text: "entity", + type: ParameterType.selector, + required: true, + options: { allowFakePlayers: true }, + }, + { text: "objective", type: ParameterType.objective, required: true }, + { text: "min", type: ParameterType.integer, required: true }, + { text: "max", type: ParameterType.integer, required: true }, + ], + }, + { + name: "scoreboard", + documentation: "Substract a value from the given entities.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "players", type: ParameterType.keyword, required: true }, + { text: "remove", type: ParameterType.keyword, required: true }, + { + text: "entity", + type: ParameterType.selector, + required: true, + options: { allowFakePlayers: true }, + }, + { text: "objective", type: ParameterType.objective, required: true }, + { text: "count", type: ParameterType.integer, required: true }, + ], + }, + { + name: "scoreboard", + documentation: "Removes the scores from the given entities.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "players", type: ParameterType.keyword, required: true }, + { text: "reset", type: ParameterType.keyword, required: true }, + { + text: "entity", + type: ParameterType.selector, + required: true, + options: { wildcard: true, allowFakePlayers: true }, + }, + { text: "objective", type: ParameterType.objective, required: false }, + ], + }, + { + name: "scoreboard", + documentation: "Sets the scores of the entities to a specific value.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "players", type: ParameterType.keyword, required: true }, + { text: "set", type: ParameterType.keyword, required: true }, + { + text: "entity", + type: ParameterType.selector, + required: true, + options: { allowFakePlayers: true }, + }, + { text: "objective", type: ParameterType.objective, required: true }, + { text: "score", type: ParameterType.integer, required: true }, + ], + }, + { + name: "scoreboard", + documentation: "A test statement on wheter or not the entity has the specified value/range.", + parameters: [ + { text: "scoreboard", type: ParameterType.keyword, required: true }, + { text: "players", type: ParameterType.keyword, required: true }, + { text: "test", type: ParameterType.keyword, required: true }, + { + text: "entity", + type: ParameterType.selector, + required: true, + options: { allowFakePlayers: true }, + }, + { text: "objective", type: ParameterType.objective, required: true }, + { + text: "min", + type: ParameterType.integer, + required: true, + options: { wildcard: true }, + }, + { + text: "max", + type: ParameterType.integer, + required: true, + options: { wildcard: true }, + }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/setblock.ts b/src/Lib/Data/Vanilla/setblock.ts new file mode 100644 index 0000000..5164e7f --- /dev/null +++ b/src/Lib/Data/Vanilla/setblock.ts @@ -0,0 +1,44 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The setblock command */ +export const setblock: CommandInfo[] = [ + { + name: "setblock", + documentation: "Places the specified block.", + parameters: [ + { text: "setblock", type: ParameterType.keyword, required: true }, + { text: "position x", type: ParameterType.coordinate, required: true }, + { text: "position y", type: ParameterType.coordinate, required: true }, + { text: "position z", type: ParameterType.coordinate, required: true }, + { text: "tile name", type: ParameterType.block, required: true }, + { text: "tile data", type: ParameterType.integer, required: false }, + { + text: "old block mode", + type: ParameterType.oldBlockMode, + required: false, + }, + ], + }, + { + name: "setblock", + documentation: "Places the specified block.", + parameters: [ + { text: "setblock", type: ParameterType.keyword, required: true }, + { text: "position x", type: ParameterType.coordinate, required: true }, + { text: "position y", type: ParameterType.coordinate, required: true }, + { text: "position z", type: ParameterType.coordinate, required: true }, + { text: "tile name", type: ParameterType.block, required: true }, + { + text: "block states", + type: ParameterType.blockStates, + required: false, + }, + { + text: "old block mode", + type: ParameterType.oldBlockMode, + required: false, + }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/setmaxplayers.ts b/src/Lib/Data/Vanilla/setmaxplayers.ts new file mode 100644 index 0000000..09adc09 --- /dev/null +++ b/src/Lib/Data/Vanilla/setmaxplayers.ts @@ -0,0 +1,19 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The setmaxplayers command */ +export const setmaxplayers: CommandInfo[] = [ + { + name: "setmaxplayers", + documentation: "Sets the maximum number of players for this game session", + parameters: [ + { text: "setmaxplayers", type: ParameterType.keyword, required: true }, + { + text: "maximum players", + type: ParameterType.integer, + required: true, + options: { minimum: 1 }, + }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/setworldspawn.ts b/src/Lib/Data/Vanilla/setworldspawn.ts new file mode 100644 index 0000000..45def07 --- /dev/null +++ b/src/Lib/Data/Vanilla/setworldspawn.ts @@ -0,0 +1,16 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The setworldspawn command */ +export const setworldspawn: CommandInfo[] = [ + { + name: "setworldspawn", + documentation: "Sets the worldspawn.", + parameters: [ + { text: "setworldspawn", type: ParameterType.keyword, required: true }, + { text: "spawn x", type: ParameterType.coordinate, required: false }, + { text: "spawn y", type: ParameterType.coordinate, required: false }, + { text: "spawn z", type: ParameterType.coordinate, required: false }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/spawnpoint.ts b/src/Lib/Data/Vanilla/spawnpoint.ts new file mode 100644 index 0000000..584d46e --- /dev/null +++ b/src/Lib/Data/Vanilla/spawnpoint.ts @@ -0,0 +1,22 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The spawnpoint command */ +export const spawnpoint: CommandInfo[] = [ + { + name: "spawnpoint", + documentation: "Sets the spawnpoint of the given entities.", + parameters: [ + { text: "spawnpoint", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: false, + options: { playerOnly: true }, + }, + { text: "spawn x", type: ParameterType.coordinate, required: false }, + { text: "spawn y", type: ParameterType.coordinate, required: false }, + { text: "spawn z", type: ParameterType.coordinate, required: false }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/spreadplayers.ts b/src/Lib/Data/Vanilla/spreadplayers.ts new file mode 100644 index 0000000..e637574 --- /dev/null +++ b/src/Lib/Data/Vanilla/spreadplayers.ts @@ -0,0 +1,18 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The spreadplayers command */ +export const spreadplayers: CommandInfo[] = [ + { + name: "spreadplayers", + documentation: "Spreads the players around.", + parameters: [ + { text: "spreadplayers", type: ParameterType.keyword, required: true }, + { text: "x", type: ParameterType.coordinate, required: true }, + { text: "z", type: ParameterType.coordinate, required: true }, + { text: "spread distance", type: ParameterType.float, required: true }, + { text: "max range", type: ParameterType.float, required: true }, + { text: "victim", type: ParameterType.selector, required: true }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/stopsound.ts b/src/Lib/Data/Vanilla/stopsound.ts new file mode 100644 index 0000000..7f33015 --- /dev/null +++ b/src/Lib/Data/Vanilla/stopsound.ts @@ -0,0 +1,20 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The stopsound command */ +export const stopsound: CommandInfo[] = [ + { + name: "stopsound", + documentation: "Stops all playing sounds on the given players.", + parameters: [ + { text: "stopsound", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "sound", type: ParameterType.sound, required: false }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/structure.ts b/src/Lib/Data/Vanilla/structure.ts new file mode 100644 index 0000000..4dc5d53 --- /dev/null +++ b/src/Lib/Data/Vanilla/structure.ts @@ -0,0 +1,129 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The structure command */ +export const structure: CommandInfo[] = [ + { + name: "structure", + documentation: "Saves the given area into a structure.", + parameters: [ + { text: "structure", type: ParameterType.keyword, required: true }, + { text: "save", type: ParameterType.keyword, required: true }, + { text: "name", type: ParameterType.structure, required: true }, + { text: "from x", type: ParameterType.coordinate, required: true }, + { text: "from y", type: ParameterType.coordinate, required: true }, + { text: "from z", type: ParameterType.coordinate, required: true }, + { text: "to x", type: ParameterType.coordinate, required: true }, + { text: "to y", type: ParameterType.coordinate, required: true }, + { text: "to z", type: ParameterType.coordinate, required: true }, + { text: "save mode", type: ParameterType.saveMode, required: false }, + ], + }, + { + name: "structure", + documentation: "Saves the given area into a structure.", + parameters: [ + { text: "structure", type: ParameterType.keyword, required: true }, + { text: "save", type: ParameterType.keyword, required: true }, + { text: "name", type: ParameterType.structure, required: true }, + { text: "from x", type: ParameterType.coordinate, required: true }, + { text: "from y", type: ParameterType.coordinate, required: true }, + { text: "from z", type: ParameterType.coordinate, required: true }, + { text: "to x", type: ParameterType.coordinate, required: true }, + { text: "to y", type: ParameterType.coordinate, required: true }, + { text: "to z", type: ParameterType.coordinate, required: true }, + { + text: "include entities", + type: ParameterType.boolean, + required: false, + }, + { text: "save mode", type: ParameterType.saveMode, required: false }, + { + text: "include blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "structure", + documentation: "Loads a structure to the world.", + parameters: [ + { text: "structure", type: ParameterType.keyword, required: true }, + { text: "load", type: ParameterType.keyword, required: true }, + { text: "name", type: ParameterType.structure, required: true }, + { text: "to x", type: ParameterType.coordinate, required: true }, + { text: "to y", type: ParameterType.coordinate, required: true }, + { text: "to z", type: ParameterType.coordinate, required: true }, + { text: "rotation", type: ParameterType.rotation, required: false }, + { text: "mirror", type: ParameterType.mirror, required: false }, + { + text: "include entities", + type: ParameterType.boolean, + required: false, + }, + { + text: "include blocks", + type: ParameterType.boolean, + required: false, + }, + { + text: "water logged blocks", + type: ParameterType.boolean, + required: false, + }, + { text: "integrity", type: ParameterType.float, required: false }, + { text: "seed", type: ParameterType.string, required: false }, + ], + }, + { + name: "structure", + documentation: "Loads a structure to the world.", + parameters: [ + { text: "structure", type: ParameterType.keyword, required: true }, + { text: "load", type: ParameterType.keyword, required: true }, + { text: "name", type: ParameterType.structure, required: true }, + { text: "to x", type: ParameterType.coordinate, required: true }, + { text: "to y", type: ParameterType.coordinate, required: true }, + { text: "to z", type: ParameterType.coordinate, required: true }, + { text: "rotation", type: ParameterType.rotation, required: false }, + { text: "mirror", type: ParameterType.mirror, required: false }, + { + text: "animation mode", + type: ParameterType.structureAnimationMode, + required: false, + }, + { + text: "animation seconds", + type: ParameterType.float, + required: false, + }, + { + text: "include entities", + type: ParameterType.boolean, + required: false, + }, + { + text: "include blocks", + type: ParameterType.boolean, + required: false, + }, + { + text: "water logged blocks", + type: ParameterType.boolean, + required: false, + }, + { text: "integrity", type: ParameterType.float, required: false }, + { text: "seed", type: ParameterType.string, required: false }, + ], + }, + { + name: "structure", + documentation: "Removes the structure from the contents.", + parameters: [ + { text: "structure", type: ParameterType.keyword, required: true }, + { text: "delete", type: ParameterType.keyword, required: true }, + { text: "name", type: ParameterType.structure, required: true }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/summon.ts b/src/Lib/Data/Vanilla/summon.ts new file mode 100644 index 0000000..c51fa98 --- /dev/null +++ b/src/Lib/Data/Vanilla/summon.ts @@ -0,0 +1,31 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The summon command */ +export const summon: CommandInfo[] = [ + { + name: "summon", + documentation: "Summons an entity.", + parameters: [ + { text: "summon", type: ParameterType.keyword, required: true }, + { text: "entity type", type: ParameterType.entity, required: true }, + { text: "spawnPos x", type: ParameterType.coordinate, required: false }, + { text: "spawnPos y", type: ParameterType.coordinate, required: false }, + { text: "spawnPos z", type: ParameterType.coordinate, required: false }, + { text: "spawnevent", type: ParameterType.event, required: false }, + { text: "name", type: ParameterType.string, required: false }, + ], + }, + { + name: "summon", + documentation: "Summons an entity.", + parameters: [ + { text: "summon", type: ParameterType.keyword, required: true }, + { text: "entity type", type: ParameterType.entity, required: true }, + { text: "name", type: ParameterType.string, required: false }, + { text: "spawnPos x", type: ParameterType.coordinate, required: false }, + { text: "spawnPos y", type: ParameterType.coordinate, required: false }, + { text: "spawnPos z", type: ParameterType.coordinate, required: false }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/tag.ts b/src/Lib/Data/Vanilla/tag.ts new file mode 100644 index 0000000..9dcb6e8 --- /dev/null +++ b/src/Lib/Data/Vanilla/tag.ts @@ -0,0 +1,40 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The tag command */ +export const tag: CommandInfo[] = [ + { + name: "tag", + documentation: "Manages tags stored in entities.", + parameters: [ + { text: "tag", type: ParameterType.keyword, required: true }, + { text: "selector", type: ParameterType.selector, required: true }, + { text: "add", type: ParameterType.keyword, required: true }, + { text: "name", type: ParameterType.tag, required: true }, + ], + }, + { + name: "tag", + documentation: "Manages tags stored in entities.", + parameters: [ + { text: "tag", type: ParameterType.keyword, required: true }, + { text: "selector", type: ParameterType.selector, required: true }, + { text: "list", type: ParameterType.keyword, required: true }, + ], + }, + { + name: "tag", + documentation: "Manages tags stored in entities.", + parameters: [ + { text: "tag", type: ParameterType.keyword, required: true }, + { + text: "selector", + type: ParameterType.selector, + required: true, + options: { wildcard: true }, + }, + { text: "remove", type: ParameterType.keyword, required: true }, + { text: "name", type: ParameterType.tag, required: true }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/teleport.ts b/src/Lib/Data/Vanilla/teleport.ts new file mode 100644 index 0000000..2523003 --- /dev/null +++ b/src/Lib/Data/Vanilla/teleport.ts @@ -0,0 +1,367 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The teleport command */ +export const teleport: CommandInfo[] = [ + { + name: "teleport", + documentation: "Teleport Entities.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { text: "destination", type: ParameterType.selector, required: true }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "teleport", + documentation: "Teleport Entities.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { + text: "destination x", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination y", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination z", + type: ParameterType.coordinate, + required: true, + }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "teleport", + documentation: "Teleport Entities.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { text: "victim", type: ParameterType.selector, required: true }, + { text: "destination", type: ParameterType.selector, required: true }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "teleport", + documentation: "Teleport Entities.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { text: "victim", type: ParameterType.selector, required: true }, + { + text: "destination x", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination y", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination z", + type: ParameterType.coordinate, + required: true, + }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "teleport", + documentation: "Teleport Entities.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { text: "destination", type: ParameterType.selector, required: true }, + { text: "yRot", type: ParameterType.coordinate, required: false }, + { text: "xRot", type: ParameterType.coordinate, required: false }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "teleport", + documentation: "Teleport Entities.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { + text: "destination x", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination y", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination z", + type: ParameterType.coordinate, + required: true, + }, + { text: "yRot", type: ParameterType.coordinate, required: false }, + { text: "xRot", type: ParameterType.coordinate, required: false }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "teleport", + documentation: "Teleport the entity to the destination with rotation.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { text: "victim", type: ParameterType.selector, required: true }, + { text: "destination", type: ParameterType.selector, required: true }, + { text: "facing", type: ParameterType.keyword, required: true }, + { text: "yRot", type: ParameterType.coordinate, required: false }, + { text: "xRot", type: ParameterType.coordinate, required: false }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "teleport", + documentation: "Teleport Entities.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { text: "victim", type: ParameterType.selector, required: true }, + { + text: "destination x", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination y", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination z", + type: ParameterType.coordinate, + required: true, + }, + { text: "yRot", type: ParameterType.coordinate, required: false }, + { text: "xRot", type: ParameterType.coordinate, required: false }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "teleport", + documentation: "Teleport Entities.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { text: "destination", type: ParameterType.selector, required: true }, + { text: "facing", type: ParameterType.keyword, required: true }, + { text: "look at", type: ParameterType.selector, required: true }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "teleport", + documentation: "Teleport Entities.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { text: "destination", type: ParameterType.selector, required: true }, + { text: "facing", type: ParameterType.keyword, required: true }, + { text: "look at x", type: ParameterType.coordinate, required: true }, + { text: "look at y", type: ParameterType.coordinate, required: true }, + { text: "look at z", type: ParameterType.coordinate, required: true }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "teleport", + documentation: "Teleport Entities.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { text: "victim", type: ParameterType.selector, required: true }, + { text: "destination", type: ParameterType.selector, required: true }, + { text: "facing", type: ParameterType.keyword, required: true }, + { text: "look at", type: ParameterType.selector, required: true }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "teleport", + documentation: "Teleport Entities.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { text: "victim", type: ParameterType.selector, required: true }, + { text: "destination", type: ParameterType.selector, required: true }, + { text: "facing", type: ParameterType.keyword, required: true }, + { text: "look at x", type: ParameterType.coordinate, required: true }, + { text: "look at y", type: ParameterType.coordinate, required: true }, + { text: "look at z", type: ParameterType.coordinate, required: true }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "teleport", + documentation: "Teleport Entities.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { + text: "destination x", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination y", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination z", + type: ParameterType.coordinate, + required: true, + }, + { text: "facing", type: ParameterType.keyword, required: true }, + { text: "look at", type: ParameterType.selector, required: true }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "teleport", + documentation: "Teleport Entities.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { + text: "destination x", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination y", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination z", + type: ParameterType.coordinate, + required: true, + }, + { text: "facing", type: ParameterType.keyword, required: true }, + { text: "look at x", type: ParameterType.coordinate, required: true }, + { text: "look at y", type: ParameterType.coordinate, required: true }, + { text: "look at z", type: ParameterType.coordinate, required: true }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "teleport", + documentation: "Teleport Entities.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { text: "victim", type: ParameterType.selector, required: true }, + { + text: "destination x", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination y", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination z", + type: ParameterType.coordinate, + required: true, + }, + { text: "facing", type: ParameterType.keyword, required: true }, + { text: "look at", type: ParameterType.selector, required: true }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, + { + name: "teleport", + documentation: "Teleport Entities.", + parameters: [ + { text: "teleport", type: ParameterType.keyword, required: true }, + { text: "victim", type: ParameterType.selector, required: true }, + { + text: "destination x", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination y", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination z", + type: ParameterType.coordinate, + required: true, + }, + { text: "facing", type: ParameterType.keyword, required: true }, + { text: "look at x", type: ParameterType.coordinate, required: true }, + { text: "look at y", type: ParameterType.coordinate, required: true }, + { text: "look at z", type: ParameterType.coordinate, required: true }, + { + text: "check for blocks", + type: ParameterType.boolean, + required: false, + }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/tell.ts b/src/Lib/Data/Vanilla/tell.ts new file mode 100644 index 0000000..a22f410 --- /dev/null +++ b/src/Lib/Data/Vanilla/tell.ts @@ -0,0 +1,20 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The tell command */ +export const tell: CommandInfo[] = [ + { + name: "tell", + documentation: "Sends a private message to one or more players.", + parameters: [ + { text: "tell", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "message", type: ParameterType.message, required: true }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/tellraw.ts b/src/Lib/Data/Vanilla/tellraw.ts new file mode 100644 index 0000000..d742761 --- /dev/null +++ b/src/Lib/Data/Vanilla/tellraw.ts @@ -0,0 +1,24 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The tellraw command */ +export const tellraw: CommandInfo[] = [ + { + name: "tellraw", + documentation: "Sends a json messsage to players.", + parameters: [ + { text: "tellraw", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { + text: "json raw text", + type: ParameterType.jsonRawText, + required: true, + }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/testfor.ts b/src/Lib/Data/Vanilla/testfor.ts new file mode 100644 index 0000000..55008cb --- /dev/null +++ b/src/Lib/Data/Vanilla/testfor.ts @@ -0,0 +1,14 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The testfor command */ +export const testfor: CommandInfo[] = [ + { + name: "testfor", + documentation: "Counts entities (players, mobs, items, etc.) matching specified conditions.", + parameters: [ + { text: "testfor", type: ParameterType.keyword, required: true }, + { text: "victim", type: ParameterType.selector, required: true }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/testforblock.ts b/src/Lib/Data/Vanilla/testforblock.ts new file mode 100644 index 0000000..1de594e --- /dev/null +++ b/src/Lib/Data/Vanilla/testforblock.ts @@ -0,0 +1,104 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The testforblock command */ +export const testforblock: CommandInfo[] = [ + { + name: "testforblock", + documentation: "tests whether a certain block is a specific location.", + parameters: [ + { text: "testforblock", type: ParameterType.keyword, required: true }, + { text: "position x", type: ParameterType.coordinate, required: true }, + { text: "position y", type: ParameterType.coordinate, required: true }, + { text: "position z", type: ParameterType.coordinate, required: true }, + { text: "tile name", type: ParameterType.block, required: true }, + { text: "data value", type: ParameterType.integer, required: false }, + ], + }, + { + name: "testforblocks", + documentation: "Tests whether the blocks in two regions match.", + parameters: [ + { text: "testforblocks", type: ParameterType.keyword, required: true }, + { text: "begin x", type: ParameterType.coordinate, required: true }, + { text: "begin y", type: ParameterType.coordinate, required: true }, + { text: "begin z", type: ParameterType.coordinate, required: true }, + { text: "end x", type: ParameterType.coordinate, required: true }, + { text: "end y", type: ParameterType.coordinate, required: true }, + { text: "end z", type: ParameterType.coordinate, required: true }, + { + text: "destination x", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination y", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination z", + type: ParameterType.coordinate, + required: true, + }, + ], + }, + { + name: "testforblocks", + documentation: "Tests whether the blocks in two regions match.", + parameters: [ + { text: "testforblocks", type: ParameterType.keyword, required: true }, + { text: "begin x", type: ParameterType.coordinate, required: true }, + { text: "begin y", type: ParameterType.coordinate, required: true }, + { text: "begin z", type: ParameterType.coordinate, required: true }, + { text: "end x", type: ParameterType.coordinate, required: true }, + { text: "end y", type: ParameterType.coordinate, required: true }, + { text: "end z", type: ParameterType.coordinate, required: true }, + { + text: "destination x", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination y", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination z", + type: ParameterType.coordinate, + required: true, + }, + { text: "all", type: ParameterType.keyword, required: true }, + ], + }, + { + name: "testforblocks", + documentation: "Tests whether the blocks in two regions match.", + parameters: [ + { text: "testforblocks", type: ParameterType.keyword, required: true }, + { text: "begin x", type: ParameterType.coordinate, required: true }, + { text: "begin y", type: ParameterType.coordinate, required: true }, + { text: "begin z", type: ParameterType.coordinate, required: true }, + { text: "end x", type: ParameterType.coordinate, required: true }, + { text: "end y", type: ParameterType.coordinate, required: true }, + { text: "end z", type: ParameterType.coordinate, required: true }, + { + text: "destination x", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination y", + type: ParameterType.coordinate, + required: true, + }, + { + text: "destination z", + type: ParameterType.coordinate, + required: true, + }, + { text: "masked", type: ParameterType.keyword, required: true }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/tickingarea.ts b/src/Lib/Data/Vanilla/tickingarea.ts new file mode 100644 index 0000000..f0c351e --- /dev/null +++ b/src/Lib/Data/Vanilla/tickingarea.ts @@ -0,0 +1,76 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The tickingarea command */ +export const tickingarea: CommandInfo[] = [ + { + name: "tickingarea", + documentation: "Add, remove, or list ticking areas.", + parameters: [ + { text: "tickingarea", type: ParameterType.keyword, required: true }, + { text: "add", type: ParameterType.keyword, required: true }, + { text: "begin x", type: ParameterType.coordinate, required: true }, + { text: "begin y", type: ParameterType.coordinate, required: true }, + { text: "begin z", type: ParameterType.coordinate, required: true }, + { text: "end x", type: ParameterType.coordinate, required: true }, + { text: "end y", type: ParameterType.coordinate, required: true }, + { text: "end z", type: ParameterType.coordinate, required: true }, + { text: "name", type: ParameterType.tickingarea, required: false }, + ], + }, + { + name: "tickingarea", + documentation: "Add, remove, or list ticking areas.", + parameters: [ + { text: "tickingarea", type: ParameterType.keyword, required: true }, + { text: "add", type: ParameterType.keyword, required: true }, + { text: "circle", type: ParameterType.keyword, required: true }, + { text: "center x", type: ParameterType.coordinate, required: true }, + { text: "center y", type: ParameterType.coordinate, required: true }, + { text: "center z", type: ParameterType.coordinate, required: true }, + { text: "radius", type: ParameterType.integer, required: true }, + { text: "name", type: ParameterType.tickingarea, required: false }, + ], + }, + { + name: "tickingarea", + documentation: "Add, remove, or list ticking areas.", + parameters: [ + { text: "tickingarea", type: ParameterType.keyword, required: true }, + { text: "list", type: ParameterType.keyword, required: true }, + { + text: "all-dimensions", + type: ParameterType.keyword, + required: false, + }, + ], + }, + { + name: "tickingarea", + documentation: "Add, remove, or list ticking areas.", + parameters: [ + { text: "tickingarea", type: ParameterType.keyword, required: true }, + { text: "remove", type: ParameterType.keyword, required: true }, + { text: "x", type: ParameterType.coordinate, required: true }, + { text: "y", type: ParameterType.coordinate, required: true }, + { text: "z", type: ParameterType.coordinate, required: true }, + ], + }, + { + name: "tickingarea", + documentation: "Add, remove, or list ticking areas.", + parameters: [ + { text: "tickingarea", type: ParameterType.keyword, required: true }, + { text: "remove", type: ParameterType.keyword, required: true }, + { text: "name", type: ParameterType.tickingarea, required: true }, + ], + }, + { + name: "tickingarea", + documentation: "Add, remove, or list ticking areas.", + parameters: [ + { text: "tickingarea", type: ParameterType.keyword, required: true }, + { text: "remove_all", type: ParameterType.keyword, required: true }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/time.ts b/src/Lib/Data/Vanilla/time.ts new file mode 100644 index 0000000..ede84f1 --- /dev/null +++ b/src/Lib/Data/Vanilla/time.ts @@ -0,0 +1,60 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The time command */ +export const time: CommandInfo[] = [ + { + name: "time", + documentation: "Add to the world's game time. Changes or queries the world's game time.", + parameters: [ + { text: "time", type: ParameterType.keyword, required: true }, + { text: "add", type: ParameterType.keyword, required: true }, + { text: "amount", type: ParameterType.integer, required: true }, + ], + }, + { + name: "time", + documentation: "Changes or queries the world's game time.", + parameters: [ + { text: "time", type: ParameterType.keyword, required: true }, + { text: "query", type: ParameterType.keyword, required: true }, + { text: "daytime", type: ParameterType.keyword, required: true }, + ], + }, + { + name: "time", + documentation: "Queries the world's game time.", + parameters: [ + { text: "time", type: ParameterType.keyword, required: true }, + { text: "query", type: ParameterType.keyword, required: true }, + { text: "gametime", type: ParameterType.integer, required: true }, + ], + }, + { + name: "time", + documentation: "Changes or queries the world's game time.", + parameters: [ + { text: "time", type: ParameterType.keyword, required: true }, + { text: "query", type: ParameterType.keyword, required: true }, + { text: "day", type: ParameterType.keyword, required: true }, + ], + }, + { + name: "time", + documentation: "Sets the world's game time.", + parameters: [ + { text: "time", type: ParameterType.keyword, required: true }, + { text: "set", type: ParameterType.keyword, required: true }, + { text: "amount", type: ParameterType.integer, required: true }, + ], + }, + { + name: "time", + documentation: "Sets the world's game time.", + parameters: [ + { text: "time", type: ParameterType.keyword, required: true }, + { text: "set", type: ParameterType.keyword, required: true }, + { text: "amount", type: ParameterType.time, required: true }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/title.ts b/src/Lib/Data/Vanilla/title.ts new file mode 100644 index 0000000..bbbd203 --- /dev/null +++ b/src/Lib/Data/Vanilla/title.ts @@ -0,0 +1,96 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The title command */ +export const title: CommandInfo[] = [ + { + name: "title", + documentation: "Controls text displayed on the screen.", + parameters: [ + { text: "title", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "title", type: ParameterType.keyword, required: true }, + { text: "titletext", type: ParameterType.message, required: true }, + ], + }, + { + name: "title", + documentation: "Sets the sub titles.", + parameters: [ + { text: "title", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "subtitle", type: ParameterType.keyword, required: true }, + { text: "titletext", type: ParameterType.message, required: true }, + ], + }, + { + name: "title", + documentation: "Sets the action bar.", + parameters: [ + { text: "title", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "actionbar", type: ParameterType.keyword, required: true }, + { text: "titletext", type: ParameterType.message, required: true }, + ], + }, + { + name: "title", + documentation: "Clears the title & subtitle from the given players", + parameters: [ + { text: "title", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "clear", type: ParameterType.keyword, required: true }, + ], + }, + { + name: "title", + documentation: "Clears the title & subtitle from the given players", + parameters: [ + { text: "title", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "reset", type: ParameterType.keyword, required: true }, + ], + }, + { + name: "title", + documentation: "Set the title timings.", + parameters: [ + { text: "title", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "times", type: ParameterType.keyword, required: true }, + { text: "fade in", type: ParameterType.integer, required: true }, + { text: "stay", type: ParameterType.integer, required: true }, + { text: "fade out", type: ParameterType.integer, required: true }, + ], + }, +]; \ No newline at end of file diff --git a/src/Lib/Data/Vanilla/titleraw.ts b/src/Lib/Data/Vanilla/titleraw.ts new file mode 100644 index 0000000..2aeb0e1 --- /dev/null +++ b/src/Lib/Data/Vanilla/titleraw.ts @@ -0,0 +1,108 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The titleraw command */ +export const titleraw: CommandInfo[] = [ + { + name: "titleraw", + documentation: "Sets the title.", + parameters: [ + { text: "titleraw", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "title", type: ParameterType.keyword, required: true }, + { + text: "json raw text", + type: ParameterType.jsonRawText, + required: true, + }, + ], + }, + { + name: "titleraw", + documentation: "Sets the sub titles.", + parameters: [ + { text: "titleraw", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "subtitle", type: ParameterType.keyword, required: true }, + { + text: "json raw text", + type: ParameterType.jsonRawText, + required: true, + }, + ], + }, + { + name: "titleraw", + documentation: "Sets the action bar.", + parameters: [ + { text: "titleraw", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "actionbar", type: ParameterType.keyword, required: true }, + { + text: "json raw text", + type: ParameterType.jsonRawText, + required: true, + }, + ], + }, + { + name: "titleraw", + documentation: "Clears the title & subtitle from the given players", + parameters: [ + { text: "titleraw", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "clear", type: ParameterType.keyword, required: true }, + ], + }, + { + name: "titleraw", + documentation: "Clears the title & subtitle from the given players", + parameters: [ + { text: "titleraw", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "reset", type: ParameterType.keyword, required: true }, + ], + }, + { + name: "titleraw", + documentation: "Set the timings.", + parameters: [ + { text: "titleraw", type: ParameterType.keyword, required: true }, + { + text: "player", + type: ParameterType.selector, + required: true, + options: { playerOnly: true }, + }, + { text: "times", type: ParameterType.keyword, required: true }, + { text: "fade in", type: ParameterType.integer, required: true }, + { text: "stay", type: ParameterType.integer, required: true }, + { text: "fade out", type: ParameterType.integer, required: true }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/toggledownfall.ts b/src/Lib/Data/Vanilla/toggledownfall.ts new file mode 100644 index 0000000..a8b9bcd --- /dev/null +++ b/src/Lib/Data/Vanilla/toggledownfall.ts @@ -0,0 +1,11 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The toggledownfall command */ +export const toggledownfall: CommandInfo[] = [ + { + parameters: [{ text: "toggledownfall", type: ParameterType.keyword, required: true }], + name: "toggledownfall", + documentation: "Toggles the weather.", + }, +]; diff --git a/src/Lib/Data/Vanilla/w.ts b/src/Lib/Data/Vanilla/w.ts new file mode 100644 index 0000000..0338278 --- /dev/null +++ b/src/Lib/Data/Vanilla/w.ts @@ -0,0 +1,15 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The w command */ +export const w: CommandInfo[] = [ + { + name: "w", + documentation: "Sends a message to the receiver.", + parameters: [ + { text: "w", type: ParameterType.keyword, required: true }, + { text: "selector", type: ParameterType.selector, required: true }, + { text: "message", type: ParameterType.keyword, required: true }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/weather.ts b/src/Lib/Data/Vanilla/weather.ts new file mode 100644 index 0000000..0c5afc5 --- /dev/null +++ b/src/Lib/Data/Vanilla/weather.ts @@ -0,0 +1,33 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The weather command */ +export const weather: CommandInfo[] = [ + { + name: "weather", + documentation: "Sets the weather.", + parameters: [ + { text: "weather", type: ParameterType.keyword, required: true }, + { text: "clear", type: ParameterType.keyword, required: true }, + { text: "duration", type: ParameterType.integer, required: false }, + ], + }, + { + name: "weather", + documentation: "Sets the weather.", + parameters: [ + { text: "weather", type: ParameterType.keyword, required: true }, + { text: "rain", type: ParameterType.keyword, required: true }, + { text: "duration", type: ParameterType.integer, required: false }, + ], + }, + { + name: "weather", + documentation: "Sets the weather.", + parameters: [ + { text: "weather", type: ParameterType.keyword, required: true }, + { text: "thunder", type: ParameterType.keyword, required: true }, + { text: "duration", type: ParameterType.integer, required: false }, + ], + }, +]; diff --git a/src/Lib/Data/Vanilla/xp.ts b/src/Lib/Data/Vanilla/xp.ts new file mode 100644 index 0000000..0168f1c --- /dev/null +++ b/src/Lib/Data/Vanilla/xp.ts @@ -0,0 +1,34 @@ +import { ParameterType } from "../../Types"; +import { CommandInfo } from "../CommandInfo"; + +/**The xp command */ +export const xp: CommandInfo[] = [ + { + name: "xp", + documentation: "Adds or removes player experience.", + parameters: [ + { text: "xp", type: ParameterType.keyword, required: true }, + { text: "amount", type: ParameterType.xp, required: true }, + { + text: "player", + type: ParameterType.selector, + required: false, + options: { playerOnly: true }, + }, + ], + }, + { + name: "xp", + documentation: "Adds or removes player experience.", + parameters: [ + { text: "xp", type: ParameterType.keyword, required: true }, + { text: "amount", type: ParameterType.integer, required: true }, + { + text: "player", + type: ParameterType.selector, + required: false, + options: { playerOnly: true }, + }, + ], + }, +];