Ore Stages
This mod is an addon for the GameStage API. It allows for blocks in the world, like ores, to be put into game stages. You should check out the GameStage API mod's description for more info. To give a brief run down, stages are parts of the progression system set up by the modpack or server. Stages are given to players through a command, which is typically ran by a questing mod, advancement, or even a Command Block.

This project is sponsored by Nodecraft. Use code DARKHAX for 30% off your first month of service!
Setup
This mod uses CraftTweaker for configuration.
What happens when staged?
If a player does not have the right stage for the block
- The block will look like the block it is hidden as.
- The player will not be able to right click the block.
- The block will drop the items it's replacement would drop.
- The block will take as long to mine as it's replacement.
In situations where no player is present, it will be assumed that there is no stage. This is referred to as defaulting behavior.
Will changing blocks back to normal cause any lag?
Unhiding the blocks is very fast. The process involves reloading the chunk renderers on the the client. While this may sound complicated or laggy, it's actually very simple that on even slower computers will only take a second or two at most. This is the same as pressing f3 + a in vanilla.
CraftTweaker methods
This method can be used to replace a block with vanilla stone.
mods.orestages.OreStages.addReplacement(String stage, IIngredient original);
This method can be used to replace a block with another block.
mods.orestages.OreStages.addReplacement(String stage, IIngredient original, IItemStack replacement);
This method can be used to replace a block with another block by specifying exact block ids. The above two methods only work for blocks with items.
mods.orestages.OreStages.addReplacementById(String stage, String original, String replacement);
The following methods are used to add a replacement which do not use the defaulting behavior. Meaning if no player broke the block (water, explosion, machine) the block will break as if it was not hidden.
mods.orestages.OreStages.addNonDefaultingReplacement(String stage, IIngredient original);
mods.orestages.OreStages.addNonDefaultingReplacement(String stage, IIngredient original, IItemStack replacement);
mods.orestages.OreStages.addNonDefaultingReplacementById(String stage, String original, String replacement);
Example Script
mods.orestages.OreStages.addReplacementById("one", "minecraft:potatoes:*", "minecraft:tallgrass:2");
mods.orestages.OreStages.addReplacementById("two", "minecraft:wheat:*", "minecraft:carrots:3");
mods.orestages.OreStages.addReplacementById("three", "minecraft:nether_wart:*", "minecraft:beetroots");
mods.orestages.OreStages.addReplacement("four", <minecraft:dirt>, <minecraft:stone>);
mods.orestages.OreStages.addReplacement("one", <minecraft:obsidian>, <minecraft:cobblestone>);
mods.orestages.OreStages.addNonDefaultingReplacement("one", <minecraft:torch:*>, <minecraft:redstone_torch>);
mods.orestages.OreStages.addReplacement("five", <minecraft:furnace:*>, <minecraft:stone>); How to Install Ore Stages (Mod)
Ore Stages by Darkhax is verified for Forge across Minecraft versions 1.12.2 (latest release: 2.0.38, file size: 35 KB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.12.2) and platform (Forge).
- Make sure you have the compatible loader or environment installed for Forge.
- Move the downloaded Ore Stages file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version<li>Merge pull request #37 from josephcsible/top - Tyler Hancock</li>
<li>Re-enable TheOneProbe showing our modified blocks - Joseph C. Sible</li>
<li>Restore TheOneProbe to the dev environment - Joseph C. Sible</li>
</ul>
<li>Display an error when a block has been staged as itself. #21 - Tyler Hancock</li>
</ul>
<li>Fixed weird fg issue. - Tyler Hancock</li>
<li>Fixed an unhandled exception if an invalid input block is used. - Tyler Hancock</li>
<li>Updated to build against GameStages 2.0.109 - Tyler Hancock</li>
</ul>
<li>Merge pull request #29 from jriwanek/master - Tyler Hancock</li>
<li>Update Forge to 2765 - Jasmine Iwanek</li>
<li>Update Gradle to 4.9 - Jasmine Iwanek</li>
</ul>
<li>Set to build against a newer hwyla. - Tyler Hancock</li>
</ul>
<li>Updated dependencies. - Tyler Hancock</li>
<li>Fixed null lines in f3 menu causing a crash.</li>
</ul>
<li>Re-enabled waila/hwyla support. #23 - Tyler Hancock</li>
<li>Updated minumum game stages version. - Tyler Hancock</li>
</ul>
<li>Merge branch 'master' of <a href="https://github.com/JarHax/Ore-Stages" rel="nofollow">https://github.com/JarHax/Ore-Stages</a> - Tyler Hancock</li>
<li>Default to replacement model if player is null. #18 - Tyler Hancock</li>
</ul>
<li>Merge pull request #17 from Darkhax-Minecraft/revert-13-top - Tyler Hancock</li>
<li>Revert "Add TheOneProbe compat" - Tyler Hancock</li>
</ul>
<li>Updated to GameStages 2.0 - Tyler Hancock</li>
</ul>
<li>Added "missing" english translation. - Tyler Hancock</li>
</ul>
<li>Stopped using deprecated getDrops despite new one being a regression. - Tyler Hancock</li>
</ul>
<li>Fixed not being able to place blocks on hidden blocks. #7 - Tyler Hancock</li>
</ul>
<li>Added support for harvest check overriding. - Tyler Hancock</li>
</ul>
<li>Fixed crt methods in the readme. - Tyler Hancock</li>
</ul>