From a818543a467b1d968bf016e9887b5545b7c7208f Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Fri, 5 Jul 2024 14:41:00 -0500 Subject: [PATCH 01/14] v4.0.7 b36 enable nametags to use PlaceholderAPI fix version checker showing color codes when the version is outdated remove unused outdated code --- gradle.properties | 2 +- .../levelledmobs/LevelledMobs.kt | 2 -- .../levelledmobs/MainCompanion.kt | 4 ++-- .../listeners/PlayerJoinListener.kt | 14 ++++--------- .../levelledmobs/managers/LevelManager.kt | 4 ++-- .../arcaneplugins/levelledmobs/util/Log.kt | 4 ++-- .../levelledmobs/util/MessageUtils.kt | 21 +++++++++++++++++++ 7 files changed, 32 insertions(+), 19 deletions(-) diff --git a/gradle.properties b/gradle.properties index 231d96271..1074eb83a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version = 4.0.6 b35 +version = 4.0.7 b36 description = The Ultimate RPG Mob Levelling Solution \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/LevelledMobs.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/LevelledMobs.kt index a20f368bf..d07da8d55 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/LevelledMobs.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/LevelledMobs.kt @@ -66,7 +66,6 @@ class LevelledMobs : JavaPlugin() { val random = Random() var placeholderApiIntegration: PlaceholderApiIntegration? = null internal set - var migratedFromPre30 = false val helperSettings = YmlParsingHelper(YamlConfiguration()) var playerLevellingMinRelevelTime = 0L internal set @@ -158,7 +157,6 @@ class LevelledMobs : JavaPlugin() { } fun reloadLM(sender: CommandSender) { - migratedFromPre30 = false NotifyManager.clearLastError() customDropsHandler.customDropsParser.invalidExternalItems.clear() var reloadStartedMsg = messagesCfg.getStringList( diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/MainCompanion.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/MainCompanion.kt index 53a91eb5b..d2d7340e7 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/MainCompanion.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/MainCompanion.kt @@ -31,6 +31,7 @@ import io.github.arcaneplugins.levelledmobs.misc.OutdatedServerVersionException import io.github.arcaneplugins.levelledmobs.misc.VersionInfo import io.github.arcaneplugins.levelledmobs.rules.MetricsInfo import io.github.arcaneplugins.levelledmobs.util.Log +import io.github.arcaneplugins.levelledmobs.util.MessageUtils import io.github.arcaneplugins.levelledmobs.util.UpdateChecker import io.github.arcaneplugins.levelledmobs.util.Utils.colorizeAllInList import io.github.arcaneplugins.levelledmobs.util.Utils.replaceAllInList @@ -483,7 +484,6 @@ class MainCompanion{ updateResult = replaceAllInList( updateResult, "%latestVersion%", latestVersion ) - updateResult = colorizeAllInList(updateResult) if (main.messagesCfg.getBoolean( "other.update-notice.send-in-console", @@ -503,7 +503,7 @@ class MainCompanion{ ) ) { for (msg in updateResult) { - onlinePlayer.sendMessage(msg) + onlinePlayer.sendMessage(MessageUtils.colorizeAll(msg)) } //updateResult.forEach(onlinePlayer::sendMessage); //compiler didn't like this :( } diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/PlayerJoinListener.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/PlayerJoinListener.kt index d0bac0819..39befd9cd 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/PlayerJoinListener.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/PlayerJoinListener.kt @@ -54,14 +54,6 @@ class PlayerJoinListener : Listener { event.player.sendMessage(FileLoader.getFileLoadErrorMessage()) } - if (main.migratedFromPre30) { - event.player.sendMessage( - colorizeStandardCodes( - "&b&lLevelledMobs: &cWARNING &7You have migrated from an older version. All settings have been reverted. Please edit rules.yml" - ) - ) - } - if (NotifyManager.opHasMessage){ event.player.sendMessage(NotifyManager.pendingMessage!!) NotifyManager.clearLastError() @@ -151,7 +143,7 @@ class PlayerJoinListener : Listener { // on spigot API .getTo is nullable but not Paper // only update tags if teleported to a different world @Suppress("SENSELESS_COMPARISON") - if (event.to != null && event.to.world != null && event.from.world != null && event.from.world !== event.to.world) { + if (event.to != null && event.to.world != null && event.from.world != null && event.from.world != event.to.world) { updateNametagsInWorldAsync(event.player, event.to.world.entities) } } @@ -195,7 +187,9 @@ class PlayerJoinListener : Listener { if (main.messagesCfg.getBoolean("other.update-notice.send-on-join", true) && player.hasPermission("levelledmobs.receive-update-notifications") ) { - main.mainCompanion.updateResult.forEach(player::sendMessage) + main.mainCompanion.updateResult.forEach{ msg -> + player.sendMessage(MessageUtils.colorizeAll(msg)) + } } } } \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt index 968658576..4d56a5ea3 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt @@ -740,7 +740,7 @@ class LevelManager : LevelInterface2 { // ignore if 'disabled' if (nametag.isEmpty) { - val useCustomNameForNametags: Boolean = main.helperSettings.getBoolean( + val useCustomNameForNametags = main.helperSettings.getBoolean( "use-customname-for-mob-nametags" ) return if (useCustomNameForNametags) { @@ -775,7 +775,7 @@ class LevelManager : LevelInterface2 { false ) else lmEntity.lockedOverrideName!! - replaceStringPlaceholders(nametag, lmEntity, false, null, preserveMobName) + replaceStringPlaceholders(nametag, lmEntity, true, null, preserveMobName) var indicatorStr = "" var colorOnly = "" diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/Log.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/Log.kt index 13b038edf..85c186dc1 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/Log.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/Log.kt @@ -32,13 +32,13 @@ object Log { fun war(msg: String) { LevelledMobs.instance.logger.warning( - MessageUtils.colorizeAll(msg) + MessageUtils.removeColorCodes(msg) ) } fun sev(msg: String) { LevelledMobs.instance.logger.severe( - MessageUtils.colorizeAll(msg) + MessageUtils.removeColorCodes(msg) ) } } \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/MessageUtils.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/MessageUtils.kt index ebeda3dc0..0211d31cc 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/MessageUtils.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/MessageUtils.kt @@ -37,6 +37,27 @@ object MessageUtils { return colorizeStandardCodes(colorizeHexCodes(msg)) } + fun removeColorCodes(msg: String?): String { + if (msg == null) return "" + + "" + val sb = StringBuilder() + var foundCode = false + for (char in msg.toCharArray()){ + if (foundCode){ + foundCode = false + continue + } + if (char == '&' || char == '§'){ + foundCode = true + continue + } + + sb.append(char) + } + + return sb.toString() + } + /** * This defaults the 'startTag' to '&#' and endTag to '' (nothing) to colorizeHexCodes. * From 2f3dfb58909319e8c6d214e35ef70c441bc13d9d Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Wed, 10 Jul 2024 16:21:32 -0500 Subject: [PATCH 02/14] v4.1.0 b37 * new setting in settings.yml `level-mobs-upon-spawn-max-players` (replaces `level-mobs-upon-spawn`); default is 10 * new setting in settings.yml `update-mobs-upon-nonplayer-damage-max-players`; default is 5 * settings version incremented to 37 --- README.md | 8 ++-- gradle.properties | 2 +- .../levelledmobs/LevelledMobs.kt | 6 +-- .../levelledmobs/MainCompanion.kt | 18 +++++++-- .../listeners/EntityDamageListener.kt | 39 ++++++++++++++----- .../listeners/EntitySpawnListener.kt | 10 ++++- .../listeners/EntityTargetListener.kt | 2 +- .../listeners/PlayerJoinListener.kt | 4 +- .../levelledmobs/managers/LevelManager.kt | 2 +- .../levelledmobs/misc/FileLoader.kt | 13 +++---- .../src/main/resources/settings.yml | 14 +++++-- 11 files changed, 82 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 9dc3e25b9..76d1be983 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -
+ LevelledMobs Banner @@ -29,7 +29,7 @@ ### Also see: [Server Compatibility](https://github.com/lokka30/LevelledMobs/wiki/Compatibilities) • [Installation Instructions](https://github.com/lokka30/LevelledMobs/wiki/Installation) -
+

@@ -71,10 +71,10 @@ Remember to give these projects a star. :)

-
+ ## Learn More at [✈️ HangarMC](https://hangar.papermc.io/ArcanePlugins/LevelledMobs) or [🚰 SpigotMC](https://www.spigotmc.org/resources/levelledmobs.74304/) ### Also see: [Server Compatibility](https://github.com/lokka30/LevelledMobs/wiki/Compatibilities) • [Installation Instructions](https://github.com/lokka30/LevelledMobs/wiki/Installation) -
+ diff --git a/gradle.properties b/gradle.properties index 1074eb83a..3cb20d7f8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version = 4.0.7 b36 +version = 4.1.0 b37 description = The Ultimate RPG Mob Levelling Solution \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/LevelledMobs.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/LevelledMobs.kt index d07da8d55..a1fe58dc7 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/LevelledMobs.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/LevelledMobs.kt @@ -130,6 +130,7 @@ class LevelledMobs : JavaPlugin() { } prepareToLoadCustomDrops() + mainCompanion.checkSettingsWithMaxPlayerOptions() mainCompanion.startCleanupTask() mainCompanion.setupMetrics() mainCompanion.checkUpdates() @@ -204,10 +205,6 @@ class LevelledMobs : JavaPlugin() { )) } - levelManager.entitySpawnListener.processMobSpawns = helperSettings.getBoolean( - "level-mobs-upon-spawn", true - ) - rulesManager.clearTempDisabledRulesCounts() definitions.useTranslationComponents = helperSettings.getBoolean( "use-translation-components", true @@ -217,6 +214,7 @@ class LevelledMobs : JavaPlugin() { "use-legacy-serializer", true ) ) + mainCompanion.checkSettingsWithMaxPlayerOptions() nametagQueueManager.nametagSenderHandler.refresh() reloadFinishedMsg.forEach(Consumer { s: String -> diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/MainCompanion.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/MainCompanion.kt index d2d7340e7..4be84fb06 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/MainCompanion.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/MainCompanion.kt @@ -23,6 +23,7 @@ import io.github.arcaneplugins.levelledmobs.managers.ExternalCompatibilityManage import io.github.arcaneplugins.levelledmobs.managers.PlaceholderApiIntegration import io.github.arcaneplugins.levelledmobs.result.ChunkKillInfo import io.github.arcaneplugins.levelledmobs.debug.DebugType +import io.github.arcaneplugins.levelledmobs.listeners.EntitySpawnListener import io.github.arcaneplugins.levelledmobs.listeners.ServerLoadEvent import io.github.arcaneplugins.levelledmobs.misc.FileLoader import io.github.arcaneplugins.levelledmobs.misc.FileLoader.loadFile @@ -200,6 +201,20 @@ class MainCompanion{ this.showCustomDrops = main.debugManager.isDebugTypeEnabled(DebugType.CUSTOM_DROPS) } + fun checkSettingsWithMaxPlayerOptions(playerJustLeft: Boolean = false){ + val levelMobsUponSpawnMaxPlayers = LevelledMobs.instance.helperSettings.getInt( + "level-mobs-upon-spawn-max-players", 10 + ) + val updateMobsUponNonplayerDamageMaxPlayers = LevelledMobs.instance.helperSettings.getInt( + "update-mobs-upon-nonplayer-damage-max-players", 5 + ) + var currentPlayerCount = Bukkit.getOnlinePlayers().size + if (playerJustLeft) currentPlayerCount-- + + EntitySpawnListener.instance.processMobSpawns = currentPlayerCount <= levelMobsUponSpawnMaxPlayers + EntityDamageListener.instance.updateMobsOnNonPlayerdamage = currentPlayerCount <= updateMobsUponNonplayerDamageMaxPlayers + } + fun registerListeners() { Log.inf("&fListeners: &7Registering event listeners...") @@ -207,9 +222,6 @@ class MainCompanion{ main.levelManager.load() main.mobsQueueManager.start() main.nametagQueueManager.start() - main.levelManager.entitySpawnListener.processMobSpawns = main.helperSettings.getBoolean( - "level-mobs-upon-spawn", true - ) main.entityDamageDebugListener = EntityDamageDebugListener() main.blockPlaceListener = BlockPlaceListener() diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityDamageListener.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityDamageListener.kt index 73d147d78..2a7be2dbd 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityDamageListener.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityDamageListener.kt @@ -34,21 +34,40 @@ import org.bukkit.persistence.PersistentDataType * @since 2.4.0 */ class EntityDamageListener : Listener { + var updateMobsOnNonPlayerdamage = true + + companion object { + @JvmStatic + lateinit var instance: EntityDamageListener + private set + } + + init { + instance = this + } + // When the mob is damaged, update their nametag. @EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR) fun onEntityDamageEvent(event: EntityDamageEvent) { - if (event.entity !is LivingEntity) { - return - } + if (event.entity !is LivingEntity) return val isCritical = event.finalDamage == 0.0 - if (event is EntityDamageByEntityEvent && isCritical && - event.damager is Player + if (event is EntityDamageByEntityEvent ) { - // this is so custom drops can associate the killer if the mob was - // killed via a custom projectile such as magic - LevelledMobs.instance.entityDeathListener.damageMappings[event.getEntity().uniqueId] = (event.damager as Player) + if (isCritical && event.damager is Player){ + // this is so custom drops can associate the killer if the mob was + // killed via a custom projectile such as magic + LevelledMobs.instance.entityDeathListener.damageMappings[event.getEntity().uniqueId] = (event.damager as Player) + return + } + if (!updateMobsOnNonPlayerdamage && !isCritical && event.entity !is Player && event.damager !is Player){ + // we only care about player caused damage + return + } + } + else if (!updateMobsOnNonPlayerdamage){ + // we only care about player caused damage return } @@ -87,7 +106,7 @@ class EntityDamageListener : Listener { //Make sure the mob is levelled if (!lmEntity.isLevelled) { - if (lmEntity.main.levelManager.entitySpawnListener.processMobSpawns) { + if (EntitySpawnListener.instance.processMobSpawns) { lmEntity.free() return } @@ -197,7 +216,7 @@ class EntityDamageListener : Listener { return } if (!shooter.isLevelled) { - if (shooter.main.levelManager.entitySpawnListener.processMobSpawns) { + if (EntitySpawnListener.instance.processMobSpawns) { return } diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt index b6ca67cfb..055c84104 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt @@ -42,7 +42,11 @@ import org.bukkit.persistence.PersistentDataType * @version 2.5.0 */ class EntitySpawnListener : Listener{ - var processMobSpawns: Boolean = false + var processMobSpawns = true + + init { + instance = this + } @EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR) fun onEntitySpawn(event: EntitySpawnEvent) { @@ -381,6 +385,10 @@ class EntitySpawnListener : Listener{ } companion object{ + @JvmStatic + lateinit var instance: EntitySpawnListener + private set + fun updateMobForPlayerLevelling(lmEntity: LivingEntityWrapper) { val onlinePlayerCount = lmEntity.world.players.size val checkDistance = LevelledMobs.instance.helperSettings.getInt( diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityTargetListener.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityTargetListener.kt index b906598de..8b6d8b4e7 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityTargetListener.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityTargetListener.kt @@ -48,7 +48,7 @@ class EntityTargetListener : Listener { // Must be a levelled entity if (!lmEntity.isLevelled) { - if (main.levelManager.entitySpawnListener.processMobSpawns) { + if (EntitySpawnListener.instance.processMobSpawns) { lmEntity.free() return } diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/PlayerJoinListener.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/PlayerJoinListener.kt index 39befd9cd..db6114d8e 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/PlayerJoinListener.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/PlayerJoinListener.kt @@ -8,7 +8,6 @@ import io.github.arcaneplugins.levelledmobs.misc.NamespacedKeys import io.github.arcaneplugins.levelledmobs.misc.PlayerQueueItem import io.github.arcaneplugins.levelledmobs.util.Log import io.github.arcaneplugins.levelledmobs.util.MessageUtils -import io.github.arcaneplugins.levelledmobs.util.MessageUtils.colorizeStandardCodes import io.github.arcaneplugins.levelledmobs.wrappers.LivingEntityWrapper import io.github.arcaneplugins.levelledmobs.wrappers.SchedulerWrapper import org.bukkit.Bukkit @@ -41,6 +40,7 @@ class PlayerJoinListener : Listener { main.debugManager.playerThatEnabledDebug = event.player } + main.mainCompanion.checkSettingsWithMaxPlayerOptions() main.mainCompanion.addRecentlyJoinedPlayer(event.player) checkForNetherPortalCoords(event.player) main.nametagTimerChecker.addPlayerToQueue(PlayerQueueItem(event.player, true)) @@ -120,6 +120,8 @@ class PlayerJoinListener : Listener { @EventHandler(priority = EventPriority.MONITOR) private fun onPlayerQuitEvent(event: PlayerQuitEvent) { + main.mainCompanion.checkSettingsWithMaxPlayerOptions(true) + if (main.placeholderApiIntegration != null) { main.placeholderApiIntegration!!.playedLoggedOut(event.player) } diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt index 4d56a5ea3..715556038 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt @@ -775,7 +775,7 @@ class LevelManager : LevelInterface2 { false ) else lmEntity.lockedOverrideName!! - replaceStringPlaceholders(nametag, lmEntity, true, null, preserveMobName) + replaceStringPlaceholders(nametag, lmEntity, false, null, preserveMobName) var indicatorStr = "" var colorOnly = "" diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/FileLoader.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/FileLoader.kt index ee1389975..18c20a83b 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/FileLoader.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/FileLoader.kt @@ -17,11 +17,11 @@ import org.yaml.snakeyaml.Yaml * @since 2.4.0 */ object FileLoader { - const val SETTINGS_FILE_VERSION: Int = 36 // Last changed: v4.0.0 b1 - const val MESSAGES_FILE_VERSION: Int = 9 // Last changed: v4.0.0 b1 - const val CUSTOMDROPS_FILE_VERSION: Int = 11 // Last changed: v4.0.0 b1 - const val RULES_FILE_VERSION: Int = 5 // Last changed: v4.0.0 b1 - const val EXTERNALPLUGINS_FILE_VERSION: Int = 1 // Last changed: v4.0.0 + const val SETTINGS_FILE_VERSION = 37 // Last changed: v4.1.0 b37 + const val MESSAGES_FILE_VERSION = 9 // Last changed: v4.0.0 b1 + const val CUSTOMDROPS_FILE_VERSION = 11 // Last changed: v4.0.0 b1 + const val RULES_FILE_VERSION = 5 // Last changed: v4.0.0 b1 + const val EXTERNALPLUGINS_FILE_VERSION = 1 // Last changed: v4.0.0 fun loadFile( plugin: Plugin, @@ -74,8 +74,7 @@ object FileLoader { // copy to old file FileUtil.copy(file, backedupFile) Log.inf( - "&fFile Loader: &8(Migration) &b$useCfgName backed up to " - + backedupFile.name + "&fFile Loader: &8(Migration) &b$useCfgName backed up to ${backedupFile.name}" ) // overwrite the file from new version if (!isRules) { diff --git a/levelledmobs-plugin/src/main/resources/settings.yml b/levelledmobs-plugin/src/main/resources/settings.yml index 5dbf45217..df0ed8806 100644 --- a/levelledmobs-plugin/src/main/resources/settings.yml +++ b/levelledmobs-plugin/src/main/resources/settings.yml @@ -70,8 +70,16 @@ async-task-max-blocks-from-player: 320 # || ADVANCED USERS ONLY # || Do not touch this unless a LM developer tells you to. # || Enables the on-spawn listener to apply levels to entities. -# || If false, entities will no longer be levelled when they spawn in. -level-mobs-upon-spawn: true +# || Will be enabled until number of online players exceed this value. +level-mobs-upon-spawn-max-players: 10 + +# || ADVANCED USERS ONLY +# || Do not touch this unless a LM developer tells you to. +# || When enabled mobs will received nametag update packets when they +# || receive damage from any source. If disabled only player caused +# || damage will send a nametag packet. +# || Will be enabled until number of online players exceed this value. +update-mobs-upon-nonplayer-damage-max-players: 5 # || ADVANCED USERS ONLY # || Do not touch this unless a LM developer tells you to. @@ -170,4 +178,4 @@ exclude-players-in-creative: false # Section 02 | Developer Settings / Do Not Edit Beyond This Point # --------------- - ------------------------------ # -file-version: 36 +file-version: 37 From d94bb338dd592f2f630587698a13975cd6f9d213 Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Thu, 11 Jul 2024 10:42:16 -0500 Subject: [PATCH 03/14] v4.1.0 b38 * new custom drops feature: `amount-formula`. you can input formulas to determine the `amount` * new debug type: `AMOUNT_FORMULA` * `construct-level` results are now rounded to integer rather than cast --- gradle.properties | 2 +- .../customdrops/CustomDropItem.kt | 1 + .../customdrops/CustomDropsDefaults.kt | 3 ++ .../customdrops/CustomDropsHandler.kt | 34 +++++++++++++++++++ .../customdrops/CustomDropsParser.kt | 1 + .../levelledmobs/customdrops/LMItemsParser.kt | 3 ++ .../levelledmobs/debug/DebugType.kt | 4 ++- .../levelledmobs/managers/LevelManager.kt | 4 +-- 8 files changed, 48 insertions(+), 4 deletions(-) diff --git a/gradle.properties b/gradle.properties index 3cb20d7f8..65c184137 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version = 4.1.0 b37 +version = 4.1.0 b38 description = The Ultimate RPG Mob Levelling Solution \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropItem.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropItem.kt index 9cba1aaa4..0fb15bb5e 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropItem.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropItem.kt @@ -16,6 +16,7 @@ class CustomDropItem() : CustomDropBase( LevelledMobs.instance.customDropsHandler.customDropsParser.defaults), Cloneable { var customModelDataId = 0 + var amountExpression: String? = null var equippedChance: SlidingChance? = null var noMultiplier = false var onlyDropIfEquipped = false diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt index 9bbcd273e..9e185eb2a 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt @@ -16,6 +16,7 @@ class CustomDropsDefaults { var playerCausedOnly = false var onlyDropIfEquipped = false var amount = 1 + var amountExpression: String? = null var priority = 0 var minLevel = -1 var maxLevel = -1 @@ -68,6 +69,8 @@ class CustomDropsDefaults { this.causeOfDeathReqs = dropBase.causeOfDeathReqs if (dropBase is CustomDropItem) { + if (dropBase.amountExpression.isNullOrEmpty()) + this.amountExpression = dropBase.amountExpression this.customModelData = dropBase.customModelDataId if (this.equippedChance != null) this.equippedChance!!.setFromInstance(dropBase.equippedChance) diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt index 506430c80..1cebefd67 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt @@ -10,6 +10,8 @@ import io.github.arcaneplugins.levelledmobs.enums.DropInstanceBuildResult import io.github.arcaneplugins.levelledmobs.misc.NamespacedKeys import io.github.arcaneplugins.levelledmobs.result.PlayerLevelSourceResult import io.github.arcaneplugins.levelledmobs.enums.LevelledMobSpawnReason +import io.github.arcaneplugins.levelledmobs.managers.MobDataManager +import io.github.arcaneplugins.levelledmobs.managers.NotifyManager import io.github.arcaneplugins.levelledmobs.util.Log import io.github.arcaneplugins.levelledmobs.util.MessageUtils.colorizeAll import io.github.arcaneplugins.levelledmobs.util.PaperUtils @@ -30,6 +32,7 @@ import org.bukkit.inventory.meta.Damageable import org.bukkit.inventory.meta.EnchantmentStorageMeta import org.bukkit.persistence.PersistentDataType import org.bukkit.scheduler.BukkitRunnable +import kotlin.math.roundToInt /** * The main CustomDropsclass that holds useful functions for parsing, instantizing and more of @@ -700,6 +703,10 @@ class CustomDropsHandler { newDropAmount = dropBase.amountRangeMin + change } + if (!dropBase.amountExpression.isNullOrEmpty()){ + newDropAmount = evaluateAmountExpression(dropBase, info.lmEntity!!).roundToInt() + } + if (dropBase.hasGroupId && info.groupLimits != null) { val gl = info.groupLimits!! @@ -867,6 +874,33 @@ class CustomDropsHandler { return true } + fun evaluateAmountExpression( + item: CustomDropItem, + lmEntity: LivingEntityWrapper + ): Double{ + if (item.amountExpression.isNullOrEmpty()) return 1.0 + + val formulaPre = item.amountExpression!! + val formula = LevelledMobs.instance.levelManager.replaceStringPlaceholdersForFormulas(formulaPre, lmEntity) + val evalResult = MobDataManager.evaluateExpression(formula) + if (evalResult.hadError){ + NotifyManager.notifyOfError("Error evaluating formula for amount-expression on mob: ${lmEntity.nameIfBaby}, lvl: ${lmEntity.getMobLevel}, ${evalResult.error}") + DebugManager.log(DebugType.AMOUNT_FORMULA, lmEntity){ + "result (error, ${evalResult.error})\n" + + " formulaPre: '$formulaPre'\n" + + " formula: '$formula'" } + } + + val result = evalResult.result + + DebugManager.log(DebugType.AMOUNT_FORMULA, lmEntity){ + "result $result\n" + + " formulaPre: '$formulaPre'\n" + + " formula: '$formula'" } + + return result + } + private fun checkOverallChance(info: CustomDropProcessingInfo): Boolean { for (dropInstance in info.allDropInstances) { if (dropInstance.overallChance == null || dropInstance.overallChance!!.isDefault || diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt index eff791ee4..02906482c 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt @@ -560,6 +560,7 @@ class CustomDropsParser( item.maxItems = ymlHelper.getInt("max-items", 1) item.allowedList = ymlHelper.getStringOrList("allowed-list") item.excludedList = ymlHelper.getStringOrList("excluded-list") + item.amountExpression = ymlHelper.getString("amount-formula") dropInstance!!.overrideStockDrops = ymlHelper.getBoolean2( "override",defaults.override diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt index c25169958..4af6d0dc1 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt @@ -80,6 +80,9 @@ class LMItemsParser { val itemRequest = ExternalItemRequest(item.externalItemId!!) itemRequest.itemType = item.externalType itemRequest.amount = item.externalAmount + if (info != null && item.amountExpression.isNullOrEmpty()){ + itemRequest.amount = main.customDropsHandler.evaluateAmountExpression(item, info.lmEntity!!) + } if (main.mainCompanion.externalCompatibilityManager.doesLMIMeetVersionRequirement2()) { itemRequest.getMultipleItems = "-" == itemRequest.itemId diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugType.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugType.kt index 588d6298b..6819f7fa5 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugType.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugType.kt @@ -142,5 +142,7 @@ enum class DebugType { LEVEL_RATIO, - ENCHANTMENT_CHANCES + ENCHANTMENT_CHANCES, + + AMOUNT_FORMULA } diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt index 715556038..6484bc297 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt @@ -253,7 +253,7 @@ class LevelManager : LevelInterface2 { input: Float, lmEntity: LivingEntityWrapper ): Int{ - val formulaPre = LevelledMobs.instance.rulesManager.getRuleConstructLevel(lmEntity) ?: return input.toInt() + val formulaPre = LevelledMobs.instance.rulesManager.getRuleConstructLevel(lmEntity) ?: return input.roundToInt() val formula = replaceStringPlaceholdersForFormulas(formulaPre, lmEntity) val evalResult = MobDataManager.evaluateExpression(formula) if (evalResult.hadError){ @@ -265,7 +265,7 @@ class LevelManager : LevelInterface2 { throw EvaluationException() } - val result = evalResult.result.toInt() + val result = evalResult.result.roundToInt() DebugManager.log(DebugType.CONSTRUCT_LEVEL, lmEntity){ "result $result\n" + From 3f5788a9a26e369edec42978440a669f010b3294 Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Thu, 11 Jul 2024 11:33:11 -0500 Subject: [PATCH 04/14] v4.1.0 b38 * rename internal variables relating to amount-formula * fix code logic with LM Items and amount-formula --- .../levelledmobs/customdrops/CustomDropItem.kt | 2 +- .../levelledmobs/customdrops/CustomDropsDefaults.kt | 6 +++--- .../levelledmobs/customdrops/CustomDropsHandler.kt | 6 +++--- .../levelledmobs/customdrops/CustomDropsParser.kt | 2 +- .../arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropItem.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropItem.kt index 0fb15bb5e..9476836ec 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropItem.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropItem.kt @@ -16,7 +16,7 @@ class CustomDropItem() : CustomDropBase( LevelledMobs.instance.customDropsHandler.customDropsParser.defaults), Cloneable { var customModelDataId = 0 - var amountExpression: String? = null + var amountFormula: String? = null var equippedChance: SlidingChance? = null var noMultiplier = false var onlyDropIfEquipped = false diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt index 9e185eb2a..3eafb7041 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt @@ -16,7 +16,7 @@ class CustomDropsDefaults { var playerCausedOnly = false var onlyDropIfEquipped = false var amount = 1 - var amountExpression: String? = null + var amountFormula: String? = null var priority = 0 var minLevel = -1 var maxLevel = -1 @@ -69,8 +69,8 @@ class CustomDropsDefaults { this.causeOfDeathReqs = dropBase.causeOfDeathReqs if (dropBase is CustomDropItem) { - if (dropBase.amountExpression.isNullOrEmpty()) - this.amountExpression = dropBase.amountExpression + if (dropBase.amountFormula.isNullOrEmpty()) + this.amountFormula = dropBase.amountFormula this.customModelData = dropBase.customModelDataId if (this.equippedChance != null) this.equippedChance!!.setFromInstance(dropBase.equippedChance) diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt index 1cebefd67..e09406550 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt @@ -703,7 +703,7 @@ class CustomDropsHandler { newDropAmount = dropBase.amountRangeMin + change } - if (!dropBase.amountExpression.isNullOrEmpty()){ + if (!dropBase.amountFormula.isNullOrEmpty()){ newDropAmount = evaluateAmountExpression(dropBase, info.lmEntity!!).roundToInt() } @@ -878,9 +878,9 @@ class CustomDropsHandler { item: CustomDropItem, lmEntity: LivingEntityWrapper ): Double{ - if (item.amountExpression.isNullOrEmpty()) return 1.0 + if (item.amountFormula.isNullOrEmpty()) return 1.0 - val formulaPre = item.amountExpression!! + val formulaPre = item.amountFormula!! val formula = LevelledMobs.instance.levelManager.replaceStringPlaceholdersForFormulas(formulaPre, lmEntity) val evalResult = MobDataManager.evaluateExpression(formula) if (evalResult.hadError){ diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt index 02906482c..2160cf508 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt @@ -560,7 +560,7 @@ class CustomDropsParser( item.maxItems = ymlHelper.getInt("max-items", 1) item.allowedList = ymlHelper.getStringOrList("allowed-list") item.excludedList = ymlHelper.getStringOrList("excluded-list") - item.amountExpression = ymlHelper.getString("amount-formula") + item.amountFormula = ymlHelper.getString("amount-formula") dropInstance!!.overrideStockDrops = ymlHelper.getBoolean2( "override",defaults.override diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt index 4af6d0dc1..5b12e372e 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt @@ -80,7 +80,7 @@ class LMItemsParser { val itemRequest = ExternalItemRequest(item.externalItemId!!) itemRequest.itemType = item.externalType itemRequest.amount = item.externalAmount - if (info != null && item.amountExpression.isNullOrEmpty()){ + if (info != null && !item.amountFormula.isNullOrEmpty()){ itemRequest.amount = main.customDropsHandler.evaluateAmountExpression(item, info.lmEntity!!) } From 8f3cebfa9184ea2edb6fb2af2245fe858df146fd Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Fri, 12 Jul 2024 00:40:36 -0500 Subject: [PATCH 05/14] v4.1.0 b39 * fixed a bug in custom drops when used with LM Items and sticks are used instead of the drops until a reload occurs * code cleanup in custom drops logic * fix bug relating to defaults and the `amount-formula` option * fix error in folia if a run delay is used with a custom command * command `/lm debug show-customdrops` will show the amount-formula if used --- gradle.properties | 2 +- .../customdrops/CustomDropBase.kt | 2 +- .../customdrops/CustomDropItem.kt | 8 + .../customdrops/CustomDropsDefaults.kt | 2 +- .../customdrops/CustomDropsHandler.kt | 246 ++++----- .../customdrops/CustomDropsParser.kt | 488 +++++++----------- .../levelledmobs/misc/YmlParsingHelper.kt | 27 + .../levelledmobs/rules/RulesParser.kt | 29 +- 8 files changed, 310 insertions(+), 494 deletions(-) diff --git a/gradle.properties b/gradle.properties index 65c184137..4641334b1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version = 4.1.0 b38 +version = 4.1.0 b39 description = The Ultimate RPG Mob Levelling Solution \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropBase.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropBase.kt index 4deb3b992..5c9eb0d47 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropBase.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropBase.kt @@ -49,7 +49,7 @@ abstract class CustomDropBase( get() = !this.groupId.isNullOrEmpty() - val amountAsString: String + open val amountAsString: String get() { return if (this.hasAmountRange) { "$amountRangeMin-$amountRangeMax" diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropItem.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropItem.kt index 9476836ec..ba3a08db8 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropItem.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropItem.kt @@ -80,6 +80,14 @@ class CustomDropItem() : CustomDropBase( return copy } + override val amountAsString: String + get() { + return if (amountFormula.isNullOrEmpty()) + super.amountAsString + else + "'${amountFormula!!}'" + } + fun setDamageRangeFromString(numberOrNumberRange: String?): Boolean { if (numberOrNumberRange.isNullOrEmpty()) { return false diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt index 3eafb7041..00a3c9dd4 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt @@ -69,7 +69,7 @@ class CustomDropsDefaults { this.causeOfDeathReqs = dropBase.causeOfDeathReqs if (dropBase is CustomDropItem) { - if (dropBase.amountFormula.isNullOrEmpty()) + if (!dropBase.amountFormula.isNullOrEmpty()) this.amountFormula = dropBase.amountFormula this.customModelData = dropBase.customModelDataId if (this.equippedChance != null) diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt index e09406550..9ccaee123 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt @@ -18,6 +18,7 @@ import io.github.arcaneplugins.levelledmobs.util.PaperUtils import io.github.arcaneplugins.levelledmobs.util.SpigotUtils import io.github.arcaneplugins.levelledmobs.util.Utils import io.github.arcaneplugins.levelledmobs.wrappers.LivingEntityWrapper +import io.github.arcaneplugins.levelledmobs.wrappers.SchedulerWrapper import java.util.Locale import java.util.TreeMap import java.util.UUID @@ -31,7 +32,6 @@ import org.bukkit.inventory.ItemStack import org.bukkit.inventory.meta.Damageable import org.bukkit.inventory.meta.EnchantmentStorageMeta import org.bukkit.persistence.PersistentDataType -import org.bukkit.scheduler.BukkitRunnable import kotlin.math.roundToInt /** @@ -168,9 +168,8 @@ class CustomDropsHandler { if (lmEntity.associatedPlayer != null) { processingInfo.wasKilledByPlayer = true processingInfo.mobKiller = lmEntity.associatedPlayer - } else { + } else processingInfo.wasKilledByPlayer = false - } if (lmEntity.livingEntity.lastDamageCause != null) { processingInfo.deathCause = DeathCause.valueOf( @@ -188,8 +187,7 @@ class CustomDropsHandler { ) if (lmEntity.livingEntity.lastDamageCause != null) { - val damageCause = lmEntity.livingEntity - .lastDamageCause!!.cause + val damageCause = lmEntity.livingEntity.lastDamageCause!!.cause processingInfo.deathByFire = (damageCause == EntityDamageEvent.DamageCause.FIRE || damageCause == EntityDamageEvent.DamageCause.FIRE_TICK || @@ -211,9 +209,8 @@ class CustomDropsHandler { val groupsList = mutableListOf() for (group in lmEntity.getApplicableGroups()) { - if (!getCustomDropsitemsGroups().containsKey(group)) { + if (!getCustomDropsitemsGroups().containsKey(group)) continue - } groupsList.add(group) } @@ -228,7 +225,8 @@ class CustomDropsHandler { DebugType.CUSTOM_DROPS, "&7${lmEntity.typeName} (${lmEntity.getMobLevel}) - didn't make overall chance" ) - } else { + } + else { val mobKiller = if (processingInfo.mobKiller == null) "(null)" else processingInfo.mobKiller!!.name processingInfo.addDebugMessage( DebugType.CUSTOM_DROPS, @@ -252,20 +250,19 @@ class CustomDropsHandler { processingInfo.addDebugMessage( "&7Custom equipment for &b${lmEntity.typeName} &r(${lmEntity.getMobLevel})" ) - } else { - processingInfo.addDebugMessage( - "&7Custom equipment for &b${lmEntity.typeName}&r" - ) } + else + processingInfo.addDebugMessage("&7Custom equipment for &b${lmEntity.typeName}&r") + val sb = StringBuilder() for (drop in drops) { - if (sb.isNotEmpty()) { - sb.append(", ") - } + if (sb.isNotEmpty())sb.append(", ") + sb.append(drop.type.name) } processingInfo.addDebugMessage(" $sb") - } else if (!equippedOnly && showCustomDrops) { + } + else if (!equippedOnly && showCustomDrops) { processingInfo.addDebugMessage( "&8 --- &7Custom items added: &b$postCount&7." ) @@ -302,12 +299,10 @@ class CustomDropsHandler { processDropPriorities(baseItem, info) } - if (dropInstance.utilizesGroupIds) { + if (dropInstance.utilizesGroupIds) usesGroupIds = true - } - if (dropInstance.getOverrideStockDrops) { + if (dropInstance.getOverrideStockDrops) info.hasOverride = true - } } if (!overrideNonDropTableDrops) { @@ -319,12 +314,10 @@ class CustomDropsHandler { processDropPriorities(baseItem, info) } - if (dropInstance.utilizesGroupIds) { + if (dropInstance.utilizesGroupIds) usesGroupIds = true - } - if (dropInstance.getOverrideStockDrops) { + if (dropInstance.getOverrideStockDrops) info.hasOverride = true - } } val dropMap: Map = @@ -338,12 +331,10 @@ class CustomDropsHandler { processDropPriorities(baseItem, info) } - if (dropInstance.utilizesGroupIds) { + if (dropInstance.utilizesGroupIds) usesGroupIds = true - } - if (dropInstance.getOverrideStockDrops) { + if (dropInstance.getOverrideStockDrops) info.hasOverride = true - } } } @@ -353,13 +344,11 @@ class CustomDropsHandler { } } - if (!checkOverallPermissions(info)) { + if (!checkOverallPermissions(info)) return DropInstanceBuildResult.PERMISSION_DENIED - } - if (info.equippedOnly && !info.hasEquippedItems) { + if (info.equippedOnly && !info.hasEquippedItems) return DropInstanceBuildResult.SUCCESSFUL - } return if (checkOverallChance(info)) DropInstanceBuildResult.SUCCESSFUL else DropInstanceBuildResult.DID_NOT_MAKE_CHANCE } @@ -367,19 +356,16 @@ class CustomDropsHandler { private fun checkOverallPermissions(info: CustomDropProcessingInfo): Boolean { var hadAnyPerms = false for (dropInstance in info.allDropInstances) { - if (dropInstance.overallPermissions.isEmpty()) { + if (dropInstance.overallPermissions.isEmpty()) continue - } hadAnyPerms = true for (perm in dropInstance.overallPermissions) { - if (info.mobKiller == null) { - continue - } + if (info.mobKiller == null)continue + val checkPerm = "LevelledMobs.permission.$perm" - if (info.mobKiller!!.hasPermission(checkPerm)) { + if (info.mobKiller!!.hasPermission(checkPerm)) return true - } } } @@ -396,9 +382,8 @@ class CustomDropsHandler { } } - if (processingInfo.hasCustomDropId && !dropIds.contains(processingInfo.customDropId)) { + if (processingInfo.hasCustomDropId && !dropIds.contains(processingInfo.customDropId)) dropIds.add(processingInfo.customDropId!!) - } return dropIds } @@ -410,7 +395,8 @@ class CustomDropsHandler { val priority = -baseItem.priority if (processingInfo.prioritizedDrops!!.containsKey(priority)) { processingInfo.prioritizedDrops!![priority]!!.add(baseItem) - } else { + } + else { val items = mutableListOf() items.add(baseItem) processingInfo.prioritizedDrops!![priority] = items @@ -418,9 +404,8 @@ class CustomDropsHandler { if (baseItem is CustomDropItem && baseItem.equippedChance != null && !baseItem.equippedChance!!.isDefault - ) { + ) processingInfo.hasEquippedItems = true - } } private fun getCustomItemsFromDropInstance( @@ -492,31 +477,21 @@ class CustomDropsHandler { if (dropBase is CustomCommand && info.lmEntity!!.livingEntity .hasMetadata("noCommands") || info.lmEntity!!.deathCause == EntityDamageEvent.DamageCause.VOID - ) { + ){ return } - if (info.equippedOnly && dropBase is CustomCommand - && !dropBase.runOnSpawn - ) { + if (info.equippedOnly && dropBase is CustomCommand&& !dropBase.runOnSpawn) return - } if (!info.equippedOnly && dropBase.playerCausedOnly && (dropBase.causeOfDeathReqs == null || dropBase.causeOfDeathReqs!!.isEmpty()) && !info.wasKilledByPlayer - ) { - return - } - if (dropBase.noSpawner && info.isSpawner) { + ){ return } - if (shouldDenyDeathCause(dropBase, info)) { - return - } - - if (!madePlayerLevelRequirement(info, dropBase)) { - return - } + if (dropBase.noSpawner && info.isSpawner)return + if (shouldDenyDeathCause(dropBase, info)) return + if (!madePlayerLevelRequirement(info, dropBase)) return if (dropBase.excludedMobs.contains(info.lmEntity!!.typeName)) { if (dropBase is CustomDropItem && !info.equippedOnly) { @@ -528,11 +503,10 @@ class CustomDropsHandler { } val main = LevelledMobs.instance - var doDrop = - dropBase.maxLevel <= -1 || info.lmEntity!!.getMobLevel <= dropBase.maxLevel - if (dropBase.minLevel > -1 && info.lmEntity!!.getMobLevel < dropBase.minLevel) { + var doDrop = dropBase.maxLevel <= -1 || info.lmEntity!!.getMobLevel <= dropBase.maxLevel + if (dropBase.minLevel > -1 && info.lmEntity!!.getMobLevel < dropBase.minLevel) doDrop = false - } + if (!doDrop) { if (dropBase is CustomDropItem) { if (!info.equippedOnly && main.debugManager.isDebugTypeEnabled(DebugType.CUSTOM_DROPS)) { @@ -554,9 +528,8 @@ class CustomDropsHandler { return } - if (!info.equippedOnly && dropBase is CustomDropItem){ + if (!info.equippedOnly && dropBase is CustomDropItem) info.itemWasEquipped = isMobWearingItem(info, dropBase) - } // equip-chance and equip-drop-chance: if (!info.equippedOnly && dropBase is CustomDropItem) { @@ -570,9 +543,8 @@ class CustomDropsHandler { } } - if (!info.equippedOnly && !checkDropPermissions(info, dropBase)) { + if (!info.equippedOnly && !checkDropPermissions(info, dropBase)) return - } val runOnSpawn = dropBase is CustomCommand && dropBase.runOnSpawn var didNotMakeChance = false @@ -602,9 +574,8 @@ class CustomDropsHandler { if ((!info.equippedOnly || runOnSpawn) && dropChance < 1.0f) { chanceRole = if (dropChance > 0.0f) ThreadLocalRandom.current().nextInt(0, 100001).toFloat() * 0.00001f else 0.0f - if (1.0f - chanceRole >= dropChance) { + if (1.0f - chanceRole >= dropChance) didNotMakeChance = true - } } if (didNotMakeChance && (!info.equippedOnly || runOnSpawn) && main.debugManager.isDebugTypeEnabled(DebugType.CUSTOM_DROPS)) { @@ -626,16 +597,14 @@ class CustomDropsHandler { ) } } - if ((!info.equippedOnly || runOnSpawn) && didNotMakeChance) { + if ((!info.equippedOnly || runOnSpawn) && didNotMakeChance) return - } var maxDropGroup = 0 - if (info.groupLimits != null && info.groupLimits!!.hasCapSelect) { + if (info.groupLimits != null && info.groupLimits!!.hasCapSelect) maxDropGroup = info.groupLimits!!.capSelect.coerceAtLeast(0) - } else if (info.groupLimits == null) { + else if (info.groupLimits == null) maxDropGroup = dropBase.maxDropGroup - } if (!info.equippedOnly && dropBase.hasGroupId) { // legacy section, only executed if the old 'maxdropgroup' was used @@ -671,18 +640,18 @@ class CustomDropsHandler { val count = info.getItemsDropsByGroup(dropBase) var msg = "&8- &7level: &b${info.lmEntity?.getMobLevel}&7, item: command, gId: &b${dropBase.groupId}&7, maxDropGroup: &b${dropBase.maxDropGroup}&7, " + "groupDropCount: &b$count&7, executed: &btrue" - if (info.retryNumber > 0) { + if (info.retryNumber > 0) msg += ", retry: ${info.retryNumber}" - } + info.addDebugMessage(msg) } } else if (main.debugManager.isDebugTypeEnabled(DebugType.CUSTOM_DROPS)) { var msg = "&8- &7level: &b${info.lmEntity?.getMobLevel}&7, item: custom command, gId: &b${dropBase.groupId}&7, maxDropGroup: &b${dropBase.maxDropGroup}&7, executed: &btrue" - if (info.retryNumber > 0) { + if (info.retryNumber > 0) msg += ", retry: ${info.retryNumber}" - } + info.addDebugMessage(msg) } @@ -703,35 +672,30 @@ class CustomDropsHandler { newDropAmount = dropBase.amountRangeMin + change } - if (!dropBase.amountFormula.isNullOrEmpty()){ + if (!dropBase.amountFormula.isNullOrEmpty()) newDropAmount = evaluateAmountExpression(dropBase, info.lmEntity!!).roundToInt() - } if (dropBase.hasGroupId && info.groupLimits != null) { val gl = info.groupLimits!! - if (gl.hasCapPerItem) { + if (gl.hasCapPerItem) newDropAmount = newDropAmount.coerceAtMost(gl.capPerItem) - } if (gl.hasCapTotal && dropBase.hasGroupId) { val hasDroppedSoFar = info.getDropItemsCountForGroup(dropBase) - if (gl.capTotal - hasDroppedSoFar > gl.capTotal) { + if (gl.capTotal - hasDroppedSoFar > gl.capTotal) newDropAmount = gl.capTotal - } } } // if we made it this far then the item will be dropped if (dropBase.isExternalItem && !main.mainCompanion.externalCompatibilityManager.doesLMIMeetVersionRequirement() - ) { + ) Log.war("Could not get external custom item - LM_Items is not installed") - } - if (dropBase.isExternalItem && main.mainCompanion.externalCompatibilityManager.doesLMIMeetVersionRequirement()) { + if (dropBase.isExternalItem && main.mainCompanion.externalCompatibilityManager.doesLMIMeetVersionRequirement()) lmItemsParser!!.getExternalItem(dropBase, info) - } if (dropBase.itemStacks == null) return @@ -742,22 +706,20 @@ class CustomDropsHandler { processEnchantmentChances(dropBase, newItem, info) - if (info.deathByFire) { + if (info.deathByFire) newItem = getCookedVariantOfMeat(dropBase.itemStack!!) - } if (newDropAmount > 1) newItem.amount = newDropAmount if (!dropBase.noMultiplier && !info.doNotMultiplyDrops) { main.levelManager.multiplyDrop(info.lmEntity!!, newItem, info.addition) newDropAmount = newItem.amount - } else if (newDropAmount > newItem.maxStackSize) { - newDropAmount = newItem.maxStackSize } + else if (newDropAmount > newItem.maxStackSize) + newDropAmount = newItem.maxStackSize - if (newItem.amount != newDropAmount) { + if (newItem.amount != newDropAmount) newItem.amount = newDropAmount - } if (info.equippedOnly && main.debugManager.isDebugTypeEnabled(DebugType.CUSTOM_EQUIPS)) { val equippedChance = @@ -785,14 +747,11 @@ class CustomDropsHandler { if (damage > 0 || dropBase.lore != null || dropBase.customName != null) { val meta = newItem.itemMeta - if (damage > 0 && meta is Damageable) { + if (damage > 0 && meta is Damageable) meta.damage = damage - } if (meta != null && dropBase.lore != null && dropBase.lore!!.isNotEmpty()) { - val newLore: MutableList = ArrayList( - dropBase.lore!!.size - ) + val newLore: MutableList = ArrayList(dropBase.lore!!.size) for (lorePre in dropBase.lore!!) { var lore = lorePre @@ -809,11 +768,10 @@ class CustomDropsHandler { newLore.add(lore) - if (main.ver.isRunningPaper && main.mainCompanion.useAdventure) { + if (main.ver.isRunningPaper && main.mainCompanion.useAdventure) PaperUtils.updateItemMetaLore(meta, newLore) - } else { + else SpigotUtils.updateItemMetaLore(meta, newLore) - } } } @@ -830,11 +788,10 @@ class CustomDropsHandler { false ) - if (main.ver.isRunningPaper && main.mainCompanion.useAdventure) { + if (main.ver.isRunningPaper && main.mainCompanion.useAdventure) PaperUtils.updateItemDisplayName(meta, customName) - } else { + else SpigotUtils.updateItemDisplayName(meta, colorizeAll(customName)) - } } newItem.setItemMeta(meta) @@ -991,9 +948,10 @@ class CustomDropsHandler { val meta = itemStack.itemMeta as EnchantmentStorageMeta meta.addStoredEnchant(enchantment, enchantLevel, true) itemStack.setItemMeta(meta) - } else { - itemStack.addUnsafeEnchantment(enchantment, enchantLevel) } + else + itemStack.addUnsafeEnchantment(enchantment, enchantLevel) + madeAnyChance = true break } @@ -1003,9 +961,9 @@ class CustomDropsHandler { val meta = itemStack.itemMeta as EnchantmentStorageMeta meta.addStoredEnchant(enchantment, opts.defaultLevel!!, true) itemStack.setItemMeta(meta) - } else { - itemStack.addUnsafeEnchantment(enchantment, opts.defaultLevel!!) } + else + itemStack.addUnsafeEnchantment(enchantment, opts.defaultLevel!!) DebugManager.logLongMessage(debugId){ ", used dflt: &2${opts.defaultLevel}&r" } } @@ -1018,9 +976,7 @@ class CustomDropsHandler { val maximumDeathInChunkThreshold: Int = LevelledMobs.instance.rulesManager.getMaximumDeathInChunkThreshold( lmEntity ) - if (maximumDeathInChunkThreshold <= 0) { - return false - } + if (maximumDeathInChunkThreshold <= 0) return false return lmEntity.chunkKillcount >= maximumDeathInChunkThreshold } @@ -1029,9 +985,8 @@ class CustomDropsHandler { dropBase: CustomDropBase, info: CustomDropProcessingInfo ): Boolean { - if (dropBase.causeOfDeathReqs == null || info.deathCause == null) { + if (dropBase.causeOfDeathReqs == null || info.deathCause == null) return false - } if (info.wasKilledByPlayer && Utils.isDamageCauseInModalList( dropBase.causeOfDeathReqs!!, @@ -1060,9 +1015,8 @@ class CustomDropsHandler { info: CustomDropProcessingInfo, dropBase: CustomDropBase ): Boolean { - if (info.equippedOnly || dropBase.permissions.isEmpty()) { + if (info.equippedOnly || dropBase.permissions.isEmpty()) return true - } val main = LevelledMobs.instance if (info.mobKiller == null) { @@ -1150,11 +1104,9 @@ class CustomDropsHandler { } if (item.isSimilar(info.equippedItemsInfo?.mainHand)) return true - if (item.isSimilar(equipment.itemInMainHand)) { - return true - } - + if (item.isSimilar(equipment.itemInMainHand)) return true if (item.isSimilar(info.equippedItemsInfo?.offhand)) return true + return item.isSimilar(equipment.itemInOffHand) } @@ -1164,7 +1116,7 @@ class CustomDropsHandler { ): Boolean { val main = LevelledMobs.instance if (dropBase.playerLevelVariable != null && !info.equippedOnly && dropBase.playeerVariableMatches.isNotEmpty()) { - val papiResult: String = Utils.removeColorCodes( + val papiResult = Utils.removeColorCodes( ExternalCompatibilityManager.getPapiPlaceholder( info.mobKiller, dropBase.playerLevelVariable ) @@ -1210,9 +1162,9 @@ class CustomDropsHandler { val variableToUse = if (dropBase.playerLevelVariable.isNullOrEmpty()) "%level%" else dropBase.playerLevelVariable!! val levelToUse: Int - if (info.playerLevelVariableCache.containsKey(variableToUse)) { + if (info.playerLevelVariableCache.containsKey(variableToUse)) levelToUse = info.playerLevelVariableCache[variableToUse]!! - } else { + else { //levelToUse = main.levelManager.getPlayerLevelSourceNumber(info.mobKiller, variableToUse); val result: PlayerLevelSourceResult = main.levelManager.getPlayerLevelSourceNumber( info.mobKiller, info.lmEntity!!, variableToUse @@ -1248,12 +1200,8 @@ class CustomDropsHandler { customCommand: CustomCommand, info: CustomDropProcessingInfo ) { - if (info.equippedOnly && !customCommand.runOnSpawn) { - return - } - if (!info.equippedOnly && !customCommand.runOnDeath) { - return - } + if (info.equippedOnly && !customCommand.runOnSpawn) return + if (!info.equippedOnly && !customCommand.runOnDeath) return val main = LevelledMobs.instance for (commandPre in customCommand.commands) { @@ -1272,9 +1220,8 @@ class CustomDropsHandler { command = command.replace("%mob-scale%", mobScale) command = command.replace("%mob-scale-rounded%", mobScaleRounded) - if (command.contains("%") && ExternalCompatibilityManager.hasPapiInstalled) { + if (command.contains("%") && ExternalCompatibilityManager.hasPapiInstalled) command = ExternalCompatibilityManager.getPapiPlaceholder(info.mobKiller, command) - } val maxAllowedTimesToRun: Int = LevelledMobs.instance.helperSettings.getInt( "customcommand-amount-limit", 10 @@ -1288,43 +1235,33 @@ class CustomDropsHandler { + customCommand.amountRangeMin) } - if (timesToRun > maxAllowedTimesToRun) { - timesToRun = maxAllowedTimesToRun - } + timesToRun = timesToRun.coerceAtMost(maxAllowedTimesToRun) val debugCommand = if (timesToRun > 1) String.format("Command (%sx): ", timesToRun) else "Command: " - val commandFinal = command DebugManager.log(DebugType.CUSTOM_COMMANDS, info.lmEntity) { debugCommand + commandFinal } if (customCommand.delay > 0) { val commandToRun = command val finalTimesToRun = timesToRun - val runnable: BukkitRunnable = object : BukkitRunnable() { - override fun run() { - executeTheCommand(commandToRun, finalTimesToRun) - } - } - runnable.runTaskLater(main, customCommand.delay.toLong()) - } else { - executeTheCommand(command, timesToRun) + val scheduler = SchedulerWrapper{ executeTheCommand(commandToRun, finalTimesToRun) } + scheduler.runDelayed(customCommand.delay.toLong()) } + else + executeTheCommand(command, timesToRun) } } private fun executeTheCommand(command: String, timesToRun: Int) { - for (i in 0 until timesToRun) { + for (i in 0 until timesToRun) Bukkit.dispatchCommand(Bukkit.getConsoleSender(), command) - } } private fun processRangedCommand( command: String, cc: CustomCommand ): String { - if (cc.rangedEntries.isEmpty()) { - return command - } + if (cc.rangedEntries.isEmpty()) return command var newCommand = command @@ -1335,9 +1272,7 @@ class CustomDropsHandler { } val nums = rangedValue.split("-".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray() - if (nums.size != 2) { - continue - } + if (nums.size != 2) continue if (!Utils.isInteger(nums[0].trim { it <= ' ' }) || !Utils.isInteger( nums[1].trim { it <= ' ' }) @@ -1346,9 +1281,7 @@ class CustomDropsHandler { } var min = nums[0].trim { it <= ' ' }.toInt() val max = nums[1].trim { it <= ' ' }.toInt() - if (max < min) { - min = max - } + if (max < min) min = max val rangedNum = LevelledMobs.instance.random.nextInt(max - min + 1) + min newCommand = newCommand.replace("%$rangedKey%", rangedNum.toString()) @@ -1377,9 +1310,8 @@ class CustomDropsHandler { fun getGroupLimits(dropBase: CustomDropBase): GroupLimits? { val limitsDefault = groupLimitsMap["default"] - if (!dropBase.hasGroupId || !groupLimitsMap.containsKey(dropBase.groupId)) { + if (!dropBase.hasGroupId || !groupLimitsMap.containsKey(dropBase.groupId)) return limitsDefault - } return groupLimitsMap[dropBase.groupId] } diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt index 2160cf508..cedc5f368 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt @@ -27,7 +27,6 @@ import org.bukkit.NamespacedKey import org.bukkit.Registry import org.bukkit.command.CommandSender import org.bukkit.configuration.ConfigurationSection -import org.bukkit.configuration.MemoryConfiguration import org.bukkit.configuration.MemorySection import org.bukkit.configuration.file.YamlConfiguration import org.bukkit.enchantments.Enchantment @@ -49,7 +48,7 @@ class CustomDropsParser( private var hasMentionedNBTAPIMissing = false var dropsUtilizeNBTAPI: Boolean = false val invalidExternalItems = mutableListOf() - private var dropInstance: CustomDropInstance? = null + private var dropInstance: CustomDropInstance = CustomDropInstance(EntityType.AREA_EFFECT_CLOUD) private val defaultName = "default" private val invalidEntityTypesToIgnore = mutableListOf() var hadParsingError = false @@ -68,9 +67,7 @@ class CustomDropsParser( fun loadDrops(customDropsCfg: YamlConfiguration?) { this.dropsUtilizeNBTAPI = false - if (customDropsCfg == null) { - return - } + if (customDropsCfg == null) return var isDropsEnabledForAnyRule = false hadParsingError = false @@ -112,23 +109,23 @@ class CustomDropsParser( drop.material = Material.AIR drop.isDefaultDrop = true dropInstance = CustomDropInstance(EntityType.AREA_EFFECT_CLOUD) - dropInstance!!.customItems.add(drop) + dropInstance.customItems.add(drop) // this sets the drop and dropinstance defaults parseCustomDropsAttributes(drop, ymlParser) // now we'll use the attributes here for defaults defaults.setDefaultsFromDropItem(drop) - defaults.override = dropInstance!!.getOverrideStockDrops - defaults.overallChance = dropInstance!!.overallChance - defaults.overallPermissions.addAll(dropInstance!!.overallPermissions) - handler.customDropIDs[defaults.groupId!!] = dropInstance!! + defaults.override = dropInstance.getOverrideStockDrops + defaults.overallChance = dropInstance.overallChance + defaults.overallPermissions.addAll(dropInstance.overallPermissions) + handler.customDropIDs[defaults.groupId!!] = dropInstance } private fun parseCustomDrops(config: ConfigurationSection) { handler.customItemGroups = mutableMapOf() - processDefaults(objectToConfigurationSection2(config, "defaults")) + processDefaults(YmlParsingHelper.objToCS(config, "defaults")) val dropTableKey: String = YmlParsingHelper.getKeyNameFromConfig(config, "drop-table") if (config[dropTableKey] != null) { @@ -137,30 +134,25 @@ class CustomDropsParser( val itemGroups = ms.getValues(true) for ((itemGroupName, value) in itemGroups) { - dropInstance = CustomDropInstance( - EntityType.AREA_EFFECT_CLOUD - ) // entity type doesn't matter + dropInstance = CustomDropInstance(EntityType.AREA_EFFECT_CLOUD) // entity type doesn't matter parseCustomDrops2(value as List<*>) - if (dropInstance!!.customItems.isNotEmpty() || dropInstance!!.getOverrideStockDrops) { - handler.customItemGroups[itemGroupName] = dropInstance!! - handler.customDropIDs[itemGroupName] = dropInstance!! + if (dropInstance.customItems.isNotEmpty() || dropInstance.getOverrideStockDrops) { + handler.customItemGroups[itemGroupName] = dropInstance + handler.customDropIDs[itemGroupName] = dropInstance } } } } for (item in config.getKeys(false)) { - var entityType: EntityType? = null + var entityType = EntityType.AREA_EFFECT_CLOUD val mobTypeOrGroups = item.split(";") for (mobTypeOrGroupPre in mobTypeOrGroups) { var mobTypeOrGroup = mobTypeOrGroupPre.trim { it <= ' ' } - if (mobTypeOrGroup.isEmpty()) { + if (mobTypeOrGroup.isEmpty()) continue + if (mobTypeOrGroup.lowercase(Locale.getDefault()).startsWith("file-version")) continue - } - if (mobTypeOrGroup.lowercase(Locale.getDefault()).startsWith("file-version")) { - continue - } var universalGroup: CustomUniversalGroups? = null val isEntityTable = (mobTypeOrGroup.equals("drop-table", ignoreCase = true)) @@ -177,9 +169,8 @@ class CustomDropsParser( } dropInstance = CustomDropInstance(universalGroup) } else if (!isEntityTable) { - if (mobTypeOrGroup.equals("defaults", ignoreCase = true)) { + if (mobTypeOrGroup.equals("defaults", ignoreCase = true)) continue - } var isBabyMob = false if (mobTypeOrGroup.lowercase(Locale.getDefault()).startsWith("baby_")) { @@ -190,9 +181,9 @@ class CustomDropsParser( try { entityType = EntityType.valueOf(mobTypeOrGroup.uppercase(Locale.getDefault())) } catch (e: Exception) { - if (!invalidEntityTypesToIgnore.contains(mobTypeOrGroup.uppercase(Locale.getDefault()))) { + if (!invalidEntityTypesToIgnore.contains(mobTypeOrGroup.uppercase(Locale.getDefault()))) hadError("invalid mob type in customdrops.yml: $mobTypeOrGroup") - } + continue } dropInstance = CustomDropInstance(entityType, isBabyMob) @@ -201,8 +192,8 @@ class CustomDropsParser( continue } - dropInstance!!.overrideStockDrops = defaults.override - dropInstance!!.overallChance = defaults.overallChance + dropInstance.overrideStockDrops = defaults.override + dropInstance.overallChance = defaults.overallChance if (!isEntityTable) { if (config.getList(item) != null) { @@ -210,33 +201,29 @@ class CustomDropsParser( parseCustomDrops2(config.getList(item)) } else if (config[item] is MemorySection) { // drop is using a item group - val csItem = objectToConfigurationSection2(config,item) ?: continue - + val csItem = YmlParsingHelper.objToCS(config, item) ?: continue val useEntityDropId = YmlParsingHelper.getString(csItem, "usedroptable") - if (useEntityDropId != null && !handler.customItemGroups.containsKey( - useEntityDropId - ) - ) { + + if (useEntityDropId != null && !handler.customItemGroups.containsKey(useEntityDropId)) hadError("Did not find droptable id match for name: $useEntityDropId") - } else if (useEntityDropId == null) { + else if (useEntityDropId == null) hadError("Found a drop-table reference with no id!") - } else { - val refDrop = handler.customItemGroups[useEntityDropId] - for (itemDrop in refDrop!!.customItems) { - dropInstance!!.customItems.add((if (itemDrop is CustomDropItem) itemDrop.cloneItem() else (itemDrop as CustomCommand).cloneItem())!!) - } - if (refDrop.utilizesGroupIds) { - dropInstance!!.utilizesGroupIds = true - } - if (refDrop.getOverrideStockDrops) { - dropInstance!!.overrideStockDrops = true + else { + val refDrop = handler.customItemGroups[useEntityDropId]!! + for (itemDrop in refDrop.customItems) { + dropInstance.customItems.add((if (itemDrop is CustomDropItem) itemDrop.cloneItem() else (itemDrop as CustomCommand).cloneItem())!!) } + if (refDrop.utilizesGroupIds) + dropInstance.utilizesGroupIds = true + + if (refDrop.getOverrideStockDrops) + dropInstance.overrideStockDrops = true } } } // end if not entity table - if (dropInstance!!.customItems.isNotEmpty() || dropInstance!!.getOverrideStockDrops) { + if (dropInstance.customItems.isNotEmpty() || dropInstance.getOverrideStockDrops) { if (isUniversalGroup) { if (handler.getCustomDropsitemsGroups().containsKey( universalGroup.toString() @@ -245,17 +232,17 @@ class CustomDropsParser( handler.getCustomDropsitemsGroups()[universalGroup.toString()] ?.combineDrop(dropInstance) } else { - handler.addCustomDropGroup(universalGroup.toString(), dropInstance!!) + handler.addCustomDropGroup(universalGroup.toString(), dropInstance) } } else { val dropMap: MutableMap = - if (dropInstance!!.isBabyMob) handler.customDropsitemsBabies else handler.getCustomDropsitems() + if (dropInstance.isBabyMob) handler.customDropsitemsBabies else handler.getCustomDropsitems() if (dropMap.containsKey(entityType)) { dropMap[entityType]!!.combineDrop(dropInstance) } else { - dropMap[entityType!!] = dropInstance!! - handler.addCustomDropItem(entityType, dropInstance!!) + dropMap[entityType] = dropInstance + handler.addCustomDropItem(entityType, dropInstance) } } } @@ -264,9 +251,7 @@ class CustomDropsParser( } private fun parseCustomDrops2(itemConfigurations: List<*>?) { - if (itemConfigurations == null) { - return - } + if (itemConfigurations == null) return for (itemObject in itemConfigurations) { if (itemObject is String) { @@ -274,22 +259,15 @@ class CustomDropsParser( val item = CustomDropItem(this.defaults) if ("override".equals(itemObject, ignoreCase = true)) { - dropInstance!!.overrideStockDrops = true + dropInstance.overrideStockDrops = true continue } addMaterialToDrop(itemObject, item) continue } - val itemConfiguration = objectToConfigurationSectionOld( - itemObject - ) - if (itemConfiguration == null) { - continue - } - - val itemsToCheck = itemConfiguration.getValues(false) - .entries + val itemConfiguration = YmlParsingHelper.objToCS2(itemObject) ?: continue + val itemsToCheck = itemConfiguration.getValues(false).entries if (itemsToCheck.isEmpty() && itemObject!!.javaClass == LinkedHashMap::class.java) { // empty list means a material name was provided with no attributes @@ -303,92 +281,81 @@ class CustomDropsParser( break } } - if (needsContinue) { - continue - } + if (needsContinue) continue } for (itemEntry in itemsToCheck) { - val materialName = itemEntry.key + parseItem(itemEntry, itemConfiguration) + } + } // next item + } - if (checkForMobOverride(itemEntry)) { - continue - } + private fun parseItem( + itemEntry: MutableMap.MutableEntry, + cs: ConfigurationSection + ){ + val materialName = itemEntry.key - if ("overall_chance".equals(materialName, ignoreCase = true)) { - dropInstance!!.overallChance = parseSlidingChance( - YmlParsingHelper(itemConfiguration), - "overall_chance", defaults.overallChance - ) - continue - } else if ("overall_permission".equals(materialName, ignoreCase = true)) { - if (itemEntry.value is String) { - dropInstance!!.overallPermissions.add((itemEntry.value as String?)!!) - } else if (itemEntry.value is ArrayList<*>) { - dropInstance!!.overallPermissions.addAll( - itemEntry.value as ArrayList - ) - } + if (checkForMobOverride(itemEntry)) return - continue - } + if ("overall_chance".equals(materialName, ignoreCase = true)) { + dropInstance.overallChance = parseSlidingChance( + YmlParsingHelper(cs), + "overall_chance", defaults.overallChance + ) + return + } else if ("overall_permission".equals(materialName, ignoreCase = true)) { + if (itemEntry.value is String) + dropInstance.overallPermissions.add((itemEntry.value as String?)!!) + else if (itemEntry.value is ArrayList<*>) { + dropInstance.overallPermissions.addAll( + itemEntry.value as ArrayList + ) + } - if ("usedroptable".equals(materialName, ignoreCase = true)) { - if (itemEntry.value == null) { - hadError("Found a drop-table reference with no id!") - continue - } + return + } - val useEntityDropId = itemEntry.value.toString() + if ("usedroptable".equals(materialName, ignoreCase = true)) { + val useEntityDropId = itemEntry.value.toString() - if (!handler.customItemGroups.containsKey( - useEntityDropId - ) - ) { - hadError("Did not find droptable id match for name: $useEntityDropId") - } else { - val refDrop = handler.customItemGroups[useEntityDropId] - for (itemDrop in refDrop!!.customItems) { - dropInstance!!.customItems.add((if (itemDrop is CustomDropItem) itemDrop.cloneItem() else (itemDrop as CustomCommand).cloneItem())!!) - } - if (refDrop.utilizesGroupIds) { - dropInstance!!.utilizesGroupIds = true - } - if (refDrop.getOverrideStockDrops) { - dropInstance!!.overrideStockDrops = true - } - } - continue - } + if (!handler.customItemGroups.containsKey(useEntityDropId)) + hadError("Did not find droptable id match for name: $useEntityDropId") + else { + val refDrop = handler.customItemGroups[useEntityDropId]!! + for (itemDrop in refDrop.customItems) + dropInstance.customItems.add(itemDrop) - val itemInfoConfiguration = objectToConfigurationSectionOld( - itemEntry.value - ) ?: continue + if (refDrop.utilizesGroupIds) + dropInstance.utilizesGroupIds = true - val ymlHelper = YmlParsingHelper(itemInfoConfiguration) - var dropBase: CustomDropBase - if ("customCommand".equals(materialName, ignoreCase = true)) { - dropBase = CustomCommand(defaults) - } else { - val item = CustomDropItem(this.defaults) - item.externalType = ymlHelper.getString( - "type", defaults.externalType - ) - item.externalAmount = ymlHelper.getDouble2( - "external-amount", defaults.externalAmount - ) - item.externalExtras = parseExternalExtras(itemInfoConfiguration) + if (refDrop.getOverrideStockDrops) + dropInstance.overrideStockDrops = true + } + return + } - if (!addMaterialToDrop(materialName, item)) { - continue - } + val cs2 = YmlParsingHelper.objToCS2(itemEntry.value) ?: return - dropBase = item - } + val ymlHelper = YmlParsingHelper(cs2) + val dropBase: CustomDropBase + if ("customCommand".equals(materialName, ignoreCase = true)) + dropBase = CustomCommand(defaults) + else { + val item = CustomDropItem(this.defaults) + item.externalType = ymlHelper.getString( + "type", defaults.externalType + ) + item.externalAmount = ymlHelper.getDouble2( + "external-amount", defaults.externalAmount + ) + item.externalExtras = parseExternalExtras(cs2) - parseCustomDropsAttributes(dropBase, ymlHelper) - } - } // next item + if (!addMaterialToDrop(materialName, item)) return + dropBase = item + } + + parseCustomDropsAttributes(dropBase, ymlHelper) } private fun parseExternalExtras( @@ -438,16 +405,16 @@ class CustomDropsParser( dropBase.groupId = ymlHelper.getString("groupid") if (dropBase.hasGroupId) - handler.setDropInstanceFromId(dropBase.groupId!!, dropInstance!!) + handler.setDropInstanceFromId(dropBase.groupId!!, dropInstance) - dropInstance!!.utilizesGroupIds = dropBase.hasGroupId + dropInstance.utilizesGroupIds = dropBase.hasGroupId parseGroupLimits(dropBase, ymlHelper.cs) if (!ymlHelper.getString( "amount").isNullOrEmpty()) { if (!dropBase.setAmountRangeFromString(ymlHelper.getString( "amount"))) { hadError( "Invalid number or number range for amount on " + - "${dropInstance!!.getMobOrGroupName()}, ${ymlHelper.getString( "amount")}" + "${dropInstance.getMobOrGroupName()}, ${ymlHelper.getString( "amount")}" ) } } @@ -455,12 +422,12 @@ class CustomDropsParser( val overallChance = parseSlidingChance(ymlHelper, "overall_chance", null) if (!ymlHelper.getString("overall_chance").isNullOrEmpty()) { if (overallChance == null || !overallChance.isDefault) { - dropInstance!!.overallChance = null + dropInstance.overallChance = null } } if (ymlHelper.cs[YmlParsingHelper.getKeyNameFromConfig(ymlHelper.cs, "overall_permission")] != null) { - dropInstance!!.overallPermissions.addAll( + dropInstance.overallPermissions.addAll( ymlHelper.getStringSet( "overall_permission") ) } @@ -562,14 +529,14 @@ class CustomDropsParser( item.excludedList = ymlHelper.getStringOrList("excluded-list") item.amountFormula = ymlHelper.getString("amount-formula") - dropInstance!!.overrideStockDrops = ymlHelper.getBoolean2( + dropInstance.overrideStockDrops = ymlHelper.getBoolean2( "override",defaults.override ) if (!ymlHelper.getString("damage").isNullOrEmpty()) { if (!item.setDamageRangeFromString(ymlHelper.getString( "damage"))) { hadError( - "Invalid number range for damage on ${dropInstance!!.getMobOrGroupName()}, ${ymlHelper.getString("damage")}" + "Invalid number range for damage on ${dropInstance.getMobOrGroupName()}, ${ymlHelper.getString("damage")}" ) } } @@ -584,14 +551,14 @@ class CustomDropsParser( } } - parseEnchantments(objectToConfigurationSection2(ymlHelper.cs, "enchantments"), item) + parseEnchantments(ymlHelper.objToCS("enchantments"), item) item.nbtData = ymlHelper.getString("nbt-data", defaults.nbtData) if (item.material != Material.AIR && !item.nbtData.isNullOrEmpty()) { if (ExternalCompatibilityManager.hasNbtApiInstalled) { val result: NBTApplyResult = NBTManager.applyNBTDataItem(item, item.nbtData!!) - if (result.hadException) { - "custom drop ${item.material} for ${dropInstance!!.getMobOrGroupName()} has invalid NBT data: ${result.exceptionMessage}" - } else if (result.itemStack != null) { + if (result.hadException) + "custom drop ${item.material} for ${dropInstance.getMobOrGroupName()} has invalid NBT data: ${result.exceptionMessage}" + else if (result.itemStack != null) { item.itemStack = result.itemStack this.dropsUtilizeNBTAPI = true } @@ -621,9 +588,8 @@ class CustomDropsParser( limits.capSelect = ymlHelper.getInt( "cap-select") limits.retries = ymlHelper.getInt( "retries") - if (!limits.isEmpty || base.isDefaultDrop) { + if (!limits.isEmpty || base.isDefaultDrop) handler.groupLimitsMap[base.groupId!!] = limits - } } private fun parseCustomCommand( @@ -638,11 +604,10 @@ class CustomDropsParser( customCommand.mobScale = ymlHelper.getDouble2( "mob-scale", null) parseRangedVariables(customCommand, ymlHelper.cs) - if (customCommand.commands.isEmpty()) { + if (customCommand.commands.isEmpty()) hadError("no command was specified for custom command") - } else { - dropInstance!!.customItems.add(customCommand) - } + else + dropInstance.customItems.add(customCommand) } private fun buildCachedModalListOfDamageCause( @@ -656,28 +621,23 @@ class CustomDropsParser( var cs2: ConfigurationSection? = null var useList: MutableList? = null - if (simpleStringOrArray is java.util.ArrayList<*>) { + if (simpleStringOrArray is java.util.ArrayList<*>) useList = (simpleStringOrArray as ArrayList).toMutableList() - } else if (simpleStringOrArray is String) { + else if (simpleStringOrArray is String) useList = mutableListOf(simpleStringOrArray) - } - if (useList == null) { + if (useList == null) cs2 = YmlParsingHelper.objToCS(ymlHelper.cs, useKeyName) - } - if (cs2 == null && useList == null) { + if (cs2 == null && useList == null) return defaultValue - } cachedModalList.doMerge = YmlParsingHelper.getBoolean(cs2, "merge") - if (cs2 != null) { + if (cs2 != null) useList = YmlParsingHelper.getListFromConfigItem(cs2, "allowed-list") - } for (item in useList!!) { - if (item.trim { it <= ' ' }.isEmpty()) { - continue - } + if (item.trim { it <= ' ' }.isEmpty()) continue + if ("*" == item.trim { it <= ' ' }) { cachedModalList.includeAll = true continue @@ -689,14 +649,11 @@ class CustomDropsParser( hadError("Invalid damage cause: $item") } } - if (cs2 == null) { - return cachedModalList - } + if (cs2 == null) return cachedModalList for (item in YmlParsingHelper.getListFromConfigItem(cs2, "excluded-list")) { - if (item.trim { it <= ' ' }.isEmpty()) { - continue - } + if (item.trim { it <= ' ' }.isEmpty()) continue + if ("*" == item.trim { it <= ' ' }) { cachedModalList.excludeAll = true continue @@ -709,17 +666,17 @@ class CustomDropsParser( } } - if (cachedModalList.isEmpty() && !cachedModalList.includeAll && !cachedModalList.excludeAll) { + if (cachedModalList.isEmpty() && !cachedModalList.includeAll && !cachedModalList.excludeAll) return defaultValue - } return cachedModalList } - private fun parseEnchantments(cs: ConfigurationSection?, item: CustomDropItem) { - if (cs == null) { - return - } + private fun parseEnchantments( + cs: ConfigurationSection?, + item: CustomDropItem + ) { + if (cs == null) return val enchantMap = cs.getValues(false) @@ -736,15 +693,14 @@ class CustomDropsParser( continue } - val enchantments = value as Map + val enchantments = value as MutableMap parseEnchantmentChances(en, enchantments, item) continue } var enchantLevel = 1 - if (value != null && Utils.isInteger(value.toString())) { + if (value != null && Utils.isInteger(value.toString())) enchantLevel = value.toString().toInt() - } val en = Registry.ENCHANTMENT.get( NamespacedKey.minecraft(enchantName.lowercase(Locale.getDefault())) @@ -755,18 +711,18 @@ class CustomDropsParser( ?.itemMeta as EnchantmentStorageMeta meta.addStoredEnchant(en, enchantLevel, true) item.itemStack!!.setItemMeta(meta) - } else { - item.itemStack!!.addUnsafeEnchantment(en, enchantLevel) } - } else { - hadError("Invalid enchantment: $enchantName") + else + item.itemStack!!.addUnsafeEnchantment(en, enchantLevel) } + else + hadError("Invalid enchantment: $enchantName") } } private fun parseEnchantmentChances( enchantment: Enchantment, - enchantmentsMap: Map, + enchantmentsMap: MutableMap, item: CustomDropItem ) { val items = mutableMapOf() @@ -831,14 +787,11 @@ class CustomDropsParser( cs: ConfigurationSection ) { for (key in cs.getKeys(false)) { - if (!key.lowercase(Locale.getDefault()).startsWith("ranged")) { + if (!key.lowercase(Locale.getDefault()).startsWith("ranged")) continue - } val value = cs.getString(key) - if (value.isNullOrEmpty()) { - continue - } + if (value.isNullOrEmpty()) continue cc.rangedEntries[key] = value } @@ -863,9 +816,7 @@ class CustomDropsParser( madeChanges = true } - if (madeChanges) { - item.itemStack!!.setItemMeta(meta) - } + if (madeChanges) item.itemStack!!.setItemMeta(meta) } private fun parseItemFlags( @@ -874,25 +825,23 @@ class CustomDropsParser( ) { item.itemFlagsStrings = ymlHelper.getStringList("item_flags") - if (item.itemFlagsStrings!!.isEmpty() && defaults.itemFlagsStrings != null) { + if (item.itemFlagsStrings!!.isEmpty() && defaults.itemFlagsStrings != null) item.itemFlagsStrings = defaults.itemFlagsStrings - } var itemFlags: String? = null if (item.itemFlagsStrings!!.isEmpty()) { itemFlags = ymlHelper.getString( "itemflags") - if (itemFlags.isNullOrEmpty()) { + if (itemFlags.isNullOrEmpty()) itemFlags = ymlHelper.getString( "item_flags") - } - if (itemFlags.isNullOrEmpty()) { + + if (itemFlags.isNullOrEmpty()) itemFlags = ymlHelper.getString("item-flags") - } } - if (item.itemFlagsStrings!!.isEmpty() && itemFlags.isNullOrEmpty()) { + if (item.itemFlagsStrings!!.isEmpty() && itemFlags.isNullOrEmpty()) return - } + val results = mutableListOf() item.itemFlagsStrings = if (item.itemFlagsStrings!!.isEmpty()) @@ -904,13 +853,12 @@ class CustomDropsParser( val newFlag = ItemFlag.valueOf(flag.trim { it <= ' ' }.uppercase(Locale.getDefault())) results.add(newFlag) } catch (e: Exception) { - hadError("Invalid itemflag: $flag, item: ${item.material.name}, mobOrGroup: ${dropInstance!!.getMobOrGroupName()}") + hadError("Invalid itemflag: $flag, item: ${item.material.name}, mobOrGroup: ${dropInstance.getMobOrGroupName()}") } } - if (results.isNotEmpty()) { + if (results.isNotEmpty()) item.itemFlags = results - } } private fun checkEquippedChance( @@ -923,70 +871,12 @@ class CustomDropsParser( item.equippedChance != null && !item.equippedChance!!.isDefault ) return val temp = ymlHelper.getString( "equipped") - if (temp.isNullOrEmpty()) { - return - } + if (temp.isNullOrEmpty()) return - if ("false".equals(temp, ignoreCase = true)) { + if ("false".equals(temp, ignoreCase = true)) item.equippedChance!!.chance = 0.0f - } else if ("true".equals(temp, ignoreCase = true)) { + else if ("true".equals(temp, ignoreCase = true)) item.equippedChance!!.chance = 1.0f - } - } - - private fun objectToConfigurationSection2( - cs: ConfigurationSection?, - path: String - ): ConfigurationSection? { - if (cs == null) return null - - val useKey: String = YmlParsingHelper.getKeyNameFromConfig(cs, path) - val obj = cs[useKey] ?: return null - - when (obj) { - is ConfigurationSection -> { - return obj - } - - is Map<*, *> -> { - val result = MemoryConfiguration() - result.addDefaults((obj as Map)) - return result.defaultSection - } - - else -> { - val currentPath = if (cs.currentPath.isNullOrEmpty()) path else cs.currentPath + "." + path - hadError("$currentPath: couldn't parse Config of type: ${obj.javaClass.simpleName}, value: $obj") - return null - } - } - } - - private fun objectToConfigurationSectionOld( - obj: Any? - ): ConfigurationSection? { - if (obj == null) { - return null - } - - when (obj) { - is ConfigurationSection -> { - return obj - } - - is Map<*, *> -> { - val result = MemoryConfiguration() - result.addDefaults((obj as Map?)!!) - return result.defaultSection - } - - else -> { - hadError( - "couldn't parse Config of type: ${obj.javaClass.simpleName}, value: $obj" - ) - return null - } - } } private fun addMaterialToDrop( @@ -1000,34 +890,34 @@ class CustomDropsParser( if (useMaterialName.contains(":")) { // this item is referencing a custom item from an external plugin, we will call LM_Items to get it if (ExternalCompatibilityManager.instance.doesLMIMeetVersionRequirement()) { - if (!handler.lmItemsParser!!.parseExternalItemAttributes(useMaterialName, item)) { + if (!handler.lmItemsParser!!.parseExternalItemAttributes(useMaterialName, item)) return false - } - } else { - if (ExternalCompatibilityManager.hasLMItemsInstalled) { + } + else { + if (ExternalCompatibilityManager.hasLMItemsInstalled) hadError("Custom drop '$useMaterialName' requires plugin LM_Items but it is an old version") - } else { + else hadError("Custom drop '$useMaterialName' requires plugin LM_Items but it is not installed") - } + return false } } else { val material: Material if ("override".equals(useMaterialName, ignoreCase = true)) { - dropInstance!!.overrideStockDrops = true + dropInstance.overrideStockDrops = true return true } try { material = Material.valueOf(useMaterialName.uppercase(Locale.getDefault())) } catch (e: Exception) { - hadError("Invalid material type specified in customdrops.yml for: ${dropInstance!!.getMobOrGroupName()}, $useMaterialName") + hadError("Invalid material type specified in customdrops.yml for: ${dropInstance.getMobOrGroupName()}, $useMaterialName") return false } item.material = material } - dropInstance!!.customItems.add(item) + dropInstance.customItems.add(item) return true } @@ -1036,7 +926,7 @@ class CustomDropsParser( if (itemEntry.key.equals("override", ignoreCase = true)) { val value = itemEntry.value if (value.javaClass == Boolean::class.java) { - dropInstance!!.overrideStockDrops = value as Boolean + dropInstance.overrideStockDrops = value as Boolean return true } } @@ -1052,11 +942,10 @@ class CustomDropsParser( var commandsCount = 0 for (cdi in handler.getCustomDropsitems().values) { for (base in cdi.customItems) { - if (base is CustomDropItem) { + if (base is CustomDropItem) dropsCount++ - } else if (base is CustomCommand) { + else if (base is CustomCommand) commandsCount++ - } } } @@ -1121,9 +1010,8 @@ class CustomDropsParser( val override = if (value.getOverrideStockDrops) " (override)" else "" val overallChance = if (value.overallChance != null) (" (overall_chance: " + value.overallChance + ")") else "" - if (sbMain.isNotEmpty()) { - sbMain.append("\n") - } + if (sbMain.isNotEmpty()) sbMain.append("\n") + sbMain.append("group: ").append(key) sbMain.append(override).append(overallChance) for (baseItem in value.customItems) { @@ -1212,36 +1100,27 @@ class CustomDropsParser( return sb.toString() } - if (item == null) { + if (item == null) return sb.toString() // this shuts up the IDE for possible null reference - } - if (item.noMultiplier) { - sb.append(", nomultp") - } - if (item.lore != null && item.lore!!.isNotEmpty()) { - sb.append(", hasLore") - } - if (item.customName != null && item.customName!!.isNotEmpty()) { - sb.append(", hasName") - } + if (item.noMultiplier) sb.append(", nomultp") + if (item.lore != null && item.lore!!.isNotEmpty()) sb.append(", hasLore") + if (item.customName != null && item.customName!!.isNotEmpty()) sb.append(", hasName") + if (item.damage != 0 || item.hasDamageRange) { sb.append(", dmg: &b") sb.append(item.getDamageAsString()).append("&r") } - if (item.excludedMobs.isNotEmpty()) { - sb.append(", hasExcludes") - } + if (item.excludedMobs.isNotEmpty()) sb.append(", hasExcludes") + if (item.equippedChance != null && !item.equippedChance!!.isDefault) { sb.append(", equipChance: &b") sb.append(item.equippedChance).append("&r") } - if (item.onlyDropIfEquipped) { - sb.append(", &bonlyDropIfEquipped&r") - } - if (item.equipOnHelmet) { - sb.append(", &bequipHelmet&r") - } + + if (item.onlyDropIfEquipped) sb.append(", &bonlyDropIfEquipped&r") + if (item.equipOnHelmet) sb.append(", &bequipHelmet&r") + if (item.itemFlags != null && item.itemFlags!!.isNotEmpty()) { sb.append(", itemflags: &b") sb.append(item.itemFlags!!.size).append("&r") @@ -1293,8 +1172,7 @@ class CustomDropsParser( } } - sb.append(System.lineSeparator()) - sb.append(" ") + sb.append("\n ") sb.append(enchantmentLevels) } @@ -1311,9 +1189,7 @@ class CustomDropsParser( } } - if (sb2.isNotEmpty()) { - sb.append("\n ").append(sb2) - } + if (sb2.isNotEmpty()) sb.append("\n ").append(sb2) } return sb.toString() diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/YmlParsingHelper.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/YmlParsingHelper.kt index a9275a99c..70ed447d8 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/YmlParsingHelper.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/YmlParsingHelper.kt @@ -313,6 +313,33 @@ class YmlParsingHelper( } } + fun objToCS2( + obj: Any? + ): ConfigurationSection? { + if (obj == null) return null + + when (obj) { + is ConfigurationSection -> { + return obj + } + + is Map<*, *> -> { + val result = MemoryConfiguration() + @Suppress("UNCHECKED_CAST") + result.addDefaults((obj as Map)) + return result.defaultSection + } + + else -> { + Log.war( + "couldn't parse config of type: " + obj.javaClass.simpleName + + ", value: $obj" + ) + return null + } + } + } + fun getKeyNameFromConfig( cs: ConfigurationSection, key: String diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesParser.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesParser.kt index bcab431b5..637a378e4 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesParser.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesParser.kt @@ -33,7 +33,6 @@ import org.bukkit.Particle import org.bukkit.Registry import org.bukkit.block.Biome import org.bukkit.configuration.ConfigurationSection -import org.bukkit.configuration.MemoryConfiguration import org.bukkit.configuration.MemorySection import org.bukkit.configuration.file.YamlConfiguration import org.bukkit.entity.EntityType @@ -518,7 +517,7 @@ class RulesParser { } for (hashMap in rulesSection as MutableList>) { - val cs = objToCS2(hashMap) + val cs = YmlParsingHelper.objToCS2(hashMap) if (cs == null) { Log.war("cs was null (parsing custom-rules)") continue @@ -1602,30 +1601,4 @@ class RulesParser { rls.populateWeightedRandom(minLevel, maxLevel) } - - private fun objToCS2( - obj: Any? - ): ConfigurationSection? { - if (obj == null) return null - - when (obj) { - is ConfigurationSection -> { - return obj - } - - is Map<*, *> -> { - val result = MemoryConfiguration() - result.addDefaults((obj as Map)) - return result.defaultSection - } - - else -> { - Log.war( - "couldn't parse config of type: " + obj.javaClass.simpleName + - ", value: $obj" - ) - return null - } - } - } } \ No newline at end of file From bfe28e9a53895dfd5418044184e1712aba038aa7 Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Fri, 12 Jul 2024 21:07:58 -0500 Subject: [PATCH 06/14] v4.1.0 b40 * apply nbt-data synchronously --- gradle.properties | 2 +- .../levelledmobs/managers/LevelManager.kt | 57 ++++++++++--------- 2 files changed, 30 insertions(+), 29 deletions(-) diff --git a/gradle.properties b/gradle.properties index 4641334b1..f70aef587 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version = 4.1.0 b39 +version = 4.1.0 b40 description = The Ultimate RPG Mob Levelling Solution \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt index 6484bc297..c328db0fd 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt @@ -1477,7 +1477,8 @@ class LevelManager : LevelInterface2 { private fun applyLevelledAttributes( lmEntity: LivingEntityWrapper, - additions: MutableList + additions: MutableList, + nbtDatas: MutableList ) { if (!lmEntity.isLevelled) return val modInfo = mutableListOf() @@ -1515,6 +1516,32 @@ class LevelManager : LevelInterface2 { val scheduler = SchedulerWrapper(lmEntity.livingEntity){ MobDataManager.instance.setAttributeMods(lmEntity, modInfo) + + if (lmEntity.lockEntitySettings) { + lmEntity.pdc + .set(NamespacedKeys.lockSettings, PersistentDataType.INTEGER, 1) + if (lmEntity.lockedNametag != null) { + lmEntity.pdc + .set( + NamespacedKeys.lockedNametag, PersistentDataType.STRING, + lmEntity.lockedNametag!! + ) + } + if (lmEntity.lockedOverrideName != null) { + lmEntity.pdc + .set( + NamespacedKeys.lockedNameOverride, PersistentDataType.STRING, + lmEntity.lockedOverrideName!! + ) + } + } + + applyNbtData(lmEntity, nbtDatas) + + if (lmEntity.livingEntity is Creeper) { + lmEntity.main.levelManager.applyCreeperBlastRadius(lmEntity) + } + lmEntity.free() } lmEntity.inUseCount.getAndIncrement() @@ -2005,33 +2032,7 @@ class LevelManager : LevelInterface2 { else if (lmEntity.livingEntity is Horse) attribs.add(Addition.ATTRIBUTE_HORSE_JUMP_STRENGTH) - main.levelManager.applyLevelledAttributes(lmEntity, attribs) - - // TODO: move the rest of this function to a synchronous thread - if (lmEntity.lockEntitySettings) { - lmEntity.pdc - .set(NamespacedKeys.lockSettings, PersistentDataType.INTEGER, 1) - if (lmEntity.lockedNametag != null) { - lmEntity.pdc - .set( - NamespacedKeys.lockedNametag, PersistentDataType.STRING, - lmEntity.lockedNametag!! - ) - } - if (lmEntity.lockedOverrideName != null) { - lmEntity.pdc - .set( - NamespacedKeys.lockedNameOverride, PersistentDataType.STRING, - lmEntity.lockedOverrideName!! - ) - } - } - - applyNbtData(lmEntity, nbtDatas) - - if (lmEntity.livingEntity is Creeper) { - main.levelManager.applyCreeperBlastRadius(lmEntity) - } + main.levelManager.applyLevelledAttributes(lmEntity, attribs, nbtDatas) } private fun applyNbtData( From e011241a2783c20eb5ed1f554d210fa616675cbf Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Sat, 13 Jul 2024 17:54:21 -0500 Subject: [PATCH 07/14] v4.1.0 b41 * new placeholder: `%entity-max-health-percent%` with optional precision. example of 3 decimals: `%entity-max-health-percent-3%` --- gradle.properties | 2 +- .../levelledmobs/managers/LevelManager.kt | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index f70aef587..cc51f73be 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version = 4.1.0 b40 +version = 4.1.0 b41 description = The Ultimate RPG Mob Levelling Solution \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt index c328db0fd..bb49d3bfb 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt @@ -989,6 +989,7 @@ class LevelManager : LevelInterface2 { text.replace("%entity-health-rounded%", entityHealthRounded) text.replace("%entity-max-health%", roundedMaxHealth) text.replace("%entity-max-health-rounded%", roundedMaxHealthInt) + getHealthPercentRemaining(entityHealth, maxHealth, text) text.replaceIfExists("%base-health%"){ val baseHealth = lmEntity.livingEntity.getAttribute(Attribute.GENERIC_MAX_HEALTH)?.baseValue if (baseHealth != null) return@replaceIfExists baseHealth.toString() @@ -1024,6 +1025,30 @@ class LevelManager : LevelInterface2 { return text.text } + private fun getHealthPercentRemaining( + currentHealth: Double, + maxHealth: Double, + text: StringReplacer + ){ + val start = text.text.indexOf("%entity-max-health-percent") + if (start < 0) return + + val end = text.text.indexOf("%", start + 25) + if (end < 0) return + + val percentHealth = (currentHealth.toFloat() / maxHealth.toFloat() * 100f) + val fullText = text.text.substring(start, end) + val optional = fullText.substring(fullText.length - 2) + var digits = 2 + if (optional[0] == '-' && optional[1].isDigit()) + digits = optional[1].digitToInt() + + text.text = text.text.replace(fullText, ( + if (digits == 0) percentHealth.roundToInt().toString() + else Utils.round(percentHealth.toDouble(), digits).toString() + )) + } + fun updateNametagWithDelay(lmEntity: LivingEntityWrapper) { val scheduler = SchedulerWrapper(lmEntity.livingEntity) { updateNametag(lmEntity) From ab31d590bf06bbd9f043d4b37553c184e90faec6 Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Mon, 15 Jul 2024 17:17:08 -0500 Subject: [PATCH 08/14] v4.1.0 b42 * add spawn reason `OMINOUS_ITEM_SPAWNER` to `LevelledMobSpawnReason` --- gradle.properties | 2 +- .../arcaneplugins/levelledmobs/enums/LevelledMobSpawnReason.kt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index cc51f73be..2793eeddb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version = 4.1.0 b41 +version = 4.1.0 b42 description = The Ultimate RPG Mob Levelling Solution \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/LevelledMobSpawnReason.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/LevelledMobSpawnReason.kt index b00261805..0498b789b 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/LevelledMobSpawnReason.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/LevelledMobSpawnReason.kt @@ -50,5 +50,6 @@ enum class LevelledMobSpawnReason { LM_SUMMON, DEFAULT, DUPLICATION, - TRIAL_SPAWNER + TRIAL_SPAWNER, + OMINOUS_ITEM_SPAWNER } \ No newline at end of file From ebb65aeb2f16e92ccd1779c159ceec2bd56d9c0b Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Mon, 15 Jul 2024 18:35:28 -0500 Subject: [PATCH 09/14] 4.1.0 b43 * fix `construct-level` random levelling getting populated into `%weighted-random%` instead of `%random%` * when a PAPI variable is used in a nametag, pass the nearest player reference if present instead of null. it will only have a player reference if PVM is enabled --- gradle.properties | 2 +- .../arcaneplugins/levelledmobs/managers/LevelManager.kt | 2 +- .../arcaneplugins/levelledmobs/rules/RulesParser.kt | 2 +- .../rules/strategies/RandomLevellingStrategy.kt | 8 +++++++- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gradle.properties b/gradle.properties index 2793eeddb..b65021503 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version = 4.1.0 b42 +version = 4.1.0 b43 description = The Ultimate RPG Mob Levelling Solution \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt index bb49d3bfb..601b4af26 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt @@ -796,7 +796,7 @@ class LevelManager : LevelInterface2 { nametag.replace("%health-indicator-color%", colorOnly) if (nametag.text.contains("%") && ExternalCompatibilityManager.hasPapiInstalled) { - nametag.text = ExternalCompatibilityManager.getPapiPlaceholder(null, nametag.text) + nametag.text = ExternalCompatibilityManager.getPapiPlaceholder(lmEntity.associatedPlayer, nametag.text) } val result = NametagResult(nametag.text) diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesParser.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesParser.kt index 637a378e4..5b00441ee 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesParser.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesParser.kt @@ -1175,7 +1175,7 @@ class RulesParser { } else { randomLevelling.autoGenerate = true } - parsingInfo.levellingStrategy[StrategyType.RANDOM] = randomLevelling + parsingInfo.levellingStrategy[StrategyType.WEIGHTED_RANDOM] = randomLevelling return } diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/strategies/RandomLevellingStrategy.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/strategies/RandomLevellingStrategy.kt index f3ffc6205..b12142f7e 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/strategies/RandomLevellingStrategy.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/strategies/RandomLevellingStrategy.kt @@ -23,7 +23,7 @@ class RandomLevellingStrategy : LevellingStrategy, Cloneable { var autoGenerate = false var enabled = true - override var strategyType = StrategyType.WEIGHTED_RANDOM + override var strategyType = StrategyType.RANDOM override fun generateNumber( lmEntity: LivingEntityWrapper, @@ -61,6 +61,8 @@ class RandomLevellingStrategy : LevellingStrategy, Cloneable { weightedRandom["$i"] = test } } + else + this.strategyType = StrategyType.WEIGHTED_RANDOM this.minLevel = minLevel this.maxLevel = maxLevel @@ -178,6 +180,10 @@ class RandomLevellingStrategy : LevellingStrategy, Cloneable { if (levellingStrategy.doMerge && levellingStrategy.enabled) { weightedRandom.putAll(levellingStrategy.weightedRandom) } + + this.strategyType = + if (weightedRandom.isEmpty()) StrategyType.RANDOM + else StrategyType.WEIGHTED_RANDOM } override fun cloneItem(): RandomLevellingStrategy { From 4cccd1469e3598c35612a9df7a760aa8b2c0a2ad Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Fri, 19 Jul 2024 17:37:14 -0500 Subject: [PATCH 10/14] v4.1.0 b44 * `POTION_EFFECT` spawn reason added for 1.21 compatibility * new custom drops options: `chance-formula` and `overall-chance-formula` * customdrops `overall_chance` renamed to `overall-chance` and `overall_permission` renamed to `overall-permission` * overall-chance logic fixed (broken since 3.15.0) * customdrops.yml file version incremented to 12 * all debug messages that reference a mob will show it's corresponding level * custom drops debug message improvements * 2 plugins added to externalplugins.yml: `gadgets-menu` and `my-pet` --- gradle.properties | 2 +- levelledmobs-plugin/build.gradle.kts | 2 +- .../customdrops/CustomDropProcessingInfo.kt | 1 + .../customdrops/CustomDropsHandler.kt | 109 ++++++++++-------- .../customdrops/CustomDropsParser.kt | 48 +++++--- .../levelledmobs/customdrops/LMItemsParser.kt | 6 +- .../levelledmobs/customdrops/SlidingChance.kt | 31 ++++- .../levelledmobs/debug/DebugManager.kt | 10 +- .../enums/LevelledMobSpawnReason.kt | 3 +- .../listeners/EntityDamageListener.kt | 2 +- .../listeners/EntitySpawnListener.kt | 2 +- .../levelledmobs/managers/LevelManager.kt | 12 +- .../levelledmobs/managers/MobDataManager.kt | 17 +-- .../levelledmobs/misc/FileLoader.kt | 2 +- .../levelledmobs/misc/FileMigrator.kt | 91 ++------------- .../levelledmobs/rules/RulesManager.kt | 4 +- .../src/main/resources/customdrops.yml | 6 +- .../src/main/resources/externalplugins.yml | 16 +++ .../src/main/resources/rules.yml | 2 +- 19 files changed, 183 insertions(+), 183 deletions(-) diff --git a/gradle.properties b/gradle.properties index b65021503..f99e87db8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version = 4.1.0 b43 +version = 4.1.0 b44 description = The Ultimate RPG Mob Levelling Solution \ No newline at end of file diff --git a/levelledmobs-plugin/build.gradle.kts b/levelledmobs-plugin/build.gradle.kts index 1c3a6a1d4..30732b738 100644 --- a/levelledmobs-plugin/build.gradle.kts +++ b/levelledmobs-plugin/build.gradle.kts @@ -35,7 +35,7 @@ dependencies { //implementation("dev.jorel:commandapi-bukkit-shade:9.3.0") // https://github.com/JorelAli/CommandAPI implementation("nomaven:CommandAPI:9.6.0-snapshot") // https://github.com/JorelAli/CommandAPI // stumper66's fork: https://github.com/stumper66/CommandAPI - compileOnly("LibsDisguises:LibsDisguises:10.0.44-SNAPSHOT") // https://repo.md-5.net/#browse/browse:public:LibsDisguises%2FLibsDisguises + compileOnly("LibsDisguises:LibsDisguises:10.0.43-SNAPSHOT") // https://repo.md-5.net/#browse/browse:public:LibsDisguises%2FLibsDisguises compileOnly("net.essentialsx:EssentialsX:2.20.1") // https://repo.essentialsx.net/#/releases/net/essentialsx/EssentialsX compileOnly("me.clip:placeholderapi:2.11.5") // https://repo.extendedclip.com/content/repositories/placeholderapi/me/clip/placeholderapi/ compileOnly("com.sk89q.worldguard:worldguard-bukkit:7.1.0-SNAPSHOT") // https://maven.enginehub.org/repo/com/sk89q/worldguard/worldguard-bukkit/ diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropProcessingInfo.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropProcessingInfo.kt index 27f83b337..02db52643 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropProcessingInfo.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropProcessingInfo.kt @@ -42,6 +42,7 @@ class CustomDropProcessingInfo { var newDrops: MutableList? = null var dropInstance: CustomDropInstance? = null var equippedItemsInfo: EquippedItemsInfo? = null + var overallChanceDebugMessage: String = "" private val groupIDsDroppedAlready: MutableMap = TreeMap(String.CASE_INSENSITIVE_ORDER) private val itemsDroppedById = mutableMapOf() var prioritizedDrops: MutableMap>? = null diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt index 9ccaee123..a8a065835 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt @@ -12,6 +12,7 @@ import io.github.arcaneplugins.levelledmobs.result.PlayerLevelSourceResult import io.github.arcaneplugins.levelledmobs.enums.LevelledMobSpawnReason import io.github.arcaneplugins.levelledmobs.managers.MobDataManager import io.github.arcaneplugins.levelledmobs.managers.NotifyManager +import io.github.arcaneplugins.levelledmobs.result.EvaluationResult import io.github.arcaneplugins.levelledmobs.util.Log import io.github.arcaneplugins.levelledmobs.util.MessageUtils.colorizeAll import io.github.arcaneplugins.levelledmobs.util.PaperUtils @@ -82,6 +83,33 @@ class CustomDropsHandler { groupLimitsMap.clear() } + companion object{ + fun evaluateAmountExpression( + amountFormula: String?, + friendlyName: String, + lmEntity: LivingEntityWrapper + ): EvaluationResult { + if (amountFormula.isNullOrEmpty()) return EvaluationResult(1.0, null) + + val formula = LevelledMobs.instance.levelManager.replaceStringPlaceholdersForFormulas(amountFormula, lmEntity) + val evalResult = MobDataManager.evaluateExpression(formula) + if (evalResult.hadError){ + NotifyManager.notifyOfError("Error evaluating formula for $friendlyName on mob: ${lmEntity.nameIfBaby}, lvl: ${lmEntity.getMobLevel}, ${evalResult.error}") + DebugManager.log(DebugType.AMOUNT_FORMULA, lmEntity){ + "result (error, ${evalResult.error})\n" + + " formulaPre: '$amountFormula'\n" + + " formula: '$formula'" } + } + + DebugManager.log(DebugType.AMOUNT_FORMULA, lmEntity){ + "$friendlyName, result: ${evalResult.result}\n" + + " formulaPre: '$amountFormula'\n" + + " formula: '$formula'" } + + return evalResult + } + } + fun getCustomDropsitems(): MutableMap { val drops = mutableMapOf() drops.putAll(this.customDropsitems) @@ -194,19 +222,6 @@ class CustomDropsHandler { damageCause == EntityDamageEvent.DamageCause.LAVA) } - if (!equippedOnly) { - val mobLevel = - if (lmEntity.getMobLevel > 0) "&r (level ${lmEntity.getMobLevel})" else "" - processingInfo.addDebugMessage( - DebugType.CUSTOM_DROPS, - "&7Custom drops for &b${lmEntity.nameIfBaby} $mobLevel" - ) - - DebugManager.log(DebugType.MOB_GROUPS, lmEntity){ - "&8- &7Groups: &b" + lmEntity.getApplicableGroups().joinToString("&7, &b") + "&7." - } - } - val groupsList = mutableListOf() for (group in lmEntity.getApplicableGroups()) { if (!getCustomDropsitemsGroups().containsKey(group)) @@ -215,22 +230,20 @@ class CustomDropsHandler { groupsList.add(group) } - val buildResult: DropInstanceBuildResult = buildDropsListFromGroupsAndEntity( - groupsList, lmEntity.entityType, processingInfo - ) + val buildResult = buildDropsListFromGroupsAndEntity(groupsList, processingInfo) if (buildResult != DropInstanceBuildResult.SUCCESSFUL) { // didn't make overall chance if (buildResult == DropInstanceBuildResult.DID_NOT_MAKE_CHANCE) { processingInfo.addDebugMessage( DebugType.CUSTOM_DROPS, - "&7${lmEntity.typeName} (${lmEntity.getMobLevel}) - didn't make overall chance" + "didn't make overall chance${processingInfo.overallChanceDebugMessage}" ) } else { val mobKiller = if (processingInfo.mobKiller == null) "(null)" else processingInfo.mobKiller!!.name processingInfo.addDebugMessage( DebugType.CUSTOM_DROPS, - "lvl: ${lmEntity.getMobLevel}, didn't make overall chance permission for player: &b$mobKiller&r" + "didn't make overall chance permission for player: &b$mobKiller&r" ) } processingInfo.writeAnyDebugMessages() @@ -238,6 +251,17 @@ class CustomDropsHandler { return CustomDropResult(processingInfo.stackToItem, processingInfo.hasOverride, false) } + if (!equippedOnly) { + processingInfo.addDebugMessage( + DebugType.CUSTOM_DROPS, + "&7Custom drops${processingInfo.overallChanceDebugMessage}:" + ) + + DebugManager.log(DebugType.MOB_GROUPS, lmEntity){ + "&8- &7Groups: &b" + lmEntity.getApplicableGroups().joinToString("&7, &b") + "&7." + } + } + getCustomItemsFromDropInstance(processingInfo) // payload val postCount = drops.size @@ -276,7 +300,6 @@ class CustomDropsHandler { private fun buildDropsListFromGroupsAndEntity( groups: MutableList, - entityType: EntityType, info: CustomDropProcessingInfo ): DropInstanceBuildResult { info.prioritizedDrops = mutableMapOf() @@ -320,6 +343,7 @@ class CustomDropsHandler { info.hasOverride = true } + val entityType = info.lmEntity!!.entityType val dropMap: Map = if (info.lmEntity!!.isBabyMob && customDropsitemsBabies.containsKey(entityType)) customDropsitemsBabies else getCustomDropsitems() @@ -570,7 +594,7 @@ class CustomDropsHandler { } val dropChance = - if (dropBase.chance != null) dropBase.chance!!.getSlidingChance(info.lmEntity!!.getMobLevel) else 0.0f + if (dropBase.chance != null) dropBase.chance!!.getSlidingChance("chance-formula", info.lmEntity!!) else 0.0f if ((!info.equippedOnly || runOnSpawn) && dropChance < 1.0f) { chanceRole = if (dropChance > 0.0f) ThreadLocalRandom.current().nextInt(0, 100001).toFloat() * 0.00001f else 0.0f @@ -673,7 +697,11 @@ class CustomDropsHandler { } if (!dropBase.amountFormula.isNullOrEmpty()) - newDropAmount = evaluateAmountExpression(dropBase, info.lmEntity!!).roundToInt() + newDropAmount = evaluateAmountExpression( + dropBase.amountFormula, + "amount-formula", + info.lmEntity!! + ).result.roundToInt() if (dropBase.hasGroupId && info.groupLimits != null) { val gl = info.groupLimits!! @@ -810,7 +838,7 @@ class CustomDropsHandler { ): Boolean { if (!info.equippedOnly) return true val equippedChance = if (dropItem.equippedChance != null) dropItem.equippedChance!!.getSlidingChance( - info.lmEntity!!.getMobLevel + "equipped-formula", info.lmEntity!! ) else 0.0f if (equippedChance >= 1.0f) return true @@ -831,33 +859,6 @@ class CustomDropsHandler { return true } - fun evaluateAmountExpression( - item: CustomDropItem, - lmEntity: LivingEntityWrapper - ): Double{ - if (item.amountFormula.isNullOrEmpty()) return 1.0 - - val formulaPre = item.amountFormula!! - val formula = LevelledMobs.instance.levelManager.replaceStringPlaceholdersForFormulas(formulaPre, lmEntity) - val evalResult = MobDataManager.evaluateExpression(formula) - if (evalResult.hadError){ - NotifyManager.notifyOfError("Error evaluating formula for amount-expression on mob: ${lmEntity.nameIfBaby}, lvl: ${lmEntity.getMobLevel}, ${evalResult.error}") - DebugManager.log(DebugType.AMOUNT_FORMULA, lmEntity){ - "result (error, ${evalResult.error})\n" + - " formulaPre: '$formulaPre'\n" + - " formula: '$formula'" } - } - - val result = evalResult.result - - DebugManager.log(DebugType.AMOUNT_FORMULA, lmEntity){ - "result $result\n" + - " formulaPre: '$formulaPre'\n" + - " formula: '$formula'" } - - return result - } - private fun checkOverallChance(info: CustomDropProcessingInfo): Boolean { for (dropInstance in info.allDropInstances) { if (dropInstance.overallChance == null || dropInstance.overallChance!!.isDefault || @@ -880,8 +881,14 @@ class CustomDropsHandler { // we'll roll the dice to see if we get any drops at all and store it in the PDC val chanceRole = ThreadLocalRandom.current().nextInt(0, 100001).toFloat() * 0.00001f - val madeChance = - 1.0f - chanceRole < dropInstance.overallChance!!.getSlidingChance(info.lmEntity!!.getMobLevel) + val effectiveChance = dropInstance.overallChance!!.getSlidingChance( + "overall-chance-formula", + info.lmEntity!! + ) + // 1f - chanceRole < effectiveChance + val madeChance = chanceRole >= effectiveChance + info.overallChanceDebugMessage = " (minimum: &b${Utils.round(effectiveChance.toDouble(), 4)}&7, " + + "chanceRole: &b${Utils.round(chanceRole.toDouble(), 4)}&7)" if (info.equippedOnly) { synchronized(info.lmEntity!!.livingEntity.persistentDataContainer) { info.lmEntity!!.pdc diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt index cedc5f368..6aaab5f05 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt @@ -298,13 +298,15 @@ class CustomDropsParser( if (checkForMobOverride(itemEntry)) return - if ("overall_chance".equals(materialName, ignoreCase = true)) { + if ("overall-chance".equals(materialName, ignoreCase = true)) { dropInstance.overallChance = parseSlidingChance( YmlParsingHelper(cs), - "overall_chance", defaults.overallChance + "overall-chance", + "overall-chance-formula", + defaults.overallChance ) return - } else if ("overall_permission".equals(materialName, ignoreCase = true)) { + } else if ("overall-permission".equals(materialName, ignoreCase = true)) { if (itemEntry.value is String) dropInstance.overallPermissions.add((itemEntry.value as String?)!!) else if (itemEntry.value is ArrayList<*>) { @@ -377,7 +379,12 @@ class CustomDropsParser( dropBase: CustomDropBase, ymlHelper: YmlParsingHelper ) { - dropBase.chance = parseSlidingChance(ymlHelper, "chance", defaults.chance) + dropBase.chance = parseSlidingChance( + ymlHelper, + "chance", + "chance-formula", + defaults.chance + ) dropBase.useChunkKillMax = ymlHelper.getBoolean( "use-chunk-kill-max", defaults.useChunkKillMax ) @@ -419,16 +426,20 @@ class CustomDropsParser( } } - val overallChance = parseSlidingChance(ymlHelper, "overall_chance", null) - if (!ymlHelper.getString("overall_chance").isNullOrEmpty()) { - if (overallChance == null || !overallChance.isDefault) { + dropInstance.overallChance = parseSlidingChance( + ymlHelper, + "overall-chance", + "overall-chance-formula", + dropInstance.overallChance + ) + if (!ymlHelper.getString("overall-chance").isNullOrEmpty()) { + if (dropInstance.overallChance == null || dropInstance.overallChance!!.isDefault) dropInstance.overallChance = null - } } - if (ymlHelper.cs[YmlParsingHelper.getKeyNameFromConfig(ymlHelper.cs, "overall_permission")] != null) { + if (ymlHelper.cs[YmlParsingHelper.getKeyNameFromConfig(ymlHelper.cs, "overall-permission")] != null) { dropInstance.overallPermissions.addAll( - ymlHelper.getStringSet( "overall_permission") + ymlHelper.getStringSet( "overall-permission") ) } @@ -447,10 +458,12 @@ class CustomDropsParser( private fun parseSlidingChance( ymlHelper: YmlParsingHelper, keyName: String, + formulaKey: String, defaultValue: SlidingChance? ): SlidingChance? { val chanceOptsMap = ymlHelper.cs[keyName] var chanceOpts: ConfigurationSection? = null + val formula = ymlHelper.getString(formulaKey) if (chanceOptsMap is LinkedHashMap<*, *> || chanceOptsMap is MemorySection) { chanceOpts = YmlParsingHelper.objToCS(ymlHelper.cs, keyName) @@ -468,6 +481,8 @@ class CustomDropsParser( result.setFromInstance(defaultValue) result.defaults = defaultValue + if (formula.isNullOrEmpty()) result.formula = defaultValue?.formula + else result.formula = formula return result } @@ -498,6 +513,8 @@ class CustomDropsParser( } result.defaults = defaultValue + if (formula.isNullOrEmpty()) result.formula = null + else result.formula = formula return result } @@ -865,7 +882,12 @@ class CustomDropsParser( item: CustomDropItem, ymlHelper: YmlParsingHelper ) { - item.equippedChance = parseSlidingChance(ymlHelper, "equipped", defaults.equippedChance) + item.equippedChance = parseSlidingChance( + ymlHelper, + "equipped", + "equipped-formula", + defaults.equippedChance + ) if (defaults.equippedChance == null || item.equippedChance != null && !item.equippedChance!!.isDefault @@ -985,7 +1007,7 @@ class CustomDropsParser( else handler.getCustomDropsitems()[ent]!! val override = if (dropInstance.getOverrideStockDrops) " (override)" else "" - val overallChance = if (dropInstance.overallChance != null) (" (overall_chance: " + val overallChance = if (dropInstance.overallChance != null) (" (overall-chance: " + dropInstance.overallChance + ")") else "" sbMain.append("\nmob: &b") if (isBaby) { @@ -1008,7 +1030,7 @@ class CustomDropsParser( for ((key, value) in allGroups) { val override = if (value.getOverrideStockDrops) " (override)" else "" - val overallChance = if (value.overallChance != null) (" (overall_chance: " + val overallChance = if (value.overallChance != null) (" (overall-chance: " + value.overallChance + ")") else "" if (sbMain.isNotEmpty()) sbMain.append("\n") diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt index 5b12e372e..a0fffc7a9 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt @@ -81,7 +81,11 @@ class LMItemsParser { itemRequest.itemType = item.externalType itemRequest.amount = item.externalAmount if (info != null && !item.amountFormula.isNullOrEmpty()){ - itemRequest.amount = main.customDropsHandler.evaluateAmountExpression(item, info.lmEntity!!) + itemRequest.amount = CustomDropsHandler.evaluateAmountExpression( + item.amountFormula, + "amount-formula", + info.lmEntity!! + ).result } if (main.mainCompanion.externalCompatibilityManager.doesLMIMeetVersionRequirement2()) { diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/SlidingChance.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/SlidingChance.kt index 40ceb6ecc..2ce103e00 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/SlidingChance.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/SlidingChance.kt @@ -1,6 +1,7 @@ package io.github.arcaneplugins.levelledmobs.customdrops import io.github.arcaneplugins.levelledmobs.rules.MinAndMax +import io.github.arcaneplugins.levelledmobs.wrappers.LivingEntityWrapper /** * Holds values that are used for a variable chance based on either @@ -11,6 +12,9 @@ import io.github.arcaneplugins.levelledmobs.rules.MinAndMax */ class SlidingChance : Cloneable { var chance = 0f + var formula: String? = null + private var lastFormulaResult = 0f + private var formulaHadError = false var changeRange: MutableMap? = null private var lastMatchedTier: MinAndMax? = null private var lastResult = 0f @@ -20,11 +24,25 @@ class SlidingChance : Cloneable { get() = chance == 0.0f && (changeRange == null || changeRange!!.isEmpty()) val isAssuredChance: Boolean - get() = chance >= 1.0f && !isDefault + get() = formula.isNullOrEmpty() && chance >= 1.0f && !isDefault fun getSlidingChance( - mobLevel: Int + formulaFriendlyName: String, + lmEntity: LivingEntityWrapper ): Float { + if (!formula.isNullOrEmpty()){ + // run formula + val evalResult = CustomDropsHandler.evaluateAmountExpression( + formula, + formulaFriendlyName, + lmEntity + ) + formulaHadError = evalResult.hadError + lastFormulaResult = evalResult.result.toFloat() + if (!evalResult.hadError) return lastFormulaResult + // error has been thrown gracefully fall back on normal sliding chance if present + } + var result: Float? = null for (i in 0..1) { @@ -33,7 +51,7 @@ class SlidingChance : Cloneable { val slidingChance = if (i == 0) this else defaults if (slidingChance == null) continue - result = getSlidingChance2(mobLevel, slidingChance) + result = getSlidingChance2(lmEntity.getMobLevel, slidingChance) if (result != null) break } @@ -94,9 +112,13 @@ class SlidingChance : Cloneable { val copy = slidingChance.clone() as SlidingChance this.chance = copy.chance this.changeRange = copy.changeRange + this.formula = copy.formula } fun showMatchedChance(): String { + if (!formula.isNullOrEmpty() && !formulaHadError) + return lastFormulaResult.toString() + return if (this.lastMatchedTier != null) { if (lastMatchedTier!!.min == lastMatchedTier!!.max) { lastResult.toString() @@ -120,6 +142,9 @@ class SlidingChance : Cloneable { } override fun toString(): String { + if (!formula.isNullOrEmpty()) + return "'$formula'" + return if (changeRange == null || changeRange!!.isEmpty()) chance.toString() else diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugManager.kt index 0e9d4232b..91148ce42 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugManager.kt @@ -280,13 +280,15 @@ class DebugManager { } if (lmInterface != null){ - val useName = if (lmInterface is LivingEntityWrapper) - lmInterface.nameIfBaby else lmInterface.typeName + val lmEntity = lmInterface as? LivingEntityWrapper + val useName = lmEntity?.nameIfBaby ?: lmInterface.typeName + val lvl = lmEntity?.getMobLevel ?: (lmInterface.summonedLevel?: 0) + val lvlInfo = " (&7lvl $lvl&r)" msg = if (msg.isEmpty()) - "mob: &b$useName&7" + "mob: &b$useName&7$lvlInfo" else - "mob: &b$useName&7, $msg" + "mob: &b$useName&7$lvlInfo, $msg" } else if (entity != null){ msg = if (msg.isEmpty()) diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/LevelledMobSpawnReason.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/LevelledMobSpawnReason.kt index 0498b789b..5145e0cd3 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/LevelledMobSpawnReason.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/LevelledMobSpawnReason.kt @@ -51,5 +51,6 @@ enum class LevelledMobSpawnReason { DEFAULT, DUPLICATION, TRIAL_SPAWNER, - OMINOUS_ITEM_SPAWNER + OMINOUS_ITEM_SPAWNER, + POTION_EFFECT } \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityDamageListener.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityDamageListener.kt index 2a7be2dbd..a57bfb937 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityDamageListener.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityDamageListener.kt @@ -230,7 +230,7 @@ class EntityDamageListener : Listener { Addition.CUSTOM_RANGED_ATTACK_DAMAGE, event.damage.toFloat() ).amount DebugManager.log(DebugType.RANGED_DAMAGE_MODIFICATION, shooter) { - "lvl: &b${shooter.getMobLevel}&7, damage: &b${event.damage}&7, new damage: &b$newDamage&7" + "damage: &b${event.damage}&7, new damage: &b$newDamage&7" } event.damage = newDamage.toDouble() } diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt index 055c84104..35a062040 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt @@ -274,7 +274,7 @@ class EntitySpawnListener : Listener{ val levelAssignment = main.levelInterface.generateLevel(lmEntity) if (shouldDenyLevel(lmEntity, levelAssignment)) { DebugManager.log(DebugType.PLAYER_LEVELLING, lmEntity) { - "lvl: ${lmEntity.getMobLevel}&r, denied relevelling to &b$levelAssignment&r due to decrease-level disabled" + "denied relevelling to &b$levelAssignment&r due to decrease-level disabled" } } else { if (lmEntity.reEvaluateLevel && main.rulesManager.isPlayerLevellingEnabled()) { diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt index 601b4af26..04caa2ef2 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt @@ -485,7 +485,7 @@ class LevelManager : LevelInterface2 { ).amount if (additionValue == Float.MIN_VALUE) { DebugManager.log(DebugType.SET_LEVELLED_ITEM_DROPS, lmEntity) { - "mob-lvl: &b${lmEntity.getMobLevel}&7, removing any drops present" + "removing any drops present" } currentDrops.clear() return @@ -524,7 +524,7 @@ class LevelManager : LevelInterface2 { val nameWithOverride = if (hasOverride) " (override), " else "" val additionUsedFinal = additionUsed DebugManager.log(DebugType.SET_LEVELLED_ITEM_DROPS, lmEntity) { - "${nameWithOverride}mob-lvl: &b${lmEntity.getMobLevel}&7, vanilla drops: &b$vanillaDrops&7, all drops: &b${currentDrops.size}&7, addition: &b$additionUsedFinal&7." + "${nameWithOverride}, vanilla drops: &b$vanillaDrops&7, all drops: &b${currentDrops.size}&7, addition: &b$additionUsedFinal&7." } } @@ -673,7 +673,7 @@ class LevelManager : LevelInterface2 { if (dropAddition == Float.MIN_VALUE) { DebugManager.log(DebugType.SET_LEVELLED_XP_DROPS, lmEntity) { - "lvl: &b${lmEntity.getMobLevel}&7, xp-vanilla: &b$xp&7, new-xp: &b0&7" + "xp-vanilla: &b$xp&7, new-xp: &b0&7" } return 0 } @@ -684,7 +684,7 @@ class LevelManager : LevelInterface2 { val newXpFinal = newXp.toInt() DebugManager.log(DebugType.SET_LEVELLED_XP_DROPS, lmEntity) { - "lvl: &b${lmEntity.getMobLevel}&7, xp-vanilla: &b$xp&7, new-xp: &b$newXpFinal&7" + "xp-vanilla: &b$xp&7, new-xp: &b$newXpFinal&7" } return newXp.toInt() } else { @@ -1585,7 +1585,7 @@ class LevelManager : LevelInterface2 { } DebugManager.log( DebugType.CREEPER_BLAST_RADIUS, lmEntity - ) { "lvl: ${lmEntity.getMobLevel}, mulp: null, result: 3" } + ) { "mulp: null, result: 3" } return } @@ -1608,7 +1608,7 @@ class LevelManager : LevelInterface2 { val blastRadiusFinal = blastRadius DebugManager.log(DebugType.CREEPER_BLAST_RADIUS, lmEntity) { - "lvl: ${lmEntity.getMobLevel}, mulp: ${Utils.round(damage.toDouble(), 3)}, max: $maxRadius, result: $blastRadiusFinal" + "mulp: ${Utils.round(damage.toDouble(), 3)}, max: $maxRadius, result: $blastRadiusFinal" } if (blastRadius < 0) { diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/MobDataManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/MobDataManager.kt index 6645e6239..80026c4a4 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/MobDataManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/MobDataManager.kt @@ -219,13 +219,8 @@ class MobDataManager { attrib.addModifier(info.attributeModifier) DebugManager.log(DebugType.APPLY_MULTIPLIERS, lmEntity) { - String.format( - "lvl: %s, attrib: %s, base: %s, addtion: %s", - lmEntity.getMobLevel, - info.attribute.name, - Utils.round(attrib.baseValue, 3), - Utils.round(additionValue.toDouble(), 3) - ) + "attrib: ${info.attribute.name}, base: ${Utils.round(attrib.baseValue, 3)}, " + + "addtion: ${Utils.round(additionValue.toDouble(), 3)}" } // MAX_HEALTH specific: set health to max health @@ -269,7 +264,7 @@ class MobDataManager { if (!existingMod.name.startsWith("GENERIC_")) { DebugManager.log(DebugType.REMOVED_MULTIPLIERS, lmEntity) { val locationStr = "${lmEntity.location.blockX},${lmEntity.location.blockY},${lmEntity.location.blockZ}" - "Removing ${existingMod.name} from (lvl ${lmEntity.getMobLevel}) at $locationStr" + "Removing ${existingMod.name} at $locationStr" } } @@ -326,7 +321,7 @@ class MobDataManager { Log.war("Error evaluating formula for ${lmEntity.nameIfBaby}: '$formulaStr', ${evalResult.error}") DebugManager.log(DebugType.APPLY_MULTIPLIERS, lmEntity, !evalResult.hadError) { - "lvl: ${lmEntity.getMobLevel}, ${multiplier.addition.name}, formulaPre: '${multiplier.formula}'\nformula: " + + "${multiplier.addition.name}, formulaPre: '${multiplier.formula}'\nformula: " + "'$formulaStr', result: '$multiplierValue'" } } else if (multiplier != null) @@ -358,12 +353,12 @@ class MobDataManager { if (fineTuning!!.getUseStacked() || multiplier!!.useStacked) { DebugManager.log(DebugType.APPLY_MULTIPLIERS, lmEntity) { - "lvl: ${lmEntity.getMobLevel}, attrib: ${addition.name}, stkd formula, ${multiplier!!.value}" + "attrib: ${addition.name}, stkd formula, ${multiplier!!.value}" } return MultiplierResult(lmEntity.getMobLevel.toFloat() * multiplierValue, isAddition) } else { DebugManager.log(DebugType.APPLY_MULTIPLIERS, lmEntity) { - "lvl: ${lmEntity.getMobLevel}, attrib: ${addition.name}, std formula, ${multiplier.value}" + "attrib: ${addition.name}, std formula, ${multiplier.value}" } multiplierValue = if (attributeMax > 0.0) { diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/FileLoader.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/FileLoader.kt index 18c20a83b..98feaab6d 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/FileLoader.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/FileLoader.kt @@ -19,7 +19,7 @@ import org.yaml.snakeyaml.Yaml object FileLoader { const val SETTINGS_FILE_VERSION = 37 // Last changed: v4.1.0 b37 const val MESSAGES_FILE_VERSION = 9 // Last changed: v4.0.0 b1 - const val CUSTOMDROPS_FILE_VERSION = 11 // Last changed: v4.0.0 b1 + const val CUSTOMDROPS_FILE_VERSION = 12 // Last changed: v4.1.0 b44 const val RULES_FILE_VERSION = 5 // Last changed: v4.0.0 b1 const val EXTERNALPLUGINS_FILE_VERSION = 1 // Last changed: v4.0.0 diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/FileMigrator.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/FileMigrator.kt index abe62fc03..43e8a9145 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/FileMigrator.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/FileMigrator.kt @@ -103,98 +103,25 @@ object FileMigrator { return result } - private fun compileListFromArray(list: List): String { - val sb = StringBuilder() - sb.append("[") - for (item in list) { - if (sb.length > 1) { - sb.append(", ") - } - sb.append("'") - sb.append(item) - sb.append("'") - } - sb.append("]") - - return sb.toString() - } - fun copyCustomDrops( from: File, to: File, fileVersion: Int ) { - val keysectionsOld: Map - var keysectionsNew: Map - try { - val oldConfigLines = Files.readAllLines( + val content = StringReplacer(Files.readString( from.toPath(), StandardCharsets.UTF_8 - ) - val newConfigLines = Files.readAllLines( - to.toPath(), - StandardCharsets.UTF_8 - ) - - keysectionsOld = buildKeySections(oldConfigLines) - keysectionsNew = buildKeySections(newConfigLines) - - for ((key, oldSection) in keysectionsOld) { - if (key.lowercase(Locale.getDefault()).startsWith("file-version")) { - continue - } - - if (keysectionsNew.containsKey(key)) { - // overwrite new section if different - val newSection = keysectionsNew[key]!! - - if (!doSectionsContainSameLines(oldSection, newSection)) { - for (i in newSection.lines.indices) { - newConfigLines.removeAt(newSection.lineNumber + 1) - } + )) - for (i in oldSection.lines.indices.reversed()) { - newConfigLines.add(newSection.lineNumber + 1, oldSection.lines[i]) - } - - keysectionsNew = buildKeySections(newConfigLines) - } - } else { - // write the section into the new config, starting in corresponding new section - var insertAt = newConfigLines.size - if (fileVersion < 6) { - if (key.uppercase(Locale.getDefault()).startsWith("ALL_")) { - oldSection.sectionNumber = 2 // universal groups section - } else { - oldSection.sectionNumber = 3 // entity types section - } - } - - if (oldSection.sectionNumber > 0) { - for (tempSection in keysectionsNew.values) { - if (tempSection.sectionNumber == oldSection.sectionNumber - && tempSection.sectionStartingLine > 0 - ) { - insertAt = tempSection.sectionStartingLine - } - } - } - - newConfigLines.add(insertAt, key) - // for (int i = oldSection.lines.size() - 1; i >= 0; i--) { - for (i in oldSection.lines.indices) { - insertAt++ - newConfigLines.add(insertAt, oldSection.lines[i]) - } - newConfigLines.add(insertAt + 1, "") - - keysectionsNew = buildKeySections(newConfigLines) - } + content.replace("overall_chance:", "overall-chance:") + content.replace("overall_permission:", "overall-permission:") + val foundFileVersion = "file-version:.*?\\d+".toRegex().find(content.text) + if (foundFileVersion != null){ + content.replace(foundFileVersion.value, "file-version: 12") } - // build an index so we can modify the collection as we enumerate thru it - Files.write( - to.toPath(), newConfigLines, StandardCharsets.UTF_8, + Files.writeString( + to.toPath(), content.text, StandardCharsets.UTF_8, StandardOpenOption.TRUNCATE_EXISTING ) Log.inf( diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesManager.kt index fc8ed1fac..d918bdb51 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesManager.kt @@ -877,7 +877,7 @@ class RulesManager { DebugManager.log( DebugType.CONDITION_MAXLEVEL, ri, lmEntity, result ) { - "mob lvl: &b${lmEntity.getMobLevel}&7, rule minlvl: &b${ri.conditionsMinLevel}&7" + "rule minlvl: &b${ri.conditionsMinLevel}&7" } if (!result) return false } @@ -888,7 +888,7 @@ class RulesManager { DebugManager.log( DebugType.CONDITION_MAXLEVEL, ri, lmEntity, result ) { - "mob lvl: &b${lmEntity.getMobLevel}&7, rule maxlvl: &b${ri.conditionsMaxLevel}&7" + "rule maxlvl: &b${ri.conditionsMaxLevel}&7" } if (!result) return false } diff --git a/levelledmobs-plugin/src/main/resources/customdrops.yml b/levelledmobs-plugin/src/main/resources/customdrops.yml index 9c4b99fd5..8e0657d19 100644 --- a/levelledmobs-plugin/src/main/resources/customdrops.yml +++ b/levelledmobs-plugin/src/main/resources/customdrops.yml @@ -27,7 +27,7 @@ # defaults: chance: 0.2 - overall_chance: 1.0 + overall-chance: 1.0 amount: 1 equipped: 1.0 equip-offhand: true @@ -37,7 +37,7 @@ defaults: nomultiplier: true nospawner: false use-chunk-kill-max: true - overall_permission: '' + overall-permission: '' override: false minLevel: -1 maxLevel: -1 @@ -377,4 +377,4 @@ drop-table: # Section 05 | Developer Settings / Do Not Edit Beyond This Point # --------------- - ------------------------------ # -file-version: 11 +file-version: 12 diff --git a/levelledmobs-plugin/src/main/resources/externalplugins.yml b/levelledmobs-plugin/src/main/resources/externalplugins.yml index 88db97b13..730b966cf 100644 --- a/levelledmobs-plugin/src/main/resources/externalplugins.yml +++ b/levelledmobs-plugin/src/main/resources/externalplugins.yml @@ -73,6 +73,22 @@ Deadly-Disasters: key-type: 'PDC' requirement: 'exists' +gadgets-menu: + friendly-name: 'gadgets-menu' + plugin-name: 'GadgetsMenu' + key-name: 'GadgetsMenu-Pet' + key-type: 'metadata' + requirement: 'exists' +# placeholder-name: '%gadgets-menu-name%' + +my-pet: + friendly-name: 'my-pet' + plugin-name: 'MyPet' + key-name: 'MyPet' + key-type: 'metadata' + requirement: 'exists' +# placeholder-name: '%mypet-menu-name%' + # # --------------- - ------------------------------ # Section 02 | Developer Settings / Do Not Edit Beyond This Point diff --git a/levelledmobs-plugin/src/main/resources/rules.yml b/levelledmobs-plugin/src/main/resources/rules.yml index 0794d7ea6..936f16bb0 100644 --- a/levelledmobs-plugin/src/main/resources/rules.yml +++ b/levelledmobs-plugin/src/main/resources/rules.yml @@ -485,7 +485,7 @@ custom-rules: use-preset: challenge-vanilla, nametag-minimized conditions: external-plugins: - included-list: ['eco-bosses', 'mythic-mobs', 'elite-mobs', 'infernal-mobs', 'citizens', 'shop-keepers', 'simple-pets', 'elite-bosses', 'blood-night', 'combat-pets', 'Deadly-Disasters'] + included-list: ['eco-bosses', 'mythic-mobs', 'elite-mobs', 'infernal-mobs', 'citizens', 'shop-keepers', 'simple-pets', 'elite-bosses', 'blood-night', 'combat-pets', 'Deadly-Disasters', 'gadgets-menu', 'my-pet'] #excluded-list: ['*'] - custom-rule: 'Player Farm Item and XP Limiter' From ac092420d90ef2bcd4c1d981f789ca6ec9b527bd Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Sun, 21 Jul 2024 16:50:00 -0500 Subject: [PATCH 11/14] v4.1.0 b45 * fix mobs with a custom name with hex colors not showing the proper colors on the nametag --- gradle.properties | 2 +- .../arcaneplugins/levelledmobs/managers/LevelManager.kt | 2 +- .../arcaneplugins/levelledmobs/nametag/KyoriNametags.kt | 8 +++++++- .../arcaneplugins/levelledmobs/util/MessageUtils.kt | 2 -- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/gradle.properties b/gradle.properties index f99e87db8..383d28bba 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version = 4.1.0 b44 +version = 4.1.0 b45 description = The Ultimate RPG Mob Levelling Solution \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt index 04caa2ef2..c04097984 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt @@ -973,7 +973,7 @@ class LevelManager : LevelInterface2 { } if (lmEntity.livingEntity.customName != null) - return@replaceIfExists lmEntity.livingEntity.customName + return@replaceIfExists if (LevelledMobs.instance.ver.isRunningPaper) "{CustomName}" else lmEntity.livingEntity.customName return@replaceIfExists if (preserveMobName) "{DisplayName}" else diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/nametag/KyoriNametags.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/nametag/KyoriNametags.kt index 9d7ceb492..5c3355116 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/nametag/KyoriNametags.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/nametag/KyoriNametags.kt @@ -40,7 +40,7 @@ object KyoriNametags { } // replace placeholders and set the new death message - val result = if (def.getUseLegacySerializer()) { + var result = if (def.getUseLegacySerializer()) { LegacyComponentSerializer .legacyAmpersand() .deserialize(nametag) @@ -60,6 +60,12 @@ object KyoriNametags { ) } + result = result.replaceText( + TextReplacementConfig.builder() + .matchLiteral("{CustomName}") + .replacement(livingEntity.name()).build() + ) + // PaperAdventure.asVanilla(kyoriComponent) try { return def.methodAsVanilla!!.invoke(def.clazzPaperAdventure, result) diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/MessageUtils.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/MessageUtils.kt index 0211d31cc..e9a517718 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/MessageUtils.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/MessageUtils.kt @@ -74,8 +74,6 @@ object MessageUtils { val startTag = "&#" val endTag = "" - if (ver.minecraftVersion < 1.16 || !ver.isRunningSpigot) return message - val hexPattern = Pattern.compile("$startTag([A-Fa-f0-9]{6})$endTag") val matcher = hexPattern.matcher(message) val buffer = StringBuilder(message.length + 4 * 8) From 24983e20b82faf0a07bd62f011cd016bd131c35a Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Wed, 24 Jul 2024 08:24:19 -0500 Subject: [PATCH 12/14] v4.1.0 b46 * removed custom enums that mimicked vanilla `SpawnReason` and `DeathCause`. This will ensure future minecraft compatibility without needing to update LM * debug message improvements * removed a unused debug type * fix error running `/lm debug show-pdc-keys` on latest 1.21 builds --- gradle.properties | 2 +- .../customdrops/CustomDropBase.kt | 3 +- .../customdrops/CustomDropProcessingInfo.kt | 4 +- .../customdrops/CustomDropsDefaults.kt | 4 +- .../customdrops/CustomDropsHandler.kt | 37 +++-- .../customdrops/CustomDropsParser.kt | 22 ++- .../levelledmobs/debug/DebugType.kt | 5 - .../levelledmobs/enums/DeathCause.kt | 44 ------ .../levelledmobs/enums/InternalSpawnReason.kt | 6 + .../enums/LevelledMobSpawnReason.kt | 56 ------- .../listeners/EntitySpawnListener.kt | 34 ++--- .../listeners/EntityTransformListener.kt | 16 +- .../levelledmobs/managers/LevelManager.kt | 12 +- .../levelledmobs/misc/LMSpawnReason.kt | 143 ++++++++++++++++++ .../levelledmobs/rules/RuleInfo.kt | 3 +- .../levelledmobs/rules/RulesManager.kt | 3 +- .../levelledmobs/rules/RulesParser.kt | 34 +++-- .../levelledmobs/util/MiscUtils.kt | 1 + .../arcaneplugins/levelledmobs/util/Utils.kt | 13 +- .../wrappers/LivingEntityWrapper.kt | 86 +---------- 20 files changed, 253 insertions(+), 275 deletions(-) delete mode 100644 levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/DeathCause.kt create mode 100644 levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/InternalSpawnReason.kt delete mode 100644 levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/LevelledMobSpawnReason.kt create mode 100644 levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/LMSpawnReason.kt diff --git a/gradle.properties b/gradle.properties index 383d28bba..949f0d87f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version = 4.1.0 b45 +version = 4.1.0 b46 description = The Ultimate RPG Mob Levelling Solution \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropBase.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropBase.kt index 5c9eb0d47..f1d3d7a6c 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropBase.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropBase.kt @@ -1,6 +1,5 @@ package io.github.arcaneplugins.levelledmobs.customdrops -import io.github.arcaneplugins.levelledmobs.enums.DeathCause import java.util.TreeSet import java.util.UUID import io.github.arcaneplugins.levelledmobs.misc.CachedModalList @@ -36,7 +35,7 @@ abstract class CustomDropBase( val permissions = mutableListOf() val playeerVariableMatches = mutableListOf() val excludedMobs: MutableSet = TreeSet(String.CASE_INSENSITIVE_ORDER) - var causeOfDeathReqs: CachedModalList? = null + var causeOfDeathReqs: CachedModalList? = null var amount: Int = 1 set(value) { diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropProcessingInfo.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropProcessingInfo.kt index 02db52643..4ce232b47 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropProcessingInfo.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropProcessingInfo.kt @@ -5,11 +5,11 @@ import java.util.UUID import io.github.arcaneplugins.levelledmobs.LevelledMobs import io.github.arcaneplugins.levelledmobs.debug.DebugManager import io.github.arcaneplugins.levelledmobs.debug.DebugType -import io.github.arcaneplugins.levelledmobs.enums.DeathCause import io.github.arcaneplugins.levelledmobs.enums.EquipmentClass import io.github.arcaneplugins.levelledmobs.rules.CustomDropsRuleSet import io.github.arcaneplugins.levelledmobs.wrappers.LivingEntityWrapper import org.bukkit.entity.Player +import org.bukkit.event.entity.EntityDamageEvent import org.bukkit.inventory.ItemStack /** @@ -23,7 +23,7 @@ class CustomDropProcessingInfo { var lmEntity: LivingEntityWrapper? = null var mobKiller: Player? = null val playerLevelVariableCache = mutableMapOf() - var deathCause: DeathCause? = null + var deathCause: String? = null var addition = 0f var isSpawner = false var equippedOnly = false diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt index 00a3c9dd4..2fc986710 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt @@ -1,7 +1,7 @@ package io.github.arcaneplugins.levelledmobs.customdrops -import io.github.arcaneplugins.levelledmobs.enums.DeathCause import io.github.arcaneplugins.levelledmobs.misc.CachedModalList +import org.bukkit.event.entity.EntityDamageEvent /** * Holds all default values for either all custom drop items @@ -36,7 +36,7 @@ class CustomDropsDefaults { var itemFlagsStrings: MutableList? = null var permissions = mutableListOf() var overallPermissions = mutableListOf() - var causeOfDeathReqs: CachedModalList? = null + var causeOfDeathReqs: CachedModalList? = null var externalType: String? = null var externalItemId: String? = null var externalAmount: Double? = null diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt index a8a065835..891970366 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt @@ -5,11 +5,9 @@ import io.github.arcaneplugins.levelledmobs.debug.DebugManager import io.github.arcaneplugins.levelledmobs.managers.ExternalCompatibilityManager import io.github.arcaneplugins.levelledmobs.enums.Addition import io.github.arcaneplugins.levelledmobs.debug.DebugType -import io.github.arcaneplugins.levelledmobs.enums.DeathCause import io.github.arcaneplugins.levelledmobs.enums.DropInstanceBuildResult import io.github.arcaneplugins.levelledmobs.misc.NamespacedKeys import io.github.arcaneplugins.levelledmobs.result.PlayerLevelSourceResult -import io.github.arcaneplugins.levelledmobs.enums.LevelledMobSpawnReason import io.github.arcaneplugins.levelledmobs.managers.MobDataManager import io.github.arcaneplugins.levelledmobs.managers.NotifyManager import io.github.arcaneplugins.levelledmobs.result.EvaluationResult @@ -28,6 +26,7 @@ import org.bukkit.Bukkit import org.bukkit.Material import org.bukkit.enchantments.EnchantmentTarget import org.bukkit.entity.EntityType +import org.bukkit.event.entity.CreatureSpawnEvent import org.bukkit.event.entity.EntityDamageEvent import org.bukkit.inventory.ItemStack import org.bukkit.inventory.meta.Damageable @@ -181,7 +180,7 @@ class CustomDropsHandler { synchronized(lmEntity.livingEntity.persistentDataContainer) { processingInfo.isSpawner = (lmEntity.pdc .has(NamespacedKeys.spawnReasonKey, PersistentDataType.STRING) && - LevelledMobSpawnReason.SPAWNER.toString() == lmEntity.pdc + CreatureSpawnEvent.SpawnReason.SPAWNER.toString() == lmEntity.pdc .get(NamespacedKeys.spawnReasonKey, PersistentDataType.STRING) ) if (lmEntity.pdc @@ -199,12 +198,8 @@ class CustomDropsHandler { } else processingInfo.wasKilledByPlayer = false - if (lmEntity.livingEntity.lastDamageCause != null) { - processingInfo.deathCause = DeathCause.valueOf( - lmEntity.livingEntity.lastDamageCause!!.cause.toString() - .uppercase(Locale.getDefault()) - ) - } + if (lmEntity.livingEntity.lastDamageCause != null) + processingInfo.deathCause = lmEntity.livingEntity.lastDamageCause!!.cause.toString() processingInfo.addition = ( main.mobDataManager.getAdditionsForLevel(lmEntity, Addition.CUSTOM_ITEM_DROP, 2F).amount @@ -510,6 +505,13 @@ class CustomDropsHandler { if (!info.equippedOnly && dropBase.playerCausedOnly && (dropBase.causeOfDeathReqs == null || dropBase.causeOfDeathReqs!!.isEmpty()) && !info.wasKilledByPlayer ){ + if (!info.equippedOnly && LevelledMobs.instance.debugManager.isDebugTypeEnabled(DebugType.CUSTOM_DROPS)) { + val itemName = if (dropBase is CustomDropItem) dropBase.material.name else "(command)" + info.addDebugMessage( + "&8 - &7item: &b$itemName&7, death-cause: &b${info.deathCause}&7, was not player caused" + + ", dropped: &bfalse&7." + ) + } return } @@ -540,7 +542,7 @@ class CustomDropsHandler { info.addDebugMessage( "&8- &7level: &b${info.lmEntity?.getMobLevel}&7, fromSpawner: &b${info.isSpawner}&7, item: &b${itemStack.type.name}&7, " + - "minL: &b${dropBase.minLevel}&7, maxL: &b${dropBase.maxLevel}}&7, nospawner: &b${dropBase.noSpawner}&7, dropped: &bfalse" + "minL: &b${dropBase.minLevel}&7, maxL: &b${dropBase.maxLevel}&7, nospawner: &b${dropBase.noSpawner}&7, dropped: &bfalse" ) } } else if (dropBase is CustomCommand) { @@ -995,16 +997,23 @@ class CustomDropsHandler { if (dropBase.causeOfDeathReqs == null || info.deathCause == null) return false - if (info.wasKilledByPlayer && Utils.isDamageCauseInModalList( - dropBase.causeOfDeathReqs!!, - DeathCause.PLAYER_CAUSED + val test = dropBase.causeOfDeathReqs!!.isIncludedInList( + "PLAYER_CAUSED", + info.lmEntity + ) + + Log.infTemp("wasKilledByPlayer: ${info.wasKilledByPlayer}, $test") + + if (info.wasKilledByPlayer && dropBase.causeOfDeathReqs!!.isIncludedInList( + "PLAYER_CAUSED", + info.lmEntity ) ) { return false } if (!Utils.isDamageCauseInModalList(dropBase.causeOfDeathReqs!!, info.deathCause!!)) { - if (LevelledMobs.instance.debugManager.isDebugTypeEnabled(DebugType.CUSTOM_DROPS)) { + if (!info.equippedOnly && LevelledMobs.instance.debugManager.isDebugTypeEnabled(DebugType.CUSTOM_DROPS)) { val itemName = if (dropBase is CustomDropItem) dropBase.material.name else "(command)" info.addDebugMessage( "&8 - &7item: &b$itemName&7, death-cause: &b${info.deathCause}&7, death-cause-req: " + diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt index 6aaab5f05..eadb97f94 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt @@ -12,7 +12,6 @@ import io.github.arcaneplugins.levelledmobs.managers.NBTManager import io.github.arcaneplugins.levelledmobs.misc.CachedModalList import io.github.arcaneplugins.levelledmobs.misc.CustomUniversalGroups import io.github.arcaneplugins.levelledmobs.debug.DebugType -import io.github.arcaneplugins.levelledmobs.enums.DeathCause import io.github.arcaneplugins.levelledmobs.misc.YmlParsingHelper import io.github.arcaneplugins.levelledmobs.result.NBTApplyResult import io.github.arcaneplugins.levelledmobs.rules.MinAndMax @@ -31,6 +30,7 @@ import org.bukkit.configuration.MemorySection import org.bukkit.configuration.file.YamlConfiguration import org.bukkit.enchantments.Enchantment import org.bukkit.entity.EntityType +import org.bukkit.event.entity.EntityDamageEvent import org.bukkit.inventory.ItemFlag import org.bukkit.inventory.meta.EnchantmentStorageMeta @@ -629,9 +629,9 @@ class CustomDropsParser( private fun buildCachedModalListOfDamageCause( ymlHelper: YmlParsingHelper, - defaultValue: CachedModalList? - ): CachedModalList? { - val cachedModalList = CachedModalList() + defaultValue: CachedModalList? + ): CachedModalList? { + val cachedModalList = CachedModalList() val useKeyName = ymlHelper.getKeyNameFromConfig("cause-of-death") val simpleStringOrArray = ymlHelper.cs[useKeyName] @@ -660,7 +660,10 @@ class CustomDropsParser( continue } try { - val cause = DeathCause.valueOf(item.trim { it <= ' ' }.uppercase(Locale.getDefault())) + val cause = if (item.trim().equals("PLAYER_CAUSED", ignoreCase = true)) + "PLAYER_CAUSED" + else + EntityDamageEvent.DamageCause.valueOf(item.trim().uppercase()).toString() cachedModalList.includedList.add(cause) } catch (ignored: IllegalArgumentException) { hadError("Invalid damage cause: $item") @@ -669,14 +672,17 @@ class CustomDropsParser( if (cs2 == null) return cachedModalList for (item in YmlParsingHelper.getListFromConfigItem(cs2, "excluded-list")) { - if (item.trim { it <= ' ' }.isEmpty()) continue + if (item.trim().isEmpty()) continue - if ("*" == item.trim { it <= ' ' }) { + if ("*" == item.trim()) { cachedModalList.excludeAll = true continue } try { - val cause = DeathCause.valueOf(item.trim { it <= ' ' }.uppercase(Locale.getDefault())) + val cause = if (item.trim().equals("PLAYER_CAUSED", ignoreCase = true)) + "PLAYER_CAUSED" + else + EntityDamageEvent.DamageCause.valueOf(item.trim().uppercase()).toString() cachedModalList.excludedList.add(cause) } catch (ignored: IllegalArgumentException) { hadError("Invalid damage cause: $item") diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugType.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugType.kt index 6819f7fa5..97c00453e 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugType.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugType.kt @@ -38,11 +38,6 @@ enum class DebugType { SET_LEVELLED_XP_DROPS, - /** - * Logged when LM is adjusting the nametag of a levelled mob, but fails to do so - */ - PL_UPDATE_NAMETAG, - /** * Misc events related to an entity */ diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/DeathCause.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/DeathCause.kt deleted file mode 100644 index 6a12759f4..000000000 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/DeathCause.kt +++ /dev/null @@ -1,44 +0,0 @@ -package io.github.arcaneplugins.levelledmobs.enums - -/** - * Holds all vanilla death causes in addition to - * a few custom LevelledMobs ones - * - * @author stumper66 - * @since 3.6.3 - */ -enum class DeathCause { - BLOCK_EXPLOSION, - CONTACT, - CRAMMING, - CUSTOM, - DRAGON_BREATH, - DROWNING, - DRYOUT, - ENTITY_ATTACK, - ENTITY_EXPLOSION, - ENTITY_SWEEP_ATTACK, - FALL, - FALLING_BLOCK, - FIRE, - FIRE_TICK, - FLY_INTO_WALL, - FREEZE, - HOT_FLOOR, - KILL, - LAVA, - LIGHTNING, - MAGIC, - MELTING, - POISON, - PROJECTILE, - SONIC_BOOM, - STARVATION, - SUFFOCATION, - SUICIDE, - THORNS, - VOID, - WITHER, - PLAYER_CAUSED, - CAMPFIRE -} \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/InternalSpawnReason.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/InternalSpawnReason.kt new file mode 100644 index 000000000..e2565fdeb --- /dev/null +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/InternalSpawnReason.kt @@ -0,0 +1,6 @@ +package io.github.arcaneplugins.levelledmobs.enums + +enum class InternalSpawnReason { + LM_SUMMON, + LM_SPAWNER +} \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/LevelledMobSpawnReason.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/LevelledMobSpawnReason.kt deleted file mode 100644 index 5145e0cd3..000000000 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/enums/LevelledMobSpawnReason.kt +++ /dev/null @@ -1,56 +0,0 @@ -package io.github.arcaneplugins.levelledmobs.enums - -/** - * A duplicate of the built-in SpawnReason from spigot - * - * @author stumper66 - * @since 3.1.2 - */ -enum class LevelledMobSpawnReason { - NATURAL, - JOCKEY, - - @Deprecated("") - CHUNK_GEN, - LM_SPAWNER, - SPAWNER, - EGG, - SPAWNER_EGG, - LIGHTNING, - BUILD_SNOWMAN, - BUILD_IRONGOLEM, - BUILD_WITHER, - VILLAGE_DEFENSE, - VILLAGE_INVASION, - BREEDING, - SLIME_SPLIT, - REINFORCEMENTS, - METAMORPHOSIS, - NETHER_PORTAL, - DISPENSE_EGG, - INFECTION, - CURED, - OCELOT_BABY, - SILVERFISH_BLOCK, - MOUNT, - TRAP, - ENDER_PEARL, - SHOULDER_ENTITY, - DROWNED, - SHEARED, - EXPLOSION, - RAID, - PATROL, - BEEHIVE, - PIGLIN_ZOMBIFIED, - FROZEN, - COMMAND, - CUSTOM, - SPELL, - LM_SUMMON, - DEFAULT, - DUPLICATION, - TRIAL_SPAWNER, - OMINOUS_ITEM_SPAWNER, - POTION_EFFECT -} \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt index 35a062040..bc869e200 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt @@ -4,12 +4,13 @@ import io.github.arcaneplugins.levelledmobs.LevelledMobs import io.github.arcaneplugins.levelledmobs.MainCompanion import io.github.arcaneplugins.levelledmobs.debug.DebugManager import io.github.arcaneplugins.levelledmobs.debug.DebugType +import io.github.arcaneplugins.levelledmobs.enums.InternalSpawnReason import io.github.arcaneplugins.levelledmobs.enums.LevellableState -import io.github.arcaneplugins.levelledmobs.enums.LevelledMobSpawnReason import io.github.arcaneplugins.levelledmobs.enums.NametagVisibilityEnum import io.github.arcaneplugins.levelledmobs.managers.ExternalCompatibilityManager import io.github.arcaneplugins.levelledmobs.managers.LevelManager import io.github.arcaneplugins.levelledmobs.managers.MobDataManager +import io.github.arcaneplugins.levelledmobs.misc.LMSpawnReason import io.github.arcaneplugins.levelledmobs.misc.NamespacedKeys import io.github.arcaneplugins.levelledmobs.misc.QueueItem import io.github.arcaneplugins.levelledmobs.result.AdditionalLevelInformation @@ -29,6 +30,7 @@ import org.bukkit.event.EventHandler import org.bukkit.event.EventPriority import org.bukkit.event.Listener import org.bukkit.event.entity.CreatureSpawnEvent +import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason import org.bukkit.event.entity.EntitySpawnEvent import org.bukkit.event.entity.SpawnerSpawnEvent import org.bukkit.event.world.ChunkLoadEvent @@ -65,9 +67,8 @@ class EntitySpawnListener : Listener{ if (event is CreatureSpawnEvent) { val spawnReason = event.spawnReason - lmEntity.spawnReason = Utils.adaptVanillaSpawnReason(spawnReason) - if ((spawnReason == CreatureSpawnEvent.SpawnReason.CUSTOM - || spawnReason == CreatureSpawnEvent.SpawnReason.SPAWNER_EGG) && + lmEntity.spawnReason.setMinecraftSpawnReason(lmEntity, spawnReason) + if ((spawnReason == SpawnReason.CUSTOM || spawnReason == SpawnReason.SPAWNER_EGG) && !lmEntity.isLevelled ) { if (main.rulesManager.isPlayerLevellingEnabled() @@ -80,9 +81,8 @@ class EntitySpawnListener : Listener{ lmEntity.free() return } - } else if (event is SpawnerSpawnEvent) { - lmEntity.spawnReason = LevelledMobSpawnReason.SPAWNER - } + } else if (event is SpawnerSpawnEvent) + lmEntity.spawnReason.setMinecraftSpawnReason(lmEntity, SpawnReason.SPAWNER) if (!processMobSpawns) { lmEntity.free() @@ -164,7 +164,7 @@ class EntitySpawnListener : Listener{ } lmEntity.sourceSpawnerName = spawnerName - lmEntity.setSpawnReason(LevelledMobSpawnReason.LM_SPAWNER, true) + lmEntity.spawnReason.setInternalSpawnReason(lmEntity, InternalSpawnReason.LM_SPAWNER, true) val customDropIdFinal = customDropId DebugManager.log(DebugType.LM_MOB_SPAWNER, lmEntity) { @@ -219,7 +219,7 @@ class EntitySpawnListener : Listener{ .persistentDataContainer .has(NamespacedKeys.keySpawner, PersistentDataType.INTEGER) ) { - lmEntity.spawnReason = LevelledMobSpawnReason.LM_SPAWNER + lmEntity.spawnReason.setInternalSpawnReason(lmEntity, InternalSpawnReason.LM_SPAWNER, true) lmSpawnerSpawn(lmEntity, event) return } @@ -229,14 +229,14 @@ class EntitySpawnListener : Listener{ lmEntity ) { "Spawned mob from vanilla spawner" } } else if (event is CreatureSpawnEvent) { - if (event.spawnReason == CreatureSpawnEvent.SpawnReason.SPAWNER || - event.spawnReason == CreatureSpawnEvent.SpawnReason.SLIME_SPLIT + if (event.spawnReason == SpawnReason.SPAWNER || + event.spawnReason == SpawnReason.SLIME_SPLIT ) { return } - if (event.spawnReason == CreatureSpawnEvent.SpawnReason.CUSTOM || - event.spawnReason == CreatureSpawnEvent.SpawnReason.SPAWNER_EGG + if (event.spawnReason == SpawnReason.CUSTOM || + event.spawnReason == SpawnReason.SPAWNER_EGG ) { synchronized(LevelManager.summonedOrSpawnEggs_Lock) { if (main.levelManager.summonedOrSpawnEggs.containsKey( @@ -249,12 +249,10 @@ class EntitySpawnListener : Listener{ } } - if (!lmEntity.reEvaluateLevel) { - lmEntity.spawnReason = Utils.adaptVanillaSpawnReason(event.spawnReason) - } - } else if (event is ChunkLoadEvent) { + if (!lmEntity.reEvaluateLevel) + lmEntity.spawnReason.setMinecraftSpawnReason(lmEntity, event.spawnReason) + } else if (event is ChunkLoadEvent) additionalInfo = AdditionalLevelInformation.FROM_CHUNK_LISTENER - } if (lmEntity.reEvaluateLevel && main.rulesManager.isPlayerLevellingEnabled() && lmEntity.isRulesForceAll diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityTransformListener.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityTransformListener.kt index 4d2aed46b..f1f33f58a 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityTransformListener.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntityTransformListener.kt @@ -4,14 +4,15 @@ import io.github.arcaneplugins.levelledmobs.LevelledMobs import io.github.arcaneplugins.levelledmobs.debug.DebugManager import io.github.arcaneplugins.levelledmobs.result.AdditionalLevelInformation import io.github.arcaneplugins.levelledmobs.debug.DebugType +import io.github.arcaneplugins.levelledmobs.enums.InternalSpawnReason import io.github.arcaneplugins.levelledmobs.enums.LevellableState -import io.github.arcaneplugins.levelledmobs.enums.LevelledMobSpawnReason import io.github.arcaneplugins.levelledmobs.wrappers.LivingEntityWrapper import org.bukkit.entity.Entity import org.bukkit.entity.LivingEntity import org.bukkit.event.EventHandler import org.bukkit.event.EventPriority import org.bukkit.event.Listener +import org.bukkit.event.entity.CreatureSpawnEvent import org.bukkit.event.entity.EntitySpawnEvent import org.bukkit.event.entity.EntityTransformEvent @@ -82,9 +83,9 @@ class EntityTransformListener : Listener { ) { "entity was transformed" } if (useInheritance) { - if (lmEntity.spawnReason == LevelledMobSpawnReason.LM_SPAWNER) { - transformedLmEntity.spawnReason = LevelledMobSpawnReason.SPAWNER - } + val internalSpawnReason = lmEntity.spawnReason.getInternalSpawnReason(lmEntity) + if (internalSpawnReason == InternalSpawnReason.LM_SPAWNER) + transformedLmEntity.spawnReason.setMinecraftSpawnReason(lmEntity, CreatureSpawnEvent.SpawnReason.SPAWNER) main.levelInterface.applyLevelToMob( transformedLmEntity, @@ -109,8 +110,9 @@ class EntityTransformListener : Listener { private fun checkForSlimeSplit(livingEntity: LivingEntity, transformedEntities: List) { val parent = LivingEntityWrapper.getInstance(livingEntity) - if (parent.spawnReason == LevelledMobSpawnReason.DEFAULT || - parent.spawnReason == LevelledMobSpawnReason.SLIME_SPLIT + val minecraftSpawnReason = parent.spawnReason.getMinecraftSpawnReason(parent) + if (minecraftSpawnReason == CreatureSpawnEvent.SpawnReason.DEFAULT || + minecraftSpawnReason == CreatureSpawnEvent.SpawnReason.SLIME_SPLIT ) { parent.free() return @@ -120,7 +122,7 @@ class EntityTransformListener : Listener { if (transformedEntity !is LivingEntity) continue val lew = LivingEntityWrapper.getInstance(transformedEntity) - lew.spawnReason = parent.spawnReason + lew.spawnReason.setLMSpawnReason(parent) lew.free() } diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt index c04097984..28151aaf4 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt @@ -8,8 +8,8 @@ import io.github.arcaneplugins.levelledmobs.customdrops.EquippedItemsInfo import io.github.arcaneplugins.levelledmobs.debug.DebugManager import io.github.arcaneplugins.levelledmobs.debug.DebugType import io.github.arcaneplugins.levelledmobs.enums.Addition +import io.github.arcaneplugins.levelledmobs.enums.InternalSpawnReason import io.github.arcaneplugins.levelledmobs.enums.LevellableState -import io.github.arcaneplugins.levelledmobs.enums.LevelledMobSpawnReason import io.github.arcaneplugins.levelledmobs.enums.MobCustomNameStatus import io.github.arcaneplugins.levelledmobs.enums.MobTamedStatus import io.github.arcaneplugins.levelledmobs.enums.NametagVisibilityEnum @@ -63,6 +63,7 @@ import org.bukkit.entity.LivingEntity import org.bukkit.entity.Player import org.bukkit.entity.Vehicle import org.bukkit.entity.Zombie +import org.bukkit.event.entity.CreatureSpawnEvent import org.bukkit.inventory.ItemStack import org.bukkit.persistence.PersistentDataType import kotlin.math.floor @@ -1245,8 +1246,9 @@ class LevelManager : LevelInterface2 { val main = LevelledMobs.instance if (lmEntity.isLevelled) { - var skipLevelling = (lmEntity.spawnReason == LevelledMobSpawnReason.LM_SPAWNER || - lmEntity.spawnReason == LevelledMobSpawnReason.LM_SUMMON + val internalSpawnReason = lmEntity.spawnReason.getInternalSpawnReason(lmEntity) + var skipLevelling = (internalSpawnReason == InternalSpawnReason.LM_SPAWNER || + internalSpawnReason == InternalSpawnReason.LM_SUMMON ) if (main.rulesManager.isPlayerLevellingEnabled() && !lmEntity.isRulesForceAll && !checkIfReadyForRelevelling( lmEntity @@ -1525,7 +1527,7 @@ class LevelManager : LevelInterface2 { Addition.ATTRIBUTE_ATTACK_KNOCKBACK -> attribute = Attribute.GENERIC_ATTACK_KNOCKBACK Addition.ATTRIBUTE_FOLLOW_RANGE -> attribute = Attribute.GENERIC_FOLLOW_RANGE Addition.ATTRIBUTE_ZOMBIE_SPAWN_REINFORCEMENTS -> { - if (lmEntity.spawnReason == LevelledMobSpawnReason.REINFORCEMENTS) + if (lmEntity.spawnReason.getMinecraftSpawnReason(lmEntity) == CreatureSpawnEvent.SpawnReason.REINFORCEMENTS) continue attribute = Attribute.ZOMBIE_SPAWN_REINFORCEMENTS @@ -1915,7 +1917,7 @@ class LevelManager : LevelInterface2 { } if (isSummoned) { - lmEntity.setSpawnReason(LevelledMobSpawnReason.LM_SUMMON, true) + lmEntity.spawnReason.setInternalSpawnReason(lmEntity, InternalSpawnReason.LM_SUMMON, true) val summonedMobPreLevelEvent = SummonedMobPreLevelEvent( lmEntity.livingEntity, useLevel ) diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/LMSpawnReason.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/LMSpawnReason.kt new file mode 100644 index 000000000..e98577019 --- /dev/null +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/misc/LMSpawnReason.kt @@ -0,0 +1,143 @@ +package io.github.arcaneplugins.levelledmobs.misc + +import io.github.arcaneplugins.levelledmobs.enums.InternalSpawnReason +import io.github.arcaneplugins.levelledmobs.wrappers.LivingEntityWrapper +import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason +import org.bukkit.persistence.PersistentDataType + +class LMSpawnReason { + private var _internalSpawnReason: InternalSpawnReason? = null + private var _minecraftSpawnReason: SpawnReason? = null + private var hasCheckedPDCKey = false + + init { + _minecraftSpawnReason = SpawnReason.DEFAULT + } + + companion object{ + fun validateSpawnReason(name: String): Boolean{ + try { + SpawnReason.valueOf(name) + return true + } + catch (_: Exception){ } + + try { + InternalSpawnReason.valueOf(name) + return true + } + catch (_: Exception){ } + + return false + } + } + + fun getMinecraftSpawnReason(lmEntity: LivingEntityWrapper): SpawnReason?{ + if (!hasCheckedPDCKey) checkPDCKey(lmEntity) + return _minecraftSpawnReason + } + + fun setMinecraftSpawnReason( + lmEntity: LivingEntityWrapper, + spawnReason: SpawnReason?, + doForce: Boolean = false + ){ + _minecraftSpawnReason = spawnReason + _internalSpawnReason = null + setPDCKey(lmEntity, doForce) + } + + fun getInternalSpawnReason(lmEntity: LivingEntityWrapper): InternalSpawnReason?{ + if (!hasCheckedPDCKey) checkPDCKey(lmEntity) + return _internalSpawnReason + } + + fun setInternalSpawnReason( + lmEntity: LivingEntityWrapper?, + spawnReason: InternalSpawnReason?, + doForce: Boolean = false + ){ + _internalSpawnReason = spawnReason + _minecraftSpawnReason = null + if (lmEntity != null) setPDCKey(lmEntity, doForce) + } + + val hasSpawnReason: Boolean + get() = _internalSpawnReason != null || _minecraftSpawnReason != null + + fun clear(){ + _internalSpawnReason = null + _minecraftSpawnReason = null + } + + fun setLMSpawnReason(lmEntity: LivingEntityWrapper){ + val lmSpawnReason = lmEntity.spawnReason + + val minecraftReason = lmSpawnReason.getMinecraftSpawnReason(lmEntity) + if (minecraftReason != null){ + setMinecraftSpawnReason(lmEntity, minecraftReason) + return + } + + val internalReason = lmSpawnReason.getInternalSpawnReason(lmEntity) + if (internalReason != null){ + setInternalSpawnReason(lmEntity, internalReason) + return + } + + clear() + } + + fun checkPDCKey(lmEntity: LivingEntityWrapper){ + hasCheckedPDCKey = true + var temp: String? = null + for (i in 0..1) { + try { + if (lmEntity.pdc.has(NamespacedKeys.spawnReasonKey, PersistentDataType.STRING)) + temp = lmEntity.pdc[NamespacedKeys.spawnReasonKey, PersistentDataType.STRING] + break + } + catch (ignored: ConcurrentModificationException) { + _minecraftSpawnReason = SpawnReason.DEFAULT + _internalSpawnReason = null + } + } + + if (!temp.isNullOrEmpty()){ + var spawnReason: SpawnReason? = null + var internalSpawnReason: InternalSpawnReason? = null + + try { spawnReason = SpawnReason.valueOf(temp) } + catch (_: Exception){ } + + if (spawnReason != null) + _minecraftSpawnReason = spawnReason + else{ + try { internalSpawnReason = InternalSpawnReason.valueOf(temp) } + catch (_: Exception){ } + + if (internalSpawnReason != null) _internalSpawnReason = internalSpawnReason + } + } + } + + private fun setPDCKey(lmEntity: LivingEntityWrapper, doForce: Boolean = false){ + hasCheckedPDCKey = true + val keyValue = if (_internalSpawnReason != null) _internalSpawnReason.toString() + else _minecraftSpawnReason.toString() + if (doForce || !lmEntity.pdc.has(NamespacedKeys.spawnReasonKey, PersistentDataType.STRING)) { + lmEntity.pdc.set( + NamespacedKeys.spawnReasonKey, PersistentDataType.STRING, + keyValue + ) + } + } + + override fun toString(): String { + return if (hasSpawnReason){ + if (_internalSpawnReason != null) _internalSpawnReason!!.toString() + else _minecraftSpawnReason!!.toString() + } else + "UNKNOWN" + } +} \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RuleInfo.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RuleInfo.kt index 7748eef07..f925ee7a3 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RuleInfo.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RuleInfo.kt @@ -5,7 +5,6 @@ import io.github.arcaneplugins.levelledmobs.annotations.DoNotShow import io.github.arcaneplugins.levelledmobs.annotations.ExcludeFromHash import io.github.arcaneplugins.levelledmobs.annotations.RuleFieldInfo import io.github.arcaneplugins.levelledmobs.enums.ExternalCompatibility -import io.github.arcaneplugins.levelledmobs.enums.LevelledMobSpawnReason import io.github.arcaneplugins.levelledmobs.enums.MobCustomNameStatus import io.github.arcaneplugins.levelledmobs.enums.MobTamedStatus import io.github.arcaneplugins.levelledmobs.enums.NametagVisibilityEnum @@ -163,7 +162,7 @@ class RuleInfo( @field:RuleFieldInfo("vanilla bonuses", RuleType.APPLY_SETTING) var vanillaBonuses: CachedModalList? = null @field:RuleFieldInfo("spawn reasons", RuleType.CONDITION) - var conditionsSpawnReasons: CachedModalList? = null + var conditionsSpawnReasons: CachedModalList? = null @field:RuleFieldInfo("structures", RuleType.CONDITION) var conditionsStructure: CachedModalList? = null @field:RuleFieldInfo("player permissions", RuleType.CONDITION) diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesManager.kt index d918bdb51..42063921c 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesManager.kt @@ -916,8 +916,9 @@ class RulesManager { } if (ri.conditionsSpawnReasons != null) { + lmEntity.spawnReason.checkPDCKey(lmEntity) val result = ri.conditionsSpawnReasons!!.isIncludedInList( - lmEntity.spawnReason, lmEntity + lmEntity.spawnReason.toString(), lmEntity ) DebugManager.log( DebugType.CONDITION_SPAWN_REASON, ri, lmEntity, result diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesParser.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesParser.kt index 5b00441ee..563b79475 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesParser.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/rules/RulesParser.kt @@ -8,7 +8,6 @@ import java.util.TreeSet import java.util.regex.Pattern import io.github.arcaneplugins.levelledmobs.LevelledMobs import io.github.arcaneplugins.levelledmobs.enums.Addition -import io.github.arcaneplugins.levelledmobs.enums.LevelledMobSpawnReason import io.github.arcaneplugins.levelledmobs.enums.MobCustomNameStatus import io.github.arcaneplugins.levelledmobs.enums.MobTamedStatus import io.github.arcaneplugins.levelledmobs.enums.ModalListParsingTypes @@ -17,6 +16,7 @@ import io.github.arcaneplugins.levelledmobs.enums.VanillaBonusEnum import io.github.arcaneplugins.levelledmobs.managers.ExternalCompatibilityManager import io.github.arcaneplugins.levelledmobs.misc.CachedModalList import io.github.arcaneplugins.levelledmobs.misc.CustomUniversalGroups +import io.github.arcaneplugins.levelledmobs.misc.LMSpawnReason import io.github.arcaneplugins.levelledmobs.misc.YmlParsingHelper import io.github.arcaneplugins.levelledmobs.rules.FineTuningAttributes.Multiplier import io.github.arcaneplugins.levelledmobs.rules.strategies.CustomStrategy @@ -190,7 +190,8 @@ class RulesParser { private fun buildCachedModalOfType( cs: ConfigurationSection?, defaultValue: CachedModalList<*>?, - type: ModalListParsingTypes + type: ModalListParsingTypes, + ruleInfo: RuleInfo ): CachedModalList<*>? { if (cs == null) { return defaultValue @@ -210,7 +211,7 @@ class RulesParser { ModalListParsingTypes.SPAWN_REASON -> { mlpi.configurationKey = "spawn-reasons" mlpi.itemName = "spawn reason" - mlpi.cachedModalList = CachedModalList() + mlpi.cachedModalList = CachedModalList() } ModalListParsingTypes.VANILLA_BONUSES -> { @@ -225,13 +226,14 @@ class RulesParser { mlpi.cachedModalList = CachedModalList() } } - return buildCachedModal(cs, defaultValue, mlpi) + return buildCachedModal(cs, defaultValue, mlpi, ruleInfo) } private fun buildCachedModal( cs: ConfigurationSection?, defaultValue: CachedModalList<*>?, - mlpi: ModalListParsingInfo + mlpi: ModalListParsingInfo, + ruleInfo: RuleInfo ): CachedModalList<*>? { if (cs == null) return defaultValue @@ -322,13 +324,14 @@ class RulesParser { modalList.add(biome) } ModalListParsingTypes.SPAWN_REASON -> { - val spawnReasonModalList = cachedModalList as CachedModalList + val spawnReasonModalList = cachedModalList as CachedModalList val modalList = if (i == 0) spawnReasonModalList.includedList else spawnReasonModalList.excludedList - val spawnReason = - LevelledMobSpawnReason.valueOf(item.trim { it <= ' ' }.uppercase(Locale.getDefault())) - modalList.add(spawnReason) + if (LMSpawnReason.validateSpawnReason(item.trim().uppercase())) + modalList.add(item.trim().uppercase()) + else + Log.war("rule: ${ruleInfo.ruleName}, invalid spawn reason: $item") } ModalListParsingTypes.VANILLA_BONUSES -> { val vanillaBonusModalList = cachedModalList as CachedModalList @@ -910,7 +913,7 @@ class RulesParser { parsingInfo.conditionsStructure = buildCachedModalOfType( cs, - parsingInfo.conditionsStructure, ModalListParsingTypes.STRUCTURE + parsingInfo.conditionsStructure, ModalListParsingTypes.STRUCTURE, parsingInfo ) as CachedModalList? val mobCustomNameStatus = ymlHelper.getString( "mob-customname-status") @@ -965,8 +968,9 @@ class RulesParser { ) parsingInfo.conditionsSpawnReasons = buildCachedModalOfType( cs, - parsingInfo.conditionsSpawnReasons, ModalListParsingTypes.SPAWN_REASON - ) as CachedModalList? + parsingInfo.conditionsSpawnReasons, ModalListParsingTypes.SPAWN_REASON, + parsingInfo + ) as CachedModalList? parsingInfo.conditionsCustomNames = buildCachedModalListOfString( cs, "custom-names", parsingInfo.conditionsCustomNames @@ -977,7 +981,8 @@ class RulesParser { ) parsingInfo.conditionsBiomes = buildCachedModalOfType( cs, - parsingInfo.conditionsBiomes, ModalListParsingTypes.BIOME + parsingInfo.conditionsBiomes, ModalListParsingTypes.BIOME, + parsingInfo ) as CachedModalList? parsingInfo.conditionsExternalPlugins = buildCachedModalListOfString( cs, @@ -1424,7 +1429,8 @@ class RulesParser { parsingInfo.vanillaBonuses = buildCachedModalOfType( cs, - parsingInfo.vanillaBonuses, ModalListParsingTypes.VANILLA_BONUSES + parsingInfo.vanillaBonuses, ModalListParsingTypes.VANILLA_BONUSES, + parsingInfo ) as CachedModalList? parsingInfo.allMobMultipliers = parseFineTuningValues(cs, parsingInfo.allMobMultipliers) diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/MiscUtils.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/MiscUtils.kt index 07486b8d0..f0106c3cf 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/MiscUtils.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/MiscUtils.kt @@ -69,6 +69,7 @@ object MiscUtils { var methodName = if (ver.majorVersion >= 21) "tags" else "x" val tagsField = compoundTagClazz.getDeclaredField(methodName) + tagsField.trySetAccessible() val tagsMap = tagsField.get(compoundTag) as MutableMap // NBTTagCompound.java diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/Utils.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/Utils.kt index d6c09dd01..d8184e274 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/Utils.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/util/Utils.kt @@ -7,13 +7,11 @@ import java.util.Locale import java.util.regex.Pattern import io.github.arcaneplugins.levelledmobs.LevelledMobs import io.github.arcaneplugins.levelledmobs.MainCompanion -import io.github.arcaneplugins.levelledmobs.enums.DeathCause import io.github.arcaneplugins.levelledmobs.debug.DebugManager import io.github.arcaneplugins.levelledmobs.misc.CachedModalList import io.github.arcaneplugins.levelledmobs.debug.DebugType import io.github.arcaneplugins.levelledmobs.misc.NamespacedKeys import io.github.arcaneplugins.levelledmobs.result.PlayerNetherOrWorldSpawnResult -import io.github.arcaneplugins.levelledmobs.enums.LevelledMobSpawnReason import io.github.arcaneplugins.levelledmobs.rules.MinAndMax import io.github.arcaneplugins.levelledmobs.rules.RulesManager import io.github.arcaneplugins.levelledmobs.wrappers.LivingEntityWrapper @@ -26,7 +24,6 @@ import org.bukkit.command.CommandSender import org.bukkit.entity.Entity import org.bukkit.entity.LivingEntity import org.bukkit.entity.Player -import org.bukkit.event.entity.CreatureSpawnEvent import org.bukkit.persistence.PersistentDataType import org.jetbrains.annotations.Contract import kotlin.math.max @@ -303,8 +300,8 @@ object Utils { } fun isDamageCauseInModalList( - list: CachedModalList, - cause: DeathCause + list: CachedModalList, + cause: String ): Boolean { if (list.includeAll) { return true @@ -375,12 +372,6 @@ object Utils { return AbstractMap.SimpleEntry(first, second) } - fun adaptVanillaSpawnReason( - spawnReason: CreatureSpawnEvent.SpawnReason - ): LevelledMobSpawnReason { - return LevelledMobSpawnReason.valueOf(spawnReason.toString()) - } - fun matchWildcardString( input: String, match: String diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/wrappers/LivingEntityWrapper.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/wrappers/LivingEntityWrapper.kt index 0277ad7b7..309a1e36d 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/wrappers/LivingEntityWrapper.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/wrappers/LivingEntityWrapper.kt @@ -13,8 +13,8 @@ import io.github.arcaneplugins.levelledmobs.debug.DebugType import io.github.arcaneplugins.levelledmobs.misc.NamespacedKeys import io.github.arcaneplugins.levelledmobs.rules.ApplicableRulesResult import io.github.arcaneplugins.levelledmobs.rules.FineTuningAttributes -import io.github.arcaneplugins.levelledmobs.enums.LevelledMobSpawnReason import io.github.arcaneplugins.levelledmobs.enums.NametagVisibilityEnum +import io.github.arcaneplugins.levelledmobs.misc.LMSpawnReason import io.github.arcaneplugins.levelledmobs.rules.RuleInfo import io.github.arcaneplugins.levelledmobs.rules.strategies.StrategyType import io.github.arcaneplugins.levelledmobs.util.Log @@ -66,7 +66,7 @@ class LivingEntityWrapper private constructor() : LivingEntityWrapperBase(), Liv private var _sourceSpawnEggName: String? = null private val applicableRules = mutableListOf() private var spawnedWGRegions: List? = null - private var _spawnReason: LevelledMobSpawnReason? = null + val spawnReason = LMSpawnReason() private var _nametagVisibilityEnum = mutableListOf() private val cacheLock = ReentrantLock() private val pdcLock = ReentrantLock() @@ -191,7 +191,7 @@ class LivingEntityWrapper private constructor() : LivingEntityWrapperBase(), Liv mobExternalTypes.clear() this._spawnedTimeOfDay = null this._shouldShowLMNametag = null - this._spawnReason = null + this.spawnReason.clear() this.deathCause = EntityDamageEvent.DamageCause.CUSTOM this.isBuildingCache = false this.hasCache = false @@ -523,64 +523,6 @@ class LivingEntityWrapper private constructor() : LivingEntityWrapperBase(), Liv return false } - var spawnReason: LevelledMobSpawnReason - set(value) { setSpawnReason(value, false) } - get() { - if (this._spawnReason != null) { - return _spawnReason!! - } - - if (!getPDCLock()) { - return LevelledMobSpawnReason.DEFAULT - } - var hadError = false - var succeeded = false - - try { - for (i in 0..1) { - try { - if (livingEntity.persistentDataContainer - .has(NamespacedKeys.spawnReasonKey, PersistentDataType.STRING) - ) { - this._spawnReason = LevelledMobSpawnReason.valueOf( - pdc[NamespacedKeys.spawnReasonKey, PersistentDataType.STRING]!! - ) - } - succeeded = true - break - } catch (ignored: ConcurrentModificationException) { - hadError = true - try { - Thread.sleep(5) - } catch (ignored2: InterruptedException) { - return LevelledMobSpawnReason.DEFAULT - } - } finally { - releasePDCLock() - } - } - } finally { - releasePDCLock() - } - - if (hadError) { - if (succeeded) { - Log.war( - "Got ConcurrentModificationException in LivingEntityWrapper getting spawn reason, succeeded on retry" - ) - } else { - Log.war( - "Got ConcurrentModificationException (2x) in LivingEntityWrapper getting spawn reason" - ) - } - } - - return if (this._spawnReason != null) - this._spawnReason!! - else - LevelledMobSpawnReason.DEFAULT - } - var skylightLevel: Int set(value) { this._skylightLevelAtSpawn = value @@ -661,28 +603,6 @@ class LivingEntityWrapper private constructor() : LivingEntityWrapperBase(), Liv val currentSkyLightLevel: Int get() = location.block.lightFromSky.toInt() - fun setSpawnReason( - spawnReason: LevelledMobSpawnReason, - doForce: Boolean - ) { - this._spawnReason = spawnReason - - if (!getPDCLock()) { - return - } - - try { - if (doForce || !pdc.has(NamespacedKeys.spawnReasonKey, PersistentDataType.STRING)) { - pdc.set( - NamespacedKeys.spawnReasonKey, PersistentDataType.STRING, - spawnReason.toString() - ) - } - } finally { - releasePDCLock() - } - } - var sourceSpawnerName: String? set(value) { this._sourceSpawnerName = value From 38ec8e454b9b4aafe711c0add7e13f47255c708f Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Wed, 24 Jul 2024 08:27:10 -0500 Subject: [PATCH 13/14] v4.1.0 b46 * remove test message --- .../levelledmobs/customdrops/CustomDropsHandler.kt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt index 891970366..ef2f91e6a 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt @@ -997,13 +997,6 @@ class CustomDropsHandler { if (dropBase.causeOfDeathReqs == null || info.deathCause == null) return false - val test = dropBase.causeOfDeathReqs!!.isIncludedInList( - "PLAYER_CAUSED", - info.lmEntity - ) - - Log.infTemp("wasKilledByPlayer: ${info.wasKilledByPlayer}, $test") - if (info.wasKilledByPlayer && dropBase.causeOfDeathReqs!!.isIncludedInList( "PLAYER_CAUSED", info.lmEntity From 2c7e4f013f61bb44af29cecfa9e433d384a3ffda Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Thu, 25 Jul 2024 12:50:29 -0500 Subject: [PATCH 14/14] v4.1.0 b47 * debug message changes * debug type `AMOUNT_FORMULA` renamed to `CUSTOM_DROPS_FORMULA` * fix error where `overall-chance-formula` doesn't work when used in a drop-table * when using `item-drop-formula` the result will use the `floor` math operation instead of rounding to nearest integer * changed nametag manager logic to handle errors better * new command: /lm debug view-queues --- gradle.properties | 2 +- levelledmobs-plugin/build.gradle.kts | 7 +- .../lib/CommandAPI-9.6.0-snapshot.jar | Bin 0 -> 687881 bytes .../commands/subcommands/DebugSubcommand.kt | 14 +++- .../customdrops/CustomDropProcessingInfo.kt | 23 +++--- .../customdrops/CustomDropsDefaults.kt | 1 - .../customdrops/CustomDropsHandler.kt | 72 ++++++++++-------- .../customdrops/CustomDropsParser.kt | 21 +++-- .../levelledmobs/customdrops/LMItemsParser.kt | 2 +- .../levelledmobs/customdrops/SlidingChance.kt | 2 +- .../levelledmobs/debug/DebugManager.kt | 18 ++++- .../levelledmobs/debug/DebugType.kt | 2 +- .../listeners/EntitySpawnListener.kt | 9 +-- .../levelledmobs/managers/LevelManager.kt | 20 +++-- .../levelledmobs/managers/MobsQueueManager.kt | 12 ++- .../managers/NametagQueueManager.kt | 43 ++++++++--- .../src/main/resources/externalplugins.yml | 3 +- .../src/main/resources/rules.yml | 2 +- 18 files changed, 156 insertions(+), 97 deletions(-) create mode 100644 levelledmobs-plugin/lib/CommandAPI-9.6.0-snapshot.jar diff --git a/gradle.properties b/gradle.properties index 949f0d87f..cf3586e92 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version = 4.1.0 b46 +version = 4.1.0 b47 description = The Ultimate RPG Mob Levelling Solution \ No newline at end of file diff --git a/levelledmobs-plugin/build.gradle.kts b/levelledmobs-plugin/build.gradle.kts index 30732b738..afd0eee05 100644 --- a/levelledmobs-plugin/build.gradle.kts +++ b/levelledmobs-plugin/build.gradle.kts @@ -32,15 +32,18 @@ dependencies { compileOnly("dev.folia:folia-api:1.20.4-R0.1-SNAPSHOT") // https://repo.papermc.io/#browse/browse:maven-public:dev%2Ffolia%2Ffolia-api implementation("com.github.Redempt:Crunch:2.0.3") // https://redempt.dev/com/github/Redempt/Crunch implementation("org.bstats:bstats-bukkit:3.0.2") // https://mvnrepository.com/artifact/org.bstats/bstats-bukkit - //implementation("dev.jorel:commandapi-bukkit-shade:9.3.0") // https://github.com/JorelAli/CommandAPI - implementation("nomaven:CommandAPI:9.6.0-snapshot") // https://github.com/JorelAli/CommandAPI + // implementation("dev.jorel:commandapi-bukkit-shade:9.3.0") // https://github.com/JorelAli/CommandAPI // stumper66's fork: https://github.com/stumper66/CommandAPI + // now found in the lib directory + compileOnly("LibsDisguises:LibsDisguises:10.0.43-SNAPSHOT") // https://repo.md-5.net/#browse/browse:public:LibsDisguises%2FLibsDisguises compileOnly("net.essentialsx:EssentialsX:2.20.1") // https://repo.essentialsx.net/#/releases/net/essentialsx/EssentialsX compileOnly("me.clip:placeholderapi:2.11.5") // https://repo.extendedclip.com/content/repositories/placeholderapi/me/clip/placeholderapi/ compileOnly("com.sk89q.worldguard:worldguard-bukkit:7.1.0-SNAPSHOT") // https://maven.enginehub.org/repo/com/sk89q/worldguard/worldguard-bukkit/ compileOnly("de.tr7zw:item-nbt-api-plugin:2.12.4") // https://mvnrepository.com/artifact/de.tr7zw/item-nbt-api-plugin compileOnly("io.github.stumper66:LM_Items:1.3.0") // https://mvnrepository.com/artifact/io.github.stumper66/LM_Items + + implementation(fileTree("lib") { include("*.jar") }) } repositories { diff --git a/levelledmobs-plugin/lib/CommandAPI-9.6.0-snapshot.jar b/levelledmobs-plugin/lib/CommandAPI-9.6.0-snapshot.jar new file mode 100644 index 0000000000000000000000000000000000000000..1607bf7f2851453b00c57975a456ce1ed9d77917 GIT binary patch literal 687881 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%0Dwy_O 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

P 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�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 z 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

PbaS^=u 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 X&e**yXoaBE1ve3|% literal 0 HcmV?d00001 diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/commands/subcommands/DebugSubcommand.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/commands/subcommands/DebugSubcommand.kt index b44464a6e..2686b3736 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/commands/subcommands/DebugSubcommand.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/commands/subcommands/DebugSubcommand.kt @@ -150,6 +150,10 @@ object DebugSubcommand { .includeSuggestions(ArgumentSuggestions.strings("enable", "disable"))) .executes(CommandExecutor { sender, args -> processDamageDebugOutput(sender, args) }) ) + .withSubcommands( + CommandAPICommand("view-queues") + .executes(CommandExecutor { sender, _ -> viewQueues(sender) }) + ) } private fun processDamageDebugOutput( @@ -249,6 +253,13 @@ object DebugSubcommand { ) } + private fun viewQueues(sender: CommandSender){ + val nametagQueueNum = LevelledMobs.instance.nametagQueueManager.showNumberQueued() + val mobQueueNum = LevelledMobs.instance.mobsQueueManager.showNumberQueued() + + sender.sendMessage("Nametag Manager items: $nametagQueueNum, Mob Queue Manager items: $mobQueueNum") + } + private fun getListenForValues(): MutableList{ val values = mutableListOf() @@ -887,7 +898,6 @@ object DebugSubcommand { "location is ${l.blockX}, ${l.blockY}, ${l.blockZ} in ${l.world.name}" sender.sendMessage("Your location: $locationStr") - Log.inf("Player ${sender.getName()}, location: $locationStr") } private fun getDebugTypes(): MutableList { @@ -900,9 +910,7 @@ object DebugSubcommand { private fun getOutputToTypes(): Array{ val values = mutableListOf() - Log.inf("current output type: ${LevelledMobs.instance.debugManager.outputType}") for (outputType in DebugManager.OutputTypes.entries) { - Log.inf("checking: $outputType") if (LevelledMobs.instance.debugManager.outputType != outputType) values.add(outputType.name.replace("_", "-").lowercase()) } diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropProcessingInfo.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropProcessingInfo.kt index 4ce232b47..6e02b3532 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropProcessingInfo.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropProcessingInfo.kt @@ -9,7 +9,6 @@ import io.github.arcaneplugins.levelledmobs.enums.EquipmentClass import io.github.arcaneplugins.levelledmobs.rules.CustomDropsRuleSet import io.github.arcaneplugins.levelledmobs.wrappers.LivingEntityWrapper import org.bukkit.entity.Player -import org.bukkit.event.entity.EntityDamageEvent import org.bukkit.inventory.ItemStack /** @@ -43,6 +42,7 @@ class CustomDropProcessingInfo { var dropInstance: CustomDropInstance? = null var equippedItemsInfo: EquippedItemsInfo? = null var overallChanceDebugMessage: String = "" + private var debugTypeToUse = DebugType.CUSTOM_DROPS private val groupIDsDroppedAlready: MutableMap = TreeMap(String.CASE_INSENSITIVE_ORDER) private val itemsDroppedById = mutableMapOf() var prioritizedDrops: MutableMap>? = null @@ -63,9 +63,8 @@ class CustomDropProcessingInfo { val count = itemsDroppedById.getOrDefault(dropBase.uid, 0) + amountDropped itemsDroppedById[dropBase.uid] = count - if (equipmentClass != null && dropBase is CustomDropItem && equippedItemsInfo != null){ + if (equipmentClass != null && dropBase is CustomDropItem && equippedItemsInfo != null) EquippedItemsInfo.droppedEquipmentByClass.add(equipmentClass!!) - } } fun getDropItemsCountForGroup(dropBase: CustomDropBase): Int { @@ -85,31 +84,29 @@ class CustomDropProcessingInfo { } fun addDebugMessage(debugType: DebugType, message: String?) { - if (!LevelledMobs.instance.debugManager.isDebugTypeEnabled(debugType)) { + if (!LevelledMobs.instance.debugManager.isDebugTypeEnabled(debugType)) return - } + this.debugTypeToUse = debugType addDebugMessage(message) } fun addDebugMessage(message: String?) { - if (this.debugMessages == null) { + if (this.debugMessages == null) this.debugMessages = StringBuilder() - } - if (debugMessages!!.isNotEmpty()) { - debugMessages!!.append(System.lineSeparator()) - } + if (debugMessages!!.isNotEmpty()) + debugMessages!!.append("\n") debugMessages!!.append(message) } fun writeAnyDebugMessages() { - if (this.debugMessages == null || debugMessages!!.isEmpty()) { + if (this.debugMessages == null || debugMessages!!.isEmpty()) return - } - DebugManager.log(DebugType.CUSTOM_DROPS, lmEntity) { debugMessages.toString() } + DebugManager.logNoComma(debugTypeToUse, lmEntity) { "\n$debugMessages" } debugMessages!!.setLength(0) + this.debugTypeToUse = DebugType.CUSTOM_DROPS } } \ No newline at end of file diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt index 2fc986710..0f84849f1 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsDefaults.kt @@ -1,7 +1,6 @@ package io.github.arcaneplugins.levelledmobs.customdrops import io.github.arcaneplugins.levelledmobs.misc.CachedModalList -import org.bukkit.event.entity.EntityDamageEvent /** * Holds all default values for either all custom drop items diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt index ef2f91e6a..aa33c5100 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsHandler.kt @@ -18,7 +18,6 @@ import io.github.arcaneplugins.levelledmobs.util.SpigotUtils import io.github.arcaneplugins.levelledmobs.util.Utils import io.github.arcaneplugins.levelledmobs.wrappers.LivingEntityWrapper import io.github.arcaneplugins.levelledmobs.wrappers.SchedulerWrapper -import java.util.Locale import java.util.TreeMap import java.util.UUID import java.util.concurrent.ThreadLocalRandom @@ -32,7 +31,7 @@ import org.bukkit.inventory.ItemStack import org.bukkit.inventory.meta.Damageable import org.bukkit.inventory.meta.EnchantmentStorageMeta import org.bukkit.persistence.PersistentDataType -import kotlin.math.roundToInt +import kotlin.math.floor /** * The main CustomDropsclass that holds useful functions for parsing, instantizing and more of @@ -83,27 +82,35 @@ class CustomDropsHandler { } companion object{ - fun evaluateAmountExpression( - amountFormula: String?, + fun evaluateNumberFormula( + numberFormula: String?, friendlyName: String, lmEntity: LivingEntityWrapper ): EvaluationResult { - if (amountFormula.isNullOrEmpty()) return EvaluationResult(1.0, null) + if (numberFormula.isNullOrEmpty()) return EvaluationResult(1.0, null) - val formula = LevelledMobs.instance.levelManager.replaceStringPlaceholdersForFormulas(amountFormula, lmEntity) + val formula = LevelledMobs.instance.levelManager.replaceStringPlaceholdersForFormulas(numberFormula, lmEntity) val evalResult = MobDataManager.evaluateExpression(formula) if (evalResult.hadError){ NotifyManager.notifyOfError("Error evaluating formula for $friendlyName on mob: ${lmEntity.nameIfBaby}, lvl: ${lmEntity.getMobLevel}, ${evalResult.error}") - DebugManager.log(DebugType.AMOUNT_FORMULA, lmEntity){ - "result (error, ${evalResult.error})\n" + - " formulaPre: '$amountFormula'\n" + - " formula: '$formula'" } + DebugManager.log(DebugType.CUSTOM_DROPS_FORMULA, lmEntity){ + val msg = if (formula == numberFormula) + " formula: '$formula'" + else + " formulaPre: '$numberFormula'\n" + + " formula: '$formula'" + + "result (error, ${evalResult.error})\n$msg"} } - DebugManager.log(DebugType.AMOUNT_FORMULA, lmEntity){ - "$friendlyName, result: ${evalResult.result}\n" + - " formulaPre: '$amountFormula'\n" + - " formula: '$formula'" } + DebugManager.log(DebugType.CUSTOM_DROPS_FORMULA, lmEntity){ + val msg = if (formula == numberFormula) + " formula: '$formula'" + else + " formulaPre: '$numberFormula'\n" + + " formula: '$formula'" + + "$friendlyName, result: ${evalResult.result}\n$msg"} return evalResult } @@ -541,13 +548,13 @@ class CustomDropsHandler { else dropBase.itemStack!! info.addDebugMessage( - "&8- &7level: &b${info.lmEntity?.getMobLevel}&7, fromSpawner: &b${info.isSpawner}&7, item: &b${itemStack.type.name}&7, " + + "fromSpawner: &b${info.isSpawner}&7, item: &b${itemStack.type.name}&7, " + "minL: &b${dropBase.minLevel}&7, maxL: &b${dropBase.maxLevel}&7, nospawner: &b${dropBase.noSpawner}&7, dropped: &bfalse" ) } } else if (dropBase is CustomCommand) { info.addDebugMessage( - "&8- custom-cmd: &7level: &b${info.lmEntity?.getMobLevel}&7, fromSpawner: &b${info.isSpawner}&7, minL: &b${dropBase.minLevel}&7, " + + "&8- custom-cmd, fromSpawner: &b${info.isSpawner}&7, minL: &b${dropBase.minLevel}&7, " + "maxL: &b${dropBase.maxLevel}&7, nospawner: &b${dropBase.noSpawner}&7, executed: &bfalse" ) } @@ -582,13 +589,12 @@ class CustomDropsHandler { if (dropBase is CustomDropItem) { info.addDebugMessage( DebugType.CUSTOM_DROPS, - "&8- &7level: &b${info.lmEntity?.getMobLevel}&7, item: &b${dropBase.material.name}&7, " + - "gId: &b${dropBase.groupId}&7, chunk kill count reached" + "item: &b${dropBase.material.name}&7, gId: &b${dropBase.groupId}&7, chunk kill count reached" ) } else { info.addDebugMessage( DebugType.CUSTOM_DROPS, - "&8- &7level: &b${info.lmEntity?.getMobLevel}&7, item: custom command, gId: &b${dropBase.groupId}&7, chunk kill count reached" + "item: custom command, gId: &b${dropBase.groupId}&7, chunk kill count reached" ) } @@ -643,12 +649,12 @@ class CustomDropsHandler { if (main.debugManager.isDebugTypeEnabled(DebugType.CUSTOM_DROPS)) { if (dropBase is CustomDropItem) { info.addDebugMessage( - "&8- &7level: &b${info.lmEntity?.getMobLevel}&7, item: &b${dropBase.material.name}&7, gId: &b${dropBase.groupId}&7, " + + "item: &b${dropBase.material.name}&7, gId: &b${dropBase.groupId}&7, " + "maxDropGroup: &b${info.getItemsDropsByGroup(dropBase)}&7, groupDropCount: &b$groupDroppedCount&7, dropped: &bfalse" ) } else { info.addDebugMessage( - "&8- &7level: &b${info.lmEntity?.getMobLevel}&7, item: custom command, gId: &b${info.getItemsDropsByGroup(dropBase)}&7, " + + "item: custom command, gId: &b${info.getItemsDropsByGroup(dropBase)}&7, " + "maxDropGroup: &b${dropBase.maxDropGroup}&7, groupDropCount: &b$groupDroppedCount&7, executed: &bfalse" ) } @@ -664,7 +670,7 @@ class CustomDropsHandler { if (dropBase.hasGroupId) { if (main.debugManager.isDebugTypeEnabled(DebugType.CUSTOM_DROPS)) { val count = info.getItemsDropsByGroup(dropBase) - var msg = "&8- &7level: &b${info.lmEntity?.getMobLevel}&7, item: command, gId: &b${dropBase.groupId}&7, maxDropGroup: &b${dropBase.maxDropGroup}&7, " + + var msg = "item: command, gId: &b${dropBase.groupId}&7, maxDropGroup: &b${dropBase.maxDropGroup}&7, " + "groupDropCount: &b$count&7, executed: &btrue" if (info.retryNumber > 0) msg += ", retry: ${info.retryNumber}" @@ -673,7 +679,7 @@ class CustomDropsHandler { } } else if (main.debugManager.isDebugTypeEnabled(DebugType.CUSTOM_DROPS)) { var msg = - "&8- &7level: &b${info.lmEntity?.getMobLevel}&7, item: custom command, gId: &b${dropBase.groupId}&7, maxDropGroup: &b${dropBase.maxDropGroup}&7, executed: &btrue" + "item: custom command, gId: &b${dropBase.groupId}&7, maxDropGroup: &b${dropBase.maxDropGroup}&7, executed: &btrue" if (info.retryNumber > 0) msg += ", retry: ${info.retryNumber}" @@ -699,11 +705,11 @@ class CustomDropsHandler { } if (!dropBase.amountFormula.isNullOrEmpty()) - newDropAmount = evaluateAmountExpression( + newDropAmount = floor(evaluateNumberFormula( dropBase.amountFormula, "amount-formula", info.lmEntity!! - ).result.roundToInt() + ).result).toInt() if (dropBase.hasGroupId && info.groupLimits != null) { val gl = info.groupLimits!! @@ -754,7 +760,7 @@ class CustomDropsHandler { if (info.equippedOnly && main.debugManager.isDebugTypeEnabled(DebugType.CUSTOM_EQUIPS)) { val equippedChance = if (dropBase.equippedChance != null) dropBase.equippedChance!!.showMatchedChance() else "0.0" - info.addDebugMessage( + info.addDebugMessage(DebugType.CUSTOM_EQUIPS, "&8 - &7item: &b${newItem.type.name}&7, equipChance: &b$equippedChance&7, chanceRole: " + "&b${Utils.round(info.equippedChanceRole.toDouble(), 4)}&7, equipped: &btrue&7." ) @@ -849,8 +855,8 @@ class CustomDropsHandler { if (equippedChance <= 0.0f || 1.0f - info.equippedChanceRole >= equippedChance) { if (LevelledMobs.instance.debugManager.isDebugTypeEnabled(DebugType.CUSTOM_EQUIPS)) { - info.addDebugMessage( - "&7level: &b${info.lmEntity?.getMobLevel}&7, item: &b${dropItem.material.name}&7, equipchance: " + + info.addDebugMessage(DebugType.CUSTOM_EQUIPS, + "item: &b${dropItem.material.name}&7, equipchance: " + "&b${dropItem.equippedChance?.showMatchedChance()}&7, chancerole: " + "&b${Utils.round(info.equippedChanceRole.toDouble(), 4)}&7, did not make equipped chance" ) @@ -1033,7 +1039,7 @@ class CustomDropsHandler { val itemDescription = if ((dropBase is CustomDropItem)) dropBase.itemStack?.type?.name else "custom command" info.addDebugMessage( - "&8 - &7item: &b$itemDescription&7, not player was provided for item permissions" + "&8 - &7item: &b$itemDescription&7, no player was provided for item permissions" ) } return false @@ -1138,11 +1144,11 @@ class CustomDropsHandler { if (main.debugManager.isDebugTypeEnabled(DebugType.CUSTOM_DROPS)) { if (dropBase is CustomDropItem) { info.addDebugMessage( - "&8 - &7Mob: &b${info.lmEntity?.typeName}&7, item: ${dropBase.material}, PAPI val: $papiResult, matched: $resultStr" + "item: ${dropBase.material}, PAPI val: $papiResult, matched: $resultStr" ) } else { info.addDebugMessage( - "&8 - &7Mob: &b${info.lmEntity?.typeName}&7, (customCommand), PAPI val: $, matched: $resultStr" + "(customCommand), PAPI val: $, matched: $resultStr" ) } } @@ -1154,11 +1160,11 @@ class CustomDropsHandler { if (main.debugManager.isDebugTypeEnabled(DebugType.CUSTOM_DROPS)) { if (dropBase is CustomDropItem) { info.addDebugMessage( - "&8 - &7Mob: &b${info.lmEntity?.typeName}&7, item: ${dropBase.material}, PAPI val: $papiResult, no matches found" + "item: ${dropBase.material}, PAPI val: $papiResult, no matches found" ) } else { info.addDebugMessage( - "&8 - &7Mob: &b${info.lmEntity?.typeName}&7, (customCommand), PAPI val: $papiResult, no matches found", + "(customCommand), PAPI val: $papiResult, no matches found", ) } } diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt index eadb97f94..8537b968b 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/CustomDropsParser.kt @@ -46,9 +46,9 @@ class CustomDropsParser( var defaults = CustomDropsDefaults() private set private var hasMentionedNBTAPIMissing = false - var dropsUtilizeNBTAPI: Boolean = false + var dropsUtilizeNBTAPI = false val invalidExternalItems = mutableListOf() - private var dropInstance: CustomDropInstance = CustomDropInstance(EntityType.AREA_EFFECT_CLOUD) + private var dropInstance = CustomDropInstance(EntityType.AREA_EFFECT_CLOUD) private val defaultName = "default" private val invalidEntityTypesToIgnore = mutableListOf() var hadParsingError = false @@ -298,15 +298,14 @@ class CustomDropsParser( if (checkForMobOverride(itemEntry)) return - if ("overall-chance".equals(materialName, ignoreCase = true)) { - dropInstance.overallChance = parseSlidingChance( - YmlParsingHelper(cs), - "overall-chance", - "overall-chance-formula", - defaults.overallChance - ) - return - } else if ("overall-permission".equals(materialName, ignoreCase = true)) { + dropInstance.overallChance = parseSlidingChance( + YmlParsingHelper(cs), + "overall-chance", + "overall-chance-formula", + defaults.overallChance + ) + + if ("overall-permission".equals(materialName, ignoreCase = true)) { if (itemEntry.value is String) dropInstance.overallPermissions.add((itemEntry.value as String?)!!) else if (itemEntry.value is ArrayList<*>) { diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt index a0fffc7a9..266be1b6a 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/LMItemsParser.kt @@ -81,7 +81,7 @@ class LMItemsParser { itemRequest.itemType = item.externalType itemRequest.amount = item.externalAmount if (info != null && !item.amountFormula.isNullOrEmpty()){ - itemRequest.amount = CustomDropsHandler.evaluateAmountExpression( + itemRequest.amount = CustomDropsHandler.evaluateNumberFormula( item.amountFormula, "amount-formula", info.lmEntity!! diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/SlidingChance.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/SlidingChance.kt index 2ce103e00..8946125c4 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/SlidingChance.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/customdrops/SlidingChance.kt @@ -32,7 +32,7 @@ class SlidingChance : Cloneable { ): Float { if (!formula.isNullOrEmpty()){ // run formula - val evalResult = CustomDropsHandler.evaluateAmountExpression( + val evalResult = CustomDropsHandler.evaluateNumberFormula( formula, formulaFriendlyName, lmEntity diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugManager.kt index 91148ce42..5f785d6b1 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugManager.kt @@ -138,6 +138,14 @@ class DebugManager { instance.logInstance(debugType, null, lmEntity, null, null, msg.get()!!) } + fun logNoComma( + debugType: DebugType, + lmEntity: LivingEntityWrapper?, + msg: Supplier + ) { + instance.logInstance(debugType, null, lmEntity, null, null, msg.get()!!, false) + } + fun log( debugType: DebugType, lmEntity: LivingEntityWrapper?, @@ -218,7 +226,8 @@ class DebugManager { lmInterface: LivingEntityInterface?, entity: Entity?, ruleResult: Boolean?, - origMsg: String + origMsg: String, + useComma: Boolean = true ) { if (!isEnabled) return var msg = origMsg @@ -284,17 +293,20 @@ class DebugManager { val useName = lmEntity?.nameIfBaby ?: lmInterface.typeName val lvl = lmEntity?.getMobLevel ?: (lmInterface.summonedLevel?: 0) val lvlInfo = " (&7lvl $lvl&r)" + val addedComma = if (useComma) ", " else "" msg = if (msg.isEmpty()) "mob: &b$useName&7$lvlInfo" else - "mob: &b$useName&7$lvlInfo, $msg" + "mob: &b$useName&7$lvlInfo$addedComma$msg" } else if (entity != null){ + val addedComma = if (useComma) ", " else "" + msg = if (msg.isEmpty()) "mob: &b${entity.type}&7" else - "mob: &b${entity.type}&7, $msg" + "mob: &b${entity.type}&7$addedComma$msg" } if (ruleResult != null) { diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugType.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugType.kt index 97c00453e..77f5d98f8 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugType.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/debug/DebugType.kt @@ -139,5 +139,5 @@ enum class DebugType { ENCHANTMENT_CHANCES, - AMOUNT_FORMULA + CUSTOM_DROPS_FORMULA } diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt index bc869e200..820310ea8 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/listeners/EntitySpawnListener.kt @@ -10,7 +10,6 @@ import io.github.arcaneplugins.levelledmobs.enums.NametagVisibilityEnum import io.github.arcaneplugins.levelledmobs.managers.ExternalCompatibilityManager import io.github.arcaneplugins.levelledmobs.managers.LevelManager import io.github.arcaneplugins.levelledmobs.managers.MobDataManager -import io.github.arcaneplugins.levelledmobs.misc.LMSpawnReason import io.github.arcaneplugins.levelledmobs.misc.NamespacedKeys import io.github.arcaneplugins.levelledmobs.misc.QueueItem import io.github.arcaneplugins.levelledmobs.result.AdditionalLevelInformation @@ -356,18 +355,14 @@ class EntitySpawnListener : Listener{ ): LevellableState { val levellableState = LevelledMobs.instance.levelInterface.getLevellableState(lmEntity) - if (levellableState != LevellableState.ALLOWED) { + if (levellableState != LevellableState.ALLOWED) return levellableState - } if (event is CreatureSpawnEvent) { // the mob gets processed via SpawnerSpawnEvent - if (event.spawnReason - == CreatureSpawnEvent.SpawnReason.SPAWNER - ) { + if (event.spawnReason == SpawnReason.SPAWNER) return LevellableState.DENIED_OTHER - } DebugManager.log(DebugType.ENTITY_SPAWN, lmEntity) { "instanceof CreatureSpawnListener: &b${event.entityType}" + diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt index 28151aaf4..f079f9fc3 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/LevelManager.kt @@ -260,18 +260,26 @@ class LevelManager : LevelInterface2 { if (evalResult.hadError){ NotifyManager.notifyOfError("Error evaluating formula for construct-level on mob: ${lmEntity.nameIfBaby}, ${evalResult.error}") DebugManager.log(DebugType.CONSTRUCT_LEVEL, lmEntity){ - "result (error, ${evalResult.error})\n" + - " formulaPre: '$formulaPre'\n" + - " formula: '$formula'" } + val msg = if (formula == formulaPre) + " formula: '$formula'" + else + " formulaPre: '$formulaPre'\n" + + " formula: '$formula'" + + "result (error, ${evalResult.error})\n$msg" } throw EvaluationException() } val result = evalResult.result.roundToInt() DebugManager.log(DebugType.CONSTRUCT_LEVEL, lmEntity){ - "result $result\n" + - " formulaPre: '$formulaPre'\n" + - " formula: '$formula'" } + val msg = if (formula == formulaPre) + " formula: '$formula'" + else + " formulaPre: '$formulaPre'\n" + + " formula: '$formula'" + + "result $result\n$msg"} return result } diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/MobsQueueManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/MobsQueueManager.kt index 51547220e..70298c794 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/MobsQueueManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/MobsQueueManager.kt @@ -51,6 +51,15 @@ class MobsQueueManager { } } + fun showNumberQueued(): Int{ + val size: Int + synchronized(queueLock){ + size = queue.size + } + + return size + } + fun clearQueue(){ synchronized(queueLock){ queue.clear() @@ -126,9 +135,6 @@ class MobsQueueManager { private fun processItem(item: QueueItem) { if (!item.lmEntity.isPopulated) return - if (!item.lmEntity.shouldShowLMNametag) { - return - } try{ LevelledMobs.instance.levelManager.entitySpawnListener.preprocessMob(item.lmEntity, item.event) } diff --git a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/NametagQueueManager.kt b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/NametagQueueManager.kt index 63341ec48..618602542 100644 --- a/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/NametagQueueManager.kt +++ b/levelledmobs-plugin/src/main/kotlin/io/github/arcaneplugins/levelledmobs/managers/NametagQueueManager.kt @@ -3,7 +3,6 @@ package io.github.arcaneplugins.levelledmobs.managers import java.time.Instant import java.util.WeakHashMap import java.util.concurrent.LinkedBlockingQueue -import java.util.concurrent.TimeUnit import io.github.arcaneplugins.levelledmobs.LevelledMobs import io.github.arcaneplugins.levelledmobs.misc.NamespacedKeys import io.github.arcaneplugins.levelledmobs.misc.NametagTimerChecker @@ -36,6 +35,7 @@ class NametagQueueManager { private var hasLibsDisguisesInstalled = false private val queue = LinkedBlockingQueue() val nametagSenderHandler = NametagSenderHandler() + private val queueLock = Any() fun load(){ hasLibsDisguisesInstalled = ExternalCompatibilityManager.hasLibsDisguisesInstalled @@ -46,19 +46,25 @@ class NametagQueueManager { get() = this.nametagSender != null fun start() { - if (isRunning) { - return - } + if (isRunning) return + doThread = true isRunning = true val scheduler = SchedulerWrapper { + var hadError = false try { mainThread() - } catch (e: InterruptedException) { - e.printStackTrace() + } catch (e: Exception) { + if (e !is InterruptedException){ + hadError = true + e.printStackTrace() + } } - Log.inf("Nametag update queue Manager has exited") + if (hadError) + Log.sev("Nametag update queue Manager has exited with error") + else + Log.inf("Nametag update queue Manager has exited") } scheduler.run() } @@ -74,13 +80,32 @@ class NametagQueueManager { return item.lmEntity.inUseCount.getAndIncrement() - queue.offer(item) + synchronized(queueLock){ + queue.offer(item) + } + } + + fun showNumberQueued(): Int{ + val size: Int + synchronized(queueLock){ + size = queue.size + } + + return size } @Throws(InterruptedException::class) private fun mainThread() { while (doThread) { - val item = queue.poll(200, TimeUnit.MILLISECONDS) ?: continue + val item: QueueItem? + + synchronized(queueLock){ + item = queue.poll() + } + if (item == null) { + Thread.sleep(2L) + continue + } val scheduler = SchedulerWrapper( item.lmEntity.livingEntity diff --git a/levelledmobs-plugin/src/main/resources/externalplugins.yml b/levelledmobs-plugin/src/main/resources/externalplugins.yml index 730b966cf..0577256d7 100644 --- a/levelledmobs-plugin/src/main/resources/externalplugins.yml +++ b/levelledmobs-plugin/src/main/resources/externalplugins.yml @@ -67,11 +67,12 @@ combat-pets: # placeholder-name: '%combat-pets-name%' Deadly-Disasters: - friendly-name: 'Deadly-Disasters' + friendly-name: 'deadly-disasters' plugin-name: 'DeadlyDisasters' key-name: 'customentity' key-type: 'PDC' requirement: 'exists' +# placeholder-name: '%deadly-disasters-name%' gadgets-menu: friendly-name: 'gadgets-menu' diff --git a/levelledmobs-plugin/src/main/resources/rules.yml b/levelledmobs-plugin/src/main/resources/rules.yml index 936f16bb0..0d5e8394f 100644 --- a/levelledmobs-plugin/src/main/resources/rules.yml +++ b/levelledmobs-plugin/src/main/resources/rules.yml @@ -485,7 +485,7 @@ custom-rules: use-preset: challenge-vanilla, nametag-minimized conditions: external-plugins: - included-list: ['eco-bosses', 'mythic-mobs', 'elite-mobs', 'infernal-mobs', 'citizens', 'shop-keepers', 'simple-pets', 'elite-bosses', 'blood-night', 'combat-pets', 'Deadly-Disasters', 'gadgets-menu', 'my-pet'] + included-list: ['eco-bosses', 'mythic-mobs', 'elite-mobs', 'infernal-mobs', 'citizens', 'shop-keepers', 'simple-pets', 'elite-bosses', 'blood-night', 'combat-pets', 'deadly-disasters', 'gadgets-menu', 'my-pet'] #excluded-list: ['*'] - custom-rule: 'Player Farm Item and XP Limiter'