resourcepack.ai
DOCS

Official addons

Go Karts

An addon for RP Engine: a plugin that installs into the engine and adds one thing, rather than a pack you author yourself. Drop it in beside the engine and it brings its own content with it.

This one is go-kart racing. Up to eight karts line up on a grid, three red lights go green, and you race three laps: drift through corners for a boost, fly off ramps, take shortcuts, and drive through item boxes for bananas, nitro and rockets. One command builds a whole circuit, and computer drivers can fill the grid when you are short of players.

Installing#

It needs Spigot or Paper, Java 21, and RP Engine 0.2.45 or newer. On an older engine Go Karts says so in the console and turns itself off. A few things need newer versions:

NeedsFor
Paper 1.21.4+Steering with A and D. On Spigot you steer by looking
RP Engine 0.2.47+Karts, helmets and items drawn as icons in inventories (older engines show the shrunk 3D model)
RP Engine 0.2.51+Bots, and front wheels and steering wheel that turn as you steer
Minecraft 1.21.9+A visible driver in each bot's kart
  1. 1

    Drop it in

    Put RPE-gokarts.jar in plugins/ beside RPEngine.jar and start the server. Go Karts copies its karts, sounds, effects, HUD and results screen into plugins/RPEngine/content/gokarts/ (RP Engine's content folder, which the engine builds its resource pack from) and reloads the engine once.

  2. 2

    Build a track

    As an op, run /kart track generate main. It makes a new world for the track, builds the Sunny Meadows circuit there in a few seconds and takes you to it. Nothing in your existing worlds is touched.

  3. 3

    Race

    /kart join, then /kart start. Alone is fine. Add --withBots to race computer drivers.

If you run Multiverse-Core, Go Karts loads after it, and it loads its own track worlds again every time the server starts.

Driving#

KeyWhat it does
W / SThrottle; brake, then reverse
A / DSteer
SpaceHandbrake. Held through a corner at speed it is a drift: blue sparks, then orange, then purple. Let go for a boost, bigger the longer you held it. In the air, a trick, and landing it is a boost
F or clickUse your item
QThrow away your item. With empty hands, go back to the last checkpoint if you are stuck or off the road

The start. Three red lights a second apart, then green. Hold W too early (when the second light comes on) and you stall. Press it as the lights go green and you get a rocket start.

The track. Magenta pads on the straights are boost pads, and the lime pad at the lip of a ramp is a jump. Grass and dirt slow you to walking pace, so cutting a corner costs you. Laps count checkpoint by checkpoint, so skipping part of the lap gets you nowhere. Every track has a shortcut (a tunnel, a canyon floor, a frozen lake where the kart slides, a back alley), and either way round counts.

Falling off, landing in water, or missing checkpoints for about twelve seconds puts you back on the track. When the winner finishes, everybody else has thirty seconds, then the results screen shows every driver's place, time and best lap, and the track's lap record.

Items#

Drive through an item box to spin for an item. What you get depends on your place: the leaders get things to defend with, the back of the field things to catch up.

ItemWhat it does
Nitro / Triple nitroOne boost, or three
OverdriveEvery press is a boost for six seconds
Banana / Banana bunchDropped behind you; whoever drives over it spins out. The bunch is three
Decoy boxDropped behind you. Looks like an item box (but does not spin) and spins out whoever hits it
Bumper orbRolls ahead of you, bouncing off walls, and spins out whoever it meets, you included
RocketFlies at the kart one place ahead and throws it in the air
Storm droneFlies to the leader and strikes everybody within four blocks of them
Hyper shieldSix seconds where nothing hits you, grass does not slow you, and anybody you touch spins out
Smoke bombBlinds everybody ahead of you for three seconds
Shockwave hornPushes back every kart within seven blocks and clears nearby bananas, decoys, orbs, rockets and a storm drone coming for you
Static surgeEverybody else loses their item and slows down for three seconds

What you see#

The whole screen is one HUD: your item top left with a live minimap, lap, clock and best lap top right, the standings down the right, and your speed and place bottom right. The start lights and banners (final lap, wrong way, finish) appear in the middle.

Joining a race#

CommandWhat it does
/kart join [track]Into the track's lobby, a glass box over the infield, until the race starts
/kart colour <colour>The kart you would like: red, blue, green, yellow, orange, purple, pink or cyan. Everybody in a race gets a different one
/kart leaveOut of the race, with your inventory and position back. Always works, with no permission needed
/kart resultsThe last race's results

/kart also answers to /gokart, /karts and /gk. During a race, players can only run /kart, /msg, /tell, /w, /r, /reply, /me and /list (change this with allowed-commands, or grant gokarts.bypass.commands).

Running races#

Races start when somebody with gokarts.start runs /kart start [track]. It joins you first if you are not in. To have a lobby start by itself, set race.auto-start: true: once min-players are waiting it counts down lobby-countdown seconds and starts.

/kart stop [track] ends a race, or empties a lobby.

Bots#

/kart start --withBots fills the empty grid slots with computer drivers, and --withBots=3 adds three. They drive the same karts with the same controls: they follow the road, drift for boosts, jump, use items and recover from crashes. They appear on the minimap, in the standings and in the results, but never in a track's records. Bots need RP Engine 0.2.51 or newer and the gokarts.start.bots permission. Their names come from bots.names in the config.

Outside a race#

/kart give [colour] [player] hands over a kart of your own. Right-click the ground to park it, then right-click it to get in. Drifting, boost pads and a speed readout above the hotbar work anywhere.

/kart item <item> [player] hands a racer an item as if from a box, for testing or events. /kart as <player> <subcommand> runs a subcommand as somebody else, checked against their permissions: an NPC that runs /kart as <player> join for whoever clicks it is a join button.

Building a track#

Generate one#

/kart track generate <id> [prefab] [name]

Builds a complete circuit, with walls, kerbs, pads, item boxes, a start gantry, a grandstand and the lobby, in a new world of its own (gokarts_<id>). It replaces nothing. Generating the same id again makes a fresh world and leaves the old one alone.

PrefabTrackLapFeatures
meadow (default)Sunny Meadows458 blocksA jump over a river, a tunnel through a hill
desertDune Canyon528 blocksA jump over a canyon, a lower road along its floor
frostFrostbite Peak544 blocksA figure of eight over a bridge, a frozen-lake shortcut
neonNeon Nights742 blocks, two lapsMidnight city, an elevated road, a tunnel, a back alley

For example, /kart track generate night neon builds Neon Nights as the track night.

To build in an existing world instead:

/kart track generate <id> here confirm [prefab] [name]

The start line goes under your feet, with the straight running the way you face.

It replaces every block in a large box

Built here, a track replaces everything in a box up to about 200 by 230 blocks, from fifteen below your feet to fourteen above. Without confirm it only tells you how big the box is.

From the console: /kart track generate <id> at <world> <x> <y> <z> <yaw> [prefab] [name].

/kart track undo <id> confirm takes back the last generate of that track. A track in its own world deletes the world; one built in place puts back the blocks it replaced (but not the contents of chests or signs). It works after a restart too.

Set one up by hand#

On a circuit you built yourself, stand in each place and run:

  1. 1

    Create it

    /kart track create <id>
  2. 2

    The lobby

    /kart track setlobby <id> where racers wait.
  3. 3

    The grid

    /kart track addgrid <id> once per grid slot, facing the way the karts should face. cleargrid starts over.

  4. 4

    Checkpoints

    /kart track addcheckpoint <id> [radius]: the start/finish line first, then round the lap in order, about every fifteen blocks. The radius defaults to 6 blocks. clearcheckpoints starts over.

  5. 5

    Item boxes

    /kart track addbox <id> at each box. clearboxes removes them.
  6. 6

    Open it

    /kart track enable <id>. If anything is missing it says what. /kart track laps <id> <n> sets this track's laps (0 uses the config's).

Use magenta glazed terracotta for boost pads and lime glazed terracotta for jump pads (both can be changed in the config). /kart track list shows every track and what it still needs. disable, tp, name and delete <id> confirm do what they say (deleting leaves the blocks).

Permissions#

One node per command. gokarts.play and gokarts.admin are shorthand that grant the nodes under them.

NodeWhat it allowsDefault
gokarts.playAll four racer nodes belowEveryone
gokarts.join/kart joinEveryone
gokarts.colour/kart colourEveryone
gokarts.results/kart resultsEveryone
gokarts.rideGetting into a kart at all, a parked one includedEveryone
gokarts.adminEvery staff node belowOperators
gokarts.start/kart startOperators
gokarts.start.bots/kart start --withBotsOperators
gokarts.stop/kart stopOperators
gokarts.reload/kart reloadOperators
gokarts.give/kart give [colour]Operators
gokarts.give.others/kart give <colour> <player>Operators
gokarts.item/kart itemOperators
gokarts.as/kart asOperators
gokarts.trackTrack setup: list, create, setlobby, addgrid, addcheckpoint, addbox, laps, enable, disable, tp, name and the clear commandsOperators
gokarts.track.generate/kart track generateOperators
gokarts.track.undo/kart track undoOperators
gokarts.track.delete/kart track deleteOperators
gokarts.bypass.commandsAny command during a raceOperators

Configuration#

plugins/RPEGoKarts/config.yml. /kart reload rereads it, and tracks.yml too unless a race is using it. An update adds new options with their defaults and leaves yours alone. The main settings:

SettingDefaultWhat it does
race.laps3Laps per race
race.auto-startfalseStart a lobby on its own once min-players (2) are waiting, after lobby-countdown (20) seconds
race.finish-timeout30Seconds the others have once the winner is home
race.max-seconds600The longest a race can run
race.stuck-seconds12Seconds without a checkpoint before you are put back
karts.cruise-speed13Top speed without a boost. Raise it to make karts faster
karts.offroad-speed6Speed on the offroad-blocks (grass, dirt, sand...)
karts.boost-pad-block / jump-pad-blockmagenta / lime glazed terracottaWhich blocks are pads
karts.ice-blocksice, packed ice, blue iceBlocks the kart slides on
boost.*, drift.*How strong and long each boost and drift level is
items.enabledtrueItem boxes on or off
items.oddsHow likely each item is, one row per place band from the front to the back
bots.namesNames given to bots
allowed-commandsmsg, tell, w, r, reply, me, listCommands racers may use besides /kart
ui.hud, ui.resultsgokarts:hud, gokarts:resultsPoint at your own RP Engine HUD or Dialog to replace them. It has to show the same values

A kart's top speed with a boost is the vehicle's speed: in plugins/RPEngine/content/gokarts/vehicles/karts.yml.

Every word a player reads is under messages: in the same file, in MiniMessage.