mirror of
https://github.com/Dingo-Shenanigans/ReSkate.git
synced 2026-10-29 03:46:50 +01:00
Plugins: prop hunt APIs, and plugin commands in the console lookup
- reskate.entities.blueprints lists the game's object blueprints (meshes only if asked), and reskate.entities.bounds gives a blueprint's box, so a mod can pick a prop by list or at random - Attached objects take upright, turn and ground (a floor found within reach below), the "root" joint, and a 6th options argument with solid; spawned props' bodies are found and ghosted - reskate.skater.hide, reskate.world.pick, and skater.get gives right and switch - reskate.console.command takes an optional 4th table of subcommands; the console lookup suggests plugin commands word by word, and plugin commands lists the subcommands - objbody: a test command for finding which body setter takes a prop out of collision
This commit is contained in:
1 parent
c35e9a357b
commit
45346b122c
26 files changed
+1238
-36
No files matched your search
@@ -771,9 +771,12 @@ void Plugin::set_channel(std::string channel) {
|
||||
channel_hash_ = wire::channel_of(channel_);
|
||||
}
|
||||
|
||||
std::vector<std::pair<std::string, std::string>> Plugin::commands() const {
|
||||
std::vector<std::pair<std::string, std::string>> result;
|
||||
for (const auto& [name, command] : commands_) result.emplace_back(name, command.help);
|
||||
std::vector<CommandInfo> Plugin::commands() const {
|
||||
std::vector<CommandInfo> result;
|
||||
for (const auto& [name, command] : commands_) {
|
||||
result.push_back({name, {}, command.help});
|
||||
for (const auto& sub : command.subcommands) result.push_back({name + " " + sub.name, sub.args, sub.help});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user