From 61b58902999f3466d084c1e9e7a2337195eddf13 Mon Sep 17 00:00:00 2001 From: Aleksey Date: Mon, 3 May 2021 23:06:13 +0300 Subject: [PATCH] Armored Elytra textures and fixes --- .../java/ru/betterend/item/ArmoredElytra.java | 19 +++----- .../java/ru/betterend/registry/EndItems.java | 45 +++++------------- .../betterend/models/item/elytra_armored.json | 14 ++++++ .../models/item/elytra_armored_broken.json | 6 +++ .../textures/entity/elytra_armored.png | Bin 725 -> 690 bytes .../textures/item/elytra_armored.png | Bin 498 -> 453 bytes .../textures/item/elytra_armored_broken.png | Bin 0 -> 468 bytes 7 files changed, 38 insertions(+), 46 deletions(-) create mode 100644 src/main/resources/assets/betterend/models/item/elytra_armored.json create mode 100644 src/main/resources/assets/betterend/models/item/elytra_armored_broken.json create mode 100644 src/main/resources/assets/betterend/textures/item/elytra_armored_broken.png diff --git a/src/main/java/ru/betterend/item/ArmoredElytra.java b/src/main/java/ru/betterend/item/ArmoredElytra.java index d5604248..38ceb39c 100644 --- a/src/main/java/ru/betterend/item/ArmoredElytra.java +++ b/src/main/java/ru/betterend/item/ArmoredElytra.java @@ -1,6 +1,7 @@ package ru.betterend.item; import net.fabricmc.fabric.api.item.v1.EquipmentSlotProvider; +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.fabricmc.fabric.api.object.builder.v1.client.model.FabricModelPredicateProviderRegistry; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.EquipmentSlot; @@ -14,15 +15,17 @@ import ru.betterend.patterns.Patterned; import ru.betterend.patterns.Patterns; import ru.betterend.registry.EndItems; -public class ArmoredElytra extends ElytraItem implements EquipmentSlotProvider, BreakableItem, Patterned { +public class ArmoredElytra extends ElytraItem implements BreakableItem { private final ResourceLocation wingTexture; private final Item repairItem; private final double movementFactor; public ArmoredElytra(String name, Item repairItem, int durability, double movementFactor, boolean fireproof) { - super(fireproof ? EndItems.makeItemSettings().durability(durability).rarity(Rarity.RARE).fireResistant() : - EndItems.makeItemSettings().durability(durability).rarity(Rarity.RARE)); + super(fireproof ? EndItems.makeItemSettings().equipmentSlot(stack -> EquipmentSlot.CHEST) + .durability(durability).rarity(Rarity.RARE).fireResistant() : + EndItems.makeItemSettings().equipmentSlot(stack -> EquipmentSlot.CHEST) + .durability(durability).rarity(Rarity.RARE)); this.wingTexture = BetterEnd.makeID("textures/entity/" + name + ".png"); this.repairItem = repairItem; this.movementFactor = movementFactor; @@ -46,14 +49,4 @@ public class ArmoredElytra extends ElytraItem implements EquipmentSlotProvider, FabricModelPredicateProviderRegistry.register(this, new ResourceLocation("broken"), (itemStack, clientLevel, livingEntity) -> ElytraItem.isFlyEnabled(itemStack) ? 0.0F : 1.0F); } - - @Override - public String getModelPattern(String name) { - return Patterns.createItemGenerated(name); - } - - @Override - public EquipmentSlot getPreferredEquipmentSlot(ItemStack stack) { - return EquipmentSlot.CHEST; - } } diff --git a/src/main/java/ru/betterend/registry/EndItems.java b/src/main/java/ru/betterend/registry/EndItems.java index 92d98166..c2ad6722 100644 --- a/src/main/java/ru/betterend/registry/EndItems.java +++ b/src/main/java/ru/betterend/registry/EndItems.java @@ -1,9 +1,7 @@ package ru.betterend.registry; -import java.util.List; - import com.google.common.collect.Lists; - +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.core.BlockSource; import net.minecraft.core.Direction; @@ -19,41 +17,20 @@ import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.food.FoodProperties; import net.minecraft.world.food.Foods; -import net.minecraft.world.item.ArmorItem; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.Item.Properties; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; -import net.minecraft.world.item.Rarity; -import net.minecraft.world.item.ShovelItem; -import net.minecraft.world.item.SpawnEggItem; -import net.minecraft.world.item.SwordItem; -import net.minecraft.world.item.TieredItem; -import net.minecraft.world.item.Tiers; +import net.minecraft.world.item.*; import net.minecraft.world.level.block.DispenserBlock; import ru.betterend.BetterEnd; import ru.betterend.config.Configs; import ru.betterend.interfaces.BreakableItem; -import ru.betterend.item.ArmoredElytra; -import ru.betterend.item.DrinkItem; -import ru.betterend.item.EnchantedPetalItem; -import ru.betterend.item.EndArmorItem; -import ru.betterend.item.EndBucketItem; -import ru.betterend.item.EndSpawnEggItem; -import ru.betterend.item.EternalCrystalItem; -import ru.betterend.item.PatternedDiscItem; -import ru.betterend.item.PatternedItem; +import ru.betterend.item.*; import ru.betterend.item.material.EndArmorMaterial; import ru.betterend.item.material.EndToolMaterial; -import ru.betterend.item.tool.EndAxeItem; -import ru.betterend.item.tool.EndHammerItem; -import ru.betterend.item.tool.EndHoeItem; -import ru.betterend.item.tool.EndPickaxeItem; -import ru.betterend.item.tool.EndShovelItem; -import ru.betterend.item.tool.EndSwordItem; +import ru.betterend.item.tool.*; import ru.betterend.tab.CreativeTabs; import ru.betterend.util.TagHelper; +import java.util.List; + public class EndItems { private static final List MOD_BLOCKS = Lists.newArrayList(); private static final List MOD_ITEMS = Lists.newArrayList(); @@ -245,12 +222,14 @@ public class EndItems { return registerDrink(name, builder.build()); } - public static Properties makeItemSettings() { - return new Item.Properties().tab(CreativeTabs.TAB_ITEMS); + public static FabricItemSettings makeItemSettings() { + FabricItemSettings properties = new FabricItemSettings(); + return (FabricItemSettings) properties.tab(CreativeTabs.TAB_ITEMS); } - public static Properties makeBlockItemSettings() { - return new Item.Properties().tab(CreativeTabs.TAB_BLOCKS); + public static FabricItemSettings makeBlockItemSettings() { + FabricItemSettings properties = new FabricItemSettings(); + return (FabricItemSettings) properties.tab(CreativeTabs.TAB_BLOCKS); } public static void register() {} diff --git a/src/main/resources/assets/betterend/models/item/elytra_armored.json b/src/main/resources/assets/betterend/models/item/elytra_armored.json new file mode 100644 index 00000000..a59c580f --- /dev/null +++ b/src/main/resources/assets/betterend/models/item/elytra_armored.json @@ -0,0 +1,14 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:item/elytra_armored" + }, + "overrides": [ + { + "predicate": { + "broken": 1 + }, + "model": "betterend:item/elytra_armored_broken" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/item/elytra_armored_broken.json b/src/main/resources/assets/betterend/models/item/elytra_armored_broken.json new file mode 100644 index 00000000..cf30b22a --- /dev/null +++ b/src/main/resources/assets/betterend/models/item/elytra_armored_broken.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:item/elytra_armored_broken" + } +} diff --git a/src/main/resources/assets/betterend/textures/entity/elytra_armored.png b/src/main/resources/assets/betterend/textures/entity/elytra_armored.png index c5540b5da2b8cb303c2023bb40ecfcbc1bd14fd1..4fb41886b46be08e8288f7561299226418729c18 100644 GIT binary patch delta 667 zcmV;M0%ZNw1+oQ@BYyx1a7bBm000ie000ie0hKEb8vpZN9?)?+g&9zR>c5&h_=+J~oqD>Pb(Tg2`fuw@T z5mSen%H6do4tN)+E|z!l67Q2-j@-L@zq{}I{2mH3q*N{s0e_O|H2q$W@!!dG8i1`z zMVZ|j{sYupcIXB%3#3W+;o8~|m{@(+3d8JTw>rMO>zp5xo|pTpt1Rd9d}uZSs5csX zys`kF_9&$?!+NbIJOrr%s5crD=V)S)I{>$CVz5W4ToxX}1(B0Y!&arDeCzkw{M^EE zeh^J8dSj*UCx6^ibPTgAysk6>z^Lcfujja&zQ%UD?OoTRI`L$ZP&$K}%L?5vrD_3y z<$RuIx5I;_CAQmb3ic^)%pQdkU=E6@4E0t=SUsr>FwCyE0Rj~4Q~JHp#~WtXJBviB z007?YzQsBmU>y#q4hI-!m#di@+%2w<&6Rjmek`<}RDUf{Ol4Sz#xeKzsSXE(`Ug0G z9*z*ZlmI}}!$NENX28>p&A;BP>b06;?Cel|zf1AU0ZwnEyQ)Vf?tA|7wXls)Dgywr zxe|rjD*zM#dvN59X?mEDstK*HUu`^59NQwKYJ^k`$F{r!ARfCYw4QV= z;4&V9OIX*Yp7$)i1u%`Ku~-aEoyW3|h3ft%q-z0y7thuezze}W{J=K@%>LJ@o_AM& z+yFm9kkSAcS#Wmc-9Y?qi-3TDfPjF2fPnvjpA?!8+fFDn4z&OP002ovPDHLkV1mN> BI*tGU delta 702 zcmV;v0zv(<1=R(RBYy&%Nkln)62 zA(Hk*3{3)zTmf1d_HOOmO0RCM0iBcpvA!`*@;KmXl&3+P0@add!@EBGeF z*JrG11K_W^(op#R^&5puCU|C00QhZ!LG#d#tzTgVM1MJ{Wktbt91Pc_R^4H2d>rUZ z+@JJ^pVe5$Deer|tc2dHAMcGyvZA2r8OHN>v3F~|S383CMGVa$xc%u1CHoXj&ydy) z(z?Oe#5C>W#WrG!EQn-1tV4*BLoC~ z3(UWH=YPF@^&+(Xv-#H^fU4=F74_Wn6Q@nyvWTMH3trk-JI*K^TR< z)%8Lc8$r@U8%ZJ9Wg82{N-KLIPat+FL|?%-(9R-YF9{+FCLls~mzXLGffU&xWVQ$a zmo0+0HrX*Zu=JE?&iUs5XW+kOOdBWpe7v4c1JGA$rtnZKPJeXF@gl%gp+Md9cr2Gu zQqt)899etXS5n3RwMxa%fRlVaP69W@A^@*F$>%79wHMbt4}hIqj*kt&no0cmQZY;b zB_(ywqvpEwm7=q|%~1M!OeG~X*X3hFu%#3$uFJ6J|E`eEWVpM%1)yodA>hq_Unz#t=koM|Fl|IkyJC+Itjz;LOXSm;!@A@J@0w$ zxt9z7TM9r#qQSIfiIGkM(D6J1tvOnlpq@?uAkUXo6jtg0Fn>9FNm8R3>g6fOO)~T9 zDF9*6$4DnRH+P4}-x?HOye9bmgHLN~N-4z%z^%naIXhD#lyT}4B_1k+CC@?LH59|8$eBRz;ykKyzwak))6#56(ij?_CF1HKa6e-^a zAhGY=zg}YF{eLRmZl1ea8yHC=%AGhe#!hRUPCLohUCpE0HzO|sIF7@$sRi222EASw zJGkBX!d^$S`Qa^dr>@{Q&M+XGE#mu4<}aVY+q8$;+v}@X=a1w2O|seIFu?QP{Cf3X z0f0d3XekW(F>ht%NgPnER+Vkr=-;8M#Z2tzkuggnK@`V-BgYLvZ9E(Xez|7$zR$nu`H~;_dy?Fy) z9pZgqu~bqMw$0Y+s>t%}E|rptYE=vcWWs{)a}h;6rl~e8mP)GN`y3t|kV*-lK}KdS z_&)26Sewrh$#YMXO38X7X2!Oeux+j;bBr6P=ddaaJz5ko8bv%h4vk+w>0F)~-j>An9kvC0F6UiKK+h@KpU>c~ORB6X`aSeJeBLI8b+ahn8 z%+4;+kxh;+&-vj@X~6uL$nyLVJ7Yt(v%R;$Iz z@&-wAO!)MwYPFhPz5x&ffdG{2f@Qt`*th6*@31VFg#`dKWF!*=K_J2~