Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 48 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ No installation is needed on the client — just drop it into your server's `mod
- 📈 **Dynamic Health Scaling:** The Ender Dragon's max health increases with each eligible player in The End.
- ⏱️ **Initial Spawn Delay:** Optionally delay the very first dragon spawn and show a countdown on players’ XP bars.
- ⚙️ **Server-Side Only:** No client installation required — perfect for modded or vanilla-compatible SMPs.
- 🔧 **Configurable:** Customize how scaling and spawn delays work via a simple `.properties` config file.
- 🔧 **Configurable:** Customize how scaling and spawn delays work via a structured `.toml` config file.
- 📢 **Broadcast Messages:** Optional announcements when a scaled dragon appears.
- 🛠️ **In-Game Reload:** `/scaleddragonfight reload` command to reload configuration without restarting the server.

Expand All @@ -22,23 +22,49 @@ No installation is needed on the client — just drop it into your server's `mod
After first launch, a config file will be generated at:

```
/config/scaleddragonfight.properties
/config/scaleddragonfight.toml
```

You can configure:

```
enableMod=true # Enable or disable the mod
scaleWithOnePlayer=false # Whether scaling starts with the first player
countCreativeModePlayers=false # Include creative players in scaling
baseDragonHealth=200.0 # Base health of the Ender Dragon
additionalHealthPerPlayer=100.0 # Health added per eligible player
enableBroadcast=true # Enable broadcast when dragon spawns

# ─────────────────────────────
# General Settings
# ─────────────────────────────
[general]
enableMod = true # Master enable/disable switch for the mod
scaleWithOnePlayer = false # Whether scaling should start with the first player
countCreativeModePlayers = false # Include players in Creative mode when scaling

# ─────────────────────────────
# Dragon Health Scaling
# ─────────────────────────────
[healthScaling]
baseDragonHealth = 200.0 # Base health of the Ender Dragon (vanilla default = 200)
additionalHealthPerPlayer = 100.0 # Extra health added per eligible player

# ─────────────────────────────
# Broadcast Messages
# ─────────────────────────────
[broadcastMessages]
enable = true # Enable or disable broadcast messages
onSpawn = true # Send message when a scaled dragon spawns
onDeath = false # Send message when the dragon is defeated
showHealthInMessage = true # Include dragon’s health value in broadcast

# ─────────────────────────────
# Initial Spawn Delay
enableInitialSpawnDelay=true # Delay the first dragon spawn in The End
initialSpawnDelaySeconds=60 # Time (in seconds) before first dragon spawns
showSpawnDelayCountdown=true # Show countdown above XP bar during delay
# ─────────────────────────────
[initialSpawnDelay]
enable = true # Delay the very first dragon spawn in The End
delaySeconds = 60 # Time (in seconds) before first dragon spawns

# ─────────────────────────────
# Miscellaneous
# ─────────────────────────────
[misc]
logDebugInfo = false # Enable extra debug logging in console

```

---
Expand All @@ -53,6 +79,16 @@ Requires permission level 2 (OP status).

---

## ❓ FAQ

**1. Why did my configuration reset after updating to v2.0.0?**

Version 2.0.0 switched the config file from `.properties` to the new `.toml` format. Your old settings were automatically backed up to `config/scaleddragonfight.properties.bak`.

Please copy your settings to the new `scaleddragonfight.toml` file. You can then run `/scaleddragonfight reload` to apply changes without a server restart. For more details, see the v2.0.0 Changelog.

---

## 🔌 Compatibility

- Minecraft: `1.21.5, 1.21.7 - 1.21.9`
Expand Down
3 changes: 3 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ dependencies {
modImplementation("net.fabricmc:fabric-loader:${project.property("loader_version")}")
modImplementation("net.fabricmc:fabric-language-kotlin:${project.property("kotlin_loader_version")}")
modImplementation("net.fabricmc.fabric-api:fabric-api:${project.property("fabric_version")}")

// Config
modImplementation("com.electronwill.night-config:toml:${project.property("night_config_version")}")
}

tasks.processResources {
Expand Down
5 changes: 4 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@ yarn_mappings=1.21.10+build.2
loader_version=0.17.3
kotlin_loader_version=1.13.6+kotlin.2.2.20
# Mod Properties
mod_version=v1.0.1+1.21.10
mod_version=2.0.0+1.21.10
maven_group=com.zephbyte
archives_base_name=ScaledDragonFight
# Dependencies
# check this on https://modmuss50.me/fabric.html
fabric_version=0.136.0+1.21.10

# Night Config
night_config_version=3.8.1
Loading