Skip to content

An extension library for the Sand langauge. This holds Structs and Enums to generate standard minecraft commands.

Notifications You must be signed in to change notification settings

ThatOneToast/sand_commands

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minecraft Commands Implementation Project

This project aims to implement Minecraft Java Edition commands in Rust. Below is a comprehensive list of commands with links to their wiki documentation.

Command List

A

  • /advancement - Gives, removes, or checks player advancements.
  • /attribute - Queries, adds, removes or sets an entity attribute.

B

  • /ban - Adds player to banlist.
  • /ban-ip - Adds IP address to banlist.
  • /banlist - Displays banlist.
  • /bossbar - Creates and modifies bossbars.

C

  • /clear - Clears items from player inventory.
  • /clone - Copies blocks from one place to another.

D

  • /damage - Applies damage to the specified entities.
  • /data - Gets, merges, modifies, and removes block entity, entity, and command storage NBT data.
  • /datapack - Controls loaded data packs.
  • /debug - Starts or stops a debugging session.
  • /defaultgamemode - Sets the default game mode.
  • /deop - Revokes operator status from a player.
  • /difficulty - Sets the difficulty level.

E

  • /effect - Adds or removes status effects.
  • /enchant - Adds an enchantment to a player's selected item.
  • /execute - Executes another command.
  • /experience - Adds or removes player experience (alias for /xp).

F

  • /fill - Fills a region with a specific block.
  • /fillbiome - Fills a region with a specific biome.
  • /forceload - Forces chunks to constantly be loaded or not.
  • /function - Runs a function.

G

  • /gamemode - Sets a player's game mode.
  • /gamerule - Sets or queries a game rule value.
  • /give - Gives an item to a player.

H

  • /help - Provides help for commands.

I

  • /item - Manipulates items in inventories.

J

  • /jfr - Starts or stops a JFR profiling.

K

  • /kick - Kicks a player off a server.
  • /kill - Kills entities (players, mobs, items, etc.).

L

  • /list - Lists players on the server.
  • /locate - Locates closest structure, biome, or point of interest.
  • /loot - Drops items from an inventory slot onto the ground.

M

  • /me - Displays a message about the sender.
  • /msg - Displays a private message to other players (alias of /tell and /w).

O

  • /op - Grants operator status to a player.

P

  • /pardon - Removes entries from the banlist.
  • /pardon-ip - Removes entries from the IP banlist.
  • /particle - Creates particles.
  • /perf - Captures info and metrics about the game for 10 seconds.
  • /place - Used to place a configured feature, jigsaw, template, or structure at a given location.
  • /playsound - Plays a sound.
  • /publish - Opens single-player world to local network.

R

  • /random - Draw a random value or control the random number sequence.
  • /recipe - Gives or takes player recipes.
  • /reload - Reloads loot tables, advancements, and functions from disk.
  • /return - Control execution flow inside functions and change their return value.
  • /ride - Used to make entities ride other entities, stop entities from riding, make rides evict their riders, or summon rides or riders.
  • /rotate - Changes the rotation of an entity.

S

T

  • /tag - Controls entity tags.
  • /team - Controls teams.
  • /teammsg - Specifies the message to send to team (alias of /tm).
  • /teleport - Teleports entities (alias of /tp).
  • /tell - Displays a private message to other players (alias of /msg and /w).
  • /tellraw - Displays a JSON message to players.
  • /test - Manage and execute GameTests.
  • /tick - Controls the tick rate of the game.
  • /time - Changes or queries the world's game time.
  • /title - Manages screen titles.
  • /tm - Specifies the message to send to team (alias of /teammsg).
  • /tp - Teleports entities (alias of /teleport).
  • /transfer - Triggers a transfer of a player to another server.
  • /trigger - Sets a trigger to be activated.

W

  • /w - Displays a private message to other players (alias of /tell and /msg).
  • /weather - Sets the weather.
  • /whitelist - Manages server whitelist.
  • /worldborder - Manages the world border.

X

  • /xp - Adds or removes player experience (alias of /experience).

Implementation Details

This project will implement these commands in Rust, focusing on creating a flexible and extensible command system. Each command will be modular and follow consistent patterns for argument parsing, validation, and execution.

References

Project Structure

The project will organize command implementations in a modular fashion, allowing for easy extension and maintenance.

sand_commands/
├── src/
│   ├── commands/        # Command implementations
│   │   ├── advancement.rs
│   │   ├── attribute.rs
│   │   └── ...
│   ├── parser/          # Command parsing utilities
│   ├── executor/        # Command execution systems
│   └── main.rs
└── README.md

About

An extension library for the Sand langauge. This holds Structs and Enums to generate standard minecraft commands.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages