Infusor Coil · modelo 3D

Matraz 3D acoplado a la mesa

Objeto 3D real de 3 cuboides — cuerpo ancho, tubo fino y tapón. Un conector sale de la base y lleva el XP líquido a la Transfer Table; el tapón se ilumina cuando está funcionando. Elige la cara de acople y el conector se reorienta. Arrastra para girar.

01 · Visor 3D interactivo

Arrastra con el ratón para orbitar. El conector sale de la base del matraz (por ahí fluye el XP a la mesa) y apunta a la cara de acople. El tapón se enciende solo cuando está infusionando (prueba Idle/Infusing). El líquido verde es el nivel real del tanque.

arrastra para girar · rueda para zoom
Cobre — textura tipo Minecraft
Latón — oro + cobre (necesita zinc)
Luz — tapón encendido al funcionar
Vidrio — cara frontal del cuerpo
XP — burbujas + rebote al gotear

02 · Despiece del modelo (3 cuboides)

Elevación lateral

Dimensiones (px de Minecraft)

① Cuerpo
9 × 9 × 9 — cubo ancho, vidrio con marco de cobre. Aloja el tanque de XP.
② Tubo
3 × 6 × 3 — cuello fino y alargado, cobre macizo.
③ Tapón
5 × 2 × 5 — cuadrado, algo más ancho que el tubo. Latón + pomo.
Tiras
1 × N × 1 de cobre en las 4 aristas verticales + aros superior/inferior del cuerpo.
Remaches
píxeles de latón en las tiras (detalle steampunk).
Conector
tubo de cobre desde la base que lleva el fluido a la mesa; se reorienta según la cara de acople.
Luz tapón
núcleo emisivo dentro del tapón; visible solo cuando el infusor está trabajando.
Altura total
~17 px (cuerpo 9 + tubo 6 + tapón 2).

03 · Handoff a Claude Code

// models/block/infusor_coil.json // 3 cuboides + tiras (elements[]) { "elements": [ // ① cuerpo 9³ (from 3.5,0,3.5 to 12.5,9,12.5) { "from":[3.5,0,3.5], "to":[12.5,9,12.5] }, // ② tubo 3×6×3 { "from":[6.5,9,6.5], "to":[9.5,15,9.5] }, // ③ tapón 5×2×5 { "from":[5.5,15,5.5], "to":[10.5,17,10.5] }, // tiras de refuerzo en aristas (×4) ... ] }

Piezas para el código:

  • Modelo JSON con estos 3 cuboides + las tiras. Lo entrego completo con todas las caras y UVs.
  • BlockEntityRenderer dibuja el cubo de fluido dentro del cuerpo a la altura real + la gota cuando isInfusing().
  • BlockState direccional para que el matraz se oriente según la cara de la mesa a la que se acopla (N/E/S/W/Up/Down).
  • Texturas de cobre/latón/vidrio para las caras (te las genero a 16×16 o atlas).
Acople direccional + luz: el matraz es un bloque propio adyacente a la Transfer Table. El conector sale de la base y lleva el XP a la cara donde esté la mesa; su BlockState guarda esa dirección (N/E/S/W/Up/Down). El tapón se ilumina vía emisividad en el BlockEntityRenderer cuando isInfusing(). Misma lógica para los otros 5 módulos futuros.