diff --git a/src/main/java/ru/betterend/item/EndShovelItem.java b/src/main/java/ru/betterend/item/EndShovelItem.java new file mode 100644 index 00000000..2af12d3a --- /dev/null +++ b/src/main/java/ru/betterend/item/EndShovelItem.java @@ -0,0 +1,32 @@ +package ru.betterend.item; + +import net.fabricmc.fabric.api.tool.attribute.v1.DynamicAttributeTool; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; +import net.minecraft.block.BlockState; +import net.minecraft.entity.LivingEntity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ShovelItem; +import net.minecraft.item.ToolMaterial; +import net.minecraft.tag.Tag; +import ru.betterend.patterns.Patterned; +import ru.betterend.patterns.Patterns; + +public class EndShovelItem extends ShovelItem implements DynamicAttributeTool, Patterned { + public EndShovelItem(ToolMaterial material, float attackDamage, float attackSpeed, Settings settings) { + super(material, attackDamage, attackSpeed, settings); + } + + @Override + public int getMiningLevel(Tag tag, BlockState state, ItemStack stack, LivingEntity user) { + if (tag.equals(FabricToolTags.SHOVELS)) { + return this.getMaterial().getMiningLevel(); + } + return 0; + } + + @Override + public String getModelPattern(String name) { + return Patterns.createJson(Patterns.ITEM_HANDHELD, name); + } +} diff --git a/src/main/java/ru/betterend/item/EndSwordItem.java b/src/main/java/ru/betterend/item/EndSwordItem.java new file mode 100644 index 00000000..46afd39c --- /dev/null +++ b/src/main/java/ru/betterend/item/EndSwordItem.java @@ -0,0 +1,18 @@ +package ru.betterend.item; + +import net.fabricmc.fabric.api.tool.attribute.v1.DynamicAttributeTool; +import net.minecraft.item.SwordItem; +import net.minecraft.item.ToolMaterial; +import ru.betterend.patterns.Patterned; +import ru.betterend.patterns.Patterns; + +public class EndSwordItem extends SwordItem implements DynamicAttributeTool, Patterned { + public EndSwordItem(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) { + super(material, attackDamage, attackSpeed, settings); + } + + @Override + public String getModelPattern(String name) { + return Patterns.createJson(Patterns.ITEM_HANDHELD, name); + } +} diff --git a/src/main/java/ru/betterend/item/material/EndToolMaterial.java b/src/main/java/ru/betterend/item/material/EndToolMaterial.java index 49584f64..5060662f 100644 --- a/src/main/java/ru/betterend/item/material/EndToolMaterial.java +++ b/src/main/java/ru/betterend/item/material/EndToolMaterial.java @@ -8,6 +8,9 @@ import net.minecraft.util.Lazy; import ru.betterend.registry.EndItems; public enum EndToolMaterial implements ToolMaterial { + THALASSIUM(2, 320, 6.5F, 4.5F, 13, () -> { + return Ingredient.ofItems(EndItems.AETERNIUM_INGOT); + }), TERMINITE(3, 1230, 8.5F, 3.0F, 14, () -> { return Ingredient.ofItems(EndItems.TERMINITE_INGOT); }), diff --git a/src/main/java/ru/betterend/registry/EndBlocks.java b/src/main/java/ru/betterend/registry/EndBlocks.java index 851a1cff..0ec3c22c 100644 --- a/src/main/java/ru/betterend/registry/EndBlocks.java +++ b/src/main/java/ru/betterend/registry/EndBlocks.java @@ -1,5 +1,6 @@ package ru.betterend.registry; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraft.block.MaterialColor; @@ -86,6 +87,7 @@ import ru.betterend.blocks.UmbrellaTreeClusterEmptyBlock; import ru.betterend.blocks.UmbrellaTreeMembraneBlock; import ru.betterend.blocks.UmbrellaTreeSaplingBlock; import ru.betterend.blocks.VentBubbleColumnBlock; +import ru.betterend.blocks.basis.BaseBlock; import ru.betterend.blocks.basis.EndCropBlock; import ru.betterend.blocks.basis.EndLeavesBlock; import ru.betterend.blocks.basis.EndOreBlock; @@ -278,6 +280,7 @@ public class EndBlocks { public static final Block SILK_MOTH_NEST = registerBlock("silk_moth_nest", new SilkMothNestBlock()); // Ores // + public static final Block THALASSIUM_ORE = registerBlock("thalassium_ore", new BaseBlock(FabricBlockSettings.copyOf(Blocks.END_STONE))); public static final Block ENDER_ORE = registerBlock("ender_ore", new EndOreBlock(EndItems.ENDER_SHARD, 1, 3, 5)); public static final Block AMBER_ORE = registerBlock("amber_ore", new EndOreBlock(EndItems.RAW_AMBER, 1, 2, 4)); diff --git a/src/main/java/ru/betterend/registry/EndFeatures.java b/src/main/java/ru/betterend/registry/EndFeatures.java index 11e21d00..f04d3eb8 100644 --- a/src/main/java/ru/betterend/registry/EndFeatures.java +++ b/src/main/java/ru/betterend/registry/EndFeatures.java @@ -157,6 +157,7 @@ public class EndFeatures { public static final EndFeature SULPHUR_HILL = EndFeature.makeChansedFeature("sulphur_hill", new SulphurHillFeature(), 8); // Ores // + public static final EndFeature THALASSIUM_ORE = EndFeature.makeOreFeature("thalassium_ore", EndBlocks.THALASSIUM_ORE, 12, 6, 0, 16, 128); public static final EndFeature ENDER_ORE = EndFeature.makeOreFeature("ender_ore", EndBlocks.ENDER_ORE, 8, 3, 0, 16, 128); public static final EndFeature AMBER_ORE = EndFeature.makeOreFeature("amber_ore", EndBlocks.AMBER_ORE, 12, 6, 0, 16, 128); public static final EndFeature VIOLECITE_LAYER = EndFeature.makeLayerFeature("violecite_layer", EndBlocks.VIOLECITE, 15, 16, 128, 8); @@ -186,6 +187,7 @@ public class EndFeatures { } addFeature(FLAVOLITE_LAYER, features); + addFeature(THALASSIUM_ORE, features); addFeature(ENDER_ORE, features); addFeature(CRASHED_SHIP, features); diff --git a/src/main/java/ru/betterend/registry/EndItems.java b/src/main/java/ru/betterend/registry/EndItems.java index 9c3c64dd..30011e19 100644 --- a/src/main/java/ru/betterend/registry/EndItems.java +++ b/src/main/java/ru/betterend/registry/EndItems.java @@ -40,7 +40,9 @@ import ru.betterend.item.EndAxeItem; import ru.betterend.item.EndHammerItem; import ru.betterend.item.EndHoeItem; import ru.betterend.item.EndPickaxeItem; +import ru.betterend.item.EndShovelItem; import ru.betterend.item.EndSpawnEggItem; +import ru.betterend.item.EndSwordItem; import ru.betterend.item.EternalCrystalItem; import ru.betterend.item.PatternedItem; import ru.betterend.item.material.EndArmorMaterial; @@ -55,6 +57,7 @@ public class EndItems { // Materials // public final static Item ENDER_DUST = registerItem("ender_dust"); public final static Item ENDER_SHARD = registerItem("ender_shard"); + public final static Item THALASSIUM_INGOT = registerItem("thalassium_ingot"); public final static Item TERMINITE_INGOT = registerItem("terminite_ingot"); public final static Item AETERNIUM_INGOT = registerItem("aeternium_ingot"); public final static Item END_LILY_LEAF = registerItem("end_lily_leaf"); @@ -87,18 +90,26 @@ public class EndItems { public static final Item CRYSTALITE_BOOTS = registerItem("crystalite_boots", new ArmorItem(EndArmorMaterial.CRYSTALITE, EquipmentSlot.FEET, makeItemSettings().rarity(Rarity.UNCOMMON))); // Tools // - public static final ToolItem TERMINITE_SHOVEL = registerTool("terminite_shovel", new ShovelItem(EndToolMaterial.TERMINITE, 1.5F, -3.0F, makeItemSettings())); - public static final ToolItem TERMINITE_SWORD = registerTool("terminite_sword", new SwordItem(EndToolMaterial.TERMINITE, 3, -2.4F, makeItemSettings())); + public static final ToolItem THALASSIUM_SHOVEL = registerTool("thalassium_shovel", new EndShovelItem(EndToolMaterial.THALASSIUM, 1.0F, -3.0F, makeItemSettings())); + public static final ToolItem THALASSIUM_SWORD = registerTool("thalassium_sword", new EndSwordItem(EndToolMaterial.THALASSIUM, 2, -2.4F, makeItemSettings())); + public static final ToolItem THALASSIUM_PICKAXE = registerTool("thalassium_pickaxe", new EndPickaxeItem(EndToolMaterial.THALASSIUM, 1, -2.8F, makeItemSettings())); + public static final ToolItem THALASSIUM_AXE = registerTool("thalassium_axe", new EndAxeItem(EndToolMaterial.THALASSIUM, 5.0F, -3.0F, makeItemSettings())); + public static final ToolItem THALASSIUM_HOE = registerTool("thalassium_hoe", new EndHoeItem(EndToolMaterial.THALASSIUM, -3, 0.0F, makeItemSettings())); + + public static final ToolItem TERMINITE_SHOVEL = registerTool("terminite_shovel", new EndShovelItem(EndToolMaterial.TERMINITE, 1.5F, -3.0F, makeItemSettings())); + public static final ToolItem TERMINITE_SWORD = registerTool("terminite_sword", new EndSwordItem(EndToolMaterial.TERMINITE, 3, -2.4F, makeItemSettings())); public static final ToolItem TERMINITE_PICKAXE = registerTool("terminite_pickaxe", new EndPickaxeItem(EndToolMaterial.TERMINITE, 1, -2.8F, makeItemSettings())); public static final ToolItem TERMINITE_AXE = registerTool("terminite_axe", new EndAxeItem(EndToolMaterial.TERMINITE, 6.0F, -3.0F, makeItemSettings())); public static final ToolItem TERMINITE_HOE = registerTool("terminite_hoe", new EndHoeItem(EndToolMaterial.TERMINITE, -3, 0.0F, makeItemSettings())); public static final ToolItem TERMINITE_HAMMER = registerTool("terminite_hammer", new EndHammerItem(EndToolMaterial.TERMINITE, 5.0F, -3.2F, 0.3D, makeItemSettings())); - public static final ToolItem AETERNIUM_SHOVEL = registerTool("aeternium_shovel", new ShovelItem(EndToolMaterial.AETERNIUM, 1.5F, -3.0F, makeItemSettings())); - public static final ToolItem AETERNIUM_SWORD = registerTool("aeternium_sword", new SwordItem(EndToolMaterial.AETERNIUM, 3, -2.4F, makeItemSettings())); + + public static final ToolItem AETERNIUM_SHOVEL = registerTool("aeternium_shovel", new EndShovelItem(EndToolMaterial.AETERNIUM, 1.5F, -3.0F, makeItemSettings())); + public static final ToolItem AETERNIUM_SWORD = registerTool("aeternium_sword", new EndSwordItem(EndToolMaterial.AETERNIUM, 3, -2.4F, makeItemSettings())); public static final ToolItem AETERNIUM_PICKAXE = registerTool("aeternium_pickaxe", new EndPickaxeItem(EndToolMaterial.AETERNIUM, 1, -2.8F, makeItemSettings())); public static final ToolItem AETERNIUM_AXE = registerTool("aeternium_axe", new EndAxeItem(EndToolMaterial.AETERNIUM, 5.0F, -3.0F, makeItemSettings())); public static final ToolItem AETERNIUM_HOE = registerTool("aeternium_hoe", new EndHoeItem(EndToolMaterial.AETERNIUM, -3, 0.0F, makeItemSettings())); public static final ToolItem AETERNIUM_HAMMER = registerTool("aeternium_hammer", new EndHammerItem(EndToolMaterial.AETERNIUM, 6.0F, -3.0F, 0.3D, makeItemSettings())); + public static final ToolItem IRON_HAMMER = registerTool("iron_hammer", new EndHammerItem(ToolMaterials.IRON, 5.0F, -3.2F, 0.2D, makeItemSettings())); public static final ToolItem GOLDEN_HAMMER = registerTool("golden_hammer", new EndHammerItem(ToolMaterials.GOLD, 4.5F, -3.4F, 0.3D, makeItemSettings())); public static final ToolItem DIAMOND_HAMMER = registerTool("diamond_hammer", new EndHammerItem(ToolMaterials.DIAMOND, 5.5F, -3.1F, 0.2D, makeItemSettings())); diff --git a/src/main/resources/assets/betterend/lang/en_us.json b/src/main/resources/assets/betterend/lang/en_us.json index dfba0019..07b2716f 100644 --- a/src/main/resources/assets/betterend/lang/en_us.json +++ b/src/main/resources/assets/betterend/lang/en_us.json @@ -574,5 +574,13 @@ "block.betterend.vaiolush_fern": "Vaiolush Fern", "entity.betterend.silk_moth": "Silk Moth", "item.betterend.silk_fiber": "Silk Fiber", - "item.betterend.spawn_egg_silk_moth": "Silk Moth Spawn Egg" + "item.betterend.spawn_egg_silk_moth": "Silk Moth Spawn Egg", + + "block.betterend.thalassium_ore": "Thalassium Ore", + "item.betterend.thalassium_axe": "Thalassium Axe", + "item.betterend.thalassium_hoe": "Thalassium Hoe", + "item.betterend.thalassium_ingot": "Thalassium Ingot", + "item.betterend.thalassium_pickaxe": "Thalassium Pickaxe", + "item.betterend.thalassium_shovel": "Thalassium Shovel", + "item.betterend.thalassium_sword": "Thalassium Sword" } diff --git a/src/main/resources/assets/betterend/lang/ru_ru.json b/src/main/resources/assets/betterend/lang/ru_ru.json index e337d629..454135a5 100644 --- a/src/main/resources/assets/betterend/lang/ru_ru.json +++ b/src/main/resources/assets/betterend/lang/ru_ru.json @@ -576,5 +576,13 @@ "block.betterend.vaiolush_fern": "Пышнопёрый папоротник", "entity.betterend.silk_moth": "Шелковичная моль", "item.betterend.silk_fiber": "Шёлковое волокно", - "item.betterend.spawn_egg_silk_moth": "Яйцо призыва шелковичной моли" + "item.betterend.spawn_egg_silk_moth": "Яйцо призыва шелковичной моли", + + "block.betterend.thalassium_ore": "Талласиевая руда", + "item.betterend.thalassium_axe": "Талласиевый топор", + "item.betterend.thalassium_hoe": "Талласиевая мотыга", + "item.betterend.thalassium_ingot": "Талласиевый слиток", + "item.betterend.thalassium_pickaxe": "Талласиевая кирка", + "item.betterend.thalassium_shovel": "Талласиевая лопата", + "item.betterend.thalassium_sword": "Талласиевый меч" } \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/item/aeternium_shovel.json b/src/main/resources/assets/betterend/models/item/aeternium_shovel.json deleted file mode 100644 index 8592a817..00000000 --- a/src/main/resources/assets/betterend/models/item/aeternium_shovel.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "betterend:item/aeternium_shovel" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/item/aeternium_sword.json b/src/main/resources/assets/betterend/models/item/aeternium_sword.json deleted file mode 100644 index c526a1d1..00000000 --- a/src/main/resources/assets/betterend/models/item/aeternium_sword.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "betterend:item/aeternium_sword" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/item/terminite_shovel.json b/src/main/resources/assets/betterend/models/item/terminite_shovel.json deleted file mode 100644 index 2f34062b..00000000 --- a/src/main/resources/assets/betterend/models/item/terminite_shovel.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "betterend:item/terminite_shovel" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/item/terminite_sword.json b/src/main/resources/assets/betterend/models/item/terminite_sword.json deleted file mode 100644 index 00cf03e3..00000000 --- a/src/main/resources/assets/betterend/models/item/terminite_sword.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/handheld", - "textures": { - "layer0": "betterend:item/terminite_sword" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/textures/block/thalassium_ore.png b/src/main/resources/assets/betterend/textures/block/thalassium_ore.png new file mode 100644 index 00000000..1bc8e7e6 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/thalassium_ore.png differ diff --git a/src/main/resources/assets/betterend/textures/item/thalassium_axe.png b/src/main/resources/assets/betterend/textures/item/thalassium_axe.png new file mode 100644 index 00000000..84e36251 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/item/thalassium_axe.png differ diff --git a/src/main/resources/assets/betterend/textures/item/thalassium_hoe.png b/src/main/resources/assets/betterend/textures/item/thalassium_hoe.png new file mode 100644 index 00000000..dc7bc40a Binary files /dev/null and b/src/main/resources/assets/betterend/textures/item/thalassium_hoe.png differ diff --git a/src/main/resources/assets/betterend/textures/item/thalassium_ingot.png b/src/main/resources/assets/betterend/textures/item/thalassium_ingot.png new file mode 100644 index 00000000..d033d6d0 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/item/thalassium_ingot.png differ diff --git a/src/main/resources/assets/betterend/textures/item/thalassium_pickaxe.png b/src/main/resources/assets/betterend/textures/item/thalassium_pickaxe.png new file mode 100644 index 00000000..525d35b4 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/item/thalassium_pickaxe.png differ diff --git a/src/main/resources/assets/betterend/textures/item/thalassium_shovel.png b/src/main/resources/assets/betterend/textures/item/thalassium_shovel.png new file mode 100644 index 00000000..f7fbf232 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/item/thalassium_shovel.png differ diff --git a/src/main/resources/assets/betterend/textures/item/thalassium_sword.png b/src/main/resources/assets/betterend/textures/item/thalassium_sword.png new file mode 100644 index 00000000..642e5123 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/item/thalassium_sword.png differ