From bf8234a02e9d0f7f2746b1e2eb1e03e86b4a02ef Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Wed, 20 Jan 2021 21:50:26 +0300 Subject: [PATCH] Thalassium prototype --- .../java/ru/betterend/item/EndShovelItem.java | 32 ++++++++++++++++++ .../java/ru/betterend/item/EndSwordItem.java | 18 ++++++++++ .../item/material/EndToolMaterial.java | 3 ++ .../java/ru/betterend/registry/EndBlocks.java | 3 ++ .../ru/betterend/registry/EndFeatures.java | 2 ++ .../java/ru/betterend/registry/EndItems.java | 19 ++++++++--- .../assets/betterend/lang/en_us.json | 10 +++++- .../assets/betterend/lang/ru_ru.json | 10 +++++- .../models/item/aeternium_shovel.json | 6 ---- .../models/item/aeternium_sword.json | 6 ---- .../models/item/terminite_shovel.json | 6 ---- .../models/item/terminite_sword.json | 6 ---- .../textures/block/thalassium_ore.png | Bin 0 -> 611 bytes .../textures/item/thalassium_axe.png | Bin 0 -> 2002 bytes .../textures/item/thalassium_hoe.png | Bin 0 -> 1965 bytes .../textures/item/thalassium_ingot.png | Bin 0 -> 341 bytes .../textures/item/thalassium_pickaxe.png | Bin 0 -> 2034 bytes .../textures/item/thalassium_shovel.png | Bin 0 -> 1944 bytes .../textures/item/thalassium_sword.png | Bin 0 -> 2024 bytes 19 files changed, 91 insertions(+), 30 deletions(-) create mode 100644 src/main/java/ru/betterend/item/EndShovelItem.java create mode 100644 src/main/java/ru/betterend/item/EndSwordItem.java delete mode 100644 src/main/resources/assets/betterend/models/item/aeternium_shovel.json delete mode 100644 src/main/resources/assets/betterend/models/item/aeternium_sword.json delete mode 100644 src/main/resources/assets/betterend/models/item/terminite_shovel.json delete mode 100644 src/main/resources/assets/betterend/models/item/terminite_sword.json create mode 100644 src/main/resources/assets/betterend/textures/block/thalassium_ore.png create mode 100644 src/main/resources/assets/betterend/textures/item/thalassium_axe.png create mode 100644 src/main/resources/assets/betterend/textures/item/thalassium_hoe.png create mode 100644 src/main/resources/assets/betterend/textures/item/thalassium_ingot.png create mode 100644 src/main/resources/assets/betterend/textures/item/thalassium_pickaxe.png create mode 100644 src/main/resources/assets/betterend/textures/item/thalassium_shovel.png create mode 100644 src/main/resources/assets/betterend/textures/item/thalassium_sword.png 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 0000000000000000000000000000000000000000..1bc8e7e6b9aa952cb910c25524611e1730b002b3 GIT binary patch literal 611 zcmV-p0-XJcP)b`^FH49-uHWrqtlI%DK!8(HwXb$1uB$CU!jyD z{hA^Kh^7P}2qOkbifBqaE3VEBGmFar6lWKR!}aUNE3xzyrqpPyi90Q{)-;YzH%3Y+ zPUR!AvkQ{JUjX*@Pgr@Hqm-h^Gpch#RY5QxU`p-WdBs7&A5jo@V9tlfcO=g@ra0c( z#5|mH?xq)(owK;p0$`A&G`@dX9ogODs6{n22v1TC4Mm<2gwce%z5Nr`mM;16X%_%b zG$qx!VKxd#cXp{NCUyoU#K&8kRK2e2@c?F{fa0KFW^tM6D?xC$?i_XfZ4%n_dnID& zN$v7#K;!qncO$^r1l+WKuS9r~bZ3{i(_)aM&SBhXQREq(@FasQB~uTa5TM^HDe?@R z*YSQiyC9irv&h?;8LbJzh+Ear5QGt3f7|W2wsbiG*7yxR-hRgF!F|U=WB=Eyk!@_< zyE}3HBF`LoHklW1e2%v^dA-s`DMjP+ht-h^>lnu|wY%P|ai=vAvuDLY7@@Uhkfcm6 zT&H2JznuSuXiBu!m@-59>N*9j>wmb3w7tpuewQN8+%E)S1c2~lO`=89TI>I8JL0OL xVSIp1z?2%DoBD{BMEf`vpz*2p(6-OM_bY002ovPDHLkV1l@c8*~5w literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..84e3625186884d79fada3ef6bea66dc9443a0a8a GIT binary patch literal 2002 zcmbVNZD`zN98Wh^`?5lrpx0Jh%ot8ImzPWKlGs~q@4EHCtED?=-N5Zh^5ib`F3FO# zcP;4Ztb;jqRs7&;zgQ+hmF|PZ3iXu@9agFP&?$9bi=rPUb1)F9gZkv&)=F242e~{+ ze$Vgs`@cNTbGobZU|mgP4TfQLv5sgry4QPGRVDi0eQOnIFdU1AL_ZUxMV5OEXK5xx(IJWnkTfIFK`9{O#UFvxY*mxGqX&vw=qXI3 zT-TB)Dx1yvvjM+pCn-i0MT%xAmL(B_bOsF<-*V_-QYsJWy52IIG`I=fzcpf@zq6hU*|KQ^r~;(>0xxc^B&P z=XC-owefgaV?!^QOj*Kl+Xqk>#e{5#b`paYq`IMF_S*_5%?SyHj zONHtxS;iv~uP_3>uSYjjGwVFEW)6%37lsLzW*Jm6k_jXj0aZ;31RtdX5=|GNaZ}Z` z!SzsFccVzh6xn5U)NPh5M)LGvO+QPx=B-yf7-zQk(1NJ6P(_JwJm*7l+{SvL8I( zv=UIf#TX_OuM43{6kqEbRBKClDbCNPAR^tQH4EyFskvET!`39K>{hy;x|@Fo3~cUx zYrR&mwch;(tL1;XFD6Gx0V4^~{!S5IJo)MtN<;m-YWZ(#cFhtTZN=WOdG%(?F4T`#;(gEkdE?=WC)@wN+4TA4%T@PJPaYnbSh;e2_fC7_ft^Pt7JP5KBl!Lb zegZG`4Zn17akcu);V;H!YsP%U@~&(3qi@g5%&V7v+a@%fZ}{c+%)2f0$keAh?mKd2@x`C8(KjcPQtt<|r}2yD zUzu+mYk0nKd1_nZ@Q=0lQu3P}Gb_KIIZ+>LI6kuX?9rtl_MRr!VfrbtsXegkiO$FO xRW41R^KHK!|EPNL0Rsvy%^HdMnvfB?A+aw+nw$1 zCU;4Z79XNfp;%ue3TjY6Dhi5L=!2;NK?+76T3SCIT16;6_)v?jis$ToHIXz15B7F; z_cy=a@Bc9~bE6~sd%AaYGYr!+oXw2U`_E!x`;NTFlRj2F*Mm5FNc?~*_UJD#shlCR;ZZHyL$8)1> zn)sMa#uXlkvc#%-TvUKA$q%v;5LE%Ff|%feXaL1X=xp=HQ8nKx7-N}-np*TJ#g)R) zGX$Yhsl+RZIPr^usO!1_BtepRir|B3H-uH*4R*E|GB`lK?S(dR*@zLEWHL-~)M+CG z$7|ENK{HJ>VL}ypf*1!;NOhov+Bk30FW1E_B;Yc3up0&xE4Hy-iG(C5ky}u=Kd%y? zsmp8~02iQI2YkUyVpEYJ(voV6?NQ&ROAVG+vPP~f$|z%1Qca9`699`B zby?^2q$u+iLJ~^Kx+GyMYUrEFEtWwVUqEXaG#AW1SZt2U_TIHkV=W=+REXD+Xz>ME zhPOb=P%ka#? z)8jp7ip>q>K zyOwKGZ>;mNk}9Nql}MG(5T&<-8MNhpeoSzPrCq*#ikE}g+No{=5Xgk9 zdzTFW+X;2zH%PreCY)bBGn&TCo*ou6u$_?8!)@J3)-aF>w~sSE;|~C~$|ar44N;k_ zf|U06tlZxK@O(+lsulu0U-D+(01!=v!te%N!S@!FNmi;|yWP{VXfn*-LDobU%>$zM n*OgFKxl>m65W3D<=zr-89p!t+SZR>e00000NkvXXu0mjfdYF|c literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..525d35b45447879d39895c24e84e1f2ccfa4a83e GIT binary patch literal 2034 zcmbVNTWl0n7@lQqp;!{IYN%)!hf9hwJ7+Gtb4j-scB^f4YlV$e6Um;LIkP)<=isf`r6i>Y2SkO+n%&vvX$V zJKy*HmvhdZp~0tDEPrGl%ZK$U=7DV=UXix&c-~< z0ywpqOhaQ)FP7Di@PocF97Zi6i=zGPxQm#r$ah9P4fTy-o9n`8TqWfp7&u}PiR{>J+PYKnH{CV|rD1@Q6bCpKmyBllEGyxvDSYBdz$*Y$p&3Uvjq!z0 z4rDo?aH7IV3!u1bbQr+@1nZh&IGzP@%%%nNh;i*aMK&_2q@1GTVPWi!ueiu$lmXih zpsk^Sbdthh$4paKbY2C##EP_F@G7nI0-z;5q0zt)cnRQ!gtAajnU6!7(;zZbSu%u#7&i1RMYC&h(@5euSp|TW zHCCq$L4dR>#RZxb6QT;^K#)|nlL^-frXZ`MDlKz&{YnQb{buNAyyjvXdbQz)tTe3x zwQw;eDJ|?mq*Jxm<|5U)r@YkWmkJ1z-la9G>b_$HCFr5vJg)4$bU$+^|2`bMyZd|V zwW_U!?iX1t|I>XfIa&eQd4%_Oh6>}URJU3h=HFGTe7kMeti$nE91a_20DfqkBFM(n z9zG*(L}NLEh-?~2_hzMUw43wu-O&wGs}4mj%AxpO=awB<`~1tzA6`z&r<(U%Ig=aO|4VN6$3OS4dOy-iMtcr! zKQ^}Wq1Ea2T%ltx*B|>lf8f|v`OCL|n{2=OMkIQs34CyU;_J!d7f&r!Zb}sjt2BZ6|X>)qK<-uoA+wbn0sk259-MIM`)bZBGrv>8OvxVuK zKYe!c&Bsq2y>EtiJ)!wcohzZ){g<_2$D#ABJ?qiF$l!Y~bhPYVIn};IBsN`Mg@{&y Zc=-EoU%L47lBMCPJkU3o{$xvT*FPqXmel|N literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..f7fbf23245fff5712f204c635f6ed4c477fdbcb5 GIT binary patch literal 1944 zcmbVNTWB0r7@iW@#+X1uwWPjeI`vkP**SCH8L~~&Y&3yx4C&Hr@j}m>IkP)vcg{F7 z$!_vcib65a2L+LMfohRFR4heHLATjHxdLH~PiEJJ#`+aEm`GR!?&<7*T1+8aF# zlOS#`ALXO(Y*Bi6zN*GqHPKm3$qT|3Q9sacTqhjGyz zoe%K-`SBc@pGJnw4en+KswO2U;|Q|Va>)zLYMQI@nsgk$7C5#BiKf%sP%OyivlHwv z2{5ZBH6DqI#Og*;)PNx={j3B;T>!cu$~+KFpqaA4Hhvsc3v9=n%skrAqEBhA7)8D* z2$f1DS&@?@C zY__Gbrk8TLB@sp=vowrGLe@lwxj7#TlQ<+Z0m37*)aK4O8s8iaFpNl$Bc#+U)I`%V zJ3Jg0CdEE7<$5-$gu7PE!5J9gG$#Q`q$T4;IVYxQ)l6CI1F{J~9hxP!>&&f&N+2fz zQ%aelx(Z6W#)c96Pq2+lhXiFvV|L51fCb+xaBM4+<}fLdfC^K0a?M3HYmRwg1U-bu zGHH&6opfE>L^f1pOSO3202Yr`1@lnUA&(p^shTJQ=;+P)8G>fw;>PpqeQpy(Ic}?3 zs^$QsiaeGLhj(lx#Tz;nd0nz)LvvE9DyvPl#{-uxHCS578oRP7qoDx{Dk+Cobj{&) zQ89QZVU1UiuF44LhNFscL*G_zvJBDqLR!nPv0(PXLSs~Ncdu<4r)0^n0N@QI+PtGE zkhfB*!i&15TTlf`$`S{Jc&$(hwmz!U3hV3FI@la_V?T2Z7yI$EEkA6nX-$aY#hB($ z+=bZY8n4|ost#-f0 zYWbh;8_7XM=oK*C-vus?r&is1X@q}Qt@drjuGxgstvDXG&H(z*Iz_NYsRMdO_~8RP z==pMGEHji#eSvN*FAugoc;uy1iTsq1=sP^~TYLWcwQKT%&b&Q$V47L{_=ih=j`^SSBq_@zux!qroSKh_E185eL-W6J10JR jGkN~5A78}G2MlxI%9-zTH$Ll+&(5)t@yw~cho1Wfu?Ti< literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..642e5123d88e43e3fe570557e2e1dd488dc055d7 GIT binary patch literal 2024 zcmbVNTWB0r7@k}jYnx!D6q;1YFnMV(vvcOMml?86(`;&j*)&boCZdI$Idf)r%O-Lq5(SG=@B${r2gPVTv%A?QlE&b| z?3|hT&i8%)<(zY}r~BEOZFSoyimK`Ci1m{D4*%L(MgHrT9zb$?-0pb6rKs&Y{i}>R z^X_hns zb{kF^9b*pe8|zM>u^}XDOv^sHIj0bU4E7+M%cMFA@Upx(zD~G3+A8usy>vX`d0Q*02|4 zh|@v{8M{Ply2Uh+gmF1&b9?~!A?1M@D&g#5C!H795Qoz^gH6vRSiXd{Q$Q)NFp3FT7wslSZOrvz*BW*ZZXY2w8~kW&rOm<6vz&xw zrB@2ovtpTUYx4^eq4)M1re;`(4|Z&ZC2WHh%j*{=3T_& zN~h_1&_uX17G+4-0mIM~Nfv;lVTqN6aFEr=n1uoctPa(n%*!GOV|itM%tFI{asBy) zKG!TnI3B9vu&N_9B(o@@BNhTlW+O5Vu~3(x3T0L1QOV6A#~@1$rdPB2t~A2P2T@pv zK%P~31XxX#bT*>OI;-oVBmjs|ID-6!eyF^{(n{iUNiE&tf;j+_#ZlVW_XyJwQIJ&t zSQ+set4k7O)ksic`EV$#!XS_$D&NfcYlTqIg;9Z)+gLx}!AghW`xz~|=)=cKe&~GD zDiHaLG0Gsn3$ex&UmNRGYg2hC&d;VWA>E)g3+k?=ds*n<)+DLyX1bqylz$hFZ0vq> zy;iWb*8MuG<$t;_CI_XUnZ#s&=NLbpe02+@;r?B<{I^xR<_er_#s08#29Sr+DS}Nx z?T|B~vE|YUiYlw`jI|~rx6$&02Q3vBX0MI$FYRo&P&F>~@5)VlwdL5|^R?8S=1akG zIQMpcwR7&N>Z4oYH}{Ok#aoZXYR8`w5ANPy@%mzFsOj*T!_`z{*QBcs%%tkO$_C2c zyFWjlJXiPa_r~0e^(TL|>{V&{Iu-ltbZ;Ndjr*dLQ@kqt*H|J`*PEFMw z`Dlcniobu{II(B^a_x)sr$^78ZQ2&9JpIK$%|iIz-&dOEZp{3V-Fp0uB&c|zrT(+m zb}ij|d9jYV^Rvm^0>*c4)i-ZVpW6TC;K|7!g(-V>VdD9_%*=tM+gqyVyI&c+y12|u zUrZ_=ZlC>ic44rxcH%D8^V^N(?R}I`dB1$e_{Zg!%C3C*^o<`5z0-QN{7LHC(C35m S?B$$)7I(IH$38ePIPnj$@|@ZL literal 0 HcmV?d00001