<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.dragonminez.com/pt/wiki/NPC_Placement_and_Alignment?action=history&amp;feed=atom</id>
	<title>NPC Placement and Alignment/pt - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.dragonminez.com/pt/wiki/NPC_Placement_and_Alignment?action=history&amp;feed=atom"/>
	<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/pt/wiki/NPC_Placement_and_Alignment?action=history"/>
	<updated>2026-10-26T23:44:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.dragonminez.com/pt/wiki/NPC_Placement_and_Alignment?diff=39916&amp;oldid=prev</id>
		<title>Shokkoh: Translation sync from dragonminez-wiki repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/pt/wiki/NPC_Placement_and_Alignment?diff=39916&amp;oldid=prev"/>
		<updated>2026-10-22T01:25:19Z</updated>

		<summary type="html">&lt;p&gt;Translation sync from dragonminez-wiki repository&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:25, 22 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l195&quot;&gt;Line 195:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 195:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;hostile_above&amp;lt;/code&amp;gt; || Inteiro || O mesmo, mas para uma índole acima deste valor.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;hostile_above&amp;lt;/code&amp;gt; || Inteiro || O mesmo, mas para uma índole acima deste valor.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;interaction.min_alignment&amp;lt;/code&amp;gt; || Inteiro || &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;span class=&quot;mw-translate-fuzzy&quot;&amp;gt;O jogador precisa de pelo menos esta &lt;/del&gt;índole &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;para falar com &lt;/del&gt;o NPC&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Mesmo que &lt;/del&gt;o &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;NPC não seja hostil&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;uma índole baixa &lt;/del&gt;o &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;suficiente ainda bloqueia &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;interação&lt;/del&gt;. Também pode ser escrito direto na regra, sem o invólucro &amp;lt;code&amp;gt;interaction&amp;lt;/code&amp;gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;interaction.min_alignment&amp;lt;/code&amp;gt; || Inteiro || &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Abaixo desta &lt;/ins&gt;índole o NPC &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;continua falando com &lt;/ins&gt;o &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jogador&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mas &lt;/ins&gt;o &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cumprimenta com frieza, e as missões secundárias dele aparecem bloqueadas (missões de saga, missões com &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;própria condição de índole e missões já em andamento continuam disponíveis)&lt;/ins&gt;. Também pode ser escrito direto na regra, sem o invólucro &amp;lt;code&amp;gt;interaction&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;interaction.max_alignment&amp;lt;/code&amp;gt; || Inteiro || O mesmo, mas como limite superior.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;interaction.max_alignment&amp;lt;/code&amp;gt; || Inteiro || O mesmo, mas como limite superior.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div class=&quot;mw-translate-fuzzy&quot;&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Os quatro campos de limite são opcionais: omita os que não se aplicam. Usando a entrada &amp;lt;code&amp;gt;goku&amp;lt;/code&amp;gt; acima como exemplo: com índole abaixo de 25, o Goku é hostil; de 25 a 60 ele &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;continua falando com você&lt;/ins&gt;, mas &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;com frieza, e as missões secundárias dele continuam bloqueadas &lt;/ins&gt;(a índole está abaixo do &amp;lt;code&amp;gt;min_alignment&amp;lt;/code&amp;gt; de 61); com 61 ou mais ele é amigável e &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tudo fica disponível&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Os quatro campos de limite são opcionais: omita os que não se aplicam. Usando a entrada &amp;lt;code&amp;gt;goku&amp;lt;/code&amp;gt; acima como exemplo: com índole abaixo de 25, o Goku é hostil; de 25 a 60 ele &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;está presente&lt;/del&gt;, mas &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;não conversa &lt;/del&gt;(a índole está abaixo do &amp;lt;code&amp;gt;min_alignment&amp;lt;/code&amp;gt; de 61); com 61 ou mais ele é amigável e &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dá para falar com ele&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;NpcDispositionService.getRelation()&amp;lt;/code&amp;gt; verifica a relação nesta ordem:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;NpcDispositionService.getRelation()&amp;lt;/code&amp;gt; verifica a relação nesta ordem:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Shokkoh</name></author>
	</entry>
	<entry>
		<id>https://wiki.dragonminez.com/pt/wiki/NPC_Placement_and_Alignment?diff=38535&amp;oldid=prev</id>
		<title>FuzzyBot: Updating to match new version of source page</title>
		<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/pt/wiki/NPC_Placement_and_Alignment?diff=38535&amp;oldid=prev"/>
		<updated>2026-10-22T01:09:09Z</updated>

		<summary type="html">&lt;p&gt;Updating to match new version of source page&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:09, 22 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l195&quot;&gt;Line 195:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 195:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;hostile_above&amp;lt;/code&amp;gt; || Inteiro || O mesmo, mas para uma índole acima deste valor.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;hostile_above&amp;lt;/code&amp;gt; || Inteiro || O mesmo, mas para uma índole acima deste valor.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;interaction.min_alignment&amp;lt;/code&amp;gt; || Inteiro || O jogador precisa de pelo menos esta índole para falar com o NPC. Mesmo que o NPC não seja hostil, uma índole baixa o suficiente ainda bloqueia a interação. Também pode ser escrito direto na regra, sem o invólucro &amp;lt;code&amp;gt;interaction&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;interaction.min_alignment&amp;lt;/code&amp;gt; || Inteiro || &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;span class=&quot;mw-translate-fuzzy&quot;&amp;gt;&lt;/ins&gt;O jogador precisa de pelo menos esta índole para falar com o NPC. Mesmo que o NPC não seja hostil, uma índole baixa o suficiente ainda bloqueia a interação. Também pode ser escrito direto na regra, sem o invólucro &amp;lt;code&amp;gt;interaction&amp;lt;/code&amp;gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;interaction.max_alignment&amp;lt;/code&amp;gt; || Inteiro || O mesmo, mas como limite superior.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;interaction.max_alignment&amp;lt;/code&amp;gt; || Inteiro || O mesmo, mas como limite superior.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div class=&quot;mw-translate-fuzzy&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Os quatro campos de limite são opcionais: omita os que não se aplicam. Usando a entrada &amp;lt;code&amp;gt;goku&amp;lt;/code&amp;gt; acima como exemplo: com índole abaixo de 25, o Goku é hostil; de 25 a 60 ele está presente, mas não conversa (a índole está abaixo do &amp;lt;code&amp;gt;min_alignment&amp;lt;/code&amp;gt; de 61); com 61 ou mais ele é amigável e dá para falar com ele.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Os quatro campos de limite são opcionais: omita os que não se aplicam. Usando a entrada &amp;lt;code&amp;gt;goku&amp;lt;/code&amp;gt; acima como exemplo: com índole abaixo de 25, o Goku é hostil; de 25 a 60 ele está presente, mas não conversa (a índole está abaixo do &amp;lt;code&amp;gt;min_alignment&amp;lt;/code&amp;gt; de 61); com 61 ou mais ele é amigável e dá para falar com ele.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;NpcDispositionService.getRelation()&amp;lt;/code&amp;gt; verifica a relação nesta ordem:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;NpcDispositionService.getRelation()&amp;lt;/code&amp;gt; verifica a relação nesta ordem:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>FuzzyBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.dragonminez.com/pt/wiki/NPC_Placement_and_Alignment?diff=37162&amp;oldid=prev</id>
		<title>Shokkoh: Translation sync from dragonminez-wiki repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/pt/wiki/NPC_Placement_and_Alignment?diff=37162&amp;oldid=prev"/>
		<updated>2026-10-14T08:56:36Z</updated>

		<summary type="html">&lt;p&gt;Translation sync from dragonminez-wiki repository&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Posicionamento e índole de NPCs&amp;#039;&amp;#039;&amp;#039; trata dos arquivos que decidem onde ficam os NPCs mestres e treinadores e como a índole de um jogador muda a forma como cada NPC o trata. Isso é feito por dois arquivos JSON relacionados de cada mundo, ambos em &amp;lt;code&amp;gt;&amp;lt;world save&amp;gt;/dragonminez/npcs/&amp;lt;/code&amp;gt;, além de um formato de datapack para os NPCs que vivem dentro de estruturas.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Arquivo !! O que controla&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;placements.json&amp;lt;/code&amp;gt; || Onde os NPCs mestres e treinadores aparecem (posição, dimensão, índole ou relação inicial).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;alignment_rules.json&amp;lt;/code&amp;gt; || Como a índole do &amp;#039;&amp;#039;&amp;#039;jogador&amp;#039;&amp;#039;&amp;#039; afeta a hostilidade, a simpatia e a disponibilidade para interação de cada NPC.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Os dois arquivos são carregados quando o servidor inicia e recarregados com &amp;lt;code&amp;gt;/dmzreload config&amp;lt;/code&amp;gt; (ou &amp;lt;code&amp;gt;/dmzreload all&amp;lt;/code&amp;gt;); veja [[Special:MyLanguage/Reloading and Updating Changes|Recarregar e atualizar mudanças]]. Uma recarga também reaplica os posicionamentos em todas as dimensões carregadas.&lt;br /&gt;
