Merge branch 'development'
This commit is contained in:
commit
6bce1980f8
4
pom.xml
4
pom.xml
|
@ -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>
|
||||||
|
|
||||||
|
|
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue