Search in sources :

Example 1 with TranquilityStack

use of WayofTime.bloodmagic.incense.TranquilityStack in project BloodMagic by WayofTime.

the class BloodMagicCorePlugin method register.

@Override
public void register(IBloodMagicAPI apiInterface) {
    BloodMagicAPI api = (BloodMagicAPI) apiInterface;
    // Add forced blacklistings
    api.getBlacklist().addTeleposer(RegistrarBloodMagicBlocks.INPUT_ROUTING_NODE);
    api.getBlacklist().addTransposition(RegistrarBloodMagicBlocks.INPUT_ROUTING_NODE);
    api.getBlacklist().addTeleposer(RegistrarBloodMagicBlocks.OUTPUT_ROUTING_NODE);
    api.getBlacklist().addTransposition(RegistrarBloodMagicBlocks.OUTPUT_ROUTING_NODE);
    api.getBlacklist().addTeleposer(RegistrarBloodMagicBlocks.ITEM_ROUTING_NODE);
    api.getBlacklist().addTransposition(RegistrarBloodMagicBlocks.ITEM_ROUTING_NODE);
    api.getBlacklist().addTeleposer(RegistrarBloodMagicBlocks.MASTER_ROUTING_NODE);
    api.getBlacklist().addTransposition(RegistrarBloodMagicBlocks.MASTER_ROUTING_NODE);
    api.getBlacklist().addTeleposer(RegistrarBloodMagicBlocks.DEMON_CRYSTAL);
    api.getBlacklist().addTransposition(RegistrarBloodMagicBlocks.DEMON_CRYSTAL);
    api.getBlacklist().addTeleposer(RegistrarBloodMagicBlocks.INVERSION_PILLAR);
    api.getBlacklist().addTransposition(RegistrarBloodMagicBlocks.INVERSION_PILLAR);
    api.getBlacklist().addWellOfSuffering(new ResourceLocation("armor_stand"));
    api.getBlacklist().addWellOfSuffering(new ResourceLocation(BloodMagic.MODID, "sentient_specter"));
    api.getValueManager().setSacrificialValue(new ResourceLocation("armor_stand"), 0);
    api.getValueManager().setSacrificialValue(new ResourceLocation(BloodMagic.MODID, "sentient_specter"), 0);
    api.getValueManager().setTranquility(Blocks.LAVA, new TranquilityStack(EnumTranquilityType.LAVA, 1.2D));
    api.getValueManager().setTranquility(Blocks.FLOWING_LAVA, new TranquilityStack(EnumTranquilityType.LAVA, 1.2D));
    api.getValueManager().setTranquility(Blocks.WATER, new TranquilityStack(EnumTranquilityType.WATER, 1.0D));
    api.getValueManager().setTranquility(Blocks.FLOWING_WATER, new TranquilityStack(EnumTranquilityType.WATER, 1.0D));
    api.getValueManager().setTranquility(RegistrarBloodMagicBlocks.LIFE_ESSENCE, new TranquilityStack(EnumTranquilityType.WATER, 1.5D));
    api.getValueManager().setTranquility(Blocks.NETHERRACK, new TranquilityStack(EnumTranquilityType.FIRE, 0.5D));
    api.getValueManager().setTranquility(Blocks.DIRT, new TranquilityStack(EnumTranquilityType.EARTHEN, 0.25D));
    api.getValueManager().setTranquility(Blocks.FARMLAND, new TranquilityStack(EnumTranquilityType.EARTHEN, 1.0D));
    api.getValueManager().setTranquility(Blocks.POTATOES, new TranquilityStack(EnumTranquilityType.CROP, 1.0D));
    api.getValueManager().setTranquility(Blocks.CARROTS, new TranquilityStack(EnumTranquilityType.CROP, 1.0D));
    api.getValueManager().setTranquility(Blocks.WHEAT, new TranquilityStack(EnumTranquilityType.CROP, 1.0D));
    api.getValueManager().setTranquility(Blocks.NETHER_WART, new TranquilityStack(EnumTranquilityType.CROP, 1.0D));
    api.getValueManager().setTranquility(Blocks.BEETROOTS, new TranquilityStack(EnumTranquilityType.CROP, 1.0D));
    handleConfigValues(api);
    // Add standard blocks for altar components
    api.registerAltarComponent(Blocks.GLOWSTONE.getDefaultState(), ComponentType.GLOWSTONE.name());
    api.registerAltarComponent(Blocks.SEA_LANTERN.getDefaultState(), ComponentType.GLOWSTONE.name());
    api.registerAltarComponent(Blocks.BEACON.getDefaultState(), ComponentType.BEACON.name());
    BlockDecorative decorative = (BlockDecorative) RegistrarBloodMagicBlocks.DECORATIVE_BRICK;
    api.registerAltarComponent(decorative.getDefaultState().withProperty(decorative.getProperty(), EnumDecorative.BLOODSTONE_BRICK), ComponentType.BLOODSTONE.name());
    api.registerAltarComponent(decorative.getDefaultState().withProperty(decorative.getProperty(), EnumDecorative.BLOODSTONE_TILE), ComponentType.BLOODSTONE.name());
    api.registerAltarComponent(decorative.getDefaultState().withProperty(decorative.getProperty(), EnumDecorative.CRYSTAL_BRICK), ComponentType.CRYSTAL.name());
    api.registerAltarComponent(decorative.getDefaultState().withProperty(decorative.getProperty(), EnumDecorative.CRYSTAL_TILE), ComponentType.CRYSTAL.name());
    BlockBloodRune bloodRune = (BlockBloodRune) RegistrarBloodMagicBlocks.BLOOD_RUNE;
    for (BloodRuneType runeType : BloodRuneType.values()) api.registerAltarComponent(bloodRune.getDefaultState().withProperty(bloodRune.getProperty(), runeType), ComponentType.BLOODRUNE.name());
}
Also used : IBloodMagicAPI(WayofTime.bloodmagic.api.IBloodMagicAPI) BloodRuneType(WayofTime.bloodmagic.block.enums.BloodRuneType) BlockDecorative(WayofTime.bloodmagic.block.BlockDecorative) ResourceLocation(net.minecraft.util.ResourceLocation) TranquilityStack(WayofTime.bloodmagic.incense.TranquilityStack) BlockBloodRune(WayofTime.bloodmagic.block.BlockBloodRune)

