- Java 99.6%
- Python 0.4%
|
|
||
|---|---|---|
| .forgejo/issue_template | ||
| config | ||
| documentation | ||
| gradle/wrapper | ||
| src | ||
| tools | ||
| .dockerignore | ||
| .gitattributes | ||
| .gitignore | ||
| build.gradle | ||
| Dockerfile | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| LICENSE.txt | ||
| NOTICE | ||
| README.md | ||
| settings.gradle | ||
| Taskfile.yml | ||
TiedUp! - Minecraft 1.20.1 Forge Mod
Community remake of the TiedUp! mod for Minecraft 1.20.1 (Forge). Adds restraint and roleplay mechanics to the game.
Original mod by Yuti & Marl Velius (1.12.2). This is an independent remake, not affiliated with the original developers.
Features
- Restraint items (binds, gags, blindfolds, collars, straps, and more)
- NPC entities with AI and personality-driven dialogue (Kidnapper, Damsel, Guard, Trader, Maid, Master)
- Kidnapper camp world generation
- Captivity and prison mechanics
- Custom RIG system (Epic Fight fork) for player + NPC animation and 3D item rendering
- Multiplayer synchronization
Requirements
- Java 17
- Minecraft 1.20.1
- Forge 47.4.10+
Building
# Build the mod (canonical — runs in a pinned-JDK Docker container)
go-task docker:build
# Run the JUnit test suite
go-task docker:test
# Run the code-quality analyses (SpotBugs, PMD, CPD, JaCoCo)
# Reports land in build/reports/ — report-only, never fails the build.
go-task docker:quality
# Wipe build artifacts
go-task clean
# List all available tasks
go-task --list
No go-task? Build with plain Docker instead — either via the
provided Dockerfile:
docker build -t tiedup-build .
id=$(docker create tiedup-build) && docker cp "$id":/project/build/libs ./build && docker rm "$id"
or by running Gradle directly in the pinned-JDK container:
docker run --rm -v "$PWD":/project -w /project eclipse-temurin:17.0.10_7-jdk \
./gradlew --no-daemon clean build
Or directly with Gradle on the host (only safe on a JDK 17 between 17.0.5 and
17.0.18; newer 17.0.19+ breaks AccessTransformer, which is why the canonical
build runs in Docker — see Taskfile.yml):
./gradlew build
The built JAR will be in build/libs/.
Development
# Run Minecraft dev client
go-task run
# Run dedicated dev server
go-task server
# Multiplayer testing (server + 2 clients in konsole tabs)
go-task mp:test
# Run the Forge data generators (recipes, loot tables, …)
go-task data
# Generate IntelliJ IDEA run configurations
go-task idea
Project Structure
src/main/java/com/tiedup/remake/
├── blocks/ # Custom blocks and block entities
├── bondage/ # Bondage items + components (data-driven)
├── bounty/ # Bounty / capture-contract system
├── cells/ # Captive cell management
├── client/ # Rendering, GUI, animations
├── commands/ # /tiedup command tree
├── coop/ # Cooperative multi-entity actions (e.g. takedowns)
├── core/ # Main mod class, config, sounds
├── deviouschest/ # Trapped chests with datapack loadouts
├── dialogue/ # NPC conversation system
├── dispenser/ # Custom dispenser behaviours
├── entities/ # Custom NPCs and AI
├── events/ # Event handlers
├── furniture/ # Furniture entities
├── items/ # All mod items
├── labor/ # Forced-labour tasks
├── minigame/ # Struggle / lockpick minigames
├── mixin/ # Minecraft bytecode modifications
├── network/ # Multiplayer packet system
├── npc/ # NPC AI (mind / activity / archetypes)
├── personality/ # NPC personality system
├── pets/ # Pet blocks (bed, bowl, cage)
├── predator/ # Predator AI
├── prison/ # Prison / ransom mechanics
├── rig/ # RIG animation + rendering system (Epic Fight fork)
├── state/ # Player state tracking
├── tasks/ # Scheduled restraint tasks
├── util/ # Shared helpers
└── worldgen/ # Structure generation
Dependencies
No third-party mod dependencies. Animation and rendering are handled internally
by the bundled RIG system (com.tiedup.remake.rig.*, a fork of Epic Fight,
GPL-3.0). No external animation library is required.
License
GPL-3.0-or-later - see LICENSE for details.
TL;DR: Free to use, modify, and redistribute under the same license (it stays open-source — pass the source along). The 3D models are the property of their creators; if their names are listed, please ask them for permission, otherwise me.
Status
This mod is under heavy rework. Things will break, APIs will change, features will come and go. If you want to build and use it as-is, that's on you.
Contributing
Contributions are welcome. Rules:
- Pull requests only - no direct pushes
- Clear commit messages - describe what and why, not how
- Test your changes before submitting - at minimum, make sure it compiles and runs
- Bug fixes, new features, improvements - all welcome
- Areas where help is especially needed: textures, 3D models, multiplayer testing