Merge branch 'development'

This commit is contained in:
ceze88 2023-05-06 09:25:59 +02:00
commit 6bce1980f8
2 changed files with 14 additions and 14 deletions

View File

@ -2,7 +2,7 @@
<groupId>com.songoda</groupId> <groupId>com.songoda</groupId>
<artifactId>UltimateStacker</artifactId> <artifactId>UltimateStacker</artifactId>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<version>2.4.1</version> <version>2.4.2</version>
<build> <build>
<defaultGoal>clean install</defaultGoal> <defaultGoal>clean install</defaultGoal>
<finalName>UltimateStacker-${project.version}</finalName> <finalName>UltimateStacker-${project.version}</finalName>
@ -122,7 +122,7 @@
<dependency> <dependency>
<groupId>com.songoda</groupId> <groupId>com.songoda</groupId>
<artifactId>SongodaCore</artifactId> <artifactId>SongodaCore</artifactId>
<version>2.6.20</version> <version>2.6.21</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>

View File

@ -17,6 +17,7 @@ import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityDamageEvent;
@ -56,12 +57,8 @@ public class DeathListeners implements Listener {
} }
@EventHandler @EventHandler(priority = EventPriority.LOW)
public void onEntityDeath(EntityDeathEvent event) { public void onEntityDeath(EntityDeathEvent event) {
boolean custom = Settings.CUSTOM_DROPS.getBoolean();
if (!custom) return; //Compatibility with other plugins
LivingEntity entity = event.getEntity(); LivingEntity entity = event.getEntity();
if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_13) if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_13)
@ -75,25 +72,28 @@ public class DeathListeners implements Listener {
//Respect MythicMobs //Respect MythicMobs
if (plugin.getCustomEntityManager().isCustomEntity(entity)) return; if (plugin.getCustomEntityManager().isCustomEntity(entity)) return;
boolean custom = Settings.CUSTOM_DROPS.getBoolean();
List<Drop> drops = custom ? plugin.getLootablesManager().getDrops(event.getEntity())
: event.getDrops().stream().map(Drop::new).collect(Collectors.toList());
List<Drop> drops = plugin.getLootablesManager().getDrops(event.getEntity()); if (custom) {
for (ItemStack item : new ArrayList<>(event.getDrops())) {
for (ItemStack item : new ArrayList<>(event.getDrops())) { if (shouldDrop(event.getEntity(), item.getType()))
if (shouldDrop(event.getEntity(), item.getType())) drops.add(new Drop(item));
drops.add(new Drop(item)); }
} }
if (plugin.getCustomEntityManager().getCustomEntity(entity) == null) { if (plugin.getCustomEntityManager().getCustomEntity(entity) == null) {
//replace %player% in drop commands with the last player to damage the entity
//Run commands here, or it will be buggy //Run commands here, or it will be buggy
runCommands(entity, drops); runCommands(entity, drops);
if (plugin.getEntityStackManager().isStackedEntity(event.getEntity())) { if (plugin.getEntityStackManager().isStackedEntity(event.getEntity())) {
plugin.getEntityStackManager().getStack(event.getEntity()).onDeath(entity, drops, true, event.getDroppedExp(), event); plugin.getEntityStackManager().getStack(event.getEntity()).onDeath(entity, drops, custom, event.getDroppedExp(), event);
} else { } else {
DropUtils.processStackedDrop(event.getEntity(), drops, event); DropUtils.processStackedDrop(event.getEntity(), drops, event);
} }
} }
finalItems.remove(entity.getUniqueId()); finalItems.remove(entity.getUniqueId());
} }