4
4
import gg .quartzdev .qmobsdropeggs .qMobsDropEggs ;
5
5
import gg .quartzdev .qmobsdropeggs .util .qLogger ;
6
6
import gg .quartzdev .qmobsdropeggs .util .qUtil ;
7
+ import net .kyori .adventure .text .Component ;
7
8
import org .bukkit .Bukkit ;
8
9
import org .bukkit .Material ;
9
10
import org .bukkit .World ;
@@ -34,34 +35,43 @@ public EntityDeathListener(){
34
35
35
36
@ EventHandler
36
37
public void onEntityDeath (EntityDeathEvent event ){
38
+ Bukkit .getServer ().sendMessage (Component .text ("entity died" ));
37
39
Entity entity = event .getEntity ();
38
40
World world = entity .getWorld ();
39
41
40
42
// World check
41
43
if (config .isDisabledWorld (world )) return ;
44
+ Bukkit .getServer ().sendMessage (Component .text ("not disabled world" ));
42
45
43
46
Player player = event .getEntity ().getKiller ();
44
47
if (config .requiresPlayerKiller () && player == null ) return ;
48
+ Bukkit .getServer ().sendMessage (Component .text ("doesnt require player" ));
45
49
46
50
// If a player killed the mob, check if they have the permission
47
51
if (player != null && config .killerRequiresPermission ()) {
52
+ Bukkit .getServer ().sendMessage (Component .text ("player not null and requires permissions" ));
48
53
// Case-sensitive - I was dumb and had it 'qMDE' so check both to maintain backwards compatibility
49
54
if (!player .hasPermission ("qmde.killer" ) && !player .hasPermission ("qMDE.killer" )) return ;
50
55
}
56
+ Bukkit .getServer ().sendMessage (Component .text ("player has permission" ));
51
57
52
58
// Spawn Reason check
53
59
SpawnReason spawnReason = entity .getEntitySpawnReason ();
54
60
if (config .getBlacklistedSpawnReasons ().contains (spawnReason )){
61
+ Bukkit .getServer ().sendMessage (Component .text ("spawn reason is blacklisted" ));
55
62
if (!config .invertBlacklistedSpawnReasons ()){
56
63
return ;
57
64
}
65
+ Bukkit .getServer ().sendMessage (Component .text ("but we're inverting blacklist" ));
58
66
}
59
67
60
68
// Mob check
61
69
EntityType mobType = entity .getType ();
62
70
if (config .isBlacklistedMob (mobType )) return ;
71
+ Bukkit .getServer ().sendMessage (Component .text ("not a blacklisted mob" ));
63
72
ItemStack spawnEgg = createSpawnEgg (entity .getType ());
64
73
if (spawnEgg == null ) return ;
74
+ Bukkit .getServer ().sendMessage (Component .text ("found a spawn egg for this mob type" ));
65
75
66
76
// RNG
67
77
ThreadLocalRandom random = ThreadLocalRandom .current ();
@@ -71,18 +81,28 @@ public void onEntityDeath(EntityDeathEvent event){
71
81
72
82
// Looting check
73
83
if (player != null && config .factoringLooting ()) {
84
+ Bukkit .getServer ().sendMessage (Component .text ("player not null so we're factoring looting" ));
74
85
if (player .getInventory ().getItemInMainHand ().containsEnchantment (Enchantment .LOOTING )) {
86
+ Bukkit .getServer ().sendMessage (Component .text ("player has looting" ));
75
87
int lootingLevel = player .getInventory ().getItemInMainHand ().getEnchantmentLevel (Enchantment .LOOTING );
76
88
if (config .complexLooting () && dropChance < config .complexLootingBreakpoint ())
77
89
dropChance = dropChance * (1 + lootingLevel );
78
90
else
79
91
dropChance = dropChance + lootingLevel ;
80
92
}
81
93
}
94
+
95
+ Bukkit .getServer ().sendMessage (Component .text ("looting math finished" ));
82
96
// Checks RNG
83
97
if (rng <= dropChance )
98
+ {
99
+
100
+ Bukkit .getServer ().sendMessage (Component .text ("rng passed agg dropping" ));
84
101
// Adds spawn egg
85
102
event .getDrops ().add (spawnEgg );
103
+ return ;
104
+ }
105
+ Bukkit .getServer ().sendMessage (Component .text ("rng failed not dropping egg" ));
86
106
}
87
107
88
108
private @ Nullable ItemStack createSpawnEgg (EntityType type ){
0 commit comments