Módulo de almacenamiento

Módulo de almacenamiento

alaindustrial:storage_module
UtilidadesImplementadostoragemultiblockautomationutility

Resumen

El Módulo de almacenamiento es un bloque de 27 huecos cuya única razón de ser es que se fusiona con sus vecinos. Coloca dos módulos uno contra otro y tienes un almacén de 54 huecos tras una sola ventana. Tres hacen 81. Cuatro hacen 108, y ese es el techo.

Haz clic derecho en cualquier módulo y la ventana muestra el almacén entero, no solo los 27 huecos del bloque que has tocado.

Sin energía, sin redstone, la forma que quieras — un muro, una columna, una L. La única regla: los módulos deben tocarse cara a cara, no por un borde ni por una esquina.

Ejemplo rápido: colocaste un módulo, lo llenaste, se te acabó el sitio. Pega un segundo contra él: abre cualquiera de los dos y estarás viendo 54 huecos como una sola lista.

Energía

CampoValor
Papelninguno
Búfer (EU/FE)0
Entrada máx. (EU/FE/tick)n/d
Salida máx. (EU/FE/tick)n/d
EU/FE/tick0

El módulo no participa en la red de energía: ni transporta EU/FE ni se conecta a cables.

Inventario

HuecoAceptaCantidad
Almacenamiento del módulocualquier objeto27 (3 filas de 9)

Los objetos están físicamente en el módulo donde los metiste. No existe un inventario maestro: la ventana del almacén es una vista sobre el inventario de todos los módulos a la vez, no un depósito aparte. Todo lo demás se deriva de eso — qué cae al romper uno y qué pasa cuando un chunk se descarga.

Cómo suma el almacén

Módulos adyacentesHuecos del almacénFilas totalesFilas visiblesDesplazamiento
12733ninguno
25466ninguno (barra inactiva)
381963 filas
41081266 filas
5 o más108 (tope)1266 filas

Los huecos y las filas no cambian — solo cambia la ventana: muestra como máximo seis filas y el resto se alcanza con la barra de desplazamiento de la derecha.

Reglas de fusión

Interfaz

Qué se sincroniza. Dos números en ContainerData: cuántas filas tiene el almacén en total y en qué fila está la ventana. El cliente necesita el primero para dibujar la barra y el segundo para colocar el pulgar; el servidor es dueño de ambos. El desplazamiento viaja en el vainilla, donde el id del botón ES la fila superior solicitada; el servidor la acota, así que un paquete que pida la fila 500 no puede leer más allá del almacén.

Por qué una vista y no mover los huecos. Slot.x/Slot.y son public final, y la lista de huecos de un menú es parte del contrato de red: los índices en ClientboundContainerSetSlot son posiciones en ella, así que reconstruir la lista bajo un menú vivo desincroniza el cliente. La única pantalla con desplazamiento del juego (el inventario creativo) hace lo mismo: los huecos nunca se mueven; lo que se mueve es la respuesta que da el contenedor tras ellos.

Propiedades del bloque

CampoValor
Formacubo completo 16³
Dureza3.0
Resistencia a explosiones6.0
Herramientapico
Se suelta con NBTfalse — el contenido no se conserva en el objeto

Apariencia: un almacén se lee como un solo armario

El módulo es un armario de acero con tres cajones — uno por cada fila de nueve huecos que añade a la ventana. Arriba y abajo no hay cajones sino una placa del cuerpo con un panel de servicio embutido.

Los módulos adyacentes también se fusionan visualmente. En la cara que comparten dos módulos, el marco desaparece: los frentes de los cajones continúan a través de la junta, las tapas se vuelven una encimera continua, y el borde solo sobrevive alrededor del exterior del almacén. Un muro de 2×2 se lee como un armario de seis cajones, una fila de cuatro como uno largo.

