diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b518a56..2d17de6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,7 +38,7 @@ jobs: prerelease: true - name: Upload DeathMessages Nightly - if: github.ref_name == 'dev' + if: github.ref_name == 'dev' || github.event_name == 'pull_request' uses: actions/upload-artifact@v6 with: name: DeathMessages-Nightly diff --git a/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/config/files/Config.java b/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/config/files/Config.java index f3fa1e3..df379d8 100644 --- a/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/config/files/Config.java +++ b/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/config/files/Config.java @@ -13,6 +13,7 @@ public enum Config { ADD_PREFIX_TO_ALL_MESSAGES("Add-Prefix-To-All-Messages", true), HOOKS_MYTHICMOBS_ENABLED("Hooks.MythicMobs.Enabled", true), + HOOKS_MYTHICMOBS_USE_MYTHICMOBS_DEATH_MESSAGE("Hooks.MythicMobs.UseMythicMobsDeathMessage", false), HOOKS_WORLDGUARD_ENABLED("Hooks.WorldGuard.Enabled", true), HOOKS_COMBATLOGX_ENABLED("Hooks.CombatLogX.Enabled", true), HOOKS_VANISH_VANILLA_ENABLED("Hooks.Vanish.Vanilla", true), diff --git a/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/hooks/HookInstance.java b/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/hooks/HookInstance.java index 76dcc1a..0e0166a 100644 --- a/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/hooks/HookInstance.java +++ b/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/hooks/HookInstance.java @@ -25,6 +25,7 @@ public class HookInstance { public MythicBukkit mythicMobs = null; public boolean mythicmobsEnabled = false; + public boolean useMythicMobsDeathMessages = false; public WorldGuardExtension worldGuardExtension; public boolean worldGuardEnabled; @@ -134,6 +135,7 @@ public void registerHooks() { if (Bukkit.getPluginManager().getPlugin("MythicMobs") != null && FileStore.CONFIG.getBoolean(Config.HOOKS_MYTHICMOBS_ENABLED)) { mythicMobs = MythicBukkit.inst(); mythicmobsEnabled = true; + useMythicMobsDeathMessages = FileStore.CONFIG.getBoolean(Config.HOOKS_MYTHICMOBS_USE_MYTHICMOBS_DEATH_MESSAGE); Bukkit.getPluginManager().registerEvents(new MobDeath(), instance); DeathMessages.LOGGER.info("MythicMobs Hook Enabled!"); } diff --git a/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamage.java b/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamage.java index 47515ae..c878951 100644 --- a/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamage.java +++ b/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamage.java @@ -49,7 +49,7 @@ public void onEntityDamage(EntityDamageEvent e) { Set listenedMobs = entityConfig.getKeys(false); ConfigurationSection mobConfig = EntityDeathMessages.getInstance().getConfig().getConfigurationSection("Mythic-Mobs-Entities"); - if (mobConfig != null && DeathMessages.getHooks().mythicmobsEnabled) { + if (mobConfig != null && DeathMessages.getHooks().mythicmobsEnabled && !DeathMessages.getHooks().useMythicMobsDeathMessages) { listenedMobs.addAll(mobConfig.getKeys(false)); } diff --git a/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByBlock.java b/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByBlock.java index f9cddff..06bc9a5 100644 --- a/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByBlock.java +++ b/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByBlock.java @@ -33,7 +33,7 @@ public void onEntityDeath(EntityDamageByBlockEvent e) { Set listenedMobs = entityConfig.getKeys(false); ConfigurationSection mobConfig = EntityDeathMessages.getInstance().getConfig().getConfigurationSection("Mythic-Mobs-Entities"); - if (mobConfig != null && DeathMessages.getHooks().mythicmobsEnabled) { + if (mobConfig != null && DeathMessages.getHooks().mythicmobsEnabled && !DeathMessages.getHooks().useMythicMobsDeathMessages) { listenedMobs.addAll(mobConfig.getKeys(false)); } diff --git a/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByEntity.java b/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByEntity.java index 38e650f..2e6c2d0 100644 --- a/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByEntity.java +++ b/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByEntity.java @@ -91,7 +91,7 @@ public void entityDamageByEntity(EntityDamageByEntityEvent e) { Set listenedMobs = entityConfig.getKeys(false); ConfigurationSection mobsConfig = EntityDeathMessages.getInstance().getConfig().getConfigurationSection("Mythic-Mobs-Entities"); - if (mobsConfig != null && DeathMessages.getHooks().mythicmobsEnabled) { + if (mobsConfig != null && DeathMessages.getHooks().mythicmobsEnabled && !DeathMessages.getHooks().useMythicMobsDeathMessages) { listenedMobs.addAll(mobsConfig.getKeys(false)); } diff --git a/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/utils/Assets.java b/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/utils/Assets.java index 0cc3618..1a72fde 100644 --- a/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/utils/Assets.java +++ b/DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/utils/Assets.java @@ -387,7 +387,7 @@ public static TextComponent getWeapon(boolean gang, PlayerCtx playerCtx, LivingE //Bukkit.broadcastMessage("is myth - " + mmMobType); msgs = sortList(getPlayerDeathMessages().getStringList("Custom-Mobs.Mythic-Mobs." + mmMobType + "." + affiliation + ".Weapon"), playerCtx.getPlayer(), mob); - if (msgs.isEmpty()) return Component.empty(); // Don't send mm mob death msg if no configured death msg. + if (msgs.isEmpty() || DeathMessages.getHooks().useMythicMobsDeathMessages) return Component.empty(); // Don't send mm mob death msg if no configured death msg. } if (Settings.getInstance().getConfig().getBoolean(Config.DEBUG.getPath())) @@ -461,7 +461,7 @@ public static TextComponent getEntityDeathWeapon(Player p, Entity e, MobType mob msgs = sortList(getEntityDeathMessages().getStringList("Mythic-Mobs-Entities." + mmMobType + ".Weapon"), p, e); - if (msgs.isEmpty()) return Component.empty(); // Don't send mm mob death msg if no configured death msg. + if (msgs.isEmpty() || DeathMessages.getHooks().useMythicMobsDeathMessages) return Component.empty(); // Don't send mm mob death msg if no configured death msg. } if (Settings.getInstance().getConfig().getBoolean(Config.DEBUG.getPath())) @@ -533,7 +533,7 @@ public static TextComponent get(boolean gang, PlayerCtx playerCtx, LivingEntity //System.out.println("is myth - " + mmMobType); msgs = sortList(getPlayerDeathMessages().getStringList("Custom-Mobs.Mythic-Mobs." + mmMobType + "." + affiliation + "." + damageCause), playerCtx.getPlayer(), mob); - if (msgs.isEmpty()) return Component.empty(); // Don't send mm mob death msg if no configured death msg. + if (msgs.isEmpty() || DeathMessages.getHooks().useMythicMobsDeathMessages) return Component.empty(); // Don't send mm mob death msg if no configured death msg. } if (Settings.getInstance().getConfig().getBoolean(Config.DEBUG.getPath())) @@ -588,7 +588,7 @@ public static TextComponent getProjectile(boolean gang, PlayerCtx playerCtx, Liv String mmMobType = DeathMessages.getHooks().mythicMobs.getAPIHelper().getMythicMobInstance(mob).getMobType(); msgs = sortList(getPlayerDeathMessages().getStringList("Custom-Mobs.Mythic-Mobs." + mmMobType + "." + affiliation + "." + projectileDamage), playerCtx.getPlayer(), mob); - if (msgs.isEmpty()) return Component.empty(); // Don't send mm mob death msg if no configured death msg. + if (msgs.isEmpty() || DeathMessages.getHooks().useMythicMobsDeathMessages) return Component.empty(); // Don't send mm mob death msg if no configured death msg. } if (Settings.getInstance().getConfig().getBoolean(Config.DEBUG.getPath())) @@ -680,7 +680,7 @@ public static TextComponent getEntityDeathProjectile(Player p, EntityCtx entityC msgs = sortList(getEntityDeathMessages().getStringList("Mythic-Mobs-Entities." + mmMobType + "." + projectileDamage), p, entityCtx.getEntity()); - if (msgs.isEmpty()) return Component.empty(); // Don't send mm mob death msg if no configured death msg. + if (msgs.isEmpty() || DeathMessages.getHooks().useMythicMobsDeathMessages) return Component.empty(); // Don't send mm mob death msg if no configured death msg. } if (Settings.getInstance().getConfig().getBoolean(Config.DEBUG.getPath())) @@ -770,7 +770,7 @@ public static TextComponent getEntityDeath(Player player, Entity e, String damag msgs = sortList(getEntityDeathMessages().getStringList("Mythic-Mobs-Entities." + mmMobType + "." + damageCause), player, e); - if (msgs.isEmpty()) return Component.empty(); // Don't send mm mob death msg if no configured death msg. + if (msgs.isEmpty() || DeathMessages.getHooks().useMythicMobsDeathMessages) return Component.empty(); // Don't send mm mob death msg if no configured death msg. } if (Settings.getInstance().getConfig().getBoolean(Config.DEBUG.getPath())) diff --git a/DeathMessagesLegacy/src/main/resources/Settings.yml b/DeathMessagesLegacy/src/main/resources/Settings.yml index bdeccb4..889eb83 100644 --- a/DeathMessagesLegacy/src/main/resources/Settings.yml +++ b/DeathMessagesLegacy/src/main/resources/Settings.yml @@ -17,6 +17,9 @@ Hooks: # Enable/Disable MythicMobs hook MythicMobs: Enabled: true + # Whether to let MythicMobs to handle MythicMobs mob's death message + # If enabled, DeathMessages will not broadcast death message if kill or killed by MythicMobs mobs + UseMythicMobsDeathMessage: false # If WorldGuard is found, enable the hook # This creates custom flags for regions. These flags are set to ALLOW by default diff --git a/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/config/files/Config.java b/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/config/files/Config.java index f3fa1e3..df379d8 100644 --- a/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/config/files/Config.java +++ b/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/config/files/Config.java @@ -13,6 +13,7 @@ public enum Config { ADD_PREFIX_TO_ALL_MESSAGES("Add-Prefix-To-All-Messages", true), HOOKS_MYTHICMOBS_ENABLED("Hooks.MythicMobs.Enabled", true), + HOOKS_MYTHICMOBS_USE_MYTHICMOBS_DEATH_MESSAGE("Hooks.MythicMobs.UseMythicMobsDeathMessage", false), HOOKS_WORLDGUARD_ENABLED("Hooks.WorldGuard.Enabled", true), HOOKS_COMBATLOGX_ENABLED("Hooks.CombatLogX.Enabled", true), HOOKS_VANISH_VANILLA_ENABLED("Hooks.Vanish.Vanilla", true), diff --git a/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/hooks/HookInstance.java b/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/hooks/HookInstance.java index cb1eb95..a3559a0 100644 --- a/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/hooks/HookInstance.java +++ b/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/hooks/HookInstance.java @@ -23,6 +23,7 @@ public class HookInstance { public MythicBukkit mythicMobs = null; public boolean mythicmobsEnabled = false; + public boolean useMythicMobsDeathMessages = false; public WorldGuardExtension worldGuardExtension; public boolean worldGuardEnabled; @@ -132,6 +133,7 @@ public void registerHooks() { if (Bukkit.getPluginManager().getPlugin("MythicMobs") != null && FileStore.CONFIG.getBoolean(Config.HOOKS_MYTHICMOBS_ENABLED)) { mythicMobs = MythicBukkit.inst(); mythicmobsEnabled = true; + useMythicMobsDeathMessages = FileStore.CONFIG.getBoolean(Config.HOOKS_MYTHICMOBS_USE_MYTHICMOBS_DEATH_MESSAGE); Bukkit.getPluginManager().registerEvents(new MobDeath(), instance); DeathMessages.LOGGER.info("MythicMobs Hook Enabled!"); } diff --git a/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamage.java b/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamage.java index c797e3c..012fe2f 100644 --- a/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamage.java +++ b/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamage.java @@ -48,7 +48,7 @@ public void onEntityDamage(EntityDamageEvent e) { Set listenedMobs = entityConfig.getKeys(false); ConfigurationSection mobConfig = EntityDeathMessages.getInstance().getConfig().getConfigurationSection("Mythic-Mobs-Entities"); - if (mobConfig != null && DeathMessages.getHooks().mythicmobsEnabled) { + if (mobConfig != null && DeathMessages.getHooks().mythicmobsEnabled && !DeathMessages.getHooks().useMythicMobsDeathMessages) { listenedMobs.addAll(mobConfig.getKeys(false)); } diff --git a/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByBlock.java b/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByBlock.java index f9cddff..06bc9a5 100644 --- a/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByBlock.java +++ b/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByBlock.java @@ -33,7 +33,7 @@ public void onEntityDeath(EntityDamageByBlockEvent e) { Set listenedMobs = entityConfig.getKeys(false); ConfigurationSection mobConfig = EntityDeathMessages.getInstance().getConfig().getConfigurationSection("Mythic-Mobs-Entities"); - if (mobConfig != null && DeathMessages.getHooks().mythicmobsEnabled) { + if (mobConfig != null && DeathMessages.getHooks().mythicmobsEnabled && !DeathMessages.getHooks().useMythicMobsDeathMessages) { listenedMobs.addAll(mobConfig.getKeys(false)); } diff --git a/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByEntity.java b/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByEntity.java index 47e613d..a9e5696 100644 --- a/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByEntity.java +++ b/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDamageByEntity.java @@ -91,7 +91,7 @@ public void entityDamageByEntity(EntityDamageByEntityEvent e) { Set listenedMobs = entityConfig.getKeys(false); ConfigurationSection mobsConfig = EntityDeathMessages.getInstance().getConfig().getConfigurationSection("Mythic-Mobs-Entities"); - if (mobsConfig != null && DeathMessages.getHooks().mythicmobsEnabled) { + if (mobsConfig != null && DeathMessages.getHooks().mythicmobsEnabled && !DeathMessages.getHooks().useMythicMobsDeathMessages) { listenedMobs.addAll(mobsConfig.getKeys(false)); } diff --git a/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/utils/Assets.java b/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/utils/Assets.java index 7a23e7c..3d8ec80 100644 --- a/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/utils/Assets.java +++ b/DeathMessagesModern/src/main/java/dev/mrshawn/deathmessages/utils/Assets.java @@ -378,7 +378,7 @@ public static TextComponent getWeapon(boolean gang, PlayerCtx playerCtx, LivingE //Bukkit.broadcastMessage("is myth - " + mmMobType); msgs = sortList(getPlayerDeathMessages().getStringList("Custom-Mobs.Mythic-Mobs." + mmMobType + "." + affiliation + ".Weapon"), playerCtx.getPlayer(), mob); - if (msgs.isEmpty()) return Component.empty(); // Don't send mm mob death msg if no configured death msg. + if (msgs.isEmpty() || DeathMessages.getHooks().useMythicMobsDeathMessages) return Component.empty(); // Don't send mm mob death msg if no configured death msg. } if (Settings.getInstance().getConfig().getBoolean(Config.DEBUG.getPath())) @@ -452,7 +452,7 @@ public static TextComponent getEntityDeathWeapon(Player p, Entity e, MobType mob msgs = sortList(getEntityDeathMessages().getStringList("Mythic-Mobs-Entities." + mmMobType + ".Weapon"), p, e); - if (msgs.isEmpty()) return Component.empty(); // Don't send mm mob death msg if no configured death msg. + if (msgs.isEmpty() || DeathMessages.getHooks().useMythicMobsDeathMessages) return Component.empty(); // Don't send mm mob death msg if no configured death msg. } if (Settings.getInstance().getConfig().getBoolean(Config.DEBUG.getPath())) @@ -524,7 +524,7 @@ public static TextComponent get(boolean gang, PlayerCtx playerCtx, LivingEntity //System.out.println("is myth - " + mmMobType); msgs = sortList(getPlayerDeathMessages().getStringList("Custom-Mobs.Mythic-Mobs." + mmMobType + "." + affiliation + "." + damageCause), playerCtx.getPlayer(), mob); - if (msgs.isEmpty()) return Component.empty(); // Don't send mm mob death msg if no configured death msg. + if (msgs.isEmpty() || DeathMessages.getHooks().useMythicMobsDeathMessages) return Component.empty(); // Don't send mm mob death msg if no configured death msg. } if (Settings.getInstance().getConfig().getBoolean(Config.DEBUG.getPath())) @@ -579,7 +579,7 @@ public static TextComponent getProjectile(boolean gang, PlayerCtx playerCtx, Liv String mmMobType = DeathMessages.getHooks().mythicMobs.getAPIHelper().getMythicMobInstance(mob).getMobType(); msgs = sortList(getPlayerDeathMessages().getStringList("Custom-Mobs.Mythic-Mobs." + mmMobType + "." + affiliation + "." + projectileDamage), playerCtx.getPlayer(), mob); - if (msgs.isEmpty()) return Component.empty(); // Don't send mm mob death msg if no configured death msg. + if (msgs.isEmpty() || DeathMessages.getHooks().useMythicMobsDeathMessages) return Component.empty(); // Don't send mm mob death msg if no configured death msg. } if (Settings.getInstance().getConfig().getBoolean(Config.DEBUG.getPath())) @@ -671,7 +671,7 @@ public static TextComponent getEntityDeathProjectile(Player p, EntityCtx entityC msgs = sortList(getEntityDeathMessages().getStringList("Mythic-Mobs-Entities." + mmMobType + "." + projectileDamage), p, entityCtx.getEntity()); - if (msgs.isEmpty()) return Component.empty(); // Don't send mm mob death msg if no configured death msg. + if (msgs.isEmpty() || DeathMessages.getHooks().useMythicMobsDeathMessages) return Component.empty(); // Don't send mm mob death msg if no configured death msg. } if (Settings.getInstance().getConfig().getBoolean(Config.DEBUG.getPath())) @@ -761,7 +761,7 @@ public static TextComponent getEntityDeath(Player player, Entity e, String damag msgs = sortList(getEntityDeathMessages().getStringList("Mythic-Mobs-Entities." + mmMobType + "." + damageCause), player, e); - if (msgs.isEmpty()) return Component.empty(); // Don't send mm mob death msg if no configured death msg. + if (msgs.isEmpty() || DeathMessages.getHooks().useMythicMobsDeathMessages) return Component.empty(); // Don't send mm mob death msg if no configured death msg. } if (Settings.getInstance().getConfig().getBoolean(Config.DEBUG.getPath())) diff --git a/DeathMessagesModern/src/main/resources/Settings.yml b/DeathMessagesModern/src/main/resources/Settings.yml index bdeccb4..889eb83 100644 --- a/DeathMessagesModern/src/main/resources/Settings.yml +++ b/DeathMessagesModern/src/main/resources/Settings.yml @@ -17,6 +17,9 @@ Hooks: # Enable/Disable MythicMobs hook MythicMobs: Enabled: true + # Whether to let MythicMobs to handle MythicMobs mob's death message + # If enabled, DeathMessages will not broadcast death message if kill or killed by MythicMobs mobs + UseMythicMobsDeathMessage: false # If WorldGuard is found, enable the hook # This creates custom flags for regions. These flags are set to ALLOW by default