- Kotlin 100%
|
|
||
|---|---|---|
| gradle/wrapper | ||
| src | ||
| .gitignore | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| README.md | ||
| settings.gradle.kts | ||
Spider
Introduction
This mod was developed for a video series about procedural animations.
- Procedural Walking Animation: https://youtu.be/Hc9x1e85L0w
- Procedural Galloping Animation: https://youtu.be/r70xJytj0sw
- Procedurally Animated Robots: https://youtu.be/PSnPOYeTW-0
This mod is very experimental and untested in multiplayer. Use at your own risk.
The Spider Animation mod runs entirely on the server. Clients can join with vanilla Minecraft and do not need to download anything.
Installation
- Download the JAR from the releases page.
- Set up a Forge server for Minecraft 1.20.1 (instructions below).
- Place the JAR in the server's
modsfolder. - Download the world folder from Planet Minecraft.
- Place the world folder in the server directory. Name it
world.
Running a Server
- Download the Forge installer for Minecraft 1.20.1 and run it with the
--installServeroption. - Accept the EULA by changing
eula=falsetoeula=truein the generatedeula.txtfile. - Run the server with a command similar to
java -Xmx4G -Xms4G -jar forge-1.20.1-47.3.0.jar nogui. - Place the Spider Animation JAR in the
modsfolder if you have not already. - Join the server with
localhostas the IP address.
Commands
Autocomplete will show available options.
Get placeholder control tools (vanilla items with custom names):
/items
These tools use existing vanilla items (sticks, shears, etc.) to control the spider.
Load preset:
/preset <name:string> <segment_length:double?> <segment_count:int?>
/preset hexbot 1 4
Load torso or leg model
/torso_model <name:string>
/leg_model <name:string>
Modify or get options
/options gait maxSpeed 3
/options gait maxSpeed
Scale the spider
/scale 2
Play splay animation (Spider must be spawned)
/splay
Change eye or blinking lights palette
/animated_palette eye cyan_blinking_lights
/animated_palette blinking_lights red_blinking_lights
# Custom palette (block_id, block_brightness, sky_brightness)+
/animated_palette eye custom minecraft:stone 15 15 minecraft:redstone_block 15 15
Fine-grained model modification
/modify_model <...selectors> <...operations>
# Selectors can be either a block id or a tag
# e.g. Select all cloaks in the torso
/modify_model cloak torso ...
# e.g. Select diamond blocks and netherite blocks
/modify_model minecraft:diamond_block or minecraft:netherite_block ...
# Set block
/modify_model cloak set_block minecraft:gray_concrete
# Set brightness
/modify_model cloak brightness 0 7
# Copy block from the world
/modify_model cloak copy_block ~ ~1 ~
Stealth Variant Example:
/torso_model stealth
/scale 1.3
/modify_model cloak set_block minecraft:gray_concrete
/modify_model cloak or minecraft:netherite_block or minecraft:cauldron or minecraft:anvil or minecraft:gray_shulker_box brightness 0 7
# You may need to pick a different brightness depending on your shaders
Copy block examples used in the video:
/modify_model cloak torso copy_block ~ ~1 ~
/modify_model cloak tibia copy_block ~ ~1 ~
/modify_model cloak tip copy_block ~ ~1 ~
Development
- Install JDK 17 and ensure it is the active Java version (
java -versionshould report 17). - Clone or download the repo.
- Run
./gradlew buildto compile the mod. The resulting JAR will be inbuild/libs. - For convenience, set up a symlink and add the link to the server
modsfolder.- Windows:
mklink /D newFile.jar originalFile.jar - Mac/Linux:
ln -s originalFile.jar newFile.jar
- Windows:
License
You may use the mod and source code for both commercial or non-commercial purposes.
Attribution is appreciated but not due.
Do not resell without making substantial changes.