# DEADLOCK — Documentación técnica completa

Servidor Fabric **1.20.1** · `deadlock.spectind.top:25565` · IP `213.136.86.92`

Todo lo que hay instalado y funcionando, extraído del código real.

---

## 1. Identidad

**DeadLock** no es un servidor de supervivencia más; es una condena.
Muerte permanente (un error = pierdes progreso, base y acceso). Ecosistema alterado,
armas y armaduras propias, criaturas que no existen en el vanilla, y los Cuatro Jinetes
del Apocalipsis (Guerra, Hambre, Peste) como pasos obligatorios antes de **La Muerte**,
el jefe final encapuzado de combate a distancia.

---

## 2. Mods (4, todos obligatorios en cliente y servidor)

| Mod | Versión | Función |
|---|---|---|
| `dedsafio-4-mechanics` | 1.0.0 | Presentation: panel `/dedsafio4`, ruletas, anuncios, Deditas, waypoints, buzón, ATM, evento REVILL |
| `fabric-api` | 0.92.12+1.20.1 | Dependencia |
| `permadeath` | 1.0.0 | Núcleo: muerte permanente, tótems, verificación de cliente, calendario, commands |
| `customenchants` | 1.0.0 | Encantamientos de nivel absurdo |

Descarga: **https://deadlock.spectind.top/mods/**

---

## 3. Datapack `permadeath` (96 funciones, 9 recetas, 4 loot tables)

### Calendario

- 1 día real = **20 min** (24 000 ticks)
- Cada **10 días reales** cambia de fase → 7 fases = 60 días
- Las fases se activan solas; también a mano con `/function pdx:admin/week_next|week_prev`

### 36 interruptores de reglas

| Interruptor | Qué activa |
|---|---|
| `Storm` | Death Train |
| `Sleep` | reglas de noche |
| `Spider`, `SpiderE`, `SpiderE2`, `SpiderE3`, `SpiderN` | arañas con efectos |
| `Double` | doble spawn |
| `NoDrop` | 13 mobs sin drops |
| `Aggressive` | mobs pacíficos agresivos + phantom x9 |
| `Giga` | GIGA Slimes / Magma Cubes |
| `Float` | Demonios Flotantes |
| `Skel`, `SkelLvl` | esqueletos con clase / nivel 2 ULTRA |
| `Dragon` | batalla contra la Dragona |
| `Emperor` | Wither Skeleton Emperador |
| `Slots`, `SlotN` | pérdida de slots (5 / 15) |
| `Health` | pérdida de corazones |
| `Transf` | transformaciones de mobs |
| `Items` | items custom |
| `Food` | tarta de calabaza |
| `Boss` | Jess, Carlos, Ultra Ravager |
| `Jockey` | Pigman Jockeys |
| `Buffs` | Fuerza/Velocidad/Resistencia II a todos |
| `Golem` | Iron Golems IV |
| `Wither` | Wither cada 60 min |
| `Creep` | creepers sin importar la luz |
| `World` | reglas ambientales |
| `Recipes` | enseña las recetas |
| `Infernal` | Netherite Infernal |
| `Beginning` | portal a THE BEGINNING |
| `Totem`, `TotemF`, `TotemC` | tótems (drop / fallo / consumo) |
| `St30` | skeleton nivel 2 |

### Fase por fase (lo que ve el jugador)

**FASE 1 · Días 0-9** — Death Train: al morir alguien, tormenta cuya duración = horas jugadas (×2 +5 h extra desde la fase 6). Mobs con Fuerza I y Resistencia I durante la tormenta. Ravagers con 20 % de tótem. La noche solo pasa si duermen todos.

**FASE 2 · Días 10-19** — Arañas con **1-3** efectos aleatorios (Velocidad III, Regeneración IV, Fuerza IV, Salto IV, Brillo, Invisibilidad, Caída lenta, Resistencia III). Doble cantidad de mobs hostiles. Mínimo 4 jugadores para dormir.

