Search in sources :

Example 1 with PlayerTransformationChangedMessage

use of com.bewitchment.common.core.net.messages.PlayerTransformationChangedMessage in project Bewitchment by Um-Mitternacht.

the class TransformationEvents method onPlayerJoin.

@SubscribeEvent
public void onPlayerJoin(PlayerLoggedInEvent evt) {
    if (evt.player instanceof EntityPlayerMP) {
        EntityPlayerMP player = (EntityPlayerMP) evt.player;
        NetworkHandler.HANDLER.sendTo(new PlayerTransformationChangedMessage(player), player);
        NetworkHandler.HANDLER.sendTo(new PlayerVampireBloodChanged(player), player);
        NetworkHandler.HANDLER.sendTo(new EntityInternalBloodChanged(player), player);
        NetworkHandler.HANDLER.sendTo(new NightVisionStatus(player.getCapability(CapabilityTransformationData.CAPABILITY, null).isNightVisionActive()), player);
    }
}
Also used : NightVisionStatus(com.bewitchment.common.core.net.messages.NightVisionStatus) EntityInternalBloodChanged(com.bewitchment.common.core.net.messages.EntityInternalBloodChanged) EntityPlayerMP(net.minecraft.entity.player.EntityPlayerMP) PlayerVampireBloodChanged(com.bewitchment.common.core.net.messages.PlayerVampireBloodChanged) PlayerTransformationChangedMessage(com.bewitchment.common.core.net.messages.PlayerTransformationChangedMessage) SubscribeEvent(net.minecraftforge.fml.common.eventhandler.SubscribeEvent)

Example 2 with PlayerTransformationChangedMessage

use of com.bewitchment.common.core.net.messages.PlayerTransformationChangedMessage in project Bewitchment by Um-Mitternacht.

the class ApiInstance method setTypeAndLevel.

@Override
public void setTypeAndLevel(EntityPlayer player, ITransformation type, int level, boolean isClient) {
    ITransformationData data = player.getCapability(CapabilityTransformationData.CAPABILITY, null);
    IBloodReserve ibr = player.getCapability(CapabilityBloodReserve.CAPABILITY, null);
    data.setType(type);
    data.setLevel(level);
    data.setNightVision(data.isNightVisionActive() && (type == ModTransformations.WEREWOLF || type == ModTransformations.VAMPIRE));
    if ((type == ModTransformations.SPECTRE || type == ModTransformations.VAMPIRE)) {
        ibr.setMaxBlood(-1);
        player.removePotionEffect(ModPotions.bloodDrained);
    } else if (ibr.getMaxBlood() < 0) {
        ibr.setMaxBlood(480);
        ibr.setBlood(480);
    }
    if (isClient) {
        HotbarAction.refreshActions(player, player.world);
    } else {
        NetworkHandler.HANDLER.sendTo(new PlayerTransformationChangedMessage(player), (EntityPlayerMP) player);
        NetworkHandler.HANDLER.sendTo(new PlayerVampireBloodChanged(player), (EntityPlayerMP) player);
        NetworkHandler.HANDLER.sendTo(new EntityInternalBloodChanged(player), (EntityPlayerMP) player);
        NetworkHandler.HANDLER.sendTo(new NightVisionStatus(player.getCapability(CapabilityTransformationData.CAPABILITY, null).isNightVisionActive()), (EntityPlayerMP) player);
    }
    MinecraftForge.EVENT_BUS.post(new TransformationModifiedEvent(player, type, level));
}
Also used : ITransformationData(com.bewitchment.common.core.capability.transformation.ITransformationData) IBloodReserve(com.bewitchment.api.capability.transformations.IBloodReserve) NightVisionStatus(com.bewitchment.common.core.net.messages.NightVisionStatus) TransformationModifiedEvent(com.bewitchment.api.event.TransformationModifiedEvent) EntityInternalBloodChanged(com.bewitchment.common.core.net.messages.EntityInternalBloodChanged) PlayerVampireBloodChanged(com.bewitchment.common.core.net.messages.PlayerVampireBloodChanged) PlayerTransformationChangedMessage(com.bewitchment.common.core.net.messages.PlayerTransformationChangedMessage)

Aggregations

EntityInternalBloodChanged (com.bewitchment.common.core.net.messages.EntityInternalBloodChanged)2 NightVisionStatus (com.bewitchment.common.core.net.messages.NightVisionStatus)2 PlayerTransformationChangedMessage (com.bewitchment.common.core.net.messages.PlayerTransformationChangedMessage)2 PlayerVampireBloodChanged (com.bewitchment.common.core.net.messages.PlayerVampireBloodChanged)2 IBloodReserve (com.bewitchment.api.capability.transformations.IBloodReserve)1 TransformationModifiedEvent (com.bewitchment.api.event.TransformationModifiedEvent)1 ITransformationData (com.bewitchment.common.core.capability.transformation.ITransformationData)1 EntityPlayerMP (net.minecraft.entity.player.EntityPlayerMP)1 SubscribeEvent (net.minecraftforge.fml.common.eventhandler.SubscribeEvent)1