Implemented new Tranquility value API

For quick compat, mods can now register a static state-based tranquility
value for their blocks. More
This commit is contained in:
Nicholas Ignoffo 2018-02-06 21:24:40 -08:00
parent d67ed054ff
commit f8c734bc96
14 changed files with 125 additions and 143 deletions

View file

@ -1,16 +1,21 @@
package WayofTime.bloodmagic.registry;
import WayofTime.bloodmagic.apibutnotreally.incense.IncenseTranquilityRegistry;
import WayofTime.bloodmagic.incense.TranquilityHandlers;
import WayofTime.bloodmagic.api.impl.BloodMagicAPI;
import WayofTime.bloodmagic.incense.EnumTranquilityType;
import WayofTime.bloodmagic.incense.IncenseTranquilityRegistry;
import WayofTime.bloodmagic.incense.TranquilityStack;
import net.minecraft.block.BlockFire;
import net.minecraft.block.BlockGrass;
import net.minecraft.block.BlockLeaves;
import net.minecraft.block.BlockLog;
public class ModTranquilityHandlers {
public static void init() {
IncenseTranquilityRegistry.registerTranquilityHandler(new TranquilityHandlers.Plant());
IncenseTranquilityRegistry.registerTranquilityHandler(new TranquilityHandlers.Crop());
IncenseTranquilityRegistry.registerTranquilityHandler(new TranquilityHandlers.Water());
IncenseTranquilityRegistry.registerTranquilityHandler(new TranquilityHandlers.Earth());
IncenseTranquilityRegistry.registerTranquilityHandler(new TranquilityHandlers.Fire());
IncenseTranquilityRegistry.registerTranquilityHandler(new TranquilityHandlers.Lava());
IncenseTranquilityRegistry.registerTranquilityHandler(new TranquilityHandlers.Tree());
IncenseTranquilityRegistry.registerTranquilityHandler((world, pos, block, state) -> block instanceof BlockLeaves ? new TranquilityStack(EnumTranquilityType.PLANT, 1.0D) : null);
IncenseTranquilityRegistry.registerTranquilityHandler((world, pos, block, state) -> block instanceof BlockFire ? new TranquilityStack(EnumTranquilityType.FIRE, 1.0D) : null);
IncenseTranquilityRegistry.registerTranquilityHandler((world, pos, block, state) -> block instanceof BlockGrass ? new TranquilityStack(EnumTranquilityType.EARTHEN, 0.5D) : null);
IncenseTranquilityRegistry.registerTranquilityHandler((world, pos, block, state) -> block instanceof BlockLog ? new TranquilityStack(EnumTranquilityType.TREE, 1.0D) : null);
IncenseTranquilityRegistry.registerTranquilityHandler((world, pos, block, state) -> BloodMagicAPI.INSTANCE.getValueManager().getTranquility().get(state));
}
}