WTF's Expedition: CaveBiomes, Ores, Trees, and Tweaks
WTFs Expedition is a port/recode of several of my previous mods, combined with some new features. It is a single mod made up of a collection of modules, however the different modules can be enabled or disabled, to fine tune how you use it. While the different parts can be used independently, working together they are designed to encourage and enhance an exploration based survival playstyle.
World Generation: This mod adds a LOT of stuff that occurs during chunk generation. Further optimisation is one of my long term goals. However, I recommend that users with slower computers pre-generate their worlds.
Required Mods: If you're not running Optifine already, go and get it here. It solves the issue with z-fighting on the overlay blocks (glitchy, flashing textures), or particularly laggy world generation in single player, and it will probably boost your framerate while doing so.
I just want the world generation features, how do I turn off the gameplay stuff
Go into the Master Config file in you the WTFConfig folder of your minecraft config directory. Set the gameplay tweaks to false- this will instantly disable all of the gameplay tweaks, leaving you with just the world generation modules. The other modules can be disabled in the same way, if you for example, want to turn of the Big Trees module.
CaveBiomes: Making Spelunking exciting since 1.7.10
CaveBiomes is the central module of the set, and is focussed around the concept of making underground cave exploration a bit more interesting, by adding a few new blocks like stalactites and stalagmites, and then utilising existing them alongside vanilla blocks to decorate the floors, walls, and ceilings of caves, based off of the biome-type and depth of the cave. New dungeons and cave subtypes can also be found underground, using both vanilla mobs and the mobs supplied by this mod.
New Blocks: Stalactites and Stalagmites, Lava Crust, Mossy Stone, Mossy Dirt, Wet Stone, Foxfire (rare, glowing mushrooms)
Adding Custom Stalactites and Variants for Mod Added Stone Types
Adding custom stone types to the mod can be done simply and easily in the StoneRegistry config file. Simply add the block registry name and metadata to the master list, and then run minecraft to generate a default config for it, which can then be tweaked as necessary. If you end up with a purple/black null texture, most likely the issue is that you have the block texture incorrect.
Mobs: Armed and Dangerous
Mummies: Vanilla zombies wearing mummy wraps, can be found in desserts or other sandy biomes.
Pharaoh’s: more dangerous mummies, which can be found buried in their tombs in sandy biomes.
Skeleton Knights: Vanilla skeletons armed with a sword, in chainmail, found only in strongholds or other underground structures
Skeleton Mages: Vanilla skeletons armed with a blaze rod, capable of shooting fireballs, found only in strongholds or other underground structures
Deranged Golems: Vanilla iron golems, gone mad from long abandonment, who will attack the player on sight. Found only in special dungeons. (currently disabled)
Zombie Miner: Vanilla zombies equipped with a pickaxe and helmet. Found only in mineshafts.
Ore Generation and Density: This Mine Is Mine
Rather than generating as shapeless veins, ores can now generate in long thins veins, wide flat sheets, disperse clouds, and other types of formations. Generation can be completely controlled in the config file, and custom ores can be added. Generation rates are scaled to world surface height (so, in tall biomes like mountains, more ore is generated to maintain a uniform density), and generation ranges are also scaled to surface height (e.g. in vanilla, diamonds are only found below a certain Y value, generation by this mod sets them instead to generate below the percentage of the average surface height for the chunk).
Ores also can be found at different densities, dropping up to 3 ores from a single block.
Ores can be generated using a simplex noise generator, rather than just randomly. What this means, is if you find a chunk with a particularly high amount of a certain type of ore, the neighbouring chunks will also probably have high levels of that ore. Same for low levels. Biome types also affect ore generation rates- see the config for details.
S:"Vanilla Coal Generation"=vein, minecraft:coal_ore@0, genDenseOre=true, orePerChunk=60 & 220, GenHeightPercentSurface=20 & 120, VeinDimensions=8 & 8 & 1, pitch=1.5, genPercentInBiomeType=swamp@150, genPercentInBiomeType=hot@50
The first argument of the config must be the generation type (vanilla, vein, cluster, cloud, cave, single).
Vanilla: vanilla style veins
Veins: veins of a given dimension set (vein dimensions = width & length & thickness), angled at a given pitch (pitch = 1.5). Pitch is given in radians, so 1.57 is flat, 0.0 is straight up and down, with an inherent variance of 0.75(or about 45 degrees).
Cluster: a star shaped cluster
Cloud: a spherical shaped deposit, of a given radius (size = radius)
Single: single, solitary blocks
Cave & secondaryType: generates one of the other type of veins in caves only
Underwater & secondary type : generates one of the other types of veins on river beds or sea floors
An example of how to make large, rare Veins :
For example, set the vein dimensions (width, height, length for veins, size for clouds, etc) and density (vein density, and the dense ore block feature both count for this) so they spawn something that takes 200 blocks to make, and set the orePerChunk variable to 10&30 . Because it requires 200 blocks to make, but the generator only gives you 10-30 (plus any bonus from height scaling and biome modifiers), it will only spawn about 10% of the time (10-30 averaged is 20, and 20/200 = 0.1 = 10%). This is because when a vein doesn't have enough blocks to generate, it has a random chance to generate based on how many blocks it does have, divided by how many blocks it needs. Note, that setting a vein dimension to larger that 32, or a cloud size to greater than 16 may result in instability, having a low generation rate will help if you absolutely want to do this though, as it prevents bleeding into un-generated chunks from occurring too often.
Adding Custom Ores:
In order to add your own ores or other blocks to the generator, simply add the block and metadata along with a generation type to the master list in the Ore config file (see the defaults for an example of how to do this), and then run minecraft to generate a default config for it. The generation options are generally fairly self explanatory. A couple things to note, are that the generation height range is a percentage of the average surface height, not an absolute value, and that negative numbers are used in the Ore Per Chunk config to generate zero ore per chunk at a given frequency (a random number is picked between the two values, if that number is negative, it is treated as zero).
Please note, that the block texture (and blockstate location if using fancy blockstates) must be correctly set in order for the blockstate to generate correctly. If you end up with purple/black null textures, you've done something wrong in this value most likely.
The block registry name can also be overridden. It is not recommended to do so unless necessary, as this will break existing worlds.
please not that the generator is not capable of stopping other mods from generating ores. If you add a custom ore through the configs here, then you need to disable that ore’s generation in the mod is comes from- otherwise both mods will generate it.
Big Trees: More Wood in Your Woods!
BigTrees works by replacing tree generation in the world, with larger versions, more detailed versions of the same trees. Large branches, intricate root systems reaching down into caves, and dense jungles all await you!
Gameplay Tweaks: Harder, Better, Stronger
Block Stability: Cobblestone, dirt, and any other block listed in the config under stability, are affected by gravity, however only when disturbed by the player breaking an adjacent block, or by an explosion. Larger formations of cobblestone and dirt will not be affected. Stacking unstable blocks in a 1 block wide tower (aka nerd-poling) tends to result in the tower collapsing. Supports (fence blocks) will stabilise unstable blocks in a small area.
Harder Mining: Stone is significantly more difficult to mine, and instead of dropping as an item first breaks into cobblestone. However, whenever a player mines an ore, adjacent stone fractures into cobblestone. This feature combines with the DenseOre blocks from the ores module, to fracture outwards multiple times, based on tool strength and ore type. (note, that in order to prevent abuse, the placement of ore blocks by players not in creative mode is disabled).
Explosions: Explosion strength and directionality takes into account adjacent blocks, and can be controlled by placing high-density blocks next to the explosion source. Whether a block is dropped from an explosion is based on the force applied to the block, and explosions generally drop more blocks than previously. Explosions also tend to fracture stone into cobblestone, rather than directly dropping the block. Redstone based blocks (redstone ore, redstone torches, redstone wire, redstone blocks) are not explosive on their own, however if disturbed by an explosion are unstable enough to also explode (be careful doing explosion based mining around redstone ore deposits).
Water: Water source blocks only generate in biomes with biome dictionary wet tag. No more infinite water outside of rivers, oceans, and swamps.
Torches: Torches will go out if left unattended (if no player is nearby). They can be relit, either by hand or requiring flint and tinder (based on config settings). (feature is off by default- enable in the gameplay config).
New Ore: Nitre ore can be found on the floor of caves (configurable to other generation types using the ores module. Combines with charcoal and sulfur (craftable from netherrack), to make gunpowder.
New Item: Sulfur. Made from netherrack, used with nitre and charcoal to make gunpowder.
New Item: Home Scroll. Crafted with paper and an ender eye, teleports a player to their bed when used.
Recipe Crafting Table : What's in my pockets...
A modified crafting table, which displays all the recipes you have the items to craft in your current inventory. Inspired by my complete and total inability to remember all the recipes from vanilla minecraft, let alone other mods, and a general desire to not want to have to scroll through pages and pages of stuff on NEI.
Recipe: Place a book above a regular crafting table
Can also be found in blacksmith chests in villages.
Sub-Biomes : More sub in your biomes
Sub biomes generate in the world by being placed after primary generation is finished- by replacing a small percentage of the parent biome in the world. If you're using other biome adding mods, you may need to double check your biome IDs to confirm that there are no conflicts- settings for this module can be found in OverworldGenConfig.cfg
Autumn Forest: A forest biome, in which all the leaves have turned autumn colours.
Download: Get it from CurseForge
Open Source: Get it from GitHub
Default textures for Dense Ores :Download from Dropbox
this is just a texture pack which disables the textures for the dense ores, and instead has all densities of the block use the whatever texture the vanilla ores are using. So, if you're on vanilla, it'll use the default textures, if you have a resource pack installed, it'll pull those textures instead.
Conquest Style Addon Texture Pack: Download Here
This is a set of conquest style textures for my mod.
Both the world generation routines and the overlay block models benefit quite a bit from optifine. I highly recommend using it. If you're having issues with flickering textures from this mod, turn off fast render.
As of the last release, there Big Trees module doesn't play nice with BoP's tree generation. If you want to use Biome's O Plenty, I recommend disabling my tree generation module (which you can do in the WTFCore.cfg file, found in the minecraft configuration directory).
This mod has been built with RTG compatibility in mind. The tree feature uses a mixture of RTG and Big trees, and the other features are designed to work seamlessly.
1) Turn the cave generation settings up to at least the vanilla defaults. RTG sets the defaults quite low, and this mod benefits MASSIVELY from more and larger caves to decorate.
2)Turn ravine generation back on in RTG.
3)Turn RTG ore generation off (if you're using my Expeditions ore generation).
The mod comes with default ore configs for tinker's constructs, if you're using them don't forget to disable the ore generation in Tinker's Construct to prevent getting double ore generation. It also modifies hammer behaviour to only fracture stone in an area, instead of dropping the blocks, in line with the other tweaks that make mining more difficult in order to encourage exploration. It also will remove all tools with vanilla based recipes. All these options are configurable.
If apple core is installed, outside their preferred biome types, a plant's growth rate and drop rates will be reduced.
For reference, here's the modpack I use, all these mods have been tested to work with Expedition.
- Dynamic Surroundings
- Nether Portal Fix
- Realistic Terrain Generator
- Redstone Paste
- Roguelike Dungeons
- Ruins (With Jordan Peacock's ruins pack, adventure, no command block)
- Sophisticated Wolves
- Stalker Creepers
- Tinker's Constructs
- Zombie Awareness
This mod uses very few non-vanilla textures. For the most part, I use existing textures, rather than provide my own. What this means, is that making texture packs for Expedition is pretty easy- you just need to provide a couple overlays, and my models do the rest.
The overlay system works by rendering the base model for a block (e.g. stone), and then on the transparency render pass rendering the texture overlay (e.g. ores, moss, etc). This means that you can use overlays with transparency to create effects (e.g. create a shadow outline of an ore, to give a sunken effect), textures can be rotated at random, and multiple different overlays can be used at random if set up to do so in the blockstate json.
Connected Textures Mod
Particularly of interest to anyone using a CTM enabled texture pack (conquest is the big one here, but a lot of other packs do it for stone as well), is that the the overlay system is compatible with CTM. If the properties file uses matchTiles, instead of matchBlock or block number named files, then the correct CTM texture will be substituted for the background texture of all of the overlaid blocks. See the conquest pack I've provided for an example- as I've had to redo a couple of the property files to get it to work.
Zeno410 for help working with UBC compatibility, and putting up with my stupid questions, and the Minestrappolation team for making their neat mod ElementalCaves- CaveBiomes uses a modified version of their cave finding system, and without their CavesAPI source I never would have been able to figure out how to do this. Also to Diemex, who's bukkit plugin ExtraHardMode was the inspiration for WTF-Tweaks. Also thanks to CoolAlias, and NealeGaming, who's tutorials have taught me pretty much everything I know about modding.