Added custom entity support to beheading

This commit is contained in:
Auxilor 2022-01-07 19:38:25 +00:00
parent 03530255bf
commit 581a4f7751
2 changed files with 30 additions and 11 deletions

View File

@ -1,6 +1,7 @@
package com.willfp.ecoenchants.enchantments.ecoenchants.normal;
import com.willfp.eco.core.drops.DropQueue;
import com.willfp.eco.core.items.builder.SkullBuilder;
import com.willfp.ecoenchants.enchantments.EcoEnchant;
import com.willfp.ecoenchants.enchantments.meta.EnchantmentType;
import com.willfp.ecoenchants.enchantments.util.EnchantChecks;
@ -64,16 +65,19 @@ public class Beheading extends EcoEnchant {
meta.setOwningPlayer((Player) victim);
item.setItemMeta(meta);
} else {
if (event.getEntityType().equals(EntityType.ZOMBIE)) {
item = new ItemStack(Material.ZOMBIE_HEAD, 1);
} else if (event.getEntityType().equals(EntityType.SKELETON)) {
item = new ItemStack(Material.SKELETON_SKULL, 1);
} else if (event.getEntityType().equals(EntityType.CREEPER)) {
item = new ItemStack(Material.CREEPER_HEAD, 1);
} else if (event.getEntityType().equals(EntityType.ENDER_DRAGON)) {
item = new ItemStack(Material.DRAGON_HEAD, 1);
} else {
return;
item = getHead(event.getEntityType());
if (item == null) {
if (event.getEntityType().equals(EntityType.ZOMBIE)) {
item = new ItemStack(Material.ZOMBIE_HEAD, 1);
} else if (event.getEntityType().equals(EntityType.SKELETON)) {
item = new ItemStack(Material.SKELETON_SKULL, 1);
} else if (event.getEntityType().equals(EntityType.CREEPER)) {
item = new ItemStack(Material.CREEPER_HEAD, 1);
} else if (event.getEntityType().equals(EntityType.ENDER_DRAGON)) {
item = new ItemStack(Material.DRAGON_HEAD, 1);
} else {
return;
}
}
}
@ -85,4 +89,15 @@ public class Beheading extends EcoEnchant {
event.setDroppedExp(0);
}
ItemStack getHead(@NotNull final EntityType type) {
for (String s : this.getConfig().getStrings("custom-heads")) {
String[] split = s.split("::");
if (!type.name().equalsIgnoreCase(split[0])) {
continue;
}
return new SkullBuilder().setSkullTexture(split[1]).build();
}
return null;
}
}

View File

@ -26,4 +26,8 @@ general-config:
maximum-level: 3
config:
chance-per-level: 10 #chance of dropping skull per level
chance-per-level: 10 # chance of dropping skull per level
custom-heads: # custom heads for mobs (mob_type::texture_value)
- "enderman::eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTZjMGIzNmQ1M2ZmZjY5YTQ5YzdkNmYzOTMyZjJiMGZlOTQ4ZTAzMjIyNmQ1ZTgwNDVlYzU4NDA4YTM2ZTk1MSJ9fX0="
- "spider::eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2Q1NDE1NDFkYWFmZjUwODk2Y2QyNThiZGJkZDRjZjgwYzNiYTgxNjczNTcyNjA3OGJmZTM5MzkyN2U1N2YxIn19fQ=="
- "cave_spider::eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDE2NDVkZmQ3N2QwOTkyMzEwN2IzNDk2ZTk0ZWViNWMzMDMyOWY5N2VmYzk2ZWQ3NmUyMjZlOTgyMjQifX19"