From b79339e5bca70d7294ac6faf561708a4c4d78501 Mon Sep 17 00:00:00 2001 From: Aleksey Date: Wed, 7 Oct 2020 17:56:28 +0300 Subject: [PATCH] Enchantment and potions --- psd/ender_vision.psd | Bin 0 -> 24362 bytes src/main/java/ru/betterend/BetterEnd.java | 4 +++ .../ru/betterend/effects/EndEnchantments.java | 16 ++++++++++ .../java/ru/betterend/effects/EndPotions.java | 29 ++++++++++++++++++ .../betterend/effects/EndStatusEffects.java | 15 +++++++++ .../enchantment/EndVeilEnchantment.java | 17 ++++++++++ .../effects/status/EndVeilEffect.java | 16 ++++++++++ .../mixin/common/BrewingAccessor.java | 16 ++++++++++ .../mixin/common/EndermanEntityMixin.java | 26 ++++++++++++++++ .../assets/betterend/lang/en_us.json | 11 +++++++ .../assets/betterend/lang/ru_ru.json | 11 +++++++ .../textures/mob_effect/end_veil.png | Bin 0 -> 841 bytes .../resources/betterend.mixins.common.json | 14 +++++---- 13 files changed, 169 insertions(+), 6 deletions(-) create mode 100644 psd/ender_vision.psd create mode 100644 src/main/java/ru/betterend/effects/EndEnchantments.java create mode 100644 src/main/java/ru/betterend/effects/EndPotions.java create mode 100644 src/main/java/ru/betterend/effects/EndStatusEffects.java create mode 100644 src/main/java/ru/betterend/effects/enchantment/EndVeilEnchantment.java create mode 100644 src/main/java/ru/betterend/effects/status/EndVeilEffect.java create mode 100644 src/main/java/ru/betterend/mixin/common/BrewingAccessor.java create mode 100644 src/main/java/ru/betterend/mixin/common/EndermanEntityMixin.java create mode 100644 src/main/resources/assets/betterend/textures/mob_effect/end_veil.png diff --git a/psd/ender_vision.psd b/psd/ender_vision.psd new file mode 100644 index 0000000000000000000000000000000000000000..df47502aa881f72bb8b8d0915f2ca6e5d01da71d GIT binary patch literal 24362 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 Fe*ioKu1Wv^ literal 0 HcmV?d00001 diff --git a/src/main/java/ru/betterend/BetterEnd.java b/src/main/java/ru/betterend/BetterEnd.java index 3fce8d36..77898b32 100644 --- a/src/main/java/ru/betterend/BetterEnd.java +++ b/src/main/java/ru/betterend/BetterEnd.java @@ -5,6 +5,8 @@ import net.fabricmc.api.ModInitializer; import net.minecraft.util.Identifier; import ru.betterend.config.MainConfig; +import ru.betterend.effects.EndEnchantments; +import ru.betterend.effects.EndPotions; import ru.betterend.recipe.CraftingRecipes; import ru.betterend.registry.BiomeRegistry; import ru.betterend.registry.BlockEntityRegistry; @@ -38,6 +40,8 @@ public class BetterEnd implements ModInitializer { BetterEndBiomeSource.register(); ItemTagRegistry.register(); BlockTagRegistry.register(); + EndEnchantments.register(); + EndPotions.register(); CraftingRecipes.register(); StructureRegistry.register(); } diff --git a/src/main/java/ru/betterend/effects/EndEnchantments.java b/src/main/java/ru/betterend/effects/EndEnchantments.java new file mode 100644 index 00000000..f59e545d --- /dev/null +++ b/src/main/java/ru/betterend/effects/EndEnchantments.java @@ -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() {} +} diff --git a/src/main/java/ru/betterend/effects/EndPotions.java b/src/main/java/ru/betterend/effects/EndPotions.java new file mode 100644 index 00000000..a37a3cc4 --- /dev/null +++ b/src/main/java/ru/betterend/effects/EndPotions.java @@ -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); + } +} diff --git a/src/main/java/ru/betterend/effects/EndStatusEffects.java b/src/main/java/ru/betterend/effects/EndStatusEffects.java new file mode 100644 index 00000000..db3e701d --- /dev/null +++ b/src/main/java/ru/betterend/effects/EndStatusEffects.java @@ -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 StatusEffect registerEffect(String name, E effect) { + return Registry.register(Registry.STATUS_EFFECT, BetterEnd.makeID(name), effect); + } +} diff --git a/src/main/java/ru/betterend/effects/enchantment/EndVeilEnchantment.java b/src/main/java/ru/betterend/effects/enchantment/EndVeilEnchantment.java new file mode 100644 index 00000000..ecda6750 --- /dev/null +++ b/src/main/java/ru/betterend/effects/enchantment/EndVeilEnchantment.java @@ -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; + } +} diff --git a/src/main/java/ru/betterend/effects/status/EndVeilEffect.java b/src/main/java/ru/betterend/effects/status/EndVeilEffect.java new file mode 100644 index 00000000..b4e1489d --- /dev/null +++ b/src/main/java/ru/betterend/effects/status/EndVeilEffect.java @@ -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; + } +} diff --git a/src/main/java/ru/betterend/mixin/common/BrewingAccessor.java b/src/main/java/ru/betterend/mixin/common/BrewingAccessor.java new file mode 100644 index 00000000..751ee040 --- /dev/null +++ b/src/main/java/ru/betterend/mixin/common/BrewingAccessor.java @@ -0,0 +1,16 @@ +package ru.betterend.mixin.common; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Invoker; + +import net.minecraft.item.Item; +import net.minecraft.potion.Potion; +import net.minecraft.recipe.BrewingRecipeRegistry; + +@Mixin(BrewingRecipeRegistry.class) +public interface BrewingAccessor { + @Invoker + static void callRegisterPotionRecipe(Potion input, Item item, Potion output) { + throw new AssertionError("@Invoker dummy body called"); + } +} diff --git a/src/main/java/ru/betterend/mixin/common/EndermanEntityMixin.java b/src/main/java/ru/betterend/mixin/common/EndermanEntityMixin.java new file mode 100644 index 00000000..266d6ed6 --- /dev/null +++ b/src/main/java/ru/betterend/mixin/common/EndermanEntityMixin.java @@ -0,0 +1,26 @@ +package ru.betterend.mixin.common; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.mob.EndermanEntity; +import net.minecraft.entity.player.PlayerEntity; + +import ru.betterend.effects.EndEnchantments; +import ru.betterend.effects.EndStatusEffects; + +@Mixin(EndermanEntity.class) +public abstract class EndermanEntityMixin { + + @Inject(method = "isPlayerStaring", at = @At("HEAD"), cancellable = true) + private void isPlayerStaring(PlayerEntity player, CallbackInfoReturnable info) { + if (player.isCreative() || player.hasStatusEffect(EndStatusEffects.END_VEIL) || + EnchantmentHelper.getEquipmentLevel(EndEnchantments.END_VEIL, player) > 0) { + info.setReturnValue(false); + info.cancel(); + } + } +} diff --git a/src/main/resources/assets/betterend/lang/en_us.json b/src/main/resources/assets/betterend/lang/en_us.json index 984118a7..293a7c7d 100644 --- a/src/main/resources/assets/betterend/lang/en_us.json +++ b/src/main/resources/assets/betterend/lang/en_us.json @@ -50,6 +50,17 @@ "item.betterend.diamond_hammer": "Diamond Smith Hammer", "item.betterend.netherite_hammer": "Netherite Smith Hammer", + "effect.betterend.end_veil": "End Veil", + "enchantment.betterend.end_veil": "End Veil", + "item.minecraft.potion.effect.end_veil": "Potion of End Veil", + "item.minecraft.potion.effect.long_end_veil": "Long potion of End Veil", + "item.minecraft.splash_potion.effect.end_veil": "Splash potion of End Veil", + "item.minecraft.splash_potion.effect.long_end_veil": "Splash potion of End Veil", + "item.minecraft.lingering_potion.effect.end_veil": "Lingering potion of End Veil", + "item.minecraft.lingering_potion.effect.long_end_veil": "Lingering potion of End Veil", + "item.minecraft.tipped_arrow.effect.end_veil": "Arrow of End Veil", + "item.minecraft.tipped_arrow.effect.long_end_veil": "Arrow of End Veil", + "block.betterend.mossy_glowshroom_sapling": "Mossy Glowshroom Sapling", "block.betterend.mossy_glowshroom_cap": "Mossy Glowshroom Cap", "block.betterend.mossy_glowshroom_fur": "Mossy Glowshroom Fur", diff --git a/src/main/resources/assets/betterend/lang/ru_ru.json b/src/main/resources/assets/betterend/lang/ru_ru.json index 5a463407..32224bf3 100644 --- a/src/main/resources/assets/betterend/lang/ru_ru.json +++ b/src/main/resources/assets/betterend/lang/ru_ru.json @@ -50,6 +50,17 @@ "item.betterend.diamond_hammer": "Алмазный Кузнечный Молот", "item.betterend.netherite_hammer": "Кузнечный Молот из Незерита", + "effect.betterend.end_veil": "Вуаль Края", + "enchantment.betterend.end_veil": "Вуаль Края", + "item.minecraft.potion.effect.end_veil": "Зелье Вуали Края", + "item.minecraft.potion.effect.long_end_veil": "Долгое зелье Вуали Края", + "item.minecraft.splash_potion.effect.end_veil": "Взрывное зелье Вуали Края", + "item.minecraft.splash_potion.effect.long_end_veil": "Взрывное зелье Вуали Края", + "item.minecraft.lingering_potion.effect.end_veil": "Оседающее зелье Вуали Края", + "item.minecraft.lingering_potion.effect.long_end_veil": "Оседающее зелье Вуали Края", + "item.minecraft.tipped_arrow.effect.end_veil": "Стрела Вуали Края", + "item.minecraft.tipped_arrow.effect.long_end_veil": "Стрела Вуали Края", + "block.betterend.mossy_glowshroom_sapling": "Саженец мшистого светогриба", "block.betterend.mossy_glowshroom_cap": "Шляпка мшистого светогриба", "block.betterend.mossy_glowshroom_fur": "Волоски мшистого светогриба", diff --git a/src/main/resources/assets/betterend/textures/mob_effect/end_veil.png b/src/main/resources/assets/betterend/textures/mob_effect/end_veil.png new file mode 100644 index 0000000000000000000000000000000000000000..c3c79c99bc37ff53967fa06b73452d76ebb07b75 GIT binary patch literal 841 zcmV-P1GfB$P)WlUxFqOGls8pEZG-5qujEsM6CFtUH`#4E|$GnccE^!iwPxI z7ccf=Yh{bs8X{Ph)S{5U2+WnVaahjX6yInQ_A z^Sp|tIx^vQ2@m=e=J=m$mdq>>6%HJOj_X3pIUy01%wCCIGMJWgLTQ;MGhtLlQO9*D zzt;u8P%I4R8&`;6a!h}F`YCr5X z4}qgdA2cxz7wVzS3#D6@h*}!5zY&WtbbpZic_I9dkIrweGGoN~@y;*oI(U+aJYfIk ztkRYSVZgsc)aF%`mI;Glic=9@cyCftkjG<>mm|mAyi26G`&}zzJwC#7^K3YM2G$vH z0T}Q@D5;>Sj)2<-pV!Fvn>mRD6S6qFAa|SFMP9uZxf+z-y5D8k(<8qgy&|cpq=ctZ z5)94>U)D&#?SrN|ER@*A8NVfO{`6rJ$jO0AUp26O!xk8NPwgLPxcsP{!nam-Z!6=X z>lF4pD|Q2hJMZ9p-732Lp`>DFnzSWNUSTfjMaZ?~5{^enJRK%YnoXNFQdCfgEE-sI ztt>?6G16%)2#BftfteFH1FbUF)k}dz@xfX}=hi$F4=)r68NfIRjx6~Sp#^ieT|y|S z2qhJtZiLARojf|C=cfQV3qh6KR#ei TQk$jg00000NkvXXu0mjfERu|V literal 0 HcmV?d00001 diff --git a/src/main/resources/betterend.mixins.common.json b/src/main/resources/betterend.mixins.common.json index e9029b91..a208d020 100644 --- a/src/main/resources/betterend.mixins.common.json +++ b/src/main/resources/betterend.mixins.common.json @@ -4,19 +4,21 @@ "package": "ru.betterend.mixin.common", "compatibilityLevel": "JAVA_8", "mixins": [ - "DimensionTypeMixin", - "RecipeManagerMixin", "ServerPlayNetworkHandlerMixin", - "TagGroupLoaderMixin", "CraftingScreenHandlerMixin", + "DefaultBiomeCreatorMixin", "GenerationSettingsMixin", "AnvilScreenHandlerMixin", + "TagGroupLoaderMixin", + "EndermanEntityMixin", + "LocateCommandMixin", + "DimensionTypeMixin", + "RecipeManagerMixin", "AbstractBlockMixin", "LivingEntityMixin", - "BiomeMixin", "SlimeEntityMixin", - "LocateCommandMixin", - "DefaultBiomeCreatorMixin" + "BrewingAccessor", + "BiomeMixin" ], "injectors": { "defaultRequire": 1