Armored Elytra textures and fixes

This commit is contained in:
Aleksey 2021-05-03 23:06:13 +03:00
parent a21d50e00a
commit 61b5890299
7 changed files with 38 additions and 46 deletions

View file

@ -1,6 +1,7 @@
package ru.betterend.item; package ru.betterend.item;
import net.fabricmc.fabric.api.item.v1.EquipmentSlotProvider; 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.fabricmc.fabric.api.object.builder.v1.client.model.FabricModelPredicateProviderRegistry;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.EquipmentSlot;
@ -14,15 +15,17 @@ import ru.betterend.patterns.Patterned;
import ru.betterend.patterns.Patterns; import ru.betterend.patterns.Patterns;
import ru.betterend.registry.EndItems; 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 ResourceLocation wingTexture;
private final Item repairItem; private final Item repairItem;
private final double movementFactor; private final double movementFactor;
public ArmoredElytra(String name, Item repairItem, int durability, double movementFactor, boolean fireproof) { public ArmoredElytra(String name, Item repairItem, int durability, double movementFactor, boolean fireproof) {
super(fireproof ? EndItems.makeItemSettings().durability(durability).rarity(Rarity.RARE).fireResistant() : super(fireproof ? EndItems.makeItemSettings().equipmentSlot(stack -> EquipmentSlot.CHEST)
EndItems.makeItemSettings().durability(durability).rarity(Rarity.RARE)); .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.wingTexture = BetterEnd.makeID("textures/entity/" + name + ".png");
this.repairItem = repairItem; this.repairItem = repairItem;
this.movementFactor = movementFactor; this.movementFactor = movementFactor;
@ -46,14 +49,4 @@ public class ArmoredElytra extends ElytraItem implements EquipmentSlotProvider,
FabricModelPredicateProviderRegistry.register(this, new ResourceLocation("broken"), FabricModelPredicateProviderRegistry.register(this, new ResourceLocation("broken"),
(itemStack, clientLevel, livingEntity) -> ElytraItem.isFlyEnabled(itemStack) ? 0.0F : 1.0F); (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;
}
} }

View file

@ -1,9 +1,7 @@
package ru.betterend.registry; package ru.betterend.registry;
import java.util.List;
import com.google.common.collect.Lists; 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.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags;
import net.minecraft.core.BlockSource; import net.minecraft.core.BlockSource;
import net.minecraft.core.Direction; 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.entity.MobSpawnType;
import net.minecraft.world.food.FoodProperties; import net.minecraft.world.food.FoodProperties;
import net.minecraft.world.food.Foods; import net.minecraft.world.food.Foods;
import net.minecraft.world.item.ArmorItem; import net.minecraft.world.item.*;
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.level.block.DispenserBlock; import net.minecraft.world.level.block.DispenserBlock;
import ru.betterend.BetterEnd; import ru.betterend.BetterEnd;
import ru.betterend.config.Configs; import ru.betterend.config.Configs;
import ru.betterend.interfaces.BreakableItem; import ru.betterend.interfaces.BreakableItem;
import ru.betterend.item.ArmoredElytra; import ru.betterend.item.*;
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.material.EndArmorMaterial; import ru.betterend.item.material.EndArmorMaterial;
import ru.betterend.item.material.EndToolMaterial; import ru.betterend.item.material.EndToolMaterial;
import ru.betterend.item.tool.EndAxeItem; import ru.betterend.item.tool.*;
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.tab.CreativeTabs; import ru.betterend.tab.CreativeTabs;
import ru.betterend.util.TagHelper; import ru.betterend.util.TagHelper;
import java.util.List;
public class EndItems { public class EndItems {
private static final List<Item> MOD_BLOCKS = Lists.newArrayList(); private static final List<Item> MOD_BLOCKS = Lists.newArrayList();
private static final List<Item> MOD_ITEMS = Lists.newArrayList(); private static final List<Item> MOD_ITEMS = Lists.newArrayList();
@ -245,12 +222,14 @@ public class EndItems {
return registerDrink(name, builder.build()); return registerDrink(name, builder.build());
} }
public static Properties makeItemSettings() { public static FabricItemSettings makeItemSettings() {
return new Item.Properties().tab(CreativeTabs.TAB_ITEMS); FabricItemSettings properties = new FabricItemSettings();
return (FabricItemSettings) properties.tab(CreativeTabs.TAB_ITEMS);
} }
public static Properties makeBlockItemSettings() { public static FabricItemSettings makeBlockItemSettings() {
return new Item.Properties().tab(CreativeTabs.TAB_BLOCKS); FabricItemSettings properties = new FabricItemSettings();
return (FabricItemSettings) properties.tab(CreativeTabs.TAB_BLOCKS);
} }
public static void register() {} public static void register() {}

View file

@ -0,0 +1,14 @@
{
"parent": "item/generated",
"textures": {
"layer0": "betterend:item/elytra_armored"
},
"overrides": [
{
"predicate": {
"broken": 1
},
"model": "betterend:item/elytra_armored_broken"
}
]
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "betterend:item/elytra_armored_broken"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 725 B

After

Width:  |  Height:  |  Size: 690 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 498 B

After

Width:  |  Height:  |  Size: 453 B

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 468 B