Merge pull request #8 from zeshan321/3.3.6
Added api event, fixed npc/player setting, added option to disable Mi…
This commit is contained in:
commit
511c035d84
|
@ -84,6 +84,9 @@ Invisible Potion: true
|
||||||
# Hide if entity is in spectator mode.
|
# Hide if entity is in spectator mode.
|
||||||
Spectator Mode: true
|
Spectator Mode: true
|
||||||
|
|
||||||
|
# If to show MiniaturePets health or not
|
||||||
|
ShowMiniaturePets: true
|
||||||
|
|
||||||
# Translate names. Case sensitive!
|
# Translate names. Case sensitive!
|
||||||
# Check ActionHealth page if translations already exist for the language you plan on using.
|
# Check ActionHealth page if translations already exist for the language you plan on using.
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
name: ActionHealth
|
name: ActionHealth
|
||||||
main: com.zeshanaslam.actionhealth.Main
|
main: com.zeshanaslam.actionhealth.Main
|
||||||
version: 3.3.5
|
version: 3.3.6
|
||||||
softdepend: [PlaceholderAPI, MVdWPlaceholderAPI, WorldGuard, mcMMO, MythicMobs, LangUtils]
|
softdepend: [PlaceholderAPI, MVdWPlaceholderAPI, WorldGuard, mcMMO, MythicMobs, LangUtils]
|
||||||
commands:
|
commands:
|
||||||
Actionhealth:
|
Actionhealth:
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
package com.zeshanaslam.actionhealth.api;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Entity;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.Cancellable;
|
||||||
|
import org.bukkit.event.Event;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
|
public class HealthSendEvent extends Event implements Cancellable {
|
||||||
|
|
||||||
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
private final Player player;
|
||||||
|
private final Entity damaged;
|
||||||
|
private boolean isCancelled;
|
||||||
|
private String message;
|
||||||
|
|
||||||
|
public HealthSendEvent(Player player, Entity damaged, String message) {
|
||||||
|
this.player = player;
|
||||||
|
this.damaged = damaged;
|
||||||
|
this.message = message;
|
||||||
|
this.isCancelled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Player getPlayer() {
|
||||||
|
return player;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Entity getDamaged() {
|
||||||
|
return damaged;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMessage() {
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMessage(String message) {
|
||||||
|
this.message = message;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HandlerList getHandlerList() {
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HandlerList getHandlers() {
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isCancelled() {
|
||||||
|
return isCancelled;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setCancelled(boolean b) {
|
||||||
|
isCancelled = b;
|
||||||
|
}
|
||||||
|
}
|
|
@ -45,6 +45,7 @@ public class ConfigStore {
|
||||||
public boolean hasPlaceholderAPI;
|
public boolean hasPlaceholderAPI;
|
||||||
public int limitHealth;
|
public int limitHealth;
|
||||||
public boolean showNPC;
|
public boolean showNPC;
|
||||||
|
public boolean showMiniaturePets;
|
||||||
|
|
||||||
public ConfigStore(Main plugin) {
|
public ConfigStore(Main plugin) {
|
||||||
// Clear settings for reloads
|
// Clear settings for reloads
|
||||||
|
@ -169,5 +170,6 @@ public class ConfigStore {
|
||||||
limitHealth = plugin.getConfig().getInt("Limit Health");
|
limitHealth = plugin.getConfig().getInt("Limit Health");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
showMiniaturePets = plugin.getConfig().getBoolean("ShowMiniaturePets");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
package com.zeshanaslam.actionhealth.utils;
|
package com.zeshanaslam.actionhealth.utils;
|
||||||
|
|
||||||
import com.zeshanaslam.actionhealth.Main;
|
import com.zeshanaslam.actionhealth.Main;
|
||||||
|
import com.zeshanaslam.actionhealth.api.HealthSendEvent;
|
||||||
import com.zeshanaslam.actionhealth.support.LangUtilsSupport;
|
import com.zeshanaslam.actionhealth.support.LangUtilsSupport;
|
||||||
import com.zeshanaslam.actionhealth.support.McMMOSupport;
|
import com.zeshanaslam.actionhealth.support.McMMOSupport;
|
||||||
import com.zeshanaslam.actionhealth.support.MythicMobsSupport;
|
import com.zeshanaslam.actionhealth.support.MythicMobsSupport;
|
||||||
import com.zeshanaslam.actionhealth.support.PreAction;
|
import com.zeshanaslam.actionhealth.support.PreAction;
|
||||||
import org.apache.commons.lang.WordUtils;
|
import org.apache.commons.lang.WordUtils;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
|
@ -161,6 +163,13 @@ public class HealthUtil {
|
||||||
output = output.replace("{usestyle}", style.toString());
|
output = output.replace("{usestyle}", style.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HealthSendEvent healthSendEvent = new HealthSendEvent(receiver, entity, output);
|
||||||
|
Bukkit.getPluginManager().callEvent(healthSendEvent);
|
||||||
|
if (healthSendEvent.isCancelled())
|
||||||
|
output = null;
|
||||||
|
else
|
||||||
|
output = healthSendEvent.getMessage();
|
||||||
|
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -300,14 +309,17 @@ public class HealthUtil {
|
||||||
if (damaged instanceof Player) {
|
if (damaged instanceof Player) {
|
||||||
if (!plugin.configStore.showPlayers)
|
if (!plugin.configStore.showPlayers)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (!plugin.configStore.showNPC && damaged.hasMetadata("NPC"))
|
|
||||||
return false;
|
|
||||||
} else {
|
} else {
|
||||||
if (!plugin.configStore.showMobs)
|
if (!plugin.configStore.showMobs)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!plugin.configStore.showNPC && damaged.hasMetadata("NPC"))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (!plugin.configStore.showMiniaturePets && damaged.hasMetadata("MiniaturePet"))
|
||||||
|
return false;
|
||||||
|
|
||||||
if (plugin.healthUtil.isDisabled(player.getLocation()))
|
if (plugin.healthUtil.isDisabled(player.getLocation()))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue