From 539a6d20ae9ac94f81963543177e54a4f2a7cdc2 Mon Sep 17 00:00:00 2001 From: RTAkland Date: Mon, 6 Jan 2025 12:39:54 +0800 Subject: [PATCH] complete --- .../compressionstick/CompressionStick.kt | 15 ++++++ .../compressionstick/Compressionstick.kt | 9 ---- .../items/LevelTopWoodenSword.kt | 30 +++++++++++ .../rtast/compressionstick/items/ModItems.kt | 47 ++++++++++++++++++ .../items/level_one_stick.json | 6 +++ .../items/level_three_stick.json | 6 +++ .../items/level_top_stick.json | 6 +++ .../items/level_top_wooden_sword.json | 6 +++ .../items/level_two_stick.json | 6 +++ .../assets/compressionstick/lang/en_us.json | 7 +++ .../assets/compressionstick/lang/zh_cn.json | 7 +++ .../models/item/level_one_stick.json | 6 +++ .../models/item/level_three_stick.json | 6 +++ .../models/item/level_top_stick.json | 6 +++ .../models/item/level_top_wooden_sword.json | 6 +++ .../models/item/level_two_stick.json | 6 +++ .../textures/item/level_one_stick.png | Bin 0 -> 209 bytes .../textures/item/level_three_stick.png | Bin 0 -> 224 bytes .../textures/item/level_top_stick.png | Bin 0 -> 226 bytes .../textures/item/level_top_wooden_sword.png | Bin 0 -> 276 bytes .../textures/item/level_two_stick.png | Bin 0 -> 219 bytes .../recipe/level_one_stick.json | 17 +++++++ .../recipe/level_three_stick.json | 17 +++++++ .../recipe/level_top_stick.json | 17 +++++++ .../recipe/level_top_wooden_sword.json | 20 ++++++++ .../recipe/level_two_stick.json | 17 +++++++ src/main/resources/fabric.mod.json | 11 ++-- 27 files changed, 262 insertions(+), 12 deletions(-) create mode 100644 src/main/kotlin/cn/rtast/compressionstick/CompressionStick.kt delete mode 100644 src/main/kotlin/cn/rtast/compressionstick/Compressionstick.kt create mode 100644 src/main/kotlin/cn/rtast/compressionstick/items/LevelTopWoodenSword.kt create mode 100644 src/main/kotlin/cn/rtast/compressionstick/items/ModItems.kt create mode 100644 src/main/resources/assets/compressionstick/items/level_one_stick.json create mode 100644 src/main/resources/assets/compressionstick/items/level_three_stick.json create mode 100644 src/main/resources/assets/compressionstick/items/level_top_stick.json create mode 100644 src/main/resources/assets/compressionstick/items/level_top_wooden_sword.json create mode 100644 src/main/resources/assets/compressionstick/items/level_two_stick.json create mode 100644 src/main/resources/assets/compressionstick/lang/en_us.json create mode 100644 src/main/resources/assets/compressionstick/lang/zh_cn.json create mode 100644 src/main/resources/assets/compressionstick/models/item/level_one_stick.json create mode 100644 src/main/resources/assets/compressionstick/models/item/level_three_stick.json create mode 100644 src/main/resources/assets/compressionstick/models/item/level_top_stick.json create mode 100644 src/main/resources/assets/compressionstick/models/item/level_top_wooden_sword.json create mode 100644 src/main/resources/assets/compressionstick/models/item/level_two_stick.json create mode 100644 src/main/resources/assets/compressionstick/textures/item/level_one_stick.png create mode 100644 src/main/resources/assets/compressionstick/textures/item/level_three_stick.png create mode 100644 src/main/resources/assets/compressionstick/textures/item/level_top_stick.png create mode 100644 src/main/resources/assets/compressionstick/textures/item/level_top_wooden_sword.png create mode 100644 src/main/resources/assets/compressionstick/textures/item/level_two_stick.png create mode 100644 src/main/resources/data/compressionstick/recipe/level_one_stick.json create mode 100644 src/main/resources/data/compressionstick/recipe/level_three_stick.json create mode 100644 src/main/resources/data/compressionstick/recipe/level_top_stick.json create mode 100644 src/main/resources/data/compressionstick/recipe/level_top_wooden_sword.json create mode 100644 src/main/resources/data/compressionstick/recipe/level_two_stick.json diff --git a/src/main/kotlin/cn/rtast/compressionstick/CompressionStick.kt b/src/main/kotlin/cn/rtast/compressionstick/CompressionStick.kt new file mode 100644 index 0000000..cbd655d --- /dev/null +++ b/src/main/kotlin/cn/rtast/compressionstick/CompressionStick.kt @@ -0,0 +1,15 @@ +package cn.rtast.compressionstick + +import cn.rtast.compressionstick.items.ModItems +import net.fabricmc.api.ModInitializer + +class CompressionStick : ModInitializer { + + companion object { + const val MOD_ID = "compressionstick" + } + + override fun onInitialize() { + ModItems.initialize() + } +} diff --git a/src/main/kotlin/cn/rtast/compressionstick/Compressionstick.kt b/src/main/kotlin/cn/rtast/compressionstick/Compressionstick.kt deleted file mode 100644 index 13d43c4..0000000 --- a/src/main/kotlin/cn/rtast/compressionstick/Compressionstick.kt +++ /dev/null @@ -1,9 +0,0 @@ -package cn.rtast.compressionstick - -import net.fabricmc.api.ModInitializer - -class Compressionstick : ModInitializer { - - override fun onInitialize() { - } -} diff --git a/src/main/kotlin/cn/rtast/compressionstick/items/LevelTopWoodenSword.kt b/src/main/kotlin/cn/rtast/compressionstick/items/LevelTopWoodenSword.kt new file mode 100644 index 0000000..be71205 --- /dev/null +++ b/src/main/kotlin/cn/rtast/compressionstick/items/LevelTopWoodenSword.kt @@ -0,0 +1,30 @@ +/* + * Copyright © 2025 RTAkland + * Author: RTAkland + * Date: 2025/1/5 + */ + + +package cn.rtast.compressionstick.items + +import net.minecraft.entity.Entity +import net.minecraft.entity.LivingEntity +import net.minecraft.entity.damage.DamageSource +import net.minecraft.entity.player.PlayerEntity +import net.minecraft.item.ItemStack +import net.minecraft.item.SwordItem +import net.minecraft.item.ToolMaterial +import net.minecraft.util.ActionResult +import net.minecraft.util.Hand + +class LevelTopWoodenSword(settings: Settings) : SwordItem(ToolMaterial.WOOD, 114514f, 1000000f, settings) { + override fun useOnEntity(stack: ItemStack, user: PlayerEntity, entity: LivingEntity, hand: Hand): ActionResult { + entity.jump() + entity.bodyYaw = 0f + return ActionResult.PASS + } + + override fun getBonusAttackDamage(target: Entity, baseAttackDamage: Float, damageSource: DamageSource): Float { + return 114514f + } +} \ No newline at end of file diff --git a/src/main/kotlin/cn/rtast/compressionstick/items/ModItems.kt b/src/main/kotlin/cn/rtast/compressionstick/items/ModItems.kt new file mode 100644 index 0000000..6ddd35d --- /dev/null +++ b/src/main/kotlin/cn/rtast/compressionstick/items/ModItems.kt @@ -0,0 +1,47 @@ +/* + * Copyright © 2025 RTAkland + * Author: RTAkland + * Date: 2025/1/5 + */ + + +package cn.rtast.compressionstick.items + +import cn.rtast.compressionstick.CompressionStick.Companion.MOD_ID +import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroupEntries +import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents +import net.minecraft.item.Item +import net.minecraft.item.ItemGroups +import net.minecraft.item.Items +import net.minecraft.registry.RegistryKey +import net.minecraft.registry.RegistryKeys +import net.minecraft.util.Identifier + +object ModItems { + val LEVEL_ONE_STICK = register("level_one_stick", ::Item, Item.Settings()) + val LEVEL_TWO_STICK = register("level_two_stick", ::Item, Item.Settings()) + val LEVEL_THREE_STICK = register("level_three_stick", ::Item, Item.Settings()) + val LEVEL_TOP_STICK = register("level_top_stick", ::Item, Item.Settings()) + val LEVEL_TOP_WOODEN_SWORD = register("level_top_wooden_sword", ::LevelTopWoodenSword, Item.Settings()) + + fun register(path: String, factory: (Item.Settings) -> Item, settings: Item.Settings): Item { + val registryKey = RegistryKey.of(RegistryKeys.ITEM, Identifier.of(MOD_ID, path)) + return Items.register(registryKey, factory, settings) + } + + fun customIngredients(entries: FabricItemGroupEntries) { + entries.add(LEVEL_ONE_STICK) + entries.add(LEVEL_TWO_STICK) + entries.add(LEVEL_THREE_STICK) + entries.add(LEVEL_TOP_STICK) + } + + fun customCombat(entries: FabricItemGroupEntries) { + entries.add(LEVEL_TOP_WOODEN_SWORD) + } + + fun initialize() { + ItemGroupEvents.modifyEntriesEvent(ItemGroups.INGREDIENTS).register(::customIngredients) + ItemGroupEvents.modifyEntriesEvent(ItemGroups.COMBAT).register(::customCombat) + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressionstick/items/level_one_stick.json b/src/main/resources/assets/compressionstick/items/level_one_stick.json new file mode 100644 index 0000000..69e70f5 --- /dev/null +++ b/src/main/resources/assets/compressionstick/items/level_one_stick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "compressionstick:item/level_one_stick" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressionstick/items/level_three_stick.json b/src/main/resources/assets/compressionstick/items/level_three_stick.json new file mode 100644 index 0000000..16872aa --- /dev/null +++ b/src/main/resources/assets/compressionstick/items/level_three_stick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "compressionstick:item/level_three_stick" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressionstick/items/level_top_stick.json b/src/main/resources/assets/compressionstick/items/level_top_stick.json new file mode 100644 index 0000000..ed97ffa --- /dev/null +++ b/src/main/resources/assets/compressionstick/items/level_top_stick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "compressionstick:item/level_top_stick" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressionstick/items/level_top_wooden_sword.json b/src/main/resources/assets/compressionstick/items/level_top_wooden_sword.json new file mode 100644 index 0000000..9770496 --- /dev/null +++ b/src/main/resources/assets/compressionstick/items/level_top_wooden_sword.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "compressionstick:item/level_top_wooden_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressionstick/items/level_two_stick.json b/src/main/resources/assets/compressionstick/items/level_two_stick.json new file mode 100644 index 0000000..09b8049 --- /dev/null +++ b/src/main/resources/assets/compressionstick/items/level_two_stick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "compressionstick:item/level_two_stick" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressionstick/lang/en_us.json b/src/main/resources/assets/compressionstick/lang/en_us.json new file mode 100644 index 0000000..f09cfbc --- /dev/null +++ b/src/main/resources/assets/compressionstick/lang/en_us.json @@ -0,0 +1,7 @@ +{ + "item.compressionstick.level_one_stick": "Level 1 compression stick", + "item.compressionstick.level_two_stick": "Level 2 compression stick", + "item.compressionstick.level_three_stick": "Level 3 compression stick", + "item.compressionstick.level_top_stick": "Level top compression stick", + "item.compressionstick.level_top_wooden_sword": "Level top compression wooden sword" +} \ No newline at end of file diff --git a/src/main/resources/assets/compressionstick/lang/zh_cn.json b/src/main/resources/assets/compressionstick/lang/zh_cn.json new file mode 100644 index 0000000..3e636ef --- /dev/null +++ b/src/main/resources/assets/compressionstick/lang/zh_cn.json @@ -0,0 +1,7 @@ +{ + "item.compressionstick.level_one_stick": "一级压缩木棍", + "item.compressionstick.level_two_stick": "二级压缩木棍", + "item.compressionstick.level_three_stick": "三级压缩木棍", + "item.compressionstick.level_top_stick": "顶级压缩木棍", + "item.compressionstick.level_top_wooden_sword": "顶级压缩木剑" +} \ No newline at end of file diff --git a/src/main/resources/assets/compressionstick/models/item/level_one_stick.json b/src/main/resources/assets/compressionstick/models/item/level_one_stick.json new file mode 100644 index 0000000..8566402 --- /dev/null +++ b/src/main/resources/assets/compressionstick/models/item/level_one_stick.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressionstick:item/level_one_stick" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressionstick/models/item/level_three_stick.json b/src/main/resources/assets/compressionstick/models/item/level_three_stick.json new file mode 100644 index 0000000..4f93752 --- /dev/null +++ b/src/main/resources/assets/compressionstick/models/item/level_three_stick.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressionstick:item/level_three_stick" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressionstick/models/item/level_top_stick.json b/src/main/resources/assets/compressionstick/models/item/level_top_stick.json new file mode 100644 index 0000000..54d5632 --- /dev/null +++ b/src/main/resources/assets/compressionstick/models/item/level_top_stick.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressionstick:item/level_top_stick" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressionstick/models/item/level_top_wooden_sword.json b/src/main/resources/assets/compressionstick/models/item/level_top_wooden_sword.json new file mode 100644 index 0000000..93ed7dc --- /dev/null +++ b/src/main/resources/assets/compressionstick/models/item/level_top_wooden_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressionstick:item/level_top_wooden_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressionstick/models/item/level_two_stick.json b/src/main/resources/assets/compressionstick/models/item/level_two_stick.json new file mode 100644 index 0000000..cbcfffb --- /dev/null +++ b/src/main/resources/assets/compressionstick/models/item/level_two_stick.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressionstick:item/level_two_stick" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressionstick/textures/item/level_one_stick.png b/src/main/resources/assets/compressionstick/textures/item/level_one_stick.png new file mode 100644 index 0000000000000000000000000000000000000000..ca2ad7644fb443f3ab47676ab829643b5b2fdbb6 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF3Sj`)uUI!t&kFiB-zopr098UZ$p8QV literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/compressionstick/textures/item/level_three_stick.png b/src/main/resources/assets/compressionstick/textures/item/level_three_stick.png new file mode 100644 index 0000000000000000000000000000000000000000..57093347264bf61a6ba346603d5bffe1f592bc53 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF6paHam!PC{x JWt~$(69D7oNJ{_! literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/compressionstick/textures/item/level_top_stick.png b/src/main/resources/assets/compressionstick/textures/item/level_top_stick.png new file mode 100644 index 0000000000000000000000000000000000000000..f4b3e58151f6ec10a8059d4646a5f3f0dc8e63ff GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFeLJ~8Zwt%)n#LUa*t$8lFc|=r{M{byUJgIPJ z!UH3TJ*kh_ZC?t!G`N(w-1*RXwnML$G#ach5m0#*yYQI6mlfaT&5y}*XNd-z0EaktF()~Nfl<*-*-hYV#)q3T1(gzV&T}c3y>Wm; zI3b1O?r{c@A7@So{Cu?eCYM{R8{4&?-b(5<`}P|dKy;?w=r=hG!5BqgqX zd2(Kc!KkJ5to#}lDWR%=e9o2X69hHw7~e1)`!rvGjbW*^(vNvZIf8)>VDNPHb6Mw< G&;$UZ@LRS3 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/compressionstick/textures/item/level_two_stick.png b/src/main/resources/assets/compressionstick/textures/item/level_two_stick.png new file mode 100644 index 0000000000000000000000000000000000000000..95ee66149b55a748c541068b6e3078a5afb7c091 GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFe*`isvLt5j*i&lGi&eki;$G;gEX#dKRwBV79 z&1H1-7rCR+Va+MW!r#R3nOk7XN46hXFOJ^7EvI0AoKbwL)p}1>p!p1*u6{1-oD!M< D0+m4A literal 0 HcmV?d00001 diff --git a/src/main/resources/data/compressionstick/recipe/level_one_stick.json b/src/main/resources/data/compressionstick/recipe/level_one_stick.json new file mode 100644 index 0000000..1077809 --- /dev/null +++ b/src/main/resources/data/compressionstick/recipe/level_one_stick.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX", + "XXX", + "XXX" + ], + "key": { + "X": [ + "minecraft:stick" + ] + }, + "result": { + "id": "compressionstick:level_one_stick", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/compressionstick/recipe/level_three_stick.json b/src/main/resources/data/compressionstick/recipe/level_three_stick.json new file mode 100644 index 0000000..f98347f --- /dev/null +++ b/src/main/resources/data/compressionstick/recipe/level_three_stick.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX", + "XXX", + "XXX" + ], + "key": { + "X": [ + "compressionstick:level_two_stick" + ] + }, + "result": { + "id": "compressionstick:level_three_stick", + "count": 1 + } +} diff --git a/src/main/resources/data/compressionstick/recipe/level_top_stick.json b/src/main/resources/data/compressionstick/recipe/level_top_stick.json new file mode 100644 index 0000000..eba5667 --- /dev/null +++ b/src/main/resources/data/compressionstick/recipe/level_top_stick.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX", + "XXX", + "XXX" + ], + "key": { + "X": [ + "compressionstick:level_three_stick" + ] + }, + "result": { + "id": "compressionstick:level_top_stick", + "count": 1 + } +} diff --git a/src/main/resources/data/compressionstick/recipe/level_top_wooden_sword.json b/src/main/resources/data/compressionstick/recipe/level_top_wooden_sword.json new file mode 100644 index 0000000..8e1037b --- /dev/null +++ b/src/main/resources/data/compressionstick/recipe/level_top_wooden_sword.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " X ", + " X ", + " O " + ], + "key": { + "X": [ + "compressionstick:level_top_stick" + ], + "O": [ + "minecraft:stick" + ] + }, + "result": { + "id": "compressionstick:level_top_wooden_sword", + "count": 1 + } +} diff --git a/src/main/resources/data/compressionstick/recipe/level_two_stick.json b/src/main/resources/data/compressionstick/recipe/level_two_stick.json new file mode 100644 index 0000000..32fae65 --- /dev/null +++ b/src/main/resources/data/compressionstick/recipe/level_two_stick.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX", + "XXX", + "XXX" + ], + "key": { + "X": [ + "compressionstick:level_one_stick" + ] + }, + "result": { + "id": "compressionstick:level_two_stick", + "count": 1 + } +} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index feb8cec..1fd865d 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -4,14 +4,19 @@ "version": "${version}", "name": "CompressionStick", "description": "压缩木棍", - "authors": [], + "authors": [ + "RTAkland" + ], "contact": {}, "license": "Apache-2.0", "icon": "assets/compressionstick/icon.png", - "environment": "server", + "environment": "*", "entrypoints": { "main": [ - "cn.rtast.compressionstick.Compressionstick" + { + "adapter": "kotlin", + "value": "cn.rtast.compressionstick.CompressionStick" + } ] }, "mixins": [