Every terrain is special, at least for modders.
THIS MOD DOES NOTHING MUCH ON ITS OWN!
[b]1.4 IS BETA![/b]
Carpets are no longer supported due to source code change.
[b]1.3[/b]
Added [b]Alpha Biomes[/b] compatibility, unique to 1.3 and onwards.
[b]This MUST be under 'Core' or any other core-mod like 'HugsLib' for example:[/b]
Core
HugsLib
[Core] MDK Terrain Patch
[b]Other Mod Compatibilities[/b]
This mod only affects vanilla terrains via an additive patch. Any mod that replaces them entirely will break it. I've been given a list of mods to test with it. It's best for any mod author that wants to use this and another author's custom terrain to patch for said terrain.
The following mods have been auto-patched to work with MDK Terrain Patch:
[list]
[*] [b][url=https://steamcommunity.com/sharedfiles/filedetails/?id=1338280929]Advanced Biomes[/url][/b]: MDKTP_BiomePoison, MDKTP_BiomeWaste, MDKTP_BiomeVolcano
[*] [b][url=https://steamcommunity.com/sharedfiles/filedetails/?id=1598637926]Terra Project[/url][/b]: Base terrains are cross-shared with MDKTP vanilla names
[*] [b][url=https://steamcommunity.com/sharedfiles/filedetails/?id=1288714774]Biomes! 2[/url][/b]: Uses Terra Project
[*] [b][url=https://steamcommunity.com/workshop/filedetails/?id=1841354677]Alpha Biomes[/url][/b]: MDKTP_GU_AlienSand, MDKTP_AB_Slime, MDKTP_AB_CrackedMud, MDKTP_AB_WebbedMarshyTerrain, MDKTP_AB_Propane, MDKTP_AB_ForsakenSand
[/list]
The authors of the previous mods need to do nothing, as they hold the upper hierarchy.
The authors of mods using MDKTP [b]DO NOT[/b] need to patch for those specific mods in regards to terrain. For example, MDKTP_BiomeWet will include Advanced Biomes' defined PoisonMarshyTerrain whether the mod exists or not for the player.
Why This Mod Might Be Needed
I was originally going to patch ZARS Core, but I thought this might be more useful to others. I wanted to specifically build structures semi-exclusive to biomes. Now I can, and other modders easily can too.
What this Mod Includes
- Every terrain has a unique affordance other than the 'Light', 'Diggable', 'Bridgable', etc. with some extra added.
- Proof of concept Walls that can only be built on Soils (but not gravel), Ice, and Sand
Ideas for Usage
- Want an oil rig mod in the ocean? You got it.
- Want marshy mud buildings? You got it.
- Want ice walls in arctic biomes only? Yup.
[b]What Cannot Be Added[/b]
All 'Rough Rock', 'Hewn Rock', and 'Smooth Rock' are hardcoded in the TerrainDefGenerator_Stone class inside the game itself by Tynan. So restricting 'Cave-Only' or 'Mountain-Only' buildings are a pipe dream from a primitive standpoint. The current workaround is:
<terrainAffordanceNeeded>SmoothableStone</terrainAffordanceNeeded>
How to Use
The basic idea when wanting something like a building to be placed on a very specific terrain would be...
<terrainAffordanceNeeded> MDKTP_{terrain defName} </terrainAffordanceNeeded>
If wanting to only construct a specific building on Ice...
<terrainAffordanceNeeded>MDKTP_Ice</terrainAffordanceNeeded>
If wanting to only construct a specific building on Bidge only...
<terrainAffordanceNeeded>MDKTP_Bridge</terrainAffordanceNeeded>
You can use some of the following extras that encompasses multiple terrains:
<terrainAffordanceNeeded> MDKTP_{name} </terrainAffordanceNeeded>
[list]
[*] AnySoil - Soil, MossyTerrain, MarshyTerrain, SoilRich
[*] AnySand- Sand, SoftSand
[*] AnyWater - Self explanatory. Includes Marsh, Excludes Mud
[*] AnyDeepWater - WaterDeep, WaterOceanDeep,
[*] AnyOcean - WaterOceanDeep, WaterOceanShallow
[*] AnyShallowWater - Self explanatory. Includes Marsh, Excludes Mud
[*] AnyMovingWater - Self explanatory.
[/list]
NEW For 1.0!
[b]Roads and Floors[/b]
Each floor name now has affordances! Either by specific name, or the following listed catchall...
<terrainAffordanceNeeded> MDKTP_{floor} </terrainAffordanceNeeded>
[list]
[*] AnyRoad - BrokenAsphalt, PackedDirt
[*] AnyFloor - Any terrain found in FloorBase
[*] FloorMetal - MetalTile, SilverTile, GoldTile, SterileTile
[*] FloorWood - (catchall for all wood floors)
[*] FloorCarpet - (catchall for all carpet floors) [b]REMOVED IN 1.4[/b]
[/list]
[b] Biomes [/b]
Terrains used in various biomes have been added. Each biome contains any terrain it would normally generate in vanilla.
<terrainAffordanceNeeded> MDKTP_{BiomeName} </terrainAffordanceNeeded>
[list]
[*] BiomeCold
[*] BiomeTemperate / BiomeCool
[*] BiomeWarm
[*] BiomeWarmArid / BiomeHot
[/list]
Also special biomes:
[list]
[*] BiomeCity - Concrete. PavedTile, Gravel, BrokenAsphalt, PackedDirt
[*] BiomeWet - Marshes & Mud
[/list]
If wanting to only construct a specific building on the Ocean...
<terrainAffordanceNeeded>MDKTP_AnyOcean</terrainAffordanceNeeded>
If wanting to only construct a specific building on any Sand...
<terrainAffordanceNeeded>MDKTP_AnySand</terrainAffordanceNeeded>
Want to support my ports and mods?
[url=https%3A%2F%2Fko-fi.com%2FT6T7JSE8][img]https://i.imgur.com/0TlwOJQ.png[/img][/url][ko-fi.com]