Enchantment and potions
This commit is contained in:
parent
64f4285fbb
commit
b79339e5bc
13 changed files with 169 additions and 6 deletions
16
src/main/java/ru/betterend/effects/EndEnchantments.java
Normal file
16
src/main/java/ru/betterend/effects/EndEnchantments.java
Normal file
|
@ -0,0 +1,16 @@
|
|||
package ru.betterend.effects;
|
||||
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.effects.enchantment.EndVeilEnchantment;
|
||||
|
||||
public class EndEnchantments {
|
||||
public final static Enchantment END_VEIL = registerEnchantment("end_veil", new EndVeilEnchantment());
|
||||
|
||||
public static Enchantment registerEnchantment(String name, Enchantment enchantment) {
|
||||
return Registry.register(Registry.ENCHANTMENT, BetterEnd.makeID(name), enchantment);
|
||||
}
|
||||
|
||||
public static void register() {}
|
||||
}
|
29
src/main/java/ru/betterend/effects/EndPotions.java
Normal file
29
src/main/java/ru/betterend/effects/EndPotions.java
Normal file
|
@ -0,0 +1,29 @@
|
|||
package ru.betterend.effects;
|
||||
|
||||
import net.minecraft.entity.effect.StatusEffect;
|
||||
import net.minecraft.entity.effect.StatusEffectInstance;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.potion.Potions;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.mixin.common.BrewingAccessor;
|
||||
import ru.betterend.registry.ItemRegistry;
|
||||
|
||||
public class EndPotions {
|
||||
public final static Potion END_VEIL = registerPotion("end_veil", EndStatusEffects.END_VEIL, 3600);
|
||||
public final static Potion LONG_END_VEIL = registerPotion("long_end_veil", EndStatusEffects.END_VEIL, 9600);
|
||||
|
||||
public static Potion registerPotion(String name, StatusEffect effect, int duration) {
|
||||
return registerPotion(name, new Potion(name, new StatusEffectInstance[]{ new StatusEffectInstance(effect, duration) }));
|
||||
}
|
||||
|
||||
public static Potion registerPotion(String name, Potion potion) {
|
||||
return Registry.register(Registry.POTION, BetterEnd.makeID(name), potion);
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
BrewingAccessor.callRegisterPotionRecipe(Potions.AWKWARD, ItemRegistry.ENDER_DUST, END_VEIL);
|
||||
BrewingAccessor.callRegisterPotionRecipe(END_VEIL, Items.REDSTONE, LONG_END_VEIL);
|
||||
}
|
||||
}
|
15
src/main/java/ru/betterend/effects/EndStatusEffects.java
Normal file
15
src/main/java/ru/betterend/effects/EndStatusEffects.java
Normal file
|
@ -0,0 +1,15 @@
|
|||
package ru.betterend.effects;
|
||||
|
||||
import net.minecraft.entity.effect.StatusEffect;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.effects.status.EndVeilEffect;
|
||||
|
||||
public class EndStatusEffects {
|
||||
|
||||
public final static StatusEffect END_VEIL = registerEffect("end_veil", new EndVeilEffect());
|
||||
|
||||
public static <E extends StatusEffect> StatusEffect registerEffect(String name, E effect) {
|
||||
return Registry.register(Registry.STATUS_EFFECT, BetterEnd.makeID(name), effect);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package ru.betterend.effects.enchantment;
|
||||
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.enchantment.EnchantmentTarget;
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
|
||||
public class EndVeilEnchantment extends Enchantment {
|
||||
|
||||
public EndVeilEnchantment() {
|
||||
super(Enchantment.Rarity.VERY_RARE, EnchantmentTarget.ARMOR_HEAD, new EquipmentSlot[] { EquipmentSlot.HEAD });
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailableForRandomSelection() {
|
||||
return false;
|
||||
}
|
||||
}
|
16
src/main/java/ru/betterend/effects/status/EndVeilEffect.java
Normal file
16
src/main/java/ru/betterend/effects/status/EndVeilEffect.java
Normal file
|
@ -0,0 +1,16 @@
|
|||
package ru.betterend.effects.status;
|
||||
|
||||
import net.minecraft.entity.effect.StatusEffect;
|
||||
import net.minecraft.entity.effect.StatusEffectType;
|
||||
|
||||
public class EndVeilEffect extends StatusEffect {
|
||||
|
||||
public EndVeilEffect() {
|
||||
super(StatusEffectType.BENEFICIAL, 0x0D554A);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canApplyUpdateEffect(int duration, int amplifier) {
|
||||
return false;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue