|
@@ -10,6 +10,8 @@ import com.gmail.nossr50.events.fake.FakeEntityDamageEvent;
|
|
import com.gmail.nossr50.events.fake.FakeEntityTameEvent;
|
|
import com.gmail.nossr50.events.fake.FakeEntityTameEvent;
|
|
import com.gmail.nossr50.events.skills.rupture.McMMOEntityDamageByRuptureEvent;
|
|
import com.gmail.nossr50.events.skills.rupture.McMMOEntityDamageByRuptureEvent;
|
|
import com.gmail.nossr50.mcMMO;
|
|
import com.gmail.nossr50.mcMMO;
|
|
|
|
+import com.gmail.nossr50.metadata.MobMetaFlagType;
|
|
|
|
+import com.gmail.nossr50.metadata.MobMetadataService;
|
|
import com.gmail.nossr50.party.PartyManager;
|
|
import com.gmail.nossr50.party.PartyManager;
|
|
import com.gmail.nossr50.runnables.TravelingBlockMetaCleanup;
|
|
import com.gmail.nossr50.runnables.TravelingBlockMetaCleanup;
|
|
import com.gmail.nossr50.skills.archery.Archery;
|
|
import com.gmail.nossr50.skills.archery.Archery;
|
|
@@ -19,8 +21,6 @@ import com.gmail.nossr50.skills.taming.Taming;
|
|
import com.gmail.nossr50.skills.taming.TamingManager;
|
|
import com.gmail.nossr50.skills.taming.TamingManager;
|
|
import com.gmail.nossr50.skills.unarmed.UnarmedManager;
|
|
import com.gmail.nossr50.skills.unarmed.UnarmedManager;
|
|
import com.gmail.nossr50.util.*;
|
|
import com.gmail.nossr50.util.*;
|
|
-import com.gmail.nossr50.util.compat.layers.persistentdata.AbstractPersistentDataLayer;
|
|
|
|
-import com.gmail.nossr50.util.compat.layers.persistentdata.MobMetaFlagType;
|
|
|
|
import com.gmail.nossr50.util.player.NotificationManager;
|
|
import com.gmail.nossr50.util.player.NotificationManager;
|
|
import com.gmail.nossr50.util.player.UserManager;
|
|
import com.gmail.nossr50.util.player.UserManager;
|
|
import com.gmail.nossr50.util.random.RandomChanceUtil;
|
|
import com.gmail.nossr50.util.random.RandomChanceUtil;
|
|
@@ -51,7 +51,7 @@ import org.jetbrains.annotations.NotNull;
|
|
|
|
|
|
public class EntityListener implements Listener {
|
|
public class EntityListener implements Listener {
|
|
private final mcMMO pluginRef;
|
|
private final mcMMO pluginRef;
|
|
- private final @NotNull AbstractPersistentDataLayer persistentDataLayer;
|
|
|
|
|
|
+ private final @NotNull MobMetadataService mobMetadataService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* We can use this {@link NamespacedKey} for {@link Enchantment} comparisons to
|
|
* We can use this {@link NamespacedKey} for {@link Enchantment} comparisons to
|
|
@@ -61,7 +61,7 @@ public class EntityListener implements Listener {
|
|
|
|
|
|
public EntityListener(final mcMMO pluginRef) {
|
|
public EntityListener(final mcMMO pluginRef) {
|
|
this.pluginRef = pluginRef;
|
|
this.pluginRef = pluginRef;
|
|
- persistentDataLayer = mcMMO.getCompatibilityManager().getPersistentDataLayer();
|
|
|
|
|
|
+ mobMetadataService = mcMMO.getMetadataService().getMobMetadataService();
|
|
}
|
|
}
|
|
|
|
|
|
// @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
|
// @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
|
@@ -94,11 +94,11 @@ public class EntityListener implements Listener {
|
|
LivingEntity livingEntity = (LivingEntity) event.getEntity();
|
|
LivingEntity livingEntity = (LivingEntity) event.getEntity();
|
|
|
|
|
|
//Transfer metadata keys from mob-spawned mobs to new mobs
|
|
//Transfer metadata keys from mob-spawned mobs to new mobs
|
|
- if(persistentDataLayer.hasMobFlags(livingEntity)) {
|
|
|
|
|
|
+ if(mobMetadataService.hasMobFlags(livingEntity)) {
|
|
for(Entity entity : event.getTransformedEntities()) {
|
|
for(Entity entity : event.getTransformedEntities()) {
|
|
if(entity instanceof LivingEntity) {
|
|
if(entity instanceof LivingEntity) {
|
|
LivingEntity transformedEntity = (LivingEntity) entity;
|
|
LivingEntity transformedEntity = (LivingEntity) entity;
|
|
- persistentDataLayer.addMobFlags(livingEntity, transformedEntity);
|
|
|
|
|
|
+ mobMetadataService.addMobFlags(livingEntity, transformedEntity);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -122,8 +122,8 @@ public class EntityListener implements Listener {
|
|
if(event.getEntity() instanceof Enderman) {
|
|
if(event.getEntity() instanceof Enderman) {
|
|
Enderman enderman = (Enderman) event.getEntity();
|
|
Enderman enderman = (Enderman) event.getEntity();
|
|
|
|
|
|
- if(!persistentDataLayer.hasMobFlag(MobMetaFlagType.EXPLOITED_ENDERMEN, enderman)) {
|
|
|
|
- persistentDataLayer.flagMetadata(MobMetaFlagType.EXPLOITED_ENDERMEN, enderman);
|
|
|
|
|
|
+ if(!mobMetadataService.hasMobFlag(MobMetaFlagType.EXPLOITED_ENDERMEN, enderman)) {
|
|
|
|
+ mobMetadataService.flagMetadata(MobMetaFlagType.EXPLOITED_ENDERMEN, enderman);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -729,11 +729,11 @@ public class EntityListener implements Listener {
|
|
}
|
|
}
|
|
|
|
|
|
private void trackSpawnedAndPassengers(LivingEntity livingEntity, MobMetaFlagType mobMetaFlagType) {
|
|
private void trackSpawnedAndPassengers(LivingEntity livingEntity, MobMetaFlagType mobMetaFlagType) {
|
|
- persistentDataLayer.flagMetadata(mobMetaFlagType, livingEntity);
|
|
|
|
|
|
+ mobMetadataService.flagMetadata(mobMetaFlagType, livingEntity);
|
|
|
|
|
|
for(Entity passenger : livingEntity.getPassengers()) {
|
|
for(Entity passenger : livingEntity.getPassengers()) {
|
|
if(passenger != null) {
|
|
if(passenger != null) {
|
|
- persistentDataLayer.flagMetadata(mobMetaFlagType, livingEntity);
|
|
|
|
|
|
+ mobMetadataService.flagMetadata(mobMetaFlagType, livingEntity);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -741,7 +741,7 @@ public class EntityListener implements Listener {
|
|
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
|
|
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
|
|
public void onEntityBreed(EntityBreedEvent event) {
|
|
public void onEntityBreed(EntityBreedEvent event) {
|
|
if(ExperienceConfig.getInstance().isCOTWBreedingPrevented()) {
|
|
if(ExperienceConfig.getInstance().isCOTWBreedingPrevented()) {
|
|
- if(persistentDataLayer.hasMobFlag(MobMetaFlagType.COTW_SUMMONED_MOB, event.getFather()) || persistentDataLayer.hasMobFlag(MobMetaFlagType.COTW_SUMMONED_MOB, event.getMother())) {
|
|
|
|
|
|
+ if(mobMetadataService.hasMobFlag(MobMetaFlagType.COTW_SUMMONED_MOB, event.getFather()) || mobMetadataService.hasMobFlag(MobMetaFlagType.COTW_SUMMONED_MOB, event.getMother())) {
|
|
event.setCancelled(true);
|
|
event.setCancelled(true);
|
|
Animals mom = (Animals) event.getMother();
|
|
Animals mom = (Animals) event.getMother();
|
|
Animals father = (Animals) event.getFather();
|
|
Animals father = (Animals) event.getFather();
|
|
@@ -1007,12 +1007,12 @@ public class EntityListener implements Listener {
|
|
|
|
|
|
if (!UserManager.hasPlayerDataKey(player)
|
|
if (!UserManager.hasPlayerDataKey(player)
|
|
|| (ExperienceConfig.getInstance().isNPCInteractionPrevented() && Misc.isNPCEntityExcludingVillagers(livingEntity))
|
|
|| (ExperienceConfig.getInstance().isNPCInteractionPrevented() && Misc.isNPCEntityExcludingVillagers(livingEntity))
|
|
- || persistentDataLayer.hasMobFlag(MobMetaFlagType.EGG_MOB, livingEntity)
|
|
|
|
- || persistentDataLayer.hasMobFlag(MobMetaFlagType.MOB_SPAWNER_MOB, livingEntity)) {
|
|
|
|
|
|
+ || mobMetadataService.hasMobFlag(MobMetaFlagType.EGG_MOB, livingEntity)
|
|
|
|
+ || mobMetadataService.hasMobFlag(MobMetaFlagType.MOB_SPAWNER_MOB, livingEntity)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- persistentDataLayer.flagMetadata(MobMetaFlagType.PLAYER_TAMED_MOB, livingEntity);
|
|
|
|
|
|
+ mobMetadataService.flagMetadata(MobMetaFlagType.PLAYER_TAMED_MOB, livingEntity);
|
|
|
|
|
|
//Profile not loaded
|
|
//Profile not loaded
|
|
if(UserManager.getPlayer(player) == null)
|
|
if(UserManager.getPlayer(player) == null)
|