fix, refactor: removed unneccesary logic of saving Angry state to persistent storage

This commit is contained in:
2026-07-31 04:05:41 +03:00
parent 64e25024fe
commit bc1e1d28b9
5 changed files with 7 additions and 18 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
.idea/artifacts/RPF_debug.xml
target/*

View File

@@ -8,7 +8,7 @@ class RPF : JavaPlugin(), Listener {
override fun onEnable() { override fun onEnable() {
server.pluginManager.registerEvents(ZombifiedPiglinLootRestore(this, logger), server.pluginManager.registerEvents(ZombifiedPiglinLootRestore(this, logger),
this) this)
server.pluginManager.registerEvents(ZombifiedPiglinSpearDisable(this), server.pluginManager.registerEvents(ZombifiedPiglinSpearDisable(),
this) this)
logger.info("${server.name} has been enabled!") logger.info("${server.name} has been enabled!")
} }

View File

@@ -4,12 +4,10 @@ import org.bukkit.Material
import org.bukkit.NamespacedKey import org.bukkit.NamespacedKey
import org.bukkit.enchantments.Enchantment import org.bukkit.enchantments.Enchantment
import org.bukkit.entity.PigZombie import org.bukkit.entity.PigZombie
import org.bukkit.entity.Player
import org.bukkit.event.EventHandler import org.bukkit.event.EventHandler
import org.bukkit.event.EventPriority import org.bukkit.event.EventPriority
import org.bukkit.event.Listener import org.bukkit.event.Listener
import org.bukkit.event.entity.EntityDeathEvent import org.bukkit.event.entity.EntityDeathEvent
import org.bukkit.event.entity.EntityTargetLivingEntityEvent
import org.bukkit.inventory.EntityEquipment import org.bukkit.inventory.EntityEquipment
import org.bukkit.inventory.EquipmentSlot import org.bukkit.inventory.EquipmentSlot
import org.bukkit.inventory.ItemStack import org.bukkit.inventory.ItemStack
@@ -33,8 +31,7 @@ class ZombifiedPiglinLootRestore(plugin: JavaPlugin, val logger: Logger) : Liste
logger.info("Piglin vanilla anger: ${piglin.isAngry}, Piglin NBT data anger: " + logger.info("Piglin vanilla anger: ${piglin.isAngry}, Piglin NBT data anger: " +
"${piglin.persistentDataContainer.has(aggroKey, PersistentDataType.BYTE)}") "${piglin.persistentDataContainer.has(aggroKey, PersistentDataType.BYTE)}")
if (!(piglin.isAngry || piglin.persistentDataContainer.has(aggroKey, if (!piglin.isAngry) return
PersistentDataType.BYTE))) return
val rng = ThreadLocalRandom.current() val rng = ThreadLocalRandom.current()
@@ -70,14 +67,6 @@ class ZombifiedPiglinLootRestore(plugin: JavaPlugin, val logger: Logger) : Liste
event.droppedExp = exp event.droppedExp = exp
} }
@EventHandler(ignoreCancelled = true)
fun onEntityTarget(event: EntityTargetLivingEntityEvent) {
val piglin = event.entity as? PigZombie ?: return
if (event.target !is Player) return
piglin.persistentDataContainer.set(aggroKey, PersistentDataType.BYTE,
1)
}
private fun randomlyDamaged(item: ItemStack, rng: ThreadLocalRandom): private fun randomlyDamaged(item: ItemStack, rng: ThreadLocalRandom):
ItemStack { ItemStack {
val meta = item.itemMeta as? Damageable ?: return item val meta = item.itemMeta as? Damageable ?: return item

View File

@@ -6,10 +6,8 @@ import org.bukkit.event.EventHandler
import org.bukkit.event.Listener import org.bukkit.event.Listener
import org.bukkit.event.entity.EntitySpawnEvent import org.bukkit.event.entity.EntitySpawnEvent
import org.bukkit.inventory.ItemStack import org.bukkit.inventory.ItemStack
import org.bukkit.plugin.java.JavaPlugin
import java.util.logging.Logger
class ZombifiedPiglinSpearDisable(plugin: JavaPlugin) : Listener { class ZombifiedPiglinSpearDisable() : Listener {
@EventHandler @EventHandler
private fun onEntitySpawn(event: EntitySpawnEvent){ private fun onEntitySpawn(event: EntitySpawnEvent){

View File

@@ -1,4 +1,4 @@
name: ReturnPiglinXP name: ReturnPiglinFarms
description: $description description: $description
version: '${version}' version: '${version}'
@@ -7,4 +7,4 @@ api-version: '1.21'
load: STARTUP load: STARTUP
authors: [ Lisoveliy ] authors: [ Lisoveliy ]
website: https://git.lisdev.su website: https://git.lisdev.su/Lisoveliy/RPF