Example 2 with TranquilityStack

use of WayofTime.bloodmagic.incense.TranquilityStack in project BloodMagic by WayofTime.

the class BloodMagicValueManager method setTranquility.

@Override
public void setTranquility(@Nonnull IBlockState state, @Nonnull String tranquilityType, double value) {
    EnumTranquilityType tranquility = null;
    for (EnumTranquilityType type : EnumTranquilityType.values()) {
        if (type.name().equalsIgnoreCase(tranquilityType)) {
            tranquility = type;
            break;
        }
    }
    if (tranquility != null) {
        BMLog.API_VERBOSE.info("Value Manager: Set tranquility value of {} to {} @ {}", state, tranquilityType, value);
        this.tranquility.put(state, new TranquilityStack(tranquility, value));
    } else
        BMLog.API.warn("Invalid tranquility type: {}.", tranquilityType);
}
Also used : EnumTranquilityType(WayofTime.bloodmagic.incense.EnumTranquilityType) TranquilityStack(WayofTime.bloodmagic.incense.TranquilityStack)

Aggregations

TranquilityStack (WayofTime.bloodmagic.incense.TranquilityStack)2 IBloodMagicAPI (WayofTime.bloodmagic.api.IBloodMagicAPI)1 BlockBloodRune (WayofTime.bloodmagic.block.BlockBloodRune)1 BlockDecorative (WayofTime.bloodmagic.block.BlockDecorative)1 BloodRuneType (WayofTime.bloodmagic.block.enums.BloodRuneType)1 EnumTranquilityType (WayofTime.bloodmagic.incense.EnumTranquilityType)1 ResourceLocation (net.minecraft.util.ResourceLocation)1