<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.mutigeraffe.com/index.php?action=history&amp;feed=atom&amp;title=BlockFactory%3AWorld_Settings</id>
	<title>BlockFactory:World Settings - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mutigeraffe.com/index.php?action=history&amp;feed=atom&amp;title=BlockFactory%3AWorld_Settings"/>
	<link rel="alternate" type="text/html" href="https://wiki.mutigeraffe.com/index.php?title=BlockFactory:World_Settings&amp;action=history"/>
	<updated>2026-10-20T07:02:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.mutigeraffe.com/index.php?title=BlockFactory:World_Settings&amp;diff=314&amp;oldid=prev</id>
		<title>Maintenance script: BlockFactory wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.mutigeraffe.com/index.php?title=BlockFactory:World_Settings&amp;diff=314&amp;oldid=prev"/>
		<updated>2026-10-19T07:05:34Z</updated>

		<summary type="html">&lt;p&gt;BlockFactory wiki&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This page is for server operators and singleplayer hosts. Block Factory has two kinds of &amp;#039;&amp;#039;&amp;#039;settings&amp;#039;&amp;#039;&amp;#039;: the &amp;#039;&amp;#039;&amp;#039;world settings&amp;#039;&amp;#039;&amp;#039; in the world&amp;#039;s &amp;lt;code&amp;gt;config.json&amp;lt;/code&amp;gt; (world generation and game rules), and a separate &amp;#039;&amp;#039;&amp;#039;mod config&amp;#039;&amp;#039;&amp;#039; for the research test durations.&lt;br /&gt;
&lt;br /&gt;
== Where the files are ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! File !! Server !! Singleplayer&lt;br /&gt;
|-&lt;br /&gt;
| World settings || &amp;lt;code&amp;gt;universe/worlds/&amp;amp;lt;world&amp;amp;gt;/config.json&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;Saves/&amp;amp;lt;World&amp;amp;gt;/universe/worlds/default/config.json&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Mod config || &amp;lt;code&amp;gt;mods/com.mutigeraffe_blockfactory/config.json&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;Saves/&amp;amp;lt;World&amp;amp;gt;/mods/com.mutigeraffe_blockfactory/config.json&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Missing values are filled in with their defaults when the server starts. Edit the files only while the server is stopped or the singleplayer world is closed.&lt;br /&gt;
&lt;br /&gt;
== World settings example ==&lt;br /&gt;
Block Factory registers its own world generator with a higher priority than Hytale&amp;#039;s, so every new world uses it. A world &amp;lt;code&amp;gt;config.json&amp;lt;/code&amp;gt; with all Block Factory values looks like this (other Hytale keys left out):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;Seed&amp;quot;: 123456789,&lt;br /&gt;
  &amp;quot;WorldGen&amp;quot;: {&lt;br /&gt;
    &amp;quot;Type&amp;quot;: &amp;quot;BlockFactory&amp;quot;,&lt;br /&gt;
    &amp;quot;LayoutVersion&amp;quot;: 6,&lt;br /&gt;
    &amp;quot;ResourceFrequency&amp;quot;: 1.0,&lt;br /&gt;
    &amp;quot;ResourceSize&amp;quot;: 1.0,&lt;br /&gt;
    &amp;quot;ResourceRichness&amp;quot;: 1.0,&lt;br /&gt;
    &amp;quot;Resources&amp;quot;: {&lt;br /&gt;
      &amp;quot;Uranium&amp;quot;: { &amp;quot;Frequency&amp;quot;: 2.0 },&lt;br /&gt;
      &amp;quot;Iron&amp;quot;: { &amp;quot;Size&amp;quot;: 1.5, &amp;quot;Richness&amp;quot;: 0.5 }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;NestDensity&amp;quot;: 1.0,&lt;br /&gt;
    &amp;quot;NestFreeRadius&amp;quot;: 500,&lt;br /&gt;
    &amp;quot;CreatedWith&amp;quot;: &amp;quot;1.0;1.0;1.0&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;IsPvpEnabled&amp;quot;: false,&lt;br /&gt;
  &amp;quot;Plugin&amp;quot;: {&lt;br /&gt;
    &amp;quot;BlockFactory&amp;quot;: {&lt;br /&gt;
      &amp;quot;Peaceful&amp;quot;: false,&lt;br /&gt;
      &amp;quot;Raids&amp;quot;: true,&lt;br /&gt;
      &amp;quot;StartProtectionHours&amp;quot;: 2.0,&lt;br /&gt;
      &amp;quot;OfflineProtection&amp;quot;: false,&lt;br /&gt;
      &amp;quot;AbandonedAfterDays&amp;quot;: 14,&lt;br /&gt;
      &amp;quot;Radiation&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== World generation ==&lt;br /&gt;
These keys live under &amp;lt;code&amp;gt;&amp;quot;WorldGen&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Default !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Type&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;BlockFactory&amp;lt;/code&amp;gt; || Selects the Block Factory generator.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;LayoutVersion&amp;lt;/code&amp;gt; || 6 (set by the mod) || The layout version the world was generated with. &amp;#039;&amp;#039;&amp;#039;Do not change.&amp;#039;&amp;#039;&amp;#039; If a newer Block Factory version generates worlds differently, a world with another version refuses to load and the server log says why. Keep playing with the old version or start a new world.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ResourceFrequency&amp;lt;/code&amp;gt; || 1.0 || How many ore fields appear outside the start area. 0 = none.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ResourceSize&amp;lt;/code&amp;gt; || 1.0 || Size of the ore fields, including the start fields.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ResourceRichness&amp;lt;/code&amp;gt; || 1.0 || Mining rate per block. Ore fields never run out.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Resources&amp;lt;/code&amp;gt; || empty || Optional factors per resource: &amp;lt;code&amp;gt;Frequency&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Richness&amp;lt;/code&amp;gt;, each multiplied with the global values above (a missing factor counts as 1.0). Resource names: &amp;lt;code&amp;gt;Iron&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Copper&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Coal&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Stone&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Sand&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Clay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Gold&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Oil&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Uranium&amp;lt;/code&amp;gt;. An unknown name stops the world from loading (the reason is in the server log).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;NestDensity&amp;lt;/code&amp;gt; || 1.0 || Density of enemy nests. 0 = no nests.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;NestFreeRadius&amp;lt;/code&amp;gt; || 500 || Blocks around the spawn that stay free of nests.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CreatedWith&amp;lt;/code&amp;gt; || set by the mod || The resource settings the world was created with, written on the first start. &amp;#039;&amp;#039;&amp;#039;Do not change.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The world seed is Hytale&amp;#039;s own &amp;lt;code&amp;gt;Seed&amp;lt;/code&amp;gt; key at the top level of the file. The layout of ore fields, nests and ruins is calculated from it.&lt;br /&gt;
&lt;br /&gt;
=== Change generator settings before the first start ===&lt;br /&gt;
Generator settings only affect chunks that are generated after the change, and the very first start already generates the chunks around the spawn. So either:&lt;br /&gt;
* create the &amp;lt;code&amp;gt;config.json&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;&amp;#039;before the first start&amp;#039;&amp;#039;&amp;#039;, containing only the values you want to change, or&lt;br /&gt;
* regenerate the world after changing them: stop the server and delete the world folder.&lt;br /&gt;
&lt;br /&gt;
The resource settings (&amp;lt;code&amp;gt;ResourceFrequency&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ResourceSize&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ResourceRichness&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Resources&amp;lt;/code&amp;gt;) are locked once the world exists. Later changes are ignored with a warning in the server log, because the ore fields in old chunks would no longer match hand mining and drills. To play with other values, start a new world.&lt;br /&gt;
&lt;br /&gt;
== Game rules ==&lt;br /&gt;
&amp;lt;code&amp;gt;IsPvpEnabled&amp;lt;/code&amp;gt; is Hytale&amp;#039;s own key at the top level. The other rules live under &amp;lt;code&amp;gt;&amp;quot;Plugin&amp;quot;&amp;lt;/code&amp;gt; → &amp;lt;code&amp;gt;&amp;quot;BlockFactory&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Default !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;IsPvpEnabled&amp;lt;/code&amp;gt; || false || PvP. Also required for raids, and lets towers shoot at players of other teams.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Peaceful&amp;lt;/code&amp;gt; || false || Peaceful mode: nests send no attack groups, do not spread and have no guards; War Golems stay calm and do not attack buildings. See [[BlockFactory:Enemies|Enemies]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Raids&amp;lt;/code&amp;gt; || true || Teams may damage and loot other teams&amp;#039; buildings (only with &amp;lt;code&amp;gt;IsPvpEnabled&amp;lt;/code&amp;gt;). Destroyed buildings leave a ghost.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;StartProtectionHours&amp;lt;/code&amp;gt; || 2.0 || Hours after founding during which a team cannot be raided.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;OfflineProtection&amp;lt;/code&amp;gt; || false || A team with no member online cannot be raided.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;AbandonedAfterDays&amp;lt;/code&amp;gt; || 14 || After this many days with no member online, a team&amp;#039;s factory is ownerless: it stands still and can be raided despite start and offline protection. 0 turns the time limit off.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Radiation&amp;lt;/code&amp;gt; || false || An exploded nuclear reactor leaves a radiated area for 20 minutes that hurts players inside. See [[BlockFactory:Nuclear Power|Nuclear Power]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See [[BlockFactory:Teams and Raids|Teams and Raids]] for how teams and raids play.&lt;br /&gt;
&lt;br /&gt;
== Mod config: research test duration ==&lt;br /&gt;
The mod&amp;#039;s own &amp;lt;code&amp;gt;config.json&amp;lt;/code&amp;gt; is created on the first start and applies to the whole server, or to the one singleplayer world. It sets how long the [[BlockFactory:Research|Outlander Test Site]] needs to test each research.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;SecondsPerScroll&amp;quot;: 30,&lt;br /&gt;
  &amp;quot;ResearchSeconds&amp;quot;: {&lt;br /&gt;
    &amp;quot;BF_Research_Steam_Power&amp;quot;: 30,&lt;br /&gt;
    &amp;quot;BF_Research_Logistics&amp;quot;: 60&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Default !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SecondsPerScroll&amp;lt;/code&amp;gt; || 30 || Test duration per Knowledge Scroll that a research costs.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ResearchSeconds&amp;lt;/code&amp;gt; || filled in by the mod || Test duration per research in seconds (at least 1). On start, the mod adds every missing research with &amp;lt;code&amp;gt;SecondsPerScroll&amp;lt;/code&amp;gt; × its scrolls. Values already in the file are kept.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To make all research faster or slower, delete the &amp;lt;code&amp;gt;ResearchSeconds&amp;lt;/code&amp;gt; block and change &amp;lt;code&amp;gt;SecondsPerScroll&amp;lt;/code&amp;gt;; the mod writes the new durations on the next start. The file is only read at start.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[BlockFactory:Commands|Commands]]&lt;br /&gt;
* [[BlockFactory:Teams and Raids|Teams and Raids]]&lt;br /&gt;
* [[BlockFactory:The World|The World]]&lt;br /&gt;
* [[BlockFactory:Research|Research]]&lt;br /&gt;
&lt;br /&gt;
{{BlockFactory Nav}}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>