ItemsAdder
Descripción general
ItemsAdder te permite añadir a tu servidor bloques, muebles, objetos, cultivos, HUD y entidades personalizados mediante un paquete de recursos. Esta extensión hace que todos ellos se puedan usar en TypeWriter. Una misión puede pedir a los jugadores que rompan un mineral personalizado o coloquen una lámpara personalizada, un diálogo puede reaccionar a que un jugador se siente en tus muebles, y un criterio puede comprobar que el jugador sostiene tu espada personalizada.
Todo usa el id con namespace de ItemsAdder (namespace:id, por ejemplo my_pack:ruby_ore). Nada de esto crea contenido: sigues definiendo bloques, muebles y objetos en ItemsAdder y luego usas sus ids en las entradas de TypeWriter.
Características
- Eventos de bloques y muebles — triggers cuando un bloque o mueble personalizado se rompe, se coloca o se interactúa con él.
- Evento previo a la colocación — un trigger que se activa justo antes de que se genere un mueble.
- Muerte de entidad personalizada — un trigger cuando un jugador mata una entidad personalizada de ItemsAdder.
- Objetivos de recuento — romper o colocar bloques y muebles personalizados como objetivo de misión.
- Herramientas de inventario de objetos — da o quita objetos de ItemsAdder, y reacciona a recogerlos, soltarlos o consumirlos.
- Facts de objetos y del mundo — objeto sostenido, cantidad de objetos, usos y durabilidad restantes, bloque mirado o pisado, mueble mirado.
- Facts de cultivos y HUD — etapa de crecimiento del cultivo, si un cultivo está maduro y si un HUD con nombre es visible.
- Variables — ids y propiedades de objetos sostenidos, bloques y muebles, glifos de imágenes de fuente y listas del registro, listas para cualquier texto.
- Entrada de sonido — usa un id de sonido de ItemsAdder dondequiera que TypeWriter pida un sonido.
Instalación
- Instala ItemsAdder y deja que genere su paquete de recursos. Esta extensión no se carga sin él.
- Asegúrate de que las extensiones Quest y Basic de TypeWriter están instaladas.
- Descarga la extensión desde las tiendas (consulta los botones del panel de arriba) y coloca el JAR en
plugins/Typewriter/extensions/. - Reinicia el servidor.
Primeros pasos
Este recorrido crea una misión que pide al jugador romper tres bloques de mineral personalizado.
- En el panel web, crea una misión con la extensión Quest y un fact para guardar el progreso (un fact permanente es una buena opción).
- En una página de manifest, añade un objetivo Break Block.
- Establece
questcon tu misión yfactcon el fact de progreso. Estableceitemcon el id del bloque, por ejemplomy_pack:ruby_ore, yamounten3. Dejaitemvacío para contar cualquier bloque personalizado. - Establece
displaycon la línea que se muestra en el rastreador de misiones, por ejemploMine ruby ore. El progreso(1/3)se añade automáticamente. - Opcionalmente, enlaza
onCompletecon una secuencia que dé una recompensa, por ejemplo con Give Item eitemIdmy_pack:ruby_pendant. - Publish, inicia la misión y rompe el bloque.
Para reaccionar una sola vez en lugar de contar, usa un evento: añade una entrada On Custom Block Break a una página de sequence, rellena blockId y enlaza sus triggers con las entradas que se ejecutarán.
Lista lo que ItemsAdder tiene cargado con la variable Registry IDs, o en el juego con los comandos de ItemsAdder, y copia el id con namespace exacto.
Cómo funciona
Los eventos transportan datos sobre lo ocurrido. Las entradas activadas pueden leer el id del bloque o mueble y su posición, el clic usado (en la interacción con bloques) y el objeto en la mano.
Los objetivos cuentan cada posición una vez por jugador. Romper y volver a colocar el mismo bloque en el mismo sitio no suma al recuento. Solo cuentan mientras el jugador tiene activa la misión enlazada. Las acciones canceladas (por ejemplo, en una región protegida) no cuentan ni activan eventos.
Configuración
Las líneas de objetivo del rastreador de misiones se construyen a partir de dos snippets de TypeWriter que puedes cambiar en el archivo de snippets de TypeWriter:
| Snippet | Valor por defecto |
|---|---|
advancedQuest.display | <display> <dark_gray>(<gray><current><dark_gray>/<gray><required><dark_gray>) |
advancedQuest.completed | <green>✔</green> <st><display></st> <dark_gray>(<gray><current><dark_gray>/<gray><required><dark_gray>) |
Entradas
35 entradas, generadas a partir del código fuente de la extensión.
Acciones2
- Itemsadder Give Item ActionGive an ItemsAdder item to the player
- Itemsadder Remove Item ActionRemove an ItemsAdder item from the player
Eventos11
- Itemsadder on Item Consume EventTriggers when the player consumes an ItemsAdder item
- Itemsadder on Item Drop EventTriggers when the player drops an ItemsAdder item
- Itemsadder on Item Pickup EventTriggers when the player picks up an ItemsAdder item
- On Custom Entity Death EventTriggers when a custom entity is killed by the player
- On Customblock Break EventTriggers when a custom block is broken
- On Customblock Interact EventTriggers when a custom block is interacted with
- On Customblock Place EventTriggers when a custom block is placed
- On Furniture Break EventTriggers when a furniture is broken
- On Furniture Interact EventTriggers when a furniture is interacted with
- On Furniture Place EventTriggers when a furniture is placed
- On Furniture Pre Place EventTriggers just before a furniture is placed
Objetivos4
- Break Customblock ObjectiveAn objective to break blocks
- Break Furniture ObjectiveAn objective to break furniture
- Place Customblock ObjectiveAn objective to place blocks
- Place Furniture ObjectiveAn objective to place furniture
Hechos10
- Itemsadder Crop Age FactGrowth stage of the ItemsAdder crop the player is looking at
- Itemsadder Crop Fully Grown FactWhether the ItemsAdder crop the player is looking at is ripe
- Itemsadder Holding Item FactWhether the player is holding an ItemsAdder item
- Itemsadder HUD Visible FactWhether a named ItemsAdder HUD is visible to the player
- Itemsadder Item Count FactHow many of an ItemsAdder item the player carries
- Itemsadder Item Durability FactCustom durability left on the held ItemsAdder item
- Itemsadder Item Usages FactUses left on the held ItemsAdder item
- Itemsadder Looking at Block FactWhether the player is looking at an ItemsAdder block
- Itemsadder Looking at Furniture FactWhether the player is looking at ItemsAdder furniture
- Itemsadder Standing on Block FactWhether the player is standing on an ItemsAdder block
Variables7
- Itemsadder Font Image VariableThe characters that render an ItemsAdder font image
- Itemsadder Item in Hand ID VariableThe ItemsAdder ID of the item the player holds
- Itemsadder Item Property VariableA property of the ItemsAdder item the player holds
- Itemsadder Looking at Block ID VariableThe ItemsAdder ID of the block the player is looking at
- Itemsadder Looking at Furniture ID VariableThe ItemsAdder ID of the furniture the player is looking at
- Itemsadder Registry Ids VariableThe list of IDs ItemsAdder has loaded
- Itemsadder Standing on Block ID VariableThe ItemsAdder ID of the block the player stands on
Sonidos1
- Itemsadder SoundItemsAdder Sound
Solución de problemas
La extensión no aparece en el panel. ItemsAdder no está instalado o no se activó. Cada entrada llama a la API de ItemsAdder, así que la extensión se niega a cargarse sin el plugin.
Un evento nunca se activa. Comprueba el id: debe ser el namespace:id completo, no solo el id. Un id vacío coincide con cualquier cosa. Si rellenaste location, solo coincide esa posición exacta de bloque. Los eventos que otro plugin canceló (un plugin de protección, por ejemplo) se ignoran.
El objetivo no avanza. El jugador debe tener activa la misión enlazada y debe haber un fact establecido en el objetivo. La misma posición de bloque cuenta solo una vez por jugador.
Un fact siempre devuelve 0. El objeto sostenido o el bloque no es de ItemsAdder. Los facts que miran bloques solo comprueban el primer bloque dentro de range bloques (5 por defecto). Los facts de usos y durabilidad devuelven 0 cuando el objeto no tiene usos ni durabilidad personalizada.
La variable Registry IDs está vacía. ItemsAdder carga su contenido en segundo plano. La variable no devuelve nada hasta que ItemsAdder informa de que sus objetos están cargados, así que no la leas durante el inicio.
Give Item no da nada. El itemId es desconocido para ItemsAdder, así que no se construye ningún objeto y no se da nada. La acción informa de 0 entregados. Lo que sobra y no cabe se suelta a los pies del jugador, salvo que dropOverflow esté desactivado.
El fact de HUD siempre es 0. El id del HUD debe existir en ItemsAdder y el jugador debe tenerlo. ItemsAdder no puede listar los HUD, así que el fact solo comprueba el que nombras.
Extensiones relacionadas
- Nexo y Craft Engine — la misma integración para los otros plugins de contenido personalizado.