Equipment
BIN
psd/armor_items.psd
Normal file
BIN
psd/armor_models.psd
Normal file
89
src/main/java/ru/betterend/item/EndArmorMaterial.java
Normal file
|
@ -0,0 +1,89 @@
|
|||
package ru.betterend.item;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
import net.minecraft.item.ArmorMaterial;
|
||||
import net.minecraft.recipe.Ingredient;
|
||||
import net.minecraft.sound.SoundEvent;
|
||||
import net.minecraft.sound.SoundEvents;
|
||||
import net.minecraft.util.Lazy;
|
||||
import ru.betterend.registry.ItemRegistry;
|
||||
|
||||
public enum EndArmorMaterial implements ArmorMaterial {
|
||||
TERMINITE("terminite", 26, new int[] { 3, 6, 7, 3 }, 14, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 1.0F, 0.05F, () -> {
|
||||
return Ingredient.ofItems(ItemRegistry.TERMINITE_INGOT);
|
||||
}),
|
||||
AETERNIUM("aeternium", 40, new int[] { 4, 7, 9, 4 }, 18, SoundEvents.ITEM_ARMOR_EQUIP_NETHERITE, 3.5F, 0.2F, () -> {
|
||||
return Ingredient.ofItems(ItemRegistry.AETERNIUM_INGOT);
|
||||
});
|
||||
|
||||
private static final int[] BASE_DURABILITY = new int[] { 13, 15, 16, 11 };
|
||||
private final String name;
|
||||
private final int durabilityMultiplier;
|
||||
private final int[] protectionAmounts;
|
||||
private final int enchantability;
|
||||
private final SoundEvent equipSound;
|
||||
private final float toughness;
|
||||
private final float knockbackResistance;
|
||||
private final Lazy<Ingredient> repairIngredient;
|
||||
|
||||
private EndArmorMaterial(String name, int durabilityMultiplier, int[] protectionAmounts, int enchantability,
|
||||
SoundEvent equipSound, float toughness, float knockbackResistance,
|
||||
Supplier<Ingredient> repairIngredient) {
|
||||
|
||||
this.name = name;
|
||||
this.durabilityMultiplier = durabilityMultiplier;
|
||||
this.protectionAmounts = protectionAmounts;
|
||||
this.enchantability = enchantability;
|
||||
this.equipSound = equipSound;
|
||||
this.toughness = toughness;
|
||||
this.knockbackResistance = knockbackResistance;
|
||||
this.repairIngredient = new Lazy<>(repairIngredient);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDurability(EquipmentSlot slot) {
|
||||
return BASE_DURABILITY[slot.getEntitySlotId()] * this.durabilityMultiplier;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getProtectionAmount(EquipmentSlot slot) {
|
||||
return this.protectionAmounts[slot.getEntitySlotId()];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEnchantability() {
|
||||
return this.enchantability;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SoundEvent getEquipSound() {
|
||||
return this.equipSound;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Ingredient getRepairIngredient() {
|
||||
return this.repairIngredient.get();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Environment(EnvType.CLIENT)
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getToughness() {
|
||||
return this.toughness;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getKnockbackResistance() {
|
||||
return this.knockbackResistance;
|
||||
}
|
||||
|
||||
}
|
11
src/main/java/ru/betterend/item/EndAxe.java
Normal file
|
@ -0,0 +1,11 @@
|
|||
package ru.betterend.item;
|
||||
|
||||
import net.minecraft.item.AxeItem;
|
||||
import net.minecraft.item.ToolMaterial;
|
||||
|
||||
public class EndAxe extends AxeItem {
|
||||
|
||||
public EndAxe(ToolMaterial material, float attackDamage, float attackSpeed, Settings settings) {
|
||||
super(material, attackDamage, attackSpeed, settings);
|
||||
}
|
||||
}
|
11
src/main/java/ru/betterend/item/EndHoe.java
Normal file
|
@ -0,0 +1,11 @@
|
|||
package ru.betterend.item;
|
||||
|
||||
import net.minecraft.item.HoeItem;
|
||||
import net.minecraft.item.ToolMaterial;
|
||||
|
||||
public class EndHoe extends HoeItem {
|
||||
|
||||
public EndHoe(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
|
||||
super(material, attackDamage, attackSpeed, settings);
|
||||
}
|
||||
}
|
11
src/main/java/ru/betterend/item/EndPickaxe.java
Normal file
|
@ -0,0 +1,11 @@
|
|||
package ru.betterend.item;
|
||||
|
||||
import net.minecraft.item.PickaxeItem;
|
||||
import net.minecraft.item.ToolMaterial;
|
||||
|
||||
public class EndPickaxe extends PickaxeItem {
|
||||
|
||||
public EndPickaxe(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
|
||||
super(material, attackDamage, attackSpeed, settings);
|
||||
}
|
||||
}
|
67
src/main/java/ru/betterend/item/EndToolMaterial.java
Normal file
|
@ -0,0 +1,67 @@
|
|||
package ru.betterend.item;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import net.minecraft.item.ToolMaterial;
|
||||
import net.minecraft.recipe.Ingredient;
|
||||
import net.minecraft.util.Lazy;
|
||||
|
||||
import ru.betterend.registry.ItemRegistry;
|
||||
|
||||
public enum EndToolMaterial implements ToolMaterial {
|
||||
TERMINITE(3, 1230, 8.5F, 3.0F, 14, () -> {
|
||||
return Ingredient.ofItems(ItemRegistry.TERMINITE_INGOT);
|
||||
}),
|
||||
AETERNIUM(5, 2196, 10.0F, 4.5F, 18, () -> {
|
||||
return Ingredient.ofItems(ItemRegistry.AETERNIUM_INGOT);
|
||||
});
|
||||
|
||||
private final int durability;
|
||||
private final float miningSpeed;
|
||||
private final float attackDamage;
|
||||
private final int miningLevel;
|
||||
private final int enchantability;
|
||||
private final Lazy<Ingredient> repairIngredient;
|
||||
|
||||
private EndToolMaterial(int miningLevel, int durability, float miningSpeed, float attackDamage, int enchantability,
|
||||
Supplier<Ingredient> repairIngredient) {
|
||||
|
||||
this.durability = durability;
|
||||
this.miningSpeed = miningSpeed;
|
||||
this.attackDamage = attackDamage;
|
||||
this.miningLevel = miningLevel;
|
||||
this.enchantability = enchantability;
|
||||
this.repairIngredient = new Lazy<>(repairIngredient);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDurability() {
|
||||
return this.durability;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getMiningSpeedMultiplier() {
|
||||
return this.miningSpeed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getAttackDamage() {
|
||||
return this.attackDamage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMiningLevel() {
|
||||
return this.miningLevel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEnchantability() {
|
||||
return this.enchantability;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Ingredient getRepairIngredient() {
|
||||
return this.repairIngredient.get();
|
||||
}
|
||||
|
||||
}
|
|
@ -4,20 +4,48 @@ import java.util.List;
|
|||
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
import net.minecraft.item.ArmorItem;
|
||||
import net.minecraft.item.BlockItem;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.item.ShovelItem;
|
||||
import net.minecraft.item.SwordItem;
|
||||
import net.minecraft.item.ToolItem;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.item.EndArmorMaterial;
|
||||
import ru.betterend.item.EndAxe;
|
||||
import ru.betterend.item.EndHoe;
|
||||
import ru.betterend.item.EndPickaxe;
|
||||
import ru.betterend.item.EndToolMaterial;
|
||||
|
||||
public class ItemRegistry {
|
||||
private static final List<Item> MOD_BLOCKS = Lists.newArrayList();
|
||||
private static final List<Item> MOD_ITEMS = Lists.newArrayList();
|
||||
|
||||
//Materials
|
||||
public final static Item ENDER_DUST = registerItem("ender_dust", new Item((new Item.Settings()).group(ItemGroup.MATERIALS)));
|
||||
public final static Item TERMINITE_INGOT = registerItem("terminite_ingot", new Item((new Item.Settings()).group(ItemGroup.MATERIALS)));
|
||||
public final static Item AETERNIUM_INGOT = registerItem("aeternium_ingot", new Item((new Item.Settings()).group(ItemGroup.MATERIALS)));
|
||||
|
||||
//Armor
|
||||
public static final Item TERMINITE_HELMET = registerItem("terminite_helmet", new ArmorItem(EndArmorMaterial.TERMINITE, EquipmentSlot.HEAD,new Item.Settings().group(ItemGroup.COMBAT)));
|
||||
public static final Item TERMINITE_CHESTPLATE = registerItem("terminite_chestplate", new ArmorItem(EndArmorMaterial.TERMINITE, EquipmentSlot.CHEST, new Item.Settings().group(ItemGroup.COMBAT)));
|
||||
public static final Item TERMINITE_LEGGINGS = registerItem("terminite_leggings", new ArmorItem(EndArmorMaterial.TERMINITE, EquipmentSlot.LEGS, new Item.Settings().group(ItemGroup.COMBAT)));
|
||||
public static final Item TERMINITE_BOOTS = registerItem("terminite_boots", new ArmorItem(EndArmorMaterial.TERMINITE, EquipmentSlot.FEET, new Item.Settings().group(ItemGroup.COMBAT)));
|
||||
public static final Item AETERNIUM_HELMET = registerItem("aeternium_helmet", new ArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.HEAD,new Item.Settings().group(ItemGroup.COMBAT)));
|
||||
public static final Item AETERNIUM_CHESTPLATE = registerItem("aeternium_chestplate", new ArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.CHEST, new Item.Settings().group(ItemGroup.COMBAT)));
|
||||
public static final Item AETERNIUM_LEGGINGS = registerItem("aeternium_leggings", new ArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.LEGS, new Item.Settings().group(ItemGroup.COMBAT)));
|
||||
public static final Item AETERNIUM_BOOTS = registerItem("aeternium_boots", new ArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.FEET, new Item.Settings().group(ItemGroup.COMBAT)));
|
||||
|
||||
//Tools
|
||||
public static ToolItem TERMINITE_SHOVEL = registerTool("terminite_shovel", new ShovelItem(EndToolMaterial.TERMINITE, 1.5F, -3.0F, new Item.Settings().group(ItemGroup.TOOLS)));
|
||||
public static ToolItem TERMINITE_SWORD = registerTool("terminite_sword", new SwordItem(EndToolMaterial.TERMINITE, 3, -2.4F, new Item.Settings().group(ItemGroup.COMBAT)));
|
||||
public static ToolItem TERMINITE_PICKAXE = registerTool("terminite_pickaxe", new EndPickaxe(EndToolMaterial.TERMINITE, 1, -2.8F, new Item.Settings().group(ItemGroup.TOOLS)));
|
||||
public static ToolItem TERMINITE_AXE = registerTool("terminite_axe", new EndAxe(EndToolMaterial.TERMINITE, 5.0F, -3.0F, new Item.Settings().group(ItemGroup.TOOLS)));
|
||||
public static ToolItem TERMINITE_HOE = registerTool("terminite_hoe", new EndHoe(EndToolMaterial.TERMINITE, -3, 0.0F, new Item.Settings().group(ItemGroup.TOOLS)));
|
||||
|
||||
protected static Item registerItem(String name, Item item) {
|
||||
if (item != Items.AIR) {
|
||||
|
@ -29,6 +57,14 @@ public class ItemRegistry {
|
|||
}
|
||||
return item;
|
||||
}
|
||||
|
||||
protected static ToolItem registerTool(String name, ToolItem item) {
|
||||
if (item != Items.AIR) {
|
||||
Registry.register(Registry.ITEM, BetterEnd.getResId(name), item);
|
||||
MOD_ITEMS.add(item);
|
||||
}
|
||||
return item;
|
||||
}
|
||||
|
||||
public static void register() {}
|
||||
|
||||
|
|
|
@ -13,6 +13,24 @@
|
|||
"item.betterend.ender_dust": "Ender Dust",
|
||||
"item.betterend.terminite_ingot": "Terminite Ingot",
|
||||
"item.betterend.aeternium_ingot": "Aeternium Ingot",
|
||||
"item.betterend.terminite_helmet": "Terminite Helmet",
|
||||
"item.betterend.terminite_chestplate": "Terminite Chestplate",
|
||||
"item.betterend.terminite_leggings": "Terminite Leggings",
|
||||
"item.betterend.terminite_boots": "Terminite Boots",
|
||||
"item.betterend.terminite_shovel": "Terminite Shovel",
|
||||
"item.betterend.terminite_sword": "Terminite Sword",
|
||||
"item.betterend.terminite_pickaxe": "Terminite Pickaxe",
|
||||
"item.betterend.terminite_axe": "Terminite Axe",
|
||||
"item.betterend.terminite_hoe": "Terminite Hoe",
|
||||
"item.betterend.aeternium_helmet": "Aeternium Helmet",
|
||||
"item.betterend.aeternium_chestplate": "Aeternium Chestplate",
|
||||
"item.betterend.aeternium_leggings": "Aeternium Leggings",
|
||||
"item.betterend.aeternium_boots": "Aeternium Boots",
|
||||
"item.betterend.aeternium_shovel": "Aeternium Shovel",
|
||||
"item.betterend.aeternium_sword": "Aeternium Sword",
|
||||
"item.betterend.aeternium_pickaxe": "Aeternium Pickaxe",
|
||||
"item.betterend.aeternium_axe": "Aeternium Axe",
|
||||
"item.betterend.aeternium_hoe": "Aeternium Hoe",
|
||||
|
||||
"block.betterend.mossy_glowshroom_sapling": "Mossy Glowshroom Sapling",
|
||||
"block.betterend.mossy_glowshroom_cap": "Mossy Glowshroom Cap",
|
||||
|
|
|
@ -11,8 +11,26 @@
|
|||
"block.betterend.end_stone_smelter": "Плавильня из камня Края",
|
||||
|
||||
"item.betterend.ender_dust": "Пыль Края",
|
||||
"item.betterend.terminite_ingot": "Терминитовый слиток",
|
||||
"item.betterend.terminite_ingot": "Слиток Терминита",
|
||||
"item.betterend.aeternium_ingot": "Этериевый слиток",
|
||||
"item.betterend.terminite_helmet": "Шлем из Терминита",
|
||||
"item.betterend.terminite_chestplate": "Кираса из Терминита",
|
||||
"item.betterend.terminite_leggings": "Поножи из Терминита",
|
||||
"item.betterend.terminite_boots": "Сапоги из Терминита",
|
||||
"item.betterend.terminite_shovel": "Лопата из Терминита",
|
||||
"item.betterend.terminite_sword": "Меч из Терминита",
|
||||
"item.betterend.terminite_pickaxe": "Кирка из Терминита",
|
||||
"item.betterend.terminite_axe": "Топор из Терминита",
|
||||
"item.betterend.terminite_hoe": "Мотыга из Терминита",
|
||||
"item.betterend.aeternium_helmet": "Этериевый Шлем",
|
||||
"item.betterend.aeternium_chestplate": "Этериевая Кираса",
|
||||
"item.betterend.aeternium_leggings": "Этериевые Поножи",
|
||||
"item.betterend.aeternium_boots": "Этериевые Сапоги",
|
||||
"item.betterend.aeternium_shovel": "Этериевая Лопата",
|
||||
"item.betterend.aeternium_sword": "Этериевый Меч",
|
||||
"item.betterend.aeternium_pickaxe": "Этериевая Кирка",
|
||||
"item.betterend.aeternium_axe": "Этериевый Топор",
|
||||
"item.betterend.aeternium_hoe": "Этериевая Мотыга",
|
||||
|
||||
"block.betterend.mossy_glowshroom_sapling": "Саженец мшистого светогриба",
|
||||
"block.betterend.mossy_glowshroom_cap": "Шляпка мшистого светогриба",
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "betterend:item/aeternium_boots"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "betterend:item/aeternium_chestplate"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "betterend:item/aeternium_helmet"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "betterend:item/aeternium_leggings"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "betterend:item/terminite_axe"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "betterend:item/terminite_boots"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "betterend:item/terminite_chestplate"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "betterend:item/terminite_helmet"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "betterend:item/terminite_hoe"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "betterend:item/terminite_leggings"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "betterend:item/terminite_pickaxe"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "betterend:item/terminite_shovel"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "betterend:item/terminite_sword"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 539 B |
After Width: | Height: | Size: 689 B |
After Width: | Height: | Size: 639 B |
After Width: | Height: | Size: 503 B |
After Width: | Height: | Size: 2 KiB |
After Width: | Height: | Size: 338 B |
After Width: | Height: | Size: 561 B |
After Width: | Height: | Size: 381 B |
After Width: | Height: | Size: 289 B |
After Width: | Height: | Size: 356 B |
After Width: | Height: | Size: 2 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 711 B |