JAS v0.9.0: SpawnListEntry Tags

There were two goals when designing v0.9. One was to improve the useability, reducing the certain unnecessarily complex parts of JAS to make them more plug-n-play. The second was spawnlist entries to allow unprecedented customization settings for users worlds.

Useability Improvements


A fair number of improvements were introduced into making JAS more user friendly. First and foremost was attempting to improve the ability to plug-n-play. The first improvement was settings the vanilla spawnlists to be cleared by default, rendering the vanilla system automatically disabled by installing JAS. The required the improvement of the importing and now vanilla settings are always imported properly, even with the vanilla spawnlist being cleared. Next was to make all entities set to spawn by default. They still need a spawnweight >0 and a type that is not NONE.

Also in the useability is the ability to combine all entities into a single universal CFG. The option is inside the SaveConfig.cfg, along with the SortByBiome option (this inherits its default setting from the global toggle but can be set world specific). The toggle of both options were improved such that it reads from the settings it was saved as. Such that saving as Universal then switching to mod specific will read the settings from Universal, delete itself, then create the mod specific files.

Spawn Lise Entry Tags


Tags can now be added to spawnlist entries identically to livinghandler. Tough a few tags are different. Valid tags are spawn, light, block, blockRange, blockFoot, spawnRange, sky, minSpawnHeight, maxSpawnHeight, liquid, opaque, normal, solidSide, difficulty, torchLight, ground, top, fill, modspawn, origin, players, entities, random, writenbt.

WriteNBT Tags


Another long promised feature. Valid for SpawnList and LivingHandler spawn parent tags. The format is fairly straightforward. After the usual ':writeNBT,' a comma separates each nbt operation. Each operation is int the format of 'targetTag/targetTagID/value'. See http://www.minecraftwiki.net/wiki/NBT_format for valid tag IDs. It helps to think of it as folders, telling the system to dig down until you find the tag you want to set and then providing a value. Container tags (TAG_Compound and TAG_List) do not have values, they merely move you along the hierarchy. The operations are get or set; meaning if a tag is called that does not exist, it is created.

The name of tags are case sensitive. To figure out what tags you need an NBT editor is recommended. The Project Zulu limited mob spawner allows you to explore the NBT tree graphically and test adding/removing tags to see their effects.

Value tags are typically just one value, setting a short would be done like 'id/2/30'. For arrays such as byte array, keep including values for as long as you want the array to be; i.e. 'myArray/7/20/30/40/2/254'. As you may have noticed already, all tags fetch using name (with one exception). Thus the first value is a string of the name. The exception is TAG_List, which uses an index instead.

Example, make an entity hold glass block in hand. ":writenbt,Equipment/9,0/10,id/2/20,Damage/2/0,Count/1/1".

Biome Attributes


Biome Attributes are an interesting addition to biome groups. Functionally, they are identical with the exception that they do not show up in your entity CFG reducing clutter. By default there is an attribute group for each entry in the biome dictionary and on representing all biomes. They can be added to biome groups in the same way biome mappings are, with the exception that they must be prefixed by an A|.

An additional feature introduced with attributes is the ability to add and subtract them and mappings by placing a '+' or '-' in front of their names. They are parsed left to right. Biomes cannot be added twice, and will simply 'overwrite' the other if tried.

No comments:

Post a Comment