**FASE 3 · Días 20-29** — Sin drops de 13 mobs (Iron Golem, Zombified Piglin, Ghast, Guardian, Magma Cube, Enderman, Bruja, Wither Skeleton, Evoker, Phantom, Slime, Drowned, Blaze). Arañas con **3-5** efectos. Phantoms tamaño 9 × doble vida. Ravager 1 % de tótem. Mobs pacíficos agresivos, Pigmen cabreados. **GIGA SLIMES** (×15, doble vida), **GIGA MAGMA CUBES** (×16), **Ghasts Demoníacos** 50 PV y 75 % **Demonios Flotantes**. No se salta la noche.

**FASE 4 · Días 30-39** — **Esqueletos con clase**:

| Clase | Armadura | Arma | PV |
|---|---|---|---|
| Guerrero | diamante, Protección IV | espada de diamante | 40 |
| Infernal | hierro | hacha de diamante, Fire Aspect XX, Sharpness XXV | 40 |
| Asesino | oro, Speed II | ballesta Sharpness XXV | 40 |
| Táctico | mayas | arco Punch XXX / Power XXV | 40 |
| Pesadilla | cuero | arco Power L | 40 |

**Batalla contra la Dragona modificada**: murciélagos→Blazes, calamares→Guardianes, y apare Ender Ghasts/Ender Creepers. Al matarla aparece el **Permadeath Demon** (400 PV).

**FASE 5 · Días 40-49** — Pierdes **5 slots** y **4 corazones**. Transformaciones: Zombie→Vindicator (Fuerza I, doble vida), perro→Gato, vaca/oveja/cerdo→Ravager, pollo→Silverfish, araña→Araña de Cueva, 1 % de Illagers→Evoker. Phantoms con esqueleto jinete. Items custom. **BOSSES**: Jess la Emperatriz (240 PV), Carlos el Esclavo (150 PV), Ultra Ravager (500 PV). **Pigman Jockeys** (cerdo rosa / abeja 50 ♡ / ghast / magma cube). Shulkers 2 % de shell. Ceguera 1 %. Soul Sand = Lentitud II. Se abre **THE BEGINNING**.

**FASE 6 · Días 50-59** — **Todos** los mobs con Fuerza II, Velocidad II, Resistencia II e inmunes al fuego. Death Train en **modo UHC** (+30 min/día). Esqueletos suben de nivel (Guerrero 50 ♡, Pesadilla 90 ♡, Infernal Fire Aspect XX). **GIGANTES** 600 PV con arco Power X. **Wither Skeleton Emperador** (1 de cada 50, oro, Power C / Punch V, 80 PV, drop 50 % espada de netherite). Netherite Infernal. Tarta como mejor comida.

**FASE 7 · Día 60 — FINAL** — Elytra infernal. **Wither cada 60 min**. Iron Golems IV. Creepers sin importar la luz. Tarta = Daño Instantáneo IV. 15 slots perdidos. Esqueletos ULTRA. Reinicio del Death Train cada 25 días reales.

---

## 4. Mod `permadeath` (Java)

| Mecánica | Detalle |
|---|---|
| **Muerte permanente** | Mixin de `LivingEntity#onDeath` (**antes** de `ALLOW_DEATH`, porque en 1.20.1 los eventos no tienen prioridad y DEDSAFIO cancela la muerte). Guarda objetos, anuncia y **banea**. |
| **Cementerio** | Inventario en `config/permadeath/graves/<uuid>.json`, restituible con `/deadlock rescue` |
| **Tótems que fallan** | Mixin de `tryUseTotem`. 1 % (día 30) → 7 % (día 60) |
| **No dormir** | `EntitySleepEvents.ALLOW_SLEEPING` desde el día 20 |
| **Picar quita vida** | Medio corazón por bloque desde el día 40 |
| **Ahogarse más rápido** | Daño extra sumergido desde el día 50 |
| **Verificación de cliente** | El cliente informa (versión, ¿DEDSAFIO?, ¿resource pack?). El servidor espera hasta 30 s a que el pack se aplique. Si falta algo: aviso con **enlace clicable** + expulsión a los 60 s |
| **Ruleta DEDSAFIO** | Los anuncios y muertes lanzan `dedsafio4 color` + `announce` |
| **Cuentas** | Los admins (op) se saltan verificación y permadeath |

