Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, modid = XLifeHealth.MOD_ID)
- public class HealthEvents {
- private float maxHealth = 0;
- public float getMaxHealth() {
- return maxHealth;
- }
- public void setMaxHealth(float maxHealth) {
- this.maxHealth = maxHealth;
- }
- @SubscribeEvent
- public void onPlayerDie(LivingDeathEvent event) {
- if (event.getEntityLiving() instanceof PlayerEntity) {
- PlayerEntity player = (PlayerEntity) event.getEntityLiving();
- setMaxHealth(player.getMaxHealth());
- }
- }
- @SubscribeEvent
- public void onRespawn(PlayerEvent.PlayerRespawnEvent event) {
- PlayerEntity player = event.getPlayer();
- SecurityCheck.securityCheck(player);
- setHealthAfterDeath(player);
- }
- @SubscribeEvent
- public void onEnterNether(PlayerEvent.PlayerChangedDimensionEvent event) {
- PlayerEntity player = event.getPlayer();
- SecurityCheck.securityCheck(player);
- applyMaxHealthModifier(player, 0f);
- }
- @SubscribeEvent
- public void onFirstJoin(PlayerEvent.PlayerLoggedInEvent event){
- PlayerEntity player = event.getPlayer();
- CompoundNBT entityData = player.getPersistentData();
- if(!entityData.getBoolean("xlifehealth.firstJoin") && player.getMaxHealth() == 20f) {
- entityData.putBoolean("xlifehealth.firstJoin", true);
- removeMaxHealthModifiers(player);
- applyMaxHealthModifier(player, -18f);
- SendMessage.sendMessage(player, TextFormatting.YELLOW + "=====================================");
- SendMessage.sendMessage(player, " ");
- SendMessage.sendMessage(player, TextFormatting.GOLD + "Welcome to X Life!");
- SendMessage.sendMessage(player, " ");
- SendMessage.sendMessage(player, TextFormatting.WHITE + "You'll start off with only one heart.");
- SendMessage.sendMessage(player, TextFormatting.WHITE + "Every time you die, a heart will be added.");
- SendMessage.sendMessage(player, TextFormatting.WHITE + "When you die with 10 hearts, you will be banned!");
- SendMessage.sendMessage(player, " ");
- SendMessage.sendMessage(player, TextFormatting.GOLD + "Good Luck!");
- SendMessage.sendMessage(player, " ");
- SendMessage.sendMessage(player, TextFormatting.YELLOW + "=====================================");
- }
- }
- public void setHealthAfterDeath(PlayerEntity player) {
- if (getMaxHealth() >= 2 && getMaxHealth() <= 18) {
- float maxHealth = getMaxHealth();
- int lives = (int) (10 - (maxHealth / 2));
- int modifierAmount = (lives * 2 - 2) - ((lives * 2 - 2) + (lives * 2 - 2));
- removeMaxHealthModifiers(player);
- applyMaxHealthModifier(player, modifierAmount);
- if (lives < 10) {
- if (lives == 9) {
- SendMessage.sendMessage(player, TextFormatting.RED + "You have 9 lives remaining . . .");
- HeartColors.setBlueHearts();
- }
- if (lives == 8) {
- SendMessage.sendMessage(player, TextFormatting.RED + "You have 8 lives remaining . . .");
- HeartColors.setGreenHearts();
- }
- if (lives == 7) {
- SendMessage.sendMessage(player, TextFormatting.RED + "You have 7 lives remaining . . .");
- HeartColors.setOrangeHearts();
- }
- if (lives == 6) {
- SendMessage.sendMessage(player, TextFormatting.RED + "You have 6 lives remaining . . .");
- HeartColors.setPinkHearts();
- }
- if (lives == 5) {
- SendMessage.sendMessage(player, TextFormatting.RED + "You have 5 lives remaining . . .");
- HeartColors.setPurpleHearts();
- }
- if (lives == 4) {
- SendMessage.sendMessage(player, TextFormatting.RED + "You have 4 lives remaining . . .");
- HeartColors.setYellowHearts();
- }
- if (lives == 3) {
- SendMessage.sendMessage(player, TextFormatting.RED + "You have 3 lives remaining . . .");
- HeartColors.setCyanHearts();
- }
- if (lives == 2) {
- SendMessage.sendMessage(player, TextFormatting.RED + "You have 2 lives remaining . . .");
- HeartColors.setMagentaHearts();
- }
- if (lives == 1) {
- SendMessage.sendMessage(player, TextFormatting.DARK_RED + "You have 1 life remaining . . .");
- HeartColors.setBlackHearts();
- }
- }
- } else if (getMaxHealth() == 20) {
- player.setGameType(GameType.SPECTATOR);
- SendMessage.sendMessage(player,TextFormatting.RED + "You have died with 10 hearts remaining.");
- SendMessage.sendMessage(player,TextFormatting.RED + "You have been put in spectator mode.");
- removeMaxHealthModifiers(player);
- applyMaxHealthModifier(player, 20);
- } else {
- removeMaxHealthModifiers(player);
- applyMaxHealthModifier(player, -18);
- XLifeHealth.LOGGER.info("[XLIFEHEALTHMOD] Error ID: 100");
- XLifeHealth.LOGGER.info("[XLIFEHEALTHMOD] Please report this error to DaqEm.");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement