Jas Part 1 - ProjectZulu/JustAnotherSpawner GitHub Wiki

This assumes you are familiar with the Vanilla Spawn system. If you are not please read Spawning 101 and/or the Minecraft Wiki Spawning Article.

We are going to break down the entire file system in JAS while showing functions and commands. We will have tutorials and explain each part as we go.

When we first install JAS, we have nothing populated for mobs until we first load a world. So, if your not finding config files, you clearly didn't read this line. :)

Found inside the main JustAnotherSpawner folder

.minecraft>config>JustAnotherSpawner

Found inside the BASIC folder

.minecraft>config>JustAnotherSpawner>WorldSettings>BASIC

Biome Blacklist

Inside the main JustAnotherSpawner folder are the first set of files, some are global in nature while others are simply informative, used internally, or there just to make you wonder why. :) Found in BiomeBlacklist.cfg. JAS uses this to allow users to determine if they don't want JAS to work with a biome or set of biomes. Every Biome should be listed here. Any biome in this list set to TRUE tells JAS to NOT control spawns in that biome. So the spawnlist will NOT be emptied and whatever mods you have installed that call for entity spawning will be performed by that mods specs not JAS'. This is useful to make a biome or set of biomes behave differently or in the case of mods that don't need JAS intervention like Twilight Forest to let that mod do all the spawning.

The following line tells JAS to control spawning in the Aether biome as indicated by the "false" statement.

"BLACKLIST": {
  "net.aetherteam.aether.worldgen.BiomeGenAether.Aether": false,
}

IF a biome is not present, this should be a red flag. I would go to the forum and post. This will allow you to get help and that in turn will cause the author to possibly adjust the mod and/or make adjustments to this wiki.

Global Properties

Found in GlobalProperties.cfg .

Global Settings The following is a Global property. You can globally tell JAS to sort entities in EH (EntityHandlers.cfg) and SLE (SpawnListEntries.cfg) by Biome or by Entity

  "Sort entities by biome": true,

This would be telling JAS to essentially list all of the BIOMEs separately with all entities able to spawn in that BIOME after each BIOME listed. Setting it to False tells JAS to list all the entities separately with all the BIOMEs they can spawn in after. Sounds confusing but it equates to True being a list with each BIOME listed once and the mobs listed under each biome listed for each biome it can spawn under where a false setting would be each MOB listed only once and the BIOMES it can spawn under listed for each mob.

It would look like this for true:

Forest: bird cow zombie

Desert: zombie

Woods: Bird Cow

It would look like this for False:

Bird: Forest Woods Hills

Cow: Forest Woods

Zombie: Desert

Essentially it matters only in how you like working with data, do you like working with the MOBs in order to set BIMOEs or do you prefer to work with BIOMEs and set which MOBs should go there?

Vanilla Compatibility As JAS is an independent spawner, these options are intended to disable the vanilla system in a non aggressive way.

  "Turn gamerule spawning off on start": false, 
// Upon joining a world this will set the gamerule doMobSpawning to true
  "Empty vanilla spawnlists": true, 
// This will remove all entities from every biome spawnlist that is not blacklisted
  "Disable Vanilla Chunk Spawning": true, 
// Cancels the vanilla chunkSpawn event, preventing the vanilla system from performing chunk spawning

It does affect how spawn weights are done though, If you list BIOMEs then each mob can have a different spawn weight in each BIOME it is listed under. If you list mobs then the biomes it can spawn in are all weighted different...it comes out the same by the way.

****Spawning **** Spawning in Minecraft works through "ranges". Inside 16 blocks mob spawners activate (this is the type of spawning JAS does NOT work for).

16 - 32 blocks away mobs spawn randomly

32 - 128 blocks away mobs don't move when spawned and despawn randomly

128 + mobs despawn instantly

Keep all that in mind as you determine how far away you want mobs to spawn.

These options set properties of the spawner itself.

 "Spawner Tick Spacing": 10,
  "Distance (in Chunks) to perform entity spawning": 8, 
  "Distance (in Chunks) to perform entity counting": 8, 
  "Generate Zero-Weight Spawn Entries": true 

"Spawner Tick Spacing": 10, <--How many game ticks to put in between JAS ticks. Imagine adding the amount here to ALL tick amounts in JAS instead of going to each place and adding that amount. It can help if JAS is overloading your system with tick requests or you just want to experiment by adding tick time to all entries quick and easy.

"Distance (in Chunks) to perform entity spawning": 8,<--this would put mobs spawning at 128 blocks away which is the maximum for spawning so if you move away, any mobs that spawned at the 128th block will instantly despawn.

"Distance (in Chunks) to perform entity counting": 8, <--This would be what JAS uses to determine if caps are met so if you set this closer than the spawning distance you would technically have more mobs than your caps have accounted for.

"Generate Zero-Weight Spawn Entries": true <---In SpawnListEntries, mobs are listed with their allowable spawning biomes. In that list are entries to determine the "weight" of the spawns which is the percent of that mob vs other mobs allowed to spawn in that biome given the cap (mouthful there). If true, weights don't matter and only Minecraft knows what it uses to determine what spawns and how much. Since JAS controls the spawning of other mods, this being allowed could simply tell JAS to use the original mods system or requirements for spawning.

Imported Spawnlists

JAS imports settings from the vanilla spawnlist. ImportedSpawnlists.cfg is a printout of the spawnlist JAS imports to use as default values. It is an output provided for user benefit. Editing this file has no effect and will be overwritten the next time JAS loads.

Logging

Found in LoggingProperties.cfg

  "SPAWNING":	    // Toggles whether spawning is logged
  "DEBUG":	    // Toggles debug logging
  "SPAWNING_NAME":  // Toggles whether the entity name is included in the spawning log data
  "SPAWNING_TYPE":  // Toggles whether the entity type is included in the spawning log data
  "SPAWNING_POS":   // Toggles whether the enitty pos is included in the spawning log data
  "SPAWNING_BIOME": // Toggles whether the biome is included in the spawning log data

Save Config

Found in SaveConfigGson.cfg in the WorldSettings folder. Controls where world data is saved for each playable world and how the data is formatted. Two worlds can have the same 'savename' (and thus share the same settings files).

{
  "DefaultProfile": { 			// Default Profile
    "Save_Folder_Name": "DEFAULT",      // Folder name under WorldSettings where configuration data is loaded/saved
    "Use_Universal_Entity_CFG": false,	// Whether livinghandler and spawnlistentry data is stored in a single file or split based on modID
    "Sort_Creature_By_Biome": true	// Whether spawnlist data is sorted by Biome-Type-Entity or Type-Entity-Biome
  },
  "WorldProfiles": {
	  "WorldName": { // If the loaded world corresponds to this name this save data will be used instead of default
	 "Save_Folder_Name": "CUSTOM1",		
        "Use_Universal_Entity_CFG": false,
        "Sort_Creature_By_Biome": true
	  }
  }
}
⚠️ **GitHub.com Fallback** ⚠️