diff --git a/src/main/java/org/betterx/betterend/client/render/ArmoredElytraLayer.java b/src/main/java/org/betterx/betterend/client/render/ArmoredElytraLayer.java index 05af61a1..936e1c39 100644 --- a/src/main/java/org/betterx/betterend/client/render/ArmoredElytraLayer.java +++ b/src/main/java/org/betterx/betterend/client/render/ArmoredElytraLayer.java @@ -1,6 +1,6 @@ package org.betterx.betterend.client.render; -import org.betterx.betterend.interfaces.BetterEndElytra; +import org.betterx.bclib.items.elytra.BCLElytraItem; import org.betterx.betterend.item.model.ArmoredElytraModel; import org.betterx.betterend.registry.EndEntitiesRenders; @@ -42,8 +42,8 @@ public class ArmoredElytraLayer float l ) { ItemStack itemStack = livingEntity.getItemBySlot(EquipmentSlot.CHEST); - if (itemStack.getItem() instanceof BetterEndElytra) { - ResourceLocation wingsTexture = ((BetterEndElytra) itemStack.getItem()).getModelTexture(); + if (itemStack.getItem() instanceof BCLElytraItem) { + ResourceLocation wingsTexture = ((BCLElytraItem) itemStack.getItem()).getModelTexture(); if (livingEntity instanceof AbstractClientPlayer) { AbstractClientPlayer abstractClientPlayer = (AbstractClientPlayer) livingEntity; if (abstractClientPlayer.isElytraLoaded() && abstractClientPlayer.getElytraTextureLocation() != null) { diff --git a/src/main/java/org/betterx/betterend/interfaces/BetterEndElytra.java b/src/main/java/org/betterx/betterend/interfaces/BetterEndElytra.java index 824e660a..c7d818b5 100644 --- a/src/main/java/org/betterx/betterend/interfaces/BetterEndElytra.java +++ b/src/main/java/org/betterx/betterend/interfaces/BetterEndElytra.java @@ -1,9 +1,9 @@ package org.betterx.betterend.interfaces; +import org.betterx.bclib.items.elytra.BCLElytraItem; + import net.minecraft.resources.ResourceLocation; -public interface BetterEndElytra { +public interface BetterEndElytra extends BCLElytraItem { ResourceLocation getModelTexture(); - - double getMovementFactor(); } diff --git a/src/main/java/org/betterx/betterend/item/ArmoredElytra.java b/src/main/java/org/betterx/betterend/item/ArmoredElytra.java index a7b9a8ea..ca942491 100644 --- a/src/main/java/org/betterx/betterend/item/ArmoredElytra.java +++ b/src/main/java/org/betterx/betterend/item/ArmoredElytra.java @@ -14,10 +14,9 @@ import net.minecraft.world.item.*; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.entity.event.v1.FabricElytraItem; import net.fabricmc.fabric.api.object.builder.v1.client.model.FabricModelPredicateProviderRegistry; -public class ArmoredElytra extends BaseArmorItem implements MultiModelItem, BetterEndElytra, FabricElytraItem { +public class ArmoredElytra extends BaseArmorItem implements MultiModelItem, BetterEndElytra { private final ResourceLocation wingTexture; private final Item repairItem; private final double movementFactor; diff --git a/src/main/java/org/betterx/betterend/item/CrystaliteElytra.java b/src/main/java/org/betterx/betterend/item/CrystaliteElytra.java index dbc0ac73..f16063bf 100644 --- a/src/main/java/org/betterx/betterend/item/CrystaliteElytra.java +++ b/src/main/java/org/betterx/betterend/item/CrystaliteElytra.java @@ -15,10 +15,9 @@ import net.minecraft.world.item.Rarity; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.entity.event.v1.FabricElytraItem; import net.fabricmc.fabric.api.object.builder.v1.client.model.FabricModelPredicateProviderRegistry; -public class CrystaliteElytra extends CrystaliteArmor implements MultiModelItem, BetterEndElytra, FabricElytraItem { +public class CrystaliteElytra extends CrystaliteArmor implements MultiModelItem, BetterEndElytra { private final ResourceLocation wingTexture; private final double movementFactor; diff --git a/src/main/java/org/betterx/betterend/mixin/common/LivingEntityMixin.java b/src/main/java/org/betterx/betterend/mixin/common/LivingEntityMixin.java index 52379c97..6e0bede8 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/LivingEntityMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/LivingEntityMixin.java @@ -1,7 +1,6 @@ package org.betterx.betterend.mixin.common; import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.interfaces.BetterEndElytra; import org.betterx.betterend.interfaces.MobEffectApplier; import org.betterx.betterend.item.CrystaliteArmor; import org.betterx.betterend.registry.EndAttributes; @@ -18,16 +17,13 @@ import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; -import net.minecraft.world.phys.Vec3; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.ModifyArg; -import org.spongepowered.asm.mixin.injection.Slice; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @@ -40,9 +36,6 @@ public abstract class LivingEntityMixin extends Entity { super(entityType, level); } - @Shadow - public abstract ItemStack getItemBySlot(EquipmentSlot equipmentSlot); - @Shadow public abstract AttributeMap getAttributes(); @@ -94,21 +87,6 @@ public abstract class LivingEntityMixin extends Entity { return value; } - @ModifyArg( - method = "travel", - slice = @Slice( - from = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;isFallFlying()Z"), - to = @At(value = "INVOKE:LAST", target = "Lnet/minecraft/world/entity/LivingEntity;setSharedFlag(IZ)V") - ), - at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;setDeltaMovement(Lnet/minecraft/world/phys/Vec3;)V") - ) - public Vec3 be_travel(Vec3 moveDelta) { - ItemStack itemStack = getItemBySlot(EquipmentSlot.CHEST); - double movementFactor = ((BetterEndElytra) itemStack.getItem()).getMovementFactor(); - moveDelta = moveDelta.multiply(movementFactor, 1.0D, movementFactor); - return moveDelta; - } - private double be_getKnockback(Item tool) { if (tool == null) return 0.0D; Collection modifiers = tool.getDefaultAttributeModifiers(EquipmentSlot.MAINHAND)