ItemsAdder
Visão geral
O ItemsAdder permite adicionar ao seu servidor blocos, móveis, itens, plantações, HUDs e entidades personalizados por meio de um resource pack. Esta extensão torna todos eles utilizáveis no TypeWriter. Uma quest pode pedir que os jogadores quebrem um minério personalizado ou coloquem uma lâmpada personalizada, um diálogo pode reagir a um jogador sentado em um móvel seu, e um criteria pode verificar se o jogador segura a sua espada personalizada.
Tudo usa o id com namespace do ItemsAdder (namespace:id, por exemplo my_pack:ruby_ore). Nada aqui cria conteúdo: você continua definindo blocos, móveis e itens no ItemsAdder e depois usa seus ids nas entries do TypeWriter.
Recursos
- Eventos de blocos e móveis — triggers quando um bloco ou móvel personalizado é quebrado, colocado ou interagido.
- Evento de pré-colocação — um trigger disparado logo antes de um móvel ser invocado.
- Morte de entidade personalizada — um trigger quando um jogador mata uma entidade personalizada do ItemsAdder.
- Objectives de contagem — quebre ou coloque blocos e móveis personalizados como objective de quest.
- Ferramentas de inventário de itens — dê ou remova itens do ItemsAdder e reaja a pegá-los, soltá-los ou consumi-los.
- Facts de itens e do mundo — item na mão, quantidade de itens, usos e durabilidade restantes, bloco observado ou pisado, móvel observado.
- Facts de plantações e HUDs — estágio de crescimento da plantação, se está madura e se um HUD nomeado está visível.
- Variáveis — ids e propriedades de itens, blocos e móveis, glifos de imagens de fonte e listas de registro, prontos para qualquer texto.
- Entry de som — use um id de som do ItemsAdder onde quer que o TypeWriter peça um som.
Instalação
- Instale o ItemsAdder e deixe-o gerar seu resource pack. Esta extensão não carrega sem ele.
- Confirme que as extensões Quest e Basic do TypeWriter estão instaladas.
- Baixe a extensão nas lojas (veja os botões no painel acima) e coloque o JAR em
plugins/Typewriter/extensions/. - Reinicie o servidor.
Primeiros passos
Este passo a passo cria uma quest que pede ao jogador que quebre três blocos de minério personalizado.
- No painel web, crie uma quest com a extensão Quest e um fact para armazenar o progresso (um fact permanente é uma boa escolha).
- Em uma página de manifest, adicione um objective Break Block.
- Defina
questcom a sua quest efactcom o fact de progresso. Definaitemcom o id do bloco, por exemplomy_pack:ruby_ore, eamountcomo3. Deixeitemvazio para contar qualquer bloco personalizado. - Defina
displaycom a linha exibida no rastreador de quests, por exemploMine ruby ore. O progresso(1/3)é adicionado automaticamente. - Opcionalmente, vincule
onCompletea uma sequence que entrega uma recompensa, por exemplo com Give Item eitemIdmy_pack:ruby_pendant. - Clique em Publish, inicie a quest e quebre o bloco.
Para reagir uma única vez em vez de contar, use um evento: adicione uma entry On Custom Block Break a uma página de sequence, preencha blockId e vincule seus triggers às entries a executar.
Liste o que o ItemsAdder carregou com a variável Registry IDs, ou no jogo com os comandos do ItemsAdder, e copie o id com namespace exato.
Como funciona
Os eventos carregam dados sobre o que aconteceu. As entries disparadas podem ler o id do bloco ou móvel e sua posição, o clique usado (no caso de interação com bloco) e o item na mão.
Os objectives contam cada posição uma vez por jogador. Quebrar e colocar o mesmo bloco novamente no mesmo lugar não aumenta a contagem. Eles só contam enquanto o jogador tem a quest vinculada ativa. As ações canceladas (por exemplo, em uma região protegida) não contam e não disparam eventos.
Configuração
As linhas de objective no rastreador de quests são construídas a partir de dois snippets do TypeWriter que você pode alterar no arquivo de snippets do TypeWriter:
| Snippet | Padrão |
|---|---|
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>) |
Entries
35 entradas, geradas a partir do código-fonte da extensão.
Ações2
- 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
Fatos10
- 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
Variáveis7
- 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
Sons1
- Itemsadder SoundItemsAdder Sound
Solução de problemas
A extensão não aparece no painel. O ItemsAdder não está instalado ou não foi ativado. Toda entry chama a API do ItemsAdder, então a extensão se recusa a carregar sem o plugin.
Um evento nunca dispara. Verifique o id: ele deve ser o namespace:id completo, não apenas o id. Um id vazio corresponde a qualquer coisa. Se você preencheu location, apenas essa posição exata de bloco corresponde. Os eventos cancelados por outro plugin (um plugin de proteção, por exemplo) são ignorados.
O objective não avança. O jogador deve ter a quest vinculada ativa, e um fact deve estar definido no objective. A mesma posição de bloco conta apenas uma vez por jogador.
Um fact sempre retorna 0. O item na mão ou o bloco não é do ItemsAdder. Os facts que observam blocos verificam apenas o primeiro bloco dentro de range blocos (5 por padrão). Os facts de usos e durabilidade retornam 0 quando o item não tem usos nem durabilidade personalizada.
A variável Registry IDs está vazia. O ItemsAdder carrega seu conteúdo em segundo plano. A variável não retorna nada até que o ItemsAdder informe que seus itens foram carregados, então não a leia durante a inicialização.
O Give Item não entrega nada. O itemId é desconhecido para o ItemsAdder, então nenhum item é construído e nada é entregue. A action informa 0 entregues. As sobras que não cabem são soltas aos pés do jogador, a menos que dropOverflow esteja desativado.
O fact de HUD é sempre 0. O id do HUD deve existir no ItemsAdder e o jogador deve possuí-lo. O ItemsAdder não consegue listar HUDs, então o fact verifica apenas o que você nomear.
Extensões relacionadas
- Nexo e Craft Engine — a mesma integração para os outros plugins de conteúdo personalizado.