El aspecto fusionado significa exactamente una cosa: este es un almacén. En cuanto una construcción supera los cuatro módulos, los marcos vuelven en todos a la vez, y la construcción parece de nuevo armarios separados. Eso no es cosmético sino una señal honesta: en una construcción así el almacén depende del módulo que toques (véase «Reglas de fusión»), y ninguna junta podría prometer que dos bloques son un solo depósito. Quita el módulo extra y el aspecto fusionado regresa.

Tocarse por un borde o una esquina no fusiona ni la mecánica ni la imagen: dos almacenes pueden quedar pegados y seguir pareciendo separados.

Cómo se dibuja. La conexión está integrada en el modelo del bloque, no superpuesta. Cada cara está cortada en rectángulos sin solaparse — una banda por borde, cuatro esquinas de un píxel en las caras de la tapa y el centro — y cada rectángulo se dibuja exactamente una vez, con la textura con marco o con la abierta. Nada sobresale hacia fuera y nada se solapa, así que una junta no puede acumular su propia iluminación ni mostrar un escalón. La primera versión en cambio ponía parches sobre el cubo, salientes 0.1 bloques, y el jugador veía una banda elevada atravesando la encimera y una línea negra corta donde terminaba un parche.

Una esquina del borde en la cara de la tapa pertenece a dos bordes a la vez, así que solo se abre cuando ambos vecinos están. Dársela a un solo borde perfora un agujero de dos píxeles en el borde este/oeste en cada junta norte-sur.

El blockstate y sus 21 modelos están generados (python tools/gen_storage_module_models.py) y solo se editan a través del generador. --check (integrado en y el hook de pre-commit) compara los ficheros contra el generador y demuestra aparte que la junta es perfecta: cada píxel de cada cara se dibuja exactamente una vez, ningún elemento sale del volumen del bloque, y el muro y la encimera compuestos desde los modelos son idénticos píxel a píxel a una referencia de «un gran armario» construida solo con la textura con marco.

Romper un módulo derrama su propio contenido y nada más. Los módulos vecinos quedan intactos: sus objetos son suyos y nunca se mueven.

Romper un módulo en medio de una construcción simplemente la divide — cada parte se convierte en su propio almacén. Los objetos de los módulos separados no caen: se quedan en su sitio y vuelven a la ventana compartida en cuanto se restaura la conexión.

Romper el ensamblador junto a un almacén devuelve al jugador solo lo que la propia máquina tenía — la cola de planos y la zona de salida — y deja los módulos en paz (TC-ASM-026 cuenta las gotas exactamente, así que tanto una pérdida como una doble caída se ven). Desmontar el almacén recorre la capacidad hasta cero y nunca más allá (TC-STOR-010; un recuento que se volviera negativo es lo que rompió Functional Storage).

Las tuberías quedan fijadas por el transporte, no por la presencia de un puerto. TC-STOR-012 mueve dieciséis lingotes cofre -> tubería -> almacén y de vuelta, y comprueba aparte que una pasada en seco no mueve nada y promete exactamente lo que el movimiento confirmado luego traslada — un desajuste entre esos dos números es el clásico bug de duplicación (XNet #173).

El contenido sobrevive a una recarga. TC-STOR-013 lleva un módulo por NBT — el mismo camino que sigue guardar y cargar un chunk — y comprueba, entre otras cosas, que los huecos no se desplacen: un hueco vacío dejado deliberadamente entre dos ocupados tiene que volver vacío.

Recetas

La receta es barata a propósito: hacer crecer el almacén es un consumible, no un hito.

Progresión

Relacionado

Fabricación

Fabricación con forma
Cualquier placa de hierro
Cualquier placa de hierro
Cofre
Cualquier placa de hierro
Cualquier placa de hierro
Mesa de trabajo
▶
Módulo de almacenamiento
Módulo de almacenamiento

Se usa en

Fabricación con forma
Engranaje de hierro
Mesa de trabajo
Engranaje de hierro
Circuito electrónico
Carcasa de máquina avanzada
Circuito electrónico
Engranaje de hierro
Módulo de almacenamiento
Engranaje de hierro
Mesa de trabajo
▶
Ensamblador
Ensamblador