### Comandos (op)

```
/deadlock status        (alias: /permadeath)
/deadlock day <n>       fija el día y lanza la ruleta
/deadlock adddays <n>
/deadlock storm         dispara el Death Train
/deadlock rescue <jugador>   deshace el permadeath + devuelve objetos
/deadlock unban <jugador>
/deadlock roulette <color> <texto>
/deadlock reload · /deadlock save
```

### Config `config/permadeath.json`

`deathMode` (0 espectador / 1 respawn / **2 ban**), `exemptOps`, `clientCheckEnabled`,
`clientCheckTimeoutTicks` (5 s), `clientCheckKickTicks` (60 s), `clientCheckKick`,
`downloadUrl`, `resourcePackName`, `totemFailChanceBase` (0.01), `totemFailChanceLate` (0.07),
`totemFailFromDay` (30), `blockSleepFromDay20`, `blockBreakDamage`, `drownRule`.

---

## 5. Mod `customenchants`

Sube el tope de cualquier encantamiento. En 1.20.1 el tope vive en `Enchantment#getMaxLevel()`
y **23 subclases lo sobrescriben**, así que el mixin inyecta en todas (si no, no hace nada).

Niveles por defecto: Sharpness 50 · Power 50 · Punch 30 · Fire Aspect 50 · Protección 20 ·
Unbreaking 12 · Fortune/Looting/Efficiency/Feather Falling/Depth Strider/Luck/Lure 20 ·
Knockback 20. Maldiciones en lista negra.

```
/customenchants list · set <enc> <n> · reset <enc> · block <enc> · default <n> · reload
```

---

## 6. Items custom (9 recetas, resource pack con 10 texturas)

| Item | Receta | Base vanilla | CMD |
|---|---|---|---|
| Super Golden Apple+ | manzana dorada + estrella del Nether | `carrot_on_a_stick` | 11 |
| Hyper Golden Apple+ | estrella + manzana +_require | `carrot_on_a_stick` | 12 |
| Bacalao de la Muerte | espada de madera + estrella + podredumbre | `carrot_on_a_stick` | 13 |
| Reliquia del Fin | tótem + caparazón + fragmento de amatista | `shulker_shell` | 14 |
| Netherite Infernal (4) | bloque de netherite + pieza | armadura | 15-18 |
| Elytra de Netherite Infernal | elytra + bloque de netherite | `elytra` | 19 |
| Bloque de Netherite Infernal | (base de las recetas) | `netherite_block` | 20 |

Efectos: Super = 5 min Health Boost I · Hyper = +2 corazones permanentes ·
Reliquia = recupera los slots perdidos · Bacalao = Sharpness 50 / Knockback 12 al equiparlo.

---

## 7. Infraestructura

- **Servidor**: `/root/permaded/server` · Fabric Loader 0.16.14 · Java 21 · 4 GB · screen `mc`
- **Web**: nginx, `deadlock.spectind.top` (certificado propio), hub en `/mods/`, ficheros en `/downloads/`
- **Backups**: cron diario 5:00 → `/root/permaded/backup` (rotación 7 días)
- **Watchdog**: cron cada 2 min, relanza el servidor si cae
- **ops**: `./addop.py <nombre>` (necesario en `online-mode=false`)

---

## 8. Lo que NO existe todavía

| Pendiente | Por qué |
|---|---|
| **Los Cuatro Jinetes y La Muerte** | Están escritos en la identidad pero no implementados |
| Tótems que consuman 2-3 (solo el fallo) | Requiere tocar `LivingEntity#breakUsedTotem` |
| Prohibir stripmining/antorchas/estructuras | Evento de romper/colocar |
| Comida con efectos, escupitajos, veneno al golpear | Eventos de consumo/daño |
| Límite real de "4 jugadores para dormir" | En 1.20.1 solo hay `playersSleepingPercentage` |
| Resource pack visual (GUI, sonidos, armas) | Ahora solo hay 10 texturas de items |
| **Muerte real probada en juego** | Único flujo sin ejecutar una vez |
