diff --git a/run-data/.mixin.out/class/net/minecraft/client/player/LocalPlayer.class b/run-data/.mixin.out/class/net/minecraft/client/player/LocalPlayer.class index cc4949c..f1e309e 100644 Binary files a/run-data/.mixin.out/class/net/minecraft/client/player/LocalPlayer.class and b/run-data/.mixin.out/class/net/minecraft/client/player/LocalPlayer.class differ diff --git a/run-data/.mixin.out/class/net/minecraft/world/entity/ExperienceOrb.class b/run-data/.mixin.out/class/net/minecraft/world/entity/ExperienceOrb.class index bd09add..c9439b6 100644 Binary files a/run-data/.mixin.out/class/net/minecraft/world/entity/ExperienceOrb.class and b/run-data/.mixin.out/class/net/minecraft/world/entity/ExperienceOrb.class differ diff --git a/run-data/.mixin.out/class/net/minecraft/world/entity/LivingEntity.class b/run-data/.mixin.out/class/net/minecraft/world/entity/LivingEntity.class index 7754ace..d1a37f7 100644 Binary files a/run-data/.mixin.out/class/net/minecraft/world/entity/LivingEntity.class and b/run-data/.mixin.out/class/net/minecraft/world/entity/LivingEntity.class differ diff --git a/run-data/.mixin.out/class/net/minecraft/world/entity/player/Player.class b/run-data/.mixin.out/class/net/minecraft/world/entity/player/Player.class index f362fb7..f946ec2 100644 Binary files a/run-data/.mixin.out/class/net/minecraft/world/entity/player/Player.class and b/run-data/.mixin.out/class/net/minecraft/world/entity/player/Player.class differ diff --git a/src/generated/resources/.cache/944642d621b104f4abc8ca05481729c651f4458b b/src/generated/resources/.cache/944642d621b104f4abc8ca05481729c651f4458b index 2561c02..d352d8f 100644 --- a/src/generated/resources/.cache/944642d621b104f4abc8ca05481729c651f4458b +++ b/src/generated/resources/.cache/944642d621b104f4abc8ca05481729c651f4458b @@ -1,6 +1,6 @@ -// 1.20.1 2024-05-01T23:25:16.515952 Item Models: amethystwings -13f817085430cbe2fd48d2729bd6198b5ba65ee0 assets/amethystwings/models/entity/auric_crystal.json -fc48959c4c50c9da4834ea7265cc5e8d269be340 assets/amethystwings/models/entity/energetic_crystal.json -76982afddfe3d384d03932aaffcd8bc8b39dd485 assets/amethystwings/models/entity/hardened_crystal.json -f134a090f95d540dcbdbd773822261b0c2ab0080 assets/amethystwings/models/entity/resonant_crystal.json -b2c8a3e2731c0daec863c6c8ed972fbac2efb32a assets/amethystwings/models/entity/shaped_crystal.json +// 1.20.1 2024-08-04T19:47:48.592347 Item Models: amethystwings +afe33470394890069fac34519a737d27ed03c6d4 assets/amethystwings/models/entity/auric_crystal.json +c83ef7b5c603249b7dacbbe18e513f0c9b792851 assets/amethystwings/models/entity/energetic_crystal.json +abf1f5de82c467c06bd25ef521aa4b7c4e1d1f53 assets/amethystwings/models/entity/hardened_crystal.json +cb223eb758d9a44ea0fed00cdd64652c17b2c0e4 assets/amethystwings/models/entity/resonant_crystal.json +7c5216474e90349e5f63945bf5060b30f3e1e224 assets/amethystwings/models/entity/shaped_crystal.json diff --git a/src/generated/resources/assets/amethystwings/models/entity/auric_crystal.json b/src/generated/resources/assets/amethystwings/models/entity/auric_crystal.json index 4d1cba6..82fff4a 100644 --- a/src/generated/resources/assets/amethystwings/models/entity/auric_crystal.json +++ b/src/generated/resources/assets/amethystwings/models/entity/auric_crystal.json @@ -1,6 +1,6 @@ { "parent": "amethystwings:entity/crystal", "textures": { - "layer0": "amethystwings:entity/auric_crystal" + "layer0": "amethystwings:block/auric_crystal" } } \ No newline at end of file diff --git a/src/generated/resources/assets/amethystwings/models/entity/energetic_crystal.json b/src/generated/resources/assets/amethystwings/models/entity/energetic_crystal.json index cb9d193..43b7fec 100644 --- a/src/generated/resources/assets/amethystwings/models/entity/energetic_crystal.json +++ b/src/generated/resources/assets/amethystwings/models/entity/energetic_crystal.json @@ -1,6 +1,6 @@ { "parent": "amethystwings:entity/crystal", "textures": { - "layer0": "amethystwings:entity/energetic_crystal" + "layer0": "amethystwings:block/energetic_crystal" } } \ No newline at end of file diff --git a/src/generated/resources/assets/amethystwings/models/entity/hardened_crystal.json b/src/generated/resources/assets/amethystwings/models/entity/hardened_crystal.json index 320bd34..4a779a4 100644 --- a/src/generated/resources/assets/amethystwings/models/entity/hardened_crystal.json +++ b/src/generated/resources/assets/amethystwings/models/entity/hardened_crystal.json @@ -1,6 +1,6 @@ { "parent": "amethystwings:entity/crystal", "textures": { - "layer0": "amethystwings:entity/hardened_crystal" + "layer0": "amethystwings:block/hardened_crystal" } } \ No newline at end of file diff --git a/src/generated/resources/assets/amethystwings/models/entity/resonant_crystal.json b/src/generated/resources/assets/amethystwings/models/entity/resonant_crystal.json index 82238d7..74a42d3 100644 --- a/src/generated/resources/assets/amethystwings/models/entity/resonant_crystal.json +++ b/src/generated/resources/assets/amethystwings/models/entity/resonant_crystal.json @@ -1,6 +1,6 @@ { "parent": "amethystwings:entity/crystal", "textures": { - "layer0": "amethystwings:entity/resonant_crystal" + "layer0": "amethystwings:block/resonant_crystal" } } \ No newline at end of file diff --git a/src/generated/resources/assets/amethystwings/models/entity/shaped_crystal.json b/src/generated/resources/assets/amethystwings/models/entity/shaped_crystal.json index c2f7902..94354ca 100644 --- a/src/generated/resources/assets/amethystwings/models/entity/shaped_crystal.json +++ b/src/generated/resources/assets/amethystwings/models/entity/shaped_crystal.json @@ -1,6 +1,6 @@ { "parent": "amethystwings:entity/crystal", "textures": { - "layer0": "amethystwings:entity/shaped_crystal" + "layer0": "amethystwings:block/shaped_crystal" } } \ No newline at end of file diff --git a/src/main/java/com/m_w_k/amethystwings/client/renderer/WingsItemStackRenderer.java b/src/main/java/com/m_w_k/amethystwings/client/renderer/WingsItemStackRenderer.java index d813b8e..3afeb5d 100644 --- a/src/main/java/com/m_w_k/amethystwings/client/renderer/WingsItemStackRenderer.java +++ b/src/main/java/com/m_w_k/amethystwings/client/renderer/WingsItemStackRenderer.java @@ -14,9 +14,7 @@ import net.minecraft.client.resources.model.BakedModel; import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.Mth; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.Pose; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.phys.Vec3; @@ -33,7 +31,7 @@ public class WingsItemStackRenderer extends BlockEntityWithoutLevelRenderer { public static final WingsModel WINGS_MODEL = new WingsModel(WingsModel.createLayer().bakeRoot()); public static final ModelResourceLocation WINGS_INVENTORY_MODEL = new ModelResourceLocation(MODID, "wings_controller_inventory", "inventory"); - public static final ResourceLocation WINGS_TEXTURE = new ResourceLocation(MODID, "textures/entity/wings_controller.png"); + public static final ResourceLocation WINGS_TEXTURE = new ResourceLocation(MODID, "textures/block/wings_controller.png"); private final static PoseStack ELYTRA_HELPER = new PoseStack(); private final static ModelPart RIGHT_FAKE_WING = new ModelPart(null, null); diff --git a/src/main/java/com/m_w_k/amethystwings/datagen/AmethystWingsModelProvider.java b/src/main/java/com/m_w_k/amethystwings/datagen/AmethystWingsModelProvider.java index 42694d7..038aac6 100644 --- a/src/main/java/com/m_w_k/amethystwings/datagen/AmethystWingsModelProvider.java +++ b/src/main/java/com/m_w_k/amethystwings/datagen/AmethystWingsModelProvider.java @@ -26,15 +26,11 @@ protected static ResourceLocation rl(String loc) { @Override protected void registerModels() { - crystalModel(RESONANT); - crystalModel(HARDENED); - crystalModel(ENERGETIC); - crystalModel(SHAPED); - crystalModel(AURIC); - } - - protected void crystalModel(ResourceLocation loc) { - crystalModel(loc, loc); + crystalModel(RESONANT, rl("block/resonant_crystal")); + crystalModel(HARDENED, rl("block/hardened_crystal")); + crystalModel(ENERGETIC, rl("block/energetic_crystal")); + crystalModel(SHAPED, rl("block/shaped_crystal")); + crystalModel(AURIC, rl("block/auric_crystal")); } protected void crystalModel(ResourceLocation destLoc, ResourceLocation texLoc) { diff --git a/src/main/java/com/m_w_k/amethystwings/mixin/PlayerMixin.java b/src/main/java/com/m_w_k/amethystwings/mixin/PlayerMixin.java index 3f28efe..05dc86c 100644 --- a/src/main/java/com/m_w_k/amethystwings/mixin/PlayerMixin.java +++ b/src/main/java/com/m_w_k/amethystwings/mixin/PlayerMixin.java @@ -8,9 +8,11 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; +import org.jetbrains.annotations.NotNull; import org.objectweb.asm.Opcodes; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @@ -22,19 +24,28 @@ private PlayerMixin(EntityType p_20966_, Level p_20967_) super(p_20966_, p_20967_); } - @Shadow public abstract ItemStack getItemBySlot(EquipmentSlot p_36257_); + @Shadow public abstract @NotNull ItemStack getItemBySlot(@NotNull EquipmentSlot p_36257_); @Shadow public abstract void startFallFlying(); @Inject(method = "tryToStartFallFlying", at = @At(value = "JUMP", opcode = Opcodes.IFEQ), cancellable = true) private void extendedElytraCheck(CallbackInfoReturnable cir) { - ItemStack itemStack = this.getItemBySlot(EquipmentSlot.OFFHAND); + if (amethystWings$tryFlyWithStack(EquipmentSlot.MAINHAND) || + amethystWings$tryFlyWithStack(EquipmentSlot.OFFHAND)) { + cir.setReturnValue(true); + } + } + + @Unique + private boolean amethystWings$tryFlyWithStack(EquipmentSlot slot) { + ItemStack itemStack = this.getItemBySlot(slot); if (itemStack.getItem() instanceof WingsItem item) { WingsCapability cap = item.getCapability(itemStack); if (cap.canElytra()) { this.startFallFlying(); - cir.setReturnValue(true); + return true; } } + return false; } } diff --git a/src/main/resources/assets/amethystwings/models/item/wings_controller.json b/src/main/resources/assets/amethystwings/models/item/wings_controller.json index 7960c6d..5fb5e81 100644 --- a/src/main/resources/assets/amethystwings/models/item/wings_controller.json +++ b/src/main/resources/assets/amethystwings/models/item/wings_controller.json @@ -1,3 +1,4 @@ { - "parent": "builtin/entity" + "parent": "builtin/entity", + "gui_light": "front" } \ No newline at end of file diff --git a/src/main/resources/assets/amethystwings/textures/entity/auric_crystal.png b/src/main/resources/assets/amethystwings/textures/block/auric_crystal.png similarity index 100% rename from src/main/resources/assets/amethystwings/textures/entity/auric_crystal.png rename to src/main/resources/assets/amethystwings/textures/block/auric_crystal.png diff --git a/src/main/resources/assets/amethystwings/textures/entity/auric_crystal.png.mcmeta b/src/main/resources/assets/amethystwings/textures/block/auric_crystal.png.mcmeta similarity index 100% rename from src/main/resources/assets/amethystwings/textures/entity/auric_crystal.png.mcmeta rename to src/main/resources/assets/amethystwings/textures/block/auric_crystal.png.mcmeta diff --git a/src/main/resources/assets/amethystwings/textures/entity/energetic_crystal.png b/src/main/resources/assets/amethystwings/textures/block/energetic_crystal.png similarity index 100% rename from src/main/resources/assets/amethystwings/textures/entity/energetic_crystal.png rename to src/main/resources/assets/amethystwings/textures/block/energetic_crystal.png diff --git a/src/main/resources/assets/amethystwings/textures/entity/energetic_crystal.png.mcmeta b/src/main/resources/assets/amethystwings/textures/block/energetic_crystal.png.mcmeta similarity index 100% rename from src/main/resources/assets/amethystwings/textures/entity/energetic_crystal.png.mcmeta rename to src/main/resources/assets/amethystwings/textures/block/energetic_crystal.png.mcmeta diff --git a/src/main/resources/assets/amethystwings/textures/entity/hardened_crystal.png b/src/main/resources/assets/amethystwings/textures/block/hardened_crystal.png similarity index 100% rename from src/main/resources/assets/amethystwings/textures/entity/hardened_crystal.png rename to src/main/resources/assets/amethystwings/textures/block/hardened_crystal.png diff --git a/src/main/resources/assets/amethystwings/textures/entity/resonant_crystal.png b/src/main/resources/assets/amethystwings/textures/block/resonant_crystal.png similarity index 100% rename from src/main/resources/assets/amethystwings/textures/entity/resonant_crystal.png rename to src/main/resources/assets/amethystwings/textures/block/resonant_crystal.png diff --git a/src/main/resources/assets/amethystwings/textures/entity/resonant_crystal.png.mcmeta b/src/main/resources/assets/amethystwings/textures/block/resonant_crystal.png.mcmeta similarity index 100% rename from src/main/resources/assets/amethystwings/textures/entity/resonant_crystal.png.mcmeta rename to src/main/resources/assets/amethystwings/textures/block/resonant_crystal.png.mcmeta diff --git a/src/main/resources/assets/amethystwings/textures/entity/shaped_crystal.png b/src/main/resources/assets/amethystwings/textures/block/shaped_crystal.png similarity index 100% rename from src/main/resources/assets/amethystwings/textures/entity/shaped_crystal.png rename to src/main/resources/assets/amethystwings/textures/block/shaped_crystal.png diff --git a/src/main/resources/assets/amethystwings/textures/entity/wings_controller.png b/src/main/resources/assets/amethystwings/textures/block/wings_controller.png similarity index 100% rename from src/main/resources/assets/amethystwings/textures/entity/wings_controller.png rename to src/main/resources/assets/amethystwings/textures/block/wings_controller.png diff --git a/src/main/resources/assets/amethystwings/textures/item/wings_controller.png b/src/main/resources/assets/amethystwings/textures/item/wings_controller.png index 83a6197..392819f 100644 Binary files a/src/main/resources/assets/amethystwings/textures/item/wings_controller.png and b/src/main/resources/assets/amethystwings/textures/item/wings_controller.png differ diff --git a/src/main/resources/assets/minecraft/atlases/blocks.json b/src/main/resources/assets/minecraft/atlases/blocks.json deleted file mode 100644 index 1d6cbfe..0000000 --- a/src/main/resources/assets/minecraft/atlases/blocks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "sources": [ - { - "type": "directory", - "namespace": "amethystwings", - "source": "entity", - "prefix": "entity/" - } - ] -}