use of com.bewitchment.common.core.net.messages.PlayerVampireBloodChanged 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);
}
}
use of com.bewitchment.common.core.net.messages.PlayerVampireBloodChanged in project Bewitchment by Um-Mitternacht.
the class ApiInstance method addVampireBlood.
/**
* @param player The player whose blood reserve is being modified
* @param amount The amount of blood to add (negative values will decrease the total)
* @return <i>When adding</i> blood this will return true if the value changed and false otherwise: this is <b>true</b> if there was
* even a little bit of space in the pool, but the blood added was greater than the amount that could be inserted,
* and <b>false</b> if the pool was maxed.<br>
* <i>When removing</i> blood this will return true if ALL the blood requested was drained.
* If the amount drained is greater than the amount available this will return false, and no blood will be drained from the pool
* @throws UnsupportedOperationException if the player is not a vampire
*/
@Override
public boolean addVampireBlood(EntityPlayer player, int amount) {
ITransformationData data = player.getCapability(CapabilityTransformationData.CAPABILITY, null);
boolean flag = data.addVampireBlood(amount);
if (player instanceof EntityPlayerMP) {
NetworkHandler.HANDLER.sendTo(new PlayerVampireBloodChanged(player), (EntityPlayerMP) player);
}
return flag;
}
use of com.bewitchment.common.core.net.messages.PlayerVampireBloodChanged 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));
}
use of com.bewitchment.common.core.net.messages.PlayerVampireBloodChanged in project Bewitchment by Um-Mitternacht.
the class TransformationHelper method setVampireBlood.
public static void setVampireBlood(EntityPlayer player, int amount) {
ITransformationData data = player.getCapability(CapabilityTransformationData.CAPABILITY, null);
data.setBlood(amount);
if (player instanceof EntityPlayerMP) {
NetworkHandler.HANDLER.sendTo(new PlayerVampireBloodChanged(player), (EntityPlayerMP) player);
}
}
Aggregations