This repository has been archived on 2024-07-25. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
Thresholds/src/main/java/dev/zontreck/otemod/enchantments/MobEggEnchantment.java
Aria da7898a0c2 Rework the item scrubber
Add magical scrubber
Fix flight enchantment
Fix mob egging
Add mob egging stat to sword
2023-02-13 00:08:29 -07:00

73 lines
1.7 KiB
Java

package dev.zontreck.otemod.enchantments;
import java.util.Random;
import dev.zontreck.otemod.configs.OTEServerConfig;
import net.minecraft.util.RandomSource;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.SwordItem;
import net.minecraft.world.item.enchantment.Enchantment;
import net.minecraft.world.item.enchantment.EnchantmentCategory;
public class MobEggEnchantment extends Enchantment
{
public static final String TAG_BIAS = "mob_egging_bias";
public MobEggEnchantment()
{
super(Rarity.VERY_RARE, EnchantmentCategory.WEAPON, new EquipmentSlot[] {EquipmentSlot.MAINHAND});
}
@Override
public int getMaxLevel()
{
return 6;
}
@Override
public int getMinCost(int level)
{
return 28 + (level - 1) * 15;
}
@Override
public int getMaxCost(int level)
{
return this.getMinCost(level) + 15;
}
@Override
public boolean canApplyAtEnchantingTable(ItemStack stack)
{
return super.canApplyAtEnchantingTable(stack);
}
@Override
public boolean isTreasureOnly(){
return false;
}
@Override
public boolean isTradeable()
{
return true;
}
@Override
public boolean isDiscoverable()
{
return false;
}
public static boolean givesEgg(int level, int bias)
{
double CHANCE = OTEServerConfig.SPAWN_EGG_CHANCE.get() * 100;
CHANCE *= (level / 0.5);
CHANCE += bias;
double rng = Math.random()*100000;
return (rng <= CHANCE);
}
}