Added new config option for blown disguises
This commit is contained in:
parent
0546566686
commit
27230d5148
10
config.yml
10
config.yml
@ -106,11 +106,11 @@ ModifyBoundingBox: false
|
||||
# They will just ignore you unless provoked.
|
||||
MonstersIgnoreDisguises: false
|
||||
|
||||
# Sigh. People are going to want this.
|
||||
# So lets make your disguise blown if you are attacked..
|
||||
# Works only for disguised players when attacked by a entity (arrow, monster. etc)
|
||||
# This will blow all disguises he has on him
|
||||
BlowDisguises: false
|
||||
# This works only for players, disguised monsters and the like will not be undisguised
|
||||
# Should the player's disguises be removed if he attacks something?
|
||||
BlowDisguisesWhenAttacking: false
|
||||
# Should the player's disguises be removed if he's attacked by something?
|
||||
BlowDisguisesWhenAttacked: false
|
||||
|
||||
#Stop shulker disguises from moving, they're weird. This option only effects PLAYERS that are disguised, other entities disguised as shulkers will NOT be effected!
|
||||
StopShulkerDisguisesFromMoving: true
|
||||
|
@ -6,7 +6,6 @@ import java.util.Map.Entry;
|
||||
|
||||
import me.libraryaddict.disguise.utilities.TranslateType;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
@ -17,12 +16,15 @@ import me.libraryaddict.disguise.utilities.PacketsManager;
|
||||
|
||||
public class DisguiseConfig {
|
||||
public static enum DisguisePushing { // This enum has a really bad name..
|
||||
MODIFY_SCOREBOARD, IGNORE_SCOREBOARD, CREATE_SCOREBOARD;
|
||||
MODIFY_SCOREBOARD,
|
||||
IGNORE_SCOREBOARD,
|
||||
CREATE_SCOREBOARD;
|
||||
}
|
||||
|
||||
private static boolean animationEnabled;
|
||||
private static boolean bedEnabled;
|
||||
private static boolean blowDisguisesOnAttack;
|
||||
private static boolean blowDisguisesWhenAttacking;
|
||||
private static boolean blowDisguisesWhenAttacked;
|
||||
private static boolean collectEnabled;
|
||||
private static boolean colorizeSheep;
|
||||
private static boolean colorizeWolf;
|
||||
@ -154,7 +156,8 @@ public class DisguiseConfig {
|
||||
setNameAboveHeadAlwaysVisible(config.getBoolean("NameAboveHeadAlwaysVisible"));
|
||||
setModifyBoundingBox(config.getBoolean("ModifyBoundingBox"));
|
||||
setMonstersIgnoreDisguises(config.getBoolean("MonstersIgnoreDisguises"));
|
||||
setDisguiseBlownOnAttack(config.getBoolean("BlowDisguises"));
|
||||
setDisguiseBlownWhenAttacking(config.getBoolean("BlowDisguises", config.getBoolean("BlowDisguisesWhenAttacking")));
|
||||
setDisguiseBlownWhenAttacked(config.getBoolean("BlowDisguisesWhenAttacked"));
|
||||
setKeepDisguiseOnPlayerDeath(config.getBoolean("KeepDisguises.PlayerDeath"));
|
||||
setMiscDisguisesForLivingEnabled(config.getBoolean("MiscDisguisesForLiving"));
|
||||
setMovementPacketsEnabled(config.getBoolean("PacketsEnabled.Movement"));
|
||||
@ -264,8 +267,12 @@ public class DisguiseConfig {
|
||||
return disableInvisibility;
|
||||
}
|
||||
|
||||
public static boolean isDisguiseBlownOnAttack() {
|
||||
return blowDisguisesOnAttack;
|
||||
public static boolean isDisguiseBlownWhenAttacking() {
|
||||
return blowDisguisesWhenAttacking;
|
||||
}
|
||||
|
||||
public static boolean isDisguiseBlownWhenAttacked() {
|
||||
return blowDisguisesWhenAttacked;
|
||||
}
|
||||
|
||||
public static boolean isEntityAnimationsAdded() {
|
||||
@ -419,8 +426,12 @@ public class DisguiseConfig {
|
||||
disableInvisibility = disableInvis;
|
||||
}
|
||||
|
||||
public static void setDisguiseBlownOnAttack(boolean blowDisguise) {
|
||||
blowDisguisesOnAttack = blowDisguise;
|
||||
public static void setDisguiseBlownWhenAttacking(boolean blowDisguise) {
|
||||
blowDisguisesWhenAttacking = blowDisguise;
|
||||
}
|
||||
|
||||
public static void setDisguiseBlownWhenAttacked(boolean blowDisguise) {
|
||||
blowDisguisesWhenAttacked = blowDisguise;
|
||||
}
|
||||
|
||||
public static void setDisguiseCloneExpire(int newExpires) {
|
||||
|
@ -132,16 +132,16 @@ public class DisguiseListener implements Listener {
|
||||
updaterTask.cancel();
|
||||
}
|
||||
|
||||
private void checkPlayerCanBlowDisguise(Player entity) {
|
||||
Disguise[] disguises = DisguiseAPI.getDisguises(entity);
|
||||
private void checkPlayerCanBlowDisguise(Player player) {
|
||||
Disguise[] disguises = DisguiseAPI.getDisguises(player);
|
||||
|
||||
if (disguises.length > 0) {
|
||||
DisguiseAPI.undisguiseToAll(entity);
|
||||
DisguiseAPI.undisguiseToAll(player);
|
||||
|
||||
String blown = LibsMsg.BLOWN_DISGUISE.get();
|
||||
|
||||
if (blown.length() > 0) {
|
||||
entity.sendMessage(blown);
|
||||
player.sendMessage(blown);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -195,14 +195,12 @@ public class DisguiseListener implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||
public void onAttack(EntityDamageByEntityEvent event) {
|
||||
if (DisguiseConfig.isDisguiseBlownOnAttack()) {
|
||||
if (event.getEntity() instanceof Player) {
|
||||
checkPlayerCanBlowDisguise((Player) event.getEntity());
|
||||
}
|
||||
if (DisguiseConfig.isDisguiseBlownWhenAttacked() && event.getEntity() instanceof Player) {
|
||||
checkPlayerCanBlowDisguise((Player) event.getEntity());
|
||||
}
|
||||
|
||||
if (event.getDamager() instanceof Player) {
|
||||
checkPlayerCanBlowDisguise((Player) event.getDamager());
|
||||
}
|
||||
if (DisguiseConfig.isDisguiseBlownWhenAttacking() && event.getDamager() instanceof Player) {
|
||||
checkPlayerCanBlowDisguise((Player) event.getDamager());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -7,6 +7,7 @@ import java.util.HashMap;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import org.bukkit.Art;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.BlockFace;
|
||||
@ -758,23 +759,23 @@ public class DisguiseParser {
|
||||
}
|
||||
|
||||
value = items;
|
||||
} else if (param.getSimpleName().equals("Color")) {
|
||||
} else if (param == Horse.Color.class) {
|
||||
// Parse to horse color
|
||||
value = callValueOf(param, valueString, methodName);
|
||||
} else if (param.getSimpleName().equals("Style")) {
|
||||
} else if (param == Horse.Style.class) {
|
||||
// Parse to horse style
|
||||
value = callValueOf(param, valueString, methodName);
|
||||
} else if (param.getSimpleName().equals("Profession")) {
|
||||
} else if (param == Villager.Profession.class) {
|
||||
// Parse to villager profession
|
||||
value = callValueOf(param, valueString, methodName);
|
||||
} else if (param.getSimpleName().equals("Art")) {
|
||||
} else if (param == Art.class) {
|
||||
// Parse to art type
|
||||
value = callValueOf(param, valueString, methodName);
|
||||
} else if (param.getSimpleName().equals("Type")) {
|
||||
} else if (param == Ocelot.Type.class) {
|
||||
// Parse to ocelot type
|
||||
value = callValueOf(param, valueString, methodName);
|
||||
} else if (param.getSimpleName().equals("TreeSpecies")) {
|
||||
// Parse to ocelot type
|
||||
// Parse to tree species
|
||||
value = callValueOf(param, valueString, methodName);
|
||||
} else if (param == PotionEffectType.class) {
|
||||
// Parse to potion effect
|
||||
|
Loading…
Reference in New Issue
Block a user