&lt;br /&gt;
{{Note|type=warning|title=Mundos antigos mantêm seus arquivos antigos|text=Os dois arquivos só são criados com os valores padrão do DragonMineZ quando &amp;#039;&amp;#039;&amp;#039;não existem&amp;#039;&amp;#039;&amp;#039;. Um mundo criado com uma versão anterior do DragonMineZ mantém seus arquivos antigos, então não recebe as novas entradas padrão (por exemplo, os NPCs do Outro Mundo da v2.2 e suas novas coordenadas). Para obter os padrões atuais, apague o arquivo (faça backup antes se você o editou) e execute &amp;lt;code&amp;gt;/dmzreload config&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;NPC_placement&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Posicionamento de NPCs ==&lt;br /&gt;
&amp;lt;code&amp;gt;placements.json&amp;lt;/code&amp;gt; lista todos os NPCs que o DragonMineZ coloca e onde.&lt;br /&gt;
&lt;br /&gt;
Código-fonte: &amp;lt;code&amp;gt;src/main/java/com/dragonminez/server/world/npc/NPCPlacementManager.java&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;schema&amp;quot;: 1,&lt;br /&gt;
  &amp;quot;placements&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;master_roshi&amp;quot;,&lt;br /&gt;
      &amp;quot;entity&amp;quot;: &amp;quot;dragonminez:master_roshi&amp;quot;,&lt;br /&gt;
      &amp;quot;dimension&amp;quot;: &amp;quot;minecraft:overworld&amp;quot;,&lt;br /&gt;
      &amp;quot;structure&amp;quot;: &amp;quot;roshi_house&amp;quot;,&lt;br /&gt;
      &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;z&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;yaw&amp;quot;: 225.0,&lt;br /&gt;
      &amp;quot;pitch&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;surface&amp;quot;: true,&lt;br /&gt;
      &amp;quot;relative_to_spawn&amp;quot;: false,&lt;br /&gt;
      &amp;quot;enabled&amp;quot;: true,&lt;br /&gt;
      &amp;quot;override&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo !! Tipo !! O que faz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; || Texto || Id único do posicionamento. Ele é marcado na entidade gerada para que o DragonMineZ possa encontrá-la e atualizá-la depois. Se dois posicionamentos têm o mesmo id, vale o último do arquivo (um aviso é registrado no log).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&amp;lt;/code&amp;gt; || Texto || Id de registro do tipo de entidade.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dimension&amp;lt;/code&amp;gt; || Texto || Padrão: &amp;lt;code&amp;gt;minecraft:overworld&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;npc_id&amp;lt;/code&amp;gt; || Texto || Só tem efeito para entidades &amp;lt;code&amp;gt;dragonminez:quest_npc&amp;lt;/code&amp;gt;: liga ao id de NPC do sistema de missões.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;model&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;texture&amp;lt;/code&amp;gt; || Texto || Usado apenas para entidades &amp;lt;code&amp;gt;quest_npc&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;structure&amp;lt;/code&amp;gt; || Texto || Se definido, &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt; passam a ser um &amp;#039;&amp;#039;&amp;#039;deslocamento&amp;#039;&amp;#039;&amp;#039; a partir da origem dessa estrutura, em vez de coordenadas do mundo. Valores válidos: &amp;lt;code&amp;gt;roshi_house&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;goku_house&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;elder_guru&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;timechamber&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;kamilookout&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gero_lab&amp;lt;/code&amp;gt;. Um valor não reconhecido faz &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt; serem tratados como coordenadas brutas do mundo (com um aviso no log).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt; || Número || Coordenadas do mundo, ou o deslocamento a partir da estrutura (veja acima). Padrões: &amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;64.0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;yaw&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pitch&amp;lt;/code&amp;gt; || Número || Direção para onde olha, em graus.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;surface&amp;lt;/code&amp;gt; || Booleano || Se for &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, ajusta o Y à superfície do terreno ao carregar, em vez de usar o Y informado.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;relative_to_spawn&amp;lt;/code&amp;gt; || Booleano || Se for &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, soma o ponto de spawn do mundo a &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt; (aplicado depois de qualquer deslocamento de estrutura).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;enabled&amp;lt;/code&amp;gt; || Booleano || Se for &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, este posicionamento é totalmente ignorado.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;override&amp;lt;/code&amp;gt; || Booleano || Se for &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, a entidade é sempre gerada de novo, mesmo que já exista uma para este &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;. Caso contrário, a entidade existente é só atualizada no lugar.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;alignment&amp;lt;/code&amp;gt; || Inteiro (0–100) || Índole opcional para este NPC específico: acima de 60 ele é amigável, de 41 a 60 neutro e com 40 ou menos hostil (a menos que uma regra de índole o torne hostil antes, veja abaixo).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;relation&amp;lt;/code&amp;gt; || Texto || Substituição opcional para esta instância (&amp;lt;code&amp;gt;HOSTILE&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NEUTRAL&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;FRIENDLY&amp;lt;/code&amp;gt;), guardada na própria entidade em vez de ser consultada nas regras de índole.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Chaves desconhecidas são indicadas no relatório de carregamento do JSON.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Default_placements&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Posicionamentos padrão ===&lt;br /&gt;
O arquivo padrão gera ativamente estes NPCs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Id do posicionamento !! Entidade !! Onde&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;master_roshi&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;dragonminez:master_roshi&amp;lt;/code&amp;gt; || Casa do Kame&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;master_goku&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;dragonminez:master_goku&amp;lt;/code&amp;gt; || Casa do Goku&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;master_karin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;master_dende&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;master_popo&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;dragonminez:master_karin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;master_dende&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;master_popo&amp;lt;/code&amp;gt; || Mirante de Kami&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;master_gero&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;dragonminez:master_gero&amp;lt;/code&amp;gt; || Laboratório do Dr. Gero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;master_guru&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;dragonminez:master_guru&amp;lt;/code&amp;gt; || Casa do Grande Ancião (Namekusei)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;master_kaiosama&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;dragonminez:master_kaiosama&amp;lt;/code&amp;gt; || Outro Mundo, &amp;lt;code&amp;gt;54.5 299 1031.5&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;master_toribot&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;dragonminez:master_toribot&amp;lt;/code&amp;gt; || Outro Mundo, &amp;lt;code&amp;gt;50.5 298 1030.5&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;master_enma&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;dragonminez:master_enma&amp;lt;/code&amp;gt; || Outro Mundo, &amp;lt;code&amp;gt;0.5 150 17.5&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;master_baba&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;dragonminez:master_uranai&amp;lt;/code&amp;gt; || Outro Mundo, &amp;lt;code&amp;gt;9.5 150 3.5&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;master_grandkai&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;dragonminez:master_grandkai&amp;lt;/code&amp;gt; || Outro Mundo, &amp;lt;code&amp;gt;-30.5 150 12.5&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;npc_hell_ogre&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;dragonminez:quest_npc&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;npc_id&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;hell_ogre&amp;lt;/code&amp;gt;) || Outro Mundo, &amp;lt;code&amp;gt;9.5 150 16.5&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;master_otherworld_announcer&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;dragonminez:master_otherworld_announcer&amp;lt;/code&amp;gt; || Arena do [[Special:MyLanguage/Otherworld Tournament|Torneio do Outro Mundo]], &amp;lt;code&amp;gt;-25.5 352 -1164.5&amp;lt;/code&amp;gt; (só é colocado depois que a arena do torneio é construída)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Quest_NPCs_and_master_NPCs&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== NPCs de missões e NPCs mestres ===&lt;br /&gt;
Os NPCs de missões (Bulma, Kuririn, Yamcha, Tenshinhan, Piccolo, Gohan, Vegeta, Trunks, Chi-Chi, Videl, Shin e o Ancião Namekuseijin) também aparecem no arquivo padrão, mas com &amp;lt;code&amp;gt;&amp;quot;enabled&amp;quot;: false&amp;lt;/code&amp;gt;: eles não são mais gerados durante o jogo por este sistema. Eles estão embutidos diretamente no NBT da estrutura, então ficam em pontos fixos colocados à mão, em vez de se amontoarem no spawn do mundo. As entradas deles aqui são apenas para referência. Os NPCs adicionados a uma estrutura depois que o NBT dela foi feito vêm dos [[Special:MyLanguage/NPC Placement and Alignment#Structure NPCs|arquivos de NPCs de estruturas]] (a Chi-Chi na Casa do Goku é um deles).&lt;br /&gt;
&lt;br /&gt;
Os NPCs do Outro Mundo (&amp;lt;code&amp;gt;master_kaiosama&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;master_enma&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;master_baba&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;master_toribot&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;master_grandkai&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;master_otherworld_announcer&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;npc_hell_ogre&amp;lt;/code&amp;gt;) sempre forçam &amp;lt;code&amp;gt;override: true&amp;lt;/code&amp;gt; internamente, independentemente do que diz o arquivo, já que precisam existir de forma confiável em uma dimensão gerada. Veja [[Special:MyLanguage/Otherworld|Outro Mundo]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Structure_NPCs&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== NPCs de estruturas ==&lt;br /&gt;
Os arquivos de NPCs de estruturas colocam NPCs &amp;#039;&amp;#039;&amp;#039;dentro&amp;#039;&amp;#039;&amp;#039; de uma estrutura do DragonMineZ sem editar o arquivo &amp;lt;code&amp;gt;.nbt&amp;lt;/code&amp;gt; dela. Diferente dos arquivos acima, estes são arquivos de &amp;#039;&amp;#039;&amp;#039;datapack&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;data/&amp;lt;namespace&amp;gt;/structure_npcs/*.json&amp;lt;/code&amp;gt;, um por estrutura, carregados com os datapacks (e pelo &amp;lt;code&amp;gt;/reload&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;structure&amp;quot;: &amp;quot;dragonminez:goku_house&amp;quot;,&lt;br /&gt;
  &amp;quot;npcs&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;npc_chi_chi&amp;quot;,&lt;br /&gt;
      &amp;quot;entity&amp;quot;: &amp;quot;dragonminez:quest_npc&amp;quot;,&lt;br /&gt;
      &amp;quot;npc_id&amp;quot;: &amp;quot;chi_chi&amp;quot;,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;saga_videl&amp;quot;,&lt;br /&gt;
      &amp;quot;texture&amp;quot;: &amp;quot;saga_chichi&amp;quot;,&lt;br /&gt;
      &amp;quot;pos&amp;quot;: [67.5, 5.0, 50.5],&lt;br /&gt;
      &amp;quot;yaw&amp;quot;: 90.0&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo !! Obrigatório !! O que faz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;structure&amp;lt;/code&amp;gt; || Sim || Id da estrutura à qual os NPCs pertencem.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; || Sim || Id único deste NPC dentro da estrutura. Ele também é a chave de rastreamento, então não o renomeie depois que mundos já o usarem.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&amp;lt;/code&amp;gt; || Sim || Tipo de entidade a ser gerada (por exemplo, &amp;lt;code&amp;gt;dragonminez:quest_npc&amp;lt;/code&amp;gt; ou o id de entidade de um mestre).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;npc_id&amp;lt;/code&amp;gt; || Não || Id do NPC de missões, para &amp;lt;code&amp;gt;dragonminez:quest_npc&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;model&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;texture&amp;lt;/code&amp;gt; || Não || Nomes de modelo e textura para os NPCs de missões.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;template&amp;lt;/code&amp;gt; || Não || O template da estrutura ao qual a posição é relativa, para estruturas formadas por várias peças.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt; || Sim || Posição &amp;#039;&amp;#039;&amp;#039;relativa ao template da estrutura&amp;#039;&amp;#039;&amp;#039;, então ela fica certa qualquer que seja a rotação com que a estrutura foi gerada.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;yaw&amp;lt;/code&amp;gt; || Não || Orientação, também relativa ao template (padrão &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;alignment&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;relation&amp;lt;/code&amp;gt; || Não || Índole e relação iniciais, como em &amp;lt;code&amp;gt;placements.json&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cada NPC aparece &amp;#039;&amp;#039;&amp;#039;uma vez&amp;#039;&amp;#039;&amp;#039; por estrutura gerada quando o chunk dela carrega, incluindo estruturas geradas antes de o arquivo existir, e o spawn fica registrado: um NPC que morre não volta.&lt;br /&gt;
&lt;br /&gt;
Para obter as coordenadas, fique onde o NPC deve estar e execute &amp;lt;code&amp;gt;/dmzstructure here&amp;lt;/code&amp;gt;: ele mostra a estrutura, o template dela e sua posição e yaw relativos ao template, com um botão &amp;#039;&amp;#039;&amp;#039;Copy NPC JSON&amp;#039;&amp;#039;&amp;#039; que copia uma entrada pronta. &amp;lt;code&amp;gt;/dmzstructure npcs&amp;lt;/code&amp;gt; lista os NPCs da estrutura em que você está e se cada um já apareceu. Os dois comandos exigem a permissão &amp;lt;code&amp;gt;dragonminez.dmzstructure&amp;lt;/code&amp;gt; (veja [[Special:MyLanguage/Permissions|Permissões]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;NPC_alignment_rules&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Regras de índole de NPCs ==&lt;br /&gt;
{{See also|Alignment|Masters}}&lt;br /&gt;
&amp;lt;code&amp;gt;alignment_rules.json&amp;lt;/code&amp;gt; decide como cada NPC reage à índole do jogador.&lt;br /&gt;
&lt;br /&gt;
Código-fonte: &amp;lt;code&amp;gt;src/main/java/com/dragonminez/common/alignment/NpcAlignmentRules.java&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;npcs&amp;quot;: {&lt;br /&gt;
    &amp;quot;goku&amp;quot;: {&lt;br /&gt;
      &amp;quot;default_relation&amp;quot;: &amp;quot;FRIENDLY&amp;quot;,&lt;br /&gt;
      &amp;quot;interaction&amp;quot;: { &amp;quot;min_alignment&amp;quot;: 61 },&lt;br /&gt;
      &amp;quot;hostile_below&amp;quot;: 25&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;gero&amp;quot;: {&lt;br /&gt;
      &amp;quot;default_relation&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&lt;br /&gt;
      &amp;quot;interaction&amp;quot;: { &amp;quot;max_alignment&amp;quot;: 60 }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As chaves em &amp;lt;code&amp;gt;npcs&amp;lt;/code&amp;gt; são ids de NPC &amp;#039;&amp;#039;&amp;#039;sem nenhum namespace&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;dragonminez:roshi&amp;lt;/code&amp;gt; vira a chave &amp;lt;code&amp;gt;roshi&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo !! Tipo !! O que faz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;default_relation&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;HOSTILE&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;NEUTRAL&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;FRIENDLY&amp;lt;/code&amp;gt; || Relação base quando nenhum dos limites abaixo a substitui. Padrão: &amp;lt;code&amp;gt;NEUTRAL&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hostile_below&amp;lt;/code&amp;gt; || Inteiro || Se a índole do jogador estiver abaixo deste valor, o NPC fica hostil independentemente de &amp;lt;code&amp;gt;default_relation&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hostile_above&amp;lt;/code&amp;gt; || Inteiro || O mesmo, mas para uma índole acima deste valor.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;interaction.min_alignment&amp;lt;/code&amp;gt; || Inteiro || O jogador precisa de pelo menos esta índole para falar com o NPC. Mesmo que o NPC não seja hostil, uma índole baixa o suficiente ainda bloqueia a interação. Também pode ser escrito direto na regra, sem o invólucro &amp;lt;code&amp;gt;interaction&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;interaction.max_alignment&amp;lt;/code&amp;gt; || Inteiro || O mesmo, mas como limite superior.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Os quatro campos de limite são opcionais: omita os que não se aplicam. Usando a entrada &amp;lt;code&amp;gt;goku&amp;lt;/code&amp;gt; acima como exemplo: com índole abaixo de 25, o Goku é hostil; de 25 a 60 ele está presente, mas não conversa (a índole está abaixo do &amp;lt;code&amp;gt;min_alignment&amp;lt;/code&amp;gt; de 61); com 61 ou mais ele é amigável e dá para falar com ele.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;NpcDispositionService.getRelation()&amp;lt;/code&amp;gt; verifica a relação nesta ordem:&lt;br /&gt;
# Uma &amp;lt;code&amp;gt;relation&amp;lt;/code&amp;gt; definida no posicionamento (&amp;lt;code&amp;gt;placements.json&amp;lt;/code&amp;gt;) tem prioridade.&lt;br /&gt;
# Os limites &amp;lt;code&amp;gt;hostile_below&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;hostile_above&amp;lt;/code&amp;gt; da regra.&lt;br /&gt;
# Um &amp;lt;code&amp;gt;alignment&amp;lt;/code&amp;gt; definido no posicionamento.&lt;br /&gt;
# O &amp;lt;code&amp;gt;default_relation&amp;lt;/code&amp;gt; da regra.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Master_NPCs&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== NPCs mestres ===&lt;br /&gt;
Para os &amp;#039;&amp;#039;&amp;#039;NPCs mestres e treinadores&amp;#039;&amp;#039;&amp;#039;, o arquivo de regras decide a hostilidade, mas o filtro de índole deles é uma regra fixa em vez de &amp;lt;code&amp;gt;interaction&amp;lt;/code&amp;gt;: sempre dá para falar com os mestres, mas [[Special:MyLanguage/Goku|Goku]], [[Special:MyLanguage/Gohan|Gohan]], [[Special:MyLanguage/King Kai|Rei Kai]], [[Special:MyLanguage/Old Kai|Velho Kaioshin]], [[Special:MyLanguage/Master Roshi|Mestre Kame]] e [[Special:MyLanguage/Krillin|Kuririn]] só liberam &amp;#039;&amp;#039;&amp;#039;Habilidades&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Treinar&amp;#039;&amp;#039;&amp;#039; e as missões novas com uma índole de pelo menos &amp;#039;&amp;#039;&amp;#039;61&amp;#039;&amp;#039;&amp;#039;, e [[Special:MyLanguage/Cell|Cell]] e [[Special:MyLanguage/Frieza|Freeza]] com &amp;#039;&amp;#039;&amp;#039;40 ou menos&amp;#039;&amp;#039;&amp;#039;. Nenhum outro mestre tem filtro de índole. Veja [[Special:MyLanguage/Masters|Mestres]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;NPC_ids_covered_by_default&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Ids de NPC incluídos por padrão ===&lt;br /&gt;
O arquivo padrão inclui &amp;lt;code&amp;gt;goku&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;roshi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;karin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;guru&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dende&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;popo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;kingkai&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gero&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;enma&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baba&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;toribot&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;grandkai&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;otherworld_announcer&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bulma&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;krillin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;yamcha&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tien&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;chiaotzu&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gohan&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;trunks&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;chi_chi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;videl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;namek_elder&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;shin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;piccolo&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;vegeta&amp;lt;/code&amp;gt;.&lt;br /&gt;
* A maioria usa por padrão &amp;lt;code&amp;gt;FRIENDLY&amp;lt;/code&amp;gt; com &amp;lt;code&amp;gt;min_alignment: 41&amp;lt;/code&amp;gt; (ou &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; para Goku, Guru, Dende, Rei Kai e o Ancião Namekuseijin) e &amp;lt;code&amp;gt;hostile_below: 25&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;gero&amp;lt;/code&amp;gt; usa por padrão &amp;lt;code&amp;gt;NEUTRAL&amp;lt;/code&amp;gt; com &amp;lt;code&amp;gt;max_alignment: 60&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;enma&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baba&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;toribot&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;grandkai&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;otherworld_announcer&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;vegeta&amp;lt;/code&amp;gt; usam por padrão &amp;lt;code&amp;gt;NEUTRAL&amp;lt;/code&amp;gt; sem limites.&lt;br /&gt;
* &amp;lt;code&amp;gt;piccolo&amp;lt;/code&amp;gt; usa por padrão &amp;lt;code&amp;gt;NEUTRAL&amp;lt;/code&amp;gt; com limites próprios (&amp;lt;code&amp;gt;min_alignment: 41&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;hostile_below: 20&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Reload_and_validate&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Recarregar e validar ==&lt;br /&gt;
# Edite os arquivos em &amp;lt;code&amp;gt;&amp;lt;world save&amp;gt;/dragonminez/npcs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Valide a sintaxe JSON (veja [[Special:MyLanguage/How to JSON|Como usar JSON]]).&lt;br /&gt;
# Execute &amp;lt;code&amp;gt;/dmzreload config&amp;lt;/code&amp;gt; (ou &amp;lt;code&amp;gt;/dmzreload all&amp;lt;/code&amp;gt;); veja [[Special:MyLanguage/Reloading and Updating Changes|Recarregar e atualizar mudanças]].&lt;br /&gt;
# Confira se o NPC apareceu ou se moveu como esperado, e se a hostilidade e a interação conforme a índole se comportam como configurado (teste com alguns valores de índole, se puder).&lt;br /&gt;
&lt;br /&gt;
{{Navbox Modding}}&lt;/div&gt;</summary>
		<author><name>Shokkoh</name></author>
	</entry>
</feed>