.squad/skills/rcon-minecraft-commands/SKILL.md
# SKILL: RCON Minecraft Commands > Patterns for sending Minecraft RCON commands from the Worker service to create in-game effects. ## When to Use When implementing new in-world features that send RCON commands to the Minecraft server — particles, sounds, titles, boss bars, weather, entity spawning, scoreboard updates, etc. ## Command Format Reference ### Particle Effects ``` particle minecraft:{type} {x} {y} {z} {dx} {dy} {dz} {speed} {count} force ``` - `force` makes particles visible from
npx skillsauth add csharpfritz/aspire-minecraft .squad/skills/rcon-minecraft-commandsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Patterns for sending Minecraft RCON commands from the Worker service to create in-game effects.
When implementing new in-world features that send RCON commands to the Minecraft server — particles, sounds, titles, boss bars, weather, entity spawning, scoreboard updates, etc.
particle minecraft:{type} {x} {y} {z} {dx} {dy} {dz} {speed} {count} force
force makes particles visible from far away (important for demo visibility)dx dy dz control the spread area (1 1 1 for a 2-block cube)StructureBuilder layout: BaseX=10, BaseY=-60, BaseZ=0, Spacing=6(BaseX + index*Spacing + 1, BaseY + 2, BaseZ + 1)title @a times {fadeIn} {stay} {fadeOut} // in ticks (20 ticks = 1 second)
title @a title {json} // main title (large text)
title @a subtitle {json} // subtitle (smaller text below)
title @a actionbar {json} // action bar (above hotbar)
title @a clear // clear current title
{"text":"message","color":"red","bold":true}times BEFORE title/subtitle — order mattersred, green, gold, gray, white, etc.weather clear
weather rain
weather thunder
bossbar add {namespace:id} {json} // create with display name
bossbar set {id} max {int} // max value (typically 100)
bossbar set {id} value {int} // current value (0 to max)
bossbar set {id} players @a // show to all players
bossbar set {id} visible true // toggle visibility
bossbar set {id} color green|yellow|red|blue|pink|purple|white
bossbar set {id} name {json} // update display name
bossbar remove {id} // remove
namespace:name format (e.g., aspire:fleet_health)playsound minecraft:{sound} {source} {selector} {x} {y} {z} {volume} {pitch}
playsound minecraft:{sound} {source} {selector} // short form, plays at player location
~ ~ ~ for relative coordinates (plays at each player's location)master, music, record, weather, block, hostile, neutral, player, ambient, voicepublic static IResourceBuilder<MinecraftServerResource> WithFeatureName(
this IResourceBuilder<MinecraftServerResource> builder)
{
var workerBuilder = builder.Resource.WorkerBuilder
?? throw new InvalidOperationException(
"WithFeatureName() requires WithAspireWorldDisplay() to be called first.");
workerBuilder.WithEnvironment("ASPIRE_FEATURE_FEATURENAME", "true");
return builder;
}
if (!string.IsNullOrEmpty(builder.Configuration["ASPIRE_FEATURE_FEATURENAME"]))
builder.Services.AddSingleton<FeatureNameService>();
file sealed class MinecraftWorldWorker(
// ... required services ...
FeatureNameService? featureName = null) : BackgroundService
public sealed class FeatureNameService(
RconService rcon,
AspireResourceMonitor monitor, // if aggregate feature
ILogger<FeatureNameService> logger)
{
private SomeState _lastState; // track for transition-only logic
public async Task DoSomethingAsync(IReadOnlyList<ResourceStatusChange> changes, CancellationToken ct)
{
// Only act when state changed (transition-only)
if (newState == _lastState) return;
await rcon.SendCommandAsync("command here", ct);
_lastState = newState;
}
}
force for particles — demos need visibility from spawntimes before content — Minecraft processes them in ordernamespace:name — lowercase, colon-separatedmonitor.HealthyCount/TotalCountfill hollow), then overlay contrasting blocks (buttresses, weathering), then decorative elements (stairs, glass, iron bars). Later fills overwrite earlier ones, creating material variety without replace commands.tools
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
tools
Techniques for visually connecting water bodies (canals, lakes, rivers) in Minecraft
development
# Static Configuration Pattern **Confidence:** low **Source:** earned ## When to Use When a class has compile-time constants (`const`) that need to become runtime-configurable without breaking existing consumers. ## Pattern 1. Convert `const` fields to `static T { get; private set; } = <original value>`. 2. Add a public `Configure*()` method that sets the new values. Call once at startup. 3. Add an `internal static Reset*()` method that restores defaults — needed for test isolation since `p
development
Core conventions and patterns used in the Squad codebase