mirror of
https://gitlab.com/phoenix-dvpmt/mmocore.git
synced 2025-02-12 13:01:32 +01:00
Added an option to prevent spawner mobs from giving xp
This commit is contained in:
parent
96045d4fdf
commit
a72699a6e4
@ -272,6 +272,9 @@ public class MMOCore extends JavaPlugin {
|
|||||||
if (getConfig().getBoolean("health-scale.enabled"))
|
if (getConfig().getBoolean("health-scale.enabled"))
|
||||||
Bukkit.getPluginManager().registerEvents(new HealthScale(), this);
|
Bukkit.getPluginManager().registerEvents(new HealthScale(), this);
|
||||||
|
|
||||||
|
if (getConfig().getBoolean("prevent-spawner-xp"))
|
||||||
|
Bukkit.getPluginManager().registerEvents(new HealthScale(), this);
|
||||||
|
|
||||||
if (getConfig().getBoolean("death-exp-loss.enabled"))
|
if (getConfig().getBoolean("death-exp-loss.enabled"))
|
||||||
Bukkit.getPluginManager().registerEvents(new DeathExperienceLoss(), this);
|
Bukkit.getPluginManager().registerEvents(new DeathExperienceLoss(), this);
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@ public class KillMobExperienceSource extends SpecificExperienceSource<Entity> {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void a(EntityKillEntityEvent event) {
|
public void a(EntityKillEntityEvent event) {
|
||||||
if (event.getEntity() instanceof Player && !event.getEntity().hasMetadata("NPC")) {
|
if (event.getEntity() instanceof Player && !event.getEntity().hasMetadata("NPC")) {
|
||||||
|
if(event.getTarget().hasMetadata("spawner_spawned")) return;
|
||||||
PlayerData data = PlayerData.get((Player) event.getEntity());
|
PlayerData data = PlayerData.get((Player) event.getEntity());
|
||||||
|
|
||||||
for (KillMobExperienceSource source : getSources())
|
for (KillMobExperienceSource source : getSources())
|
||||||
|
@ -0,0 +1,17 @@
|
|||||||
|
package net.Indyuce.mmocore.listener.option;
|
||||||
|
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.entity.CreatureSpawnEvent;
|
||||||
|
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
|
||||||
|
import org.bukkit.metadata.FixedMetadataValue;
|
||||||
|
|
||||||
|
import net.Indyuce.mmocore.MMOCore;
|
||||||
|
|
||||||
|
public class NoSpawnerEXP implements Listener {
|
||||||
|
@EventHandler
|
||||||
|
public void a(CreatureSpawnEvent event) {
|
||||||
|
if(event.getSpawnReason() == SpawnReason.SPAWNER)
|
||||||
|
event.getEntity().setMetadata("spawner_spawned", new FixedMetadataValue(MMOCore.plugin, true));
|
||||||
|
}
|
||||||
|
}
|
@ -98,6 +98,9 @@ hotbar-swap: true
|
|||||||
# This replaces anvil inputs by chat inputs.
|
# This replaces anvil inputs by chat inputs.
|
||||||
use-chat-input: true
|
use-chat-input: true
|
||||||
|
|
||||||
|
# Prevents mobs spawned from spawners from giving XP points.
|
||||||
|
prevent-spawner-xp: true
|
||||||
|
|
||||||
# Change this to the name of the color you want for
|
# Change this to the name of the color you want for
|
||||||
# the different resource bar placeholders
|
# the different resource bar placeholders
|
||||||
resource-bar-colors:
|
resource-bar-colors:
|
||||||
|
Loading…
Reference in New Issue
Block a user