Merge branch 'master' into develop

This commit is contained in:
Auxilor 2022-01-08 13:36:50 +00:00
commit c7f97393d7
8 changed files with 60 additions and 15 deletions

View File

@ -2,5 +2,5 @@ group 'com.willfp'
version rootProject.version
dependencies {
compileOnly 'org.spigotmc:spigot:1.18.1-R0.1-SNAPSHOT'
compileOnly 'org.spigotmc:spigot:1.18-R0.1-SNAPSHOT'
}

View File

@ -124,6 +124,10 @@ public class EnchantDisplay extends DisplayModule {
enchantments.clear();
unsorted.forEach(enchantment -> enchantments.put(enchantment, tempEnchantments.get(enchantment)));
enchantments.forEach((enchantment, level) -> {
if (enchantment instanceof EcoEnchant ecoEnchant && ecoEnchant.hasFlag("hide-in-lore")) {
return;
}
String name = player == null
? EnchantmentCache.getEntry(enchantment).getNameWithLevel(level)
: EnchantmentCache.getEntry(enchantment).getNameWithLevel(level, player);

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

@ -1,5 +1,6 @@
package com.willfp.ecoenchants.enchantments.ecoenchants.normal;
import com.willfp.eco.core.Prerequisite;
import com.willfp.eco.core.drops.DropQueue;
import com.willfp.eco.core.integrations.antigrief.AntigriefManager;
import com.willfp.eco.core.tuples.Pair;
@ -50,6 +51,10 @@ public class InfernalTouch extends EcoEnchant {
int xp = (int) Math.ceil(furnaceRecipe.getExperience());
RECIPES.put(furnaceRecipe.getInput().getType(), new Pair<>(furnaceRecipe.getResult().getType(), xp));
}
if (Prerequisite.HAS_1_17.isMet()) {
FORTUNE_MATERIALS.add(Material.COPPER_INGOT);
}
}
public InfernalTouch() {

View File

@ -23,10 +23,26 @@ public class Charge extends Spell {
velocity.normalize();
velocity.multiply(level * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "velocity-per-level"));
velocity.setY(player.getEyeLocation().getDirection().clone().getY() + 0.2);
player.setVelocity(velocity);
player.setVelocity(safenVector(velocity));
this.getPlugin().getScheduler().runLater(() -> AnticheatManager.unexemptPlayer(player), 10);
return true;
}
private Vector safenVector(@NotNull final Vector vector) {
if (Math.abs(vector.getX()) > 4) {
vector.setX(vector.getX() < 0 ? -3.9 : 3.9);
}
if (Math.abs(vector.getY()) > 4) {
vector.setY(vector.getY() < 0 ? -3.9 : 3.9);
}
if (Math.abs(vector.getZ()) > 4) {
vector.setZ(vector.getZ() < 0 ? -3.9 : 3.9);
}
return vector;
}
}

View File

@ -75,7 +75,8 @@ public abstract class Spell extends EcoEnchant {
Material.BLAST_FURNACE,
Material.BREWING_STAND,
Material.DISPENSER,
Material.DROPPER
Material.DROPPER,
Material.FIRE
));
static {

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"

View File

@ -1,2 +1,2 @@
version = 8.14.33
version = 8.15.3
plugin-name = EcoEnchants