From 44e71cdaf26174f60c988ac54b2e1177ec5fc375 Mon Sep 17 00:00:00 2001 From: 0526ngs <78349683+hrmcngs@users.noreply.github.com> Date: Sun, 8 Dec 2024 22:21:52 +0900 Subject: [PATCH] version up --- elements/AlchemyCraftBlockBlockAdded.mod.json | 2 +- elements/MagicWand.mod.json | 45 +- .../MagicWandYoukuritukusitatoki.mod.json | 2 +- elements/SkinOfDragonTick.mod.json | 2 +- elements/Tick.mod.json | 7 + minecraft_armor_weapon.mcreator | 46 +- models/magicstick.json | 362 ++-- models/magicstick.json.textures | 2 +- .../init/MinecraftArmorWeaponModItems.java | 4 +- .../item/MagicWandItem.java | 51 +- .../AlchemyCraftBlockBlockAddedProcedure.java | 2 +- ...MagicWandYoukuritukusitatokiProcedure.java | 210 +-- .../procedures/SkinOfDragonTickProcedure.java | 6 + .../procedures/TickProcedure.java | 25 + .../minecraft_armor_weapon/lang/en_us.json | 2 +- .../minecraft_armor_weapon/lang/ja_jp.json | 2 +- .../models/custom/magicstick.json | 1562 +++++++++++++---- .../item/{magic_wand.json => magicwand.json} | 2 +- .../textures/blocks/magicstic.png | Bin 950 -> 1795 bytes .../textures/blocks/magicsticnaginata.png | Bin 0 -> 2015 bytes 20 files changed, 1687 insertions(+), 647 deletions(-) create mode 100644 elements/Tick.mod.json create mode 100644 src/main/java/minecraftarmorweapon/procedures/TickProcedure.java rename src/main/resources/assets/minecraft_armor_weapon/models/item/{magic_wand.json => magicwand.json} (73%) create mode 100644 src/main/resources/assets/minecraft_armor_weapon/textures/blocks/magicsticnaginata.png diff --git a/elements/AlchemyCraftBlockBlockAdded.mod.json b/elements/AlchemyCraftBlockBlockAdded.mod.json index 7ebe4105..e390a76a 100644 --- a/elements/AlchemyCraftBlockBlockAdded.mod.json +++ b/elements/AlchemyCraftBlockBlockAdded.mod.json @@ -2,6 +2,6 @@ "_fv": 43, "_type": "procedure", "definition": { - "procedurexml": "no_ext_trigger/summon minecraft:armor_stand ~ ~-0.5 ~ {Invisible:true,Invulnerable:true,PersistenceRequired:true,NoBasePlate:true,NoGravity:true,Small:true,DisabledSlots:4144959,Tags:[\"minecraft_armor_weapon_alchemy_craft_block_mahouzinn\"]}" + "procedurexml": "no_ext_trigger/summon minecraft:armor_stand ~ ~-0.5 ~ {Invisible:true,Invulnerable:true,PersistenceRequired:true,NoBasePlate:true,NoGravity:true,Small:true,DisabledSlots:4144959,Tags:[\"minecraft_armor_weapon_alchemy_craft_block_mahouzinn\"]}MINUS0.5" } } \ No newline at end of file diff --git a/elements/MagicWand.mod.json b/elements/MagicWand.mod.json index 6ae5e5eb..0365861e 100644 --- a/elements/MagicWand.mod.json +++ b/elements/MagicWand.mod.json @@ -1,45 +1,30 @@ { "_fv": 43, - "_type": "item", + "_type": "tool", "definition": { "renderType": 1, "texture": "black_spesyal_arrow", "customModelName": "magicstick:default", - "name": "Magic Wand", - "rarity": "RARE", + "name": "Magicwand", + "specialInfo": [], "creativeTab": { "value": "CUSTOM:MagicBooks" }, - "stackSize": 1, - "enchantability": 0, - "useDuration": 0, - "toolType": 1.0, - "damageCount": 0, - "recipeRemainder": { - "value": "" - }, - "destroyAnyBlock": false, - "immuneToFire": false, - "stayInGridWhenCrafting": true, - "damageOnCrafting": false, - "enableMeleeDamage": false, + "toolType": "Sword", + "harvestLevel": 1, + "efficiency": 4.0, + "attackSpeed": 1.6, + "enchantability": 2, "damageVsEntity": 0.0, - "specialInfo": [], + "usageCount": 0, + "blocksAffected": [], "hasGlow": false, - "guiBoundTo": "", - "inventorySize": 9, - "inventoryStackSize": 64, + "repairItems": [], + "immuneToFire": false, + "stayInGridWhenCrafting": false, + "damageOnCrafting": false, "onRightClickedInAir": { "name": "MagicWandYoukuritukusitatoki" - }, - "isFood": false, - "nutritionalValue": 4, - "saturation": 0.3, - "eatResultItem": { - "value": "" - }, - "isMeat": false, - "isAlwaysEdible": false, - "animation": "none" + } } } \ No newline at end of file diff --git a/elements/MagicWandYoukuritukusitatoki.mod.json b/elements/MagicWandYoukuritukusitatoki.mod.json index caf58526..5f5442ce 100644 --- a/elements/MagicWandYoukuritukusitatoki.mod.json +++ b/elements/MagicWandYoukuritukusitatoki.mod.json @@ -2,6 +2,6 @@ "_fv": 43, "_type": "procedure", "definition": { - "procedurexml": "ralphabetaspeedspread1GENERIC10no_ext_triggerminecraft_armor_weapon:r1minecraft_armor_weapon:alphaminecraft_armor_weapon:betaminecraft_armor_weapon:caunt100playsound minecraft:entity.arrow.hit_player neutral @s ~ ~ ~ 1 1.5minecraft_armor_weapon:cauntparticle minecraft:dust 0.7 0.17 1 0.75 ~ ~ ~ 0.1 0.1 0.1 0 1 forceMINUSMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSADD1MULTIPLYminecraft_armor_weapon:rSINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alphaparticle minecraft:crit ~ ~ ~ 0 0 0 0.02 1 forceMINUSMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSADD1MULTIPLYminecraft_armor_weapon:rSINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alphaANDEntityLivingMINUSMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSMINUS1MULTIPLYminecraft_armor_weapon:rSINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alpha2ANDMINUSMULTIPLYMULTIPLYADDminecraft_armor_weapon:r1COSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSMINUS1MULTIPLYADDminecraft_armor_weapon:r1SINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYADDminecraft_armor_weapon:r1COSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alphaGTEminecraft_armor_weapon:r20minecraft_armor_weapon:rADDminecraft_armor_weapon:r0.2particle minecraft:crit ~ ~ ~ 0 0 0 0.3 15 forceMINUSMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSADD1MULTIPLYminecraft_armor_weapon:rSINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alphaparticle minecraft:dust 0.7 0.17 1 1 ~ ~ ~ 0.25 0.25 0.25 1 15 forceMINUSMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSADD1MULTIPLYminecraft_armor_weapon:rSINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alphaplaysound minecraft:entity.firework_rocket.blast neutral @a ~ ~ ~ 2 1.2MINUSMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSADD1MULTIPLYminecraft_armor_weapon:rSINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alphaMINUSMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSADD1MULTIPLYminecraft_armor_weapon:rSINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alphaMINUSMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSADD1MULTIPLYminecraft_armor_weapon:rSINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alpha2CUSTOM:SkeltonMobCUSTOM:OtiruyoCUSTOM:KillEntityMob/kill @s/deta merge entity @s (Health:0)EntityMobGENERIC7BREAKGTsword_of_night_shot_number_of_remaining_ammunition_score_20playsound minecraft:block.iron_trapdoor.close player @a ~ ~ ~ 1 1.5playsound minecraft:block.iron_trapdoor.open player @a ~ ~ ~ 1 1.5local:alphalocal:alphasword_of_night_shot_number_of_remaining_ammunition_score_14EQsword_of_night_shot_number_of_remaining_ammunition_reloadTRUEsword_of_night_shot_number_of_remaining_ammunition_score_2MINUSsword_of_night_shot_number_of_remaining_ammunition_score_21EQsword_of_night_shot_number_of_remaining_ammunition_score_23title @s actionbar {\"text\":\"| 3 |\",\"color\":\"green\"}EQsword_of_night_shot_number_of_remaining_ammunition_score_22title @s actionbar {\"text\":\"| 2 |\",\"color\":\"yellow\"}EQsword_of_night_shot_number_of_remaining_ammunition_score_21title @s actionbar {\"text\":\"| 1 |\",\"color\":\"red\"}playsound minecraft:block.piston.extend player @a ~ ~ ~ 1 1.5LTEsword_of_night_shot_number_of_remaining_ammunition_score_20EQsword_of_night_shot_number_of_remaining_ammunition_reloadTRUEsword_of_night_shot_number_of_remaining_ammunition_reloadTRUEtitle @s actionbar {\"text\":\"| Reloading... |\",\"color\":\"gray\"}10title @s actionbar {\"text\":\"| Reloading.. |\",\"color\":\"gray\"}20title @s actionbar {\"text\":\"| Reloading. |\",\"color\":\"gray\"}20title @s actionbar {\"text\":\"| Reloading |\",\"color\":\"gray\"}40sword_of_night_shot_number_of_remaining_ammunition_score_24sword_of_night_shot_number_of_remaining_ammunition_reloadFALSEtitle @s actionbar {\"text\":\"| 4 |\",\"color\":\"aqua\"}playsound minecraft:block.piston.extend player @a ~ ~ ~ 1 1.5" + "procedurexml": "ralphabetaspeedspreadyknockbackZRadius2diszknockbackloopXRadius2XYZY_posxknockback1GENERIC10minecraft_armor_weapon:r1minecraft_armor_weapon:alphaminecraft_armor_weapon:betaminecraft_armor_weapon:caunt100playsound minecraft:entity.arrow.hit_player neutral @s ~ ~ ~ 1 1.5minecraft_armor_weapon:cauntparticle minecraft:dust 0.7 0.17 1 0.75 ~ ~ ~ 0.1 0.1 0.1 0 1 forceMINUSMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSADD1MULTIPLYminecraft_armor_weapon:rSINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alphaparticle minecraft:crit ~ ~ ~ 0 0 0 0.02 1 forceMINUSMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSADD1MULTIPLYminecraft_armor_weapon:rSINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alphaANDEntityLivingMINUSMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSADD2MULTIPLYminecraft_armor_weapon:rSINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alpha2ANDMINUSMULTIPLYMULTIPLYADDminecraft_armor_weapon:r1COSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSADD2MULTIPLYADDminecraft_armor_weapon:r1SINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYADDminecraft_armor_weapon:r1COSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alphaGTEminecraft_armor_weapon:r20minecraft_armor_weapon:rADDminecraft_armor_weapon:r0.2particle minecraft:crit ~ ~ ~ 0 0 0 0.3 15 forceMINUSMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSADD1MULTIPLYminecraft_armor_weapon:rSINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alphaparticle minecraft:dust 0.7 0.17 1 1 ~ ~ ~ 0.25 0.25 0.25 1 15 forceMINUSMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSADD1MULTIPLYminecraft_armor_weapon:rSINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alphaplaysound minecraft:entity.firework_rocket.blast neutral @a ~ ~ ~ 2 1.2MINUSMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSADD1MULTIPLYminecraft_armor_weapon:rSINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alphaMINUSMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaSINDEG2RADminecraft_armor_weapon:alphaMINUSADD1MULTIPLYminecraft_armor_weapon:rSINDEG2RADminecraft_armor_weapon:betaADDMULTIPLYMULTIPLYminecraft_armor_weapon:rCOSDEG2RADminecraft_armor_weapon:betaCOSDEG2RADminecraft_armor_weapon:alpha2CUSTOM:SkeltonMobCUSTOM:OtiruyoCUSTOM:KillEntityMob/kill @s/deta merge entity @s (Health:0)EntityLivingGENERIC7BREAKno_ext_triggerlocal:r1local:alphalocal:beta50MINUSMULTIPLYMULTIPLYlocal:rCOSDEG2RADlocal:betaSINDEG2RADlocal:alphaMINUSADD2MULTIPLYlocal:rSINDEG2RADlocal:betaADDMULTIPLYMULTIPLYlocal:rCOSDEG2RADlocal:betaCOSDEG2RADlocal:alphaBREAKCUSTOM:WindStepEffectMINUSMULTIPLYMULTIPLYlocal:rCOSDEG2RADlocal:betaSINDEG2RADlocal:alphaMINUSADD1MULTIPLYlocal:rSINDEG2RADlocal:betaADDMULTIPLYMULTIPLYlocal:rCOSDEG2RADlocal:betaCOSDEG2RADlocal:alpha3CUSTOM:OtiruyoCUSTOM:SkeltonMobEntityLivingCUSTOM:KillCUSTOM:ThunderboltCUSTOM:ThunderHit2150TRUEFALSE/kill @s/deta merge entity @s (Health:0)CUSTOM:ThunderboltCUSTOM:ThunderHit2150TRUEFALSEUNDEADGENERIC15GENERIC5MINUSMULTIPLYMULTIPLYlocal:rCOSDEG2RADlocal:betaSINDEG2RADlocal:alphaMINUSADD1MULTIPLYlocal:rSINDEG2RADlocal:betaADDMULTIPLYMULTIPLYlocal:rCOSDEG2RADlocal:betaCOSDEG2RADlocal:alpha1CUSTOM:OtiruyoCUSTOM:SkeltonMobEntityLivingCUSTOM:KillCUSTOM:ThunderboltCUSTOM:ThunderHit2150TRUEFALSE/kill @s/deta merge entity @s (Health:0)CUSTOM:ThunderboltCUSTOM:ThunderHit2150TRUEFALSEUNDEADGENERIC15GENERIC5CRIT2MINUSMULTIPLYMULTIPLYlocal:rCOSDEG2RADlocal:betaSINDEG2RADlocal:alphaMINUSADD1MULTIPLYlocal:rSINDEG2RADlocal:betaADDMULTIPLYMULTIPLYlocal:rCOSDEG2RADlocal:betaCOSDEG2RADlocal:alpha0.10.10.10.1local:rADDlocal:r0.2GTsword_of_night_shot_number_of_remaining_ammunition_score_20playsound minecraft:block.iron_trapdoor.close player @a ~ ~ ~ 1 1.5playsound minecraft:block.iron_trapdoor.open player @a ~ ~ ~ 1 1.5local:alphalocal:alphasword_of_night_shot_number_of_remaining_ammunition_score_14EQsword_of_night_shot_number_of_remaining_ammunition_reloadTRUEsword_of_night_shot_number_of_remaining_ammunition_score_2MINUSsword_of_night_shot_number_of_remaining_ammunition_score_21EQsword_of_night_shot_number_of_remaining_ammunition_score_23title @s actionbar {\"text\":\"| 3 |\",\"color\":\"green\"}EQsword_of_night_shot_number_of_remaining_ammunition_score_22title @s actionbar {\"text\":\"| 2 |\",\"color\":\"yellow\"}EQsword_of_night_shot_number_of_remaining_ammunition_score_21title @s actionbar {\"text\":\"| 1 |\",\"color\":\"red\"}playsound minecraft:block.piston.extend player @a ~ ~ ~ 1 1.5LTEsword_of_night_shot_number_of_remaining_ammunition_score_20EQsword_of_night_shot_number_of_remaining_ammunition_reloadTRUEsword_of_night_shot_number_of_remaining_ammunition_reloadTRUEtitle @s actionbar {\"text\":\"| Reloading... |\",\"color\":\"gray\"}10title @s actionbar {\"text\":\"| Reloading.. |\",\"color\":\"gray\"}20title @s actionbar {\"text\":\"| Reloading. |\",\"color\":\"gray\"}20title @s actionbar {\"text\":\"| Reloading |\",\"color\":\"gray\"}40sword_of_night_shot_number_of_remaining_ammunition_score_24sword_of_night_shot_number_of_remaining_ammunition_reloadFALSEtitle @s actionbar {\"text\":\"| 4 |\",\"color\":\"aqua\"}playsound minecraft:block.piston.extend player @a ~ ~ ~ 1 1.5" } } \ No newline at end of file diff --git a/elements/SkinOfDragonTick.mod.json b/elements/SkinOfDragonTick.mod.json index f6be6469..66aafeef 100644 --- a/elements/SkinOfDragonTick.mod.json +++ b/elements/SkinOfDragonTick.mod.json @@ -2,6 +2,6 @@ "_fv": 43, "_type": "procedure", "definition": { - "procedurexml": "EQTRUECUSTOM:TestBowtagNameplayer_ticksEntityPlayerteam join minecraft_armor_weapon_dark_purple @e[type=item,limit=1,sort=nearest,nbt={Item:{id:\"minecraft_armor_weapon:skin_of_dragon\"}}]ANDEQglobal:aaa5CUSTOM:LokiTheTricksterCUSTOM:Killminecraft_armor_weapon:armor_stand_tobasu_tick_killminecraft_armor_weapon:armor_stand_tobasu_tickminecraft_armor_weapon:test_bow_tick/kill @e[type=minecraft_armor_weapon:projectile_test_bow]CUSTOM:TestBowEQglobal:aaa2global:ddd普通の矢EQglobal:aaa3global:ddd直線の矢EQglobal:aaa4global:ddd同じ高さEQglobal:aaa5global:ddd拡散EQglobal:aaa6global:ddd速めの矢EQglobal:aaa7global:ddd彗星GTEglobal:aaa8global:aaa2global:ddd普通の矢execute as @e[type=minecraft:armor_stand, tag=minecraft_armor_weapon_item_stand_amor_stand] if entity @s[nbt=!{HandItems:[{id:\"minecraft_armor_weapon:luna\"}]}] run kill @sexecute at @e[type=item,nbt={Item:{id:\"minecraft:nether_star\"}}] if entity @e[type=item,nbt={Item:{id:\"minecraft:bone\",Count:16b}},distance=..1.5] if entity @e[type=item,nbt={Item:{id:\"minecraft:iron_block\",Count:64b}},distance=..1.5] run function minecraft_armor_weapon:hardentity_functionexecute at @e[type=item,nbt={Item:{id:\"minecraft:nether_star\"}}] if entity @e[type=item,nbt={Item:{id:\"minecraft_armor_weapon:wither_bone\",Count:16b}},distance=..1.5] if entity @e[type=item,nbt={Item:{id:\"minecraft:iron_block\",Count:64b}},distance=..1.5] run function minecraft_armor_weapon:hardentity_function_wither_skeletonexecute at @e[type=item,nbt={Item:{id:\"minecraft:nether_star\"}}] if entity @e[type=item,nbt={Item:{id:\"minecraft_armor_weapon:stray_bone\",Count:16b}},distance=..1.5] if entity @e[type=item,nbt={Item:{id:\"minecraft:iron_block\",Count:64b}},distance=..1.5] run function minecraft_armor_weapon:hardentity_function_strayexecute at @e[type=item,nbt={Item:{id:\"minecraft:nether_star\"}}] if entity @e[type=item,nbt={Item:{id:\"minecraft_armor_weapon:stray_bone\",Count:16b}},distance=..1.5] if entity @e[type=item,nbt={Item:{id:\"minecraft:iron_block\",Count:64b}},distance=..1.5] run function minecraft_armor_weapon:hardentity_function_strayANDANDCUSTOM:TunderbolteffrctEQCustomModelData1ORORCUSTOM:KurikarakenCUSTOM:KurikarakenswordCUSTOM:KurikarakenutigatanaCustomModelData0OR" + "procedurexml": "EQTRUECUSTOM:TestBowtagNameplayer_ticksEntityPlayerteam join minecraft_armor_weapon_dark_purple @e[type=item,limit=1,sort=nearest,nbt={Item:{id:\"minecraft_armor_weapon:skin_of_dragon\"}}]ANDEQglobal:aaa5CUSTOM:LokiTheTricksterCUSTOM:Killminecraft_armor_weapon:armor_stand_tobasu_tick_killminecraft_armor_weapon:armor_stand_tobasu_tickminecraft_armor_weapon:test_bow_tick/kill @e[type=minecraft_armor_weapon:projectile_test_bow]CUSTOM:TestBowEQglobal:aaa2global:ddd普通の矢EQglobal:aaa3global:ddd直線の矢EQglobal:aaa4global:ddd同じ高さEQglobal:aaa5global:ddd拡散EQglobal:aaa6global:ddd速めの矢EQglobal:aaa7global:ddd彗星GTEglobal:aaa8global:aaa2global:ddd普通の矢execute as @e[type=minecraft:armor_stand, tag=minecraft_armor_weapon_item_stand_amor_stand] if entity @s[nbt=!{HandItems:[{id:\"minecraft_armor_weapon:luna\"}]}] run kill @sexecute at @e[type=item,nbt={Item:{id:\"minecraft:nether_star\"}}] if entity @e[type=item,nbt={Item:{id:\"minecraft:bone\",Count:16b}},distance=..1.5] if entity @e[type=item,nbt={Item:{id:\"minecraft:iron_block\",Count:64b}},distance=..1.5] run function minecraft_armor_weapon:hardentity_functionexecute at @e[type=item,nbt={Item:{id:\"minecraft:nether_star\"}}] if entity @e[type=item,nbt={Item:{id:\"minecraft_armor_weapon:wither_bone\",Count:16b}},distance=..1.5] if entity @e[type=item,nbt={Item:{id:\"minecraft:iron_block\",Count:64b}},distance=..1.5] run function minecraft_armor_weapon:hardentity_function_wither_skeletonexecute at @e[type=item,nbt={Item:{id:\"minecraft:nether_star\"}}] if entity @e[type=item,nbt={Item:{id:\"minecraft_armor_weapon:stray_bone\",Count:16b}},distance=..1.5] if entity @e[type=item,nbt={Item:{id:\"minecraft:iron_block\",Count:64b}},distance=..1.5] run function minecraft_armor_weapon:hardentity_function_strayexecute at @e[type=item,nbt={Item:{id:\"minecraft:nether_star\"}}] if entity @e[type=item,nbt={Item:{id:\"minecraft_armor_weapon:stray_bone\",Count:16b}},distance=..1.5] if entity @e[type=item,nbt={Item:{id:\"minecraft:iron_block\",Count:64b}},distance=..1.5] run function minecraft_armor_weapon:hardentity_function_strayANDANDCUSTOM:TunderbolteffrctEQCustomModelData1ORORCUSTOM:KurikarakenCUSTOM:KurikarakenswordCUSTOM:KurikarakenutigatanaCustomModelData0execute at @e[type=minecraft:armor_stand,tag=minecraft_armor_weapon_alchemy_craft_block_mahouzinn] run tp @e[type=minecraft:armor_stand,tag=minecraft_armor_weapon_alchemy_craft_block_mahouzinn] ~ ~ ~ ~-.5 ~execute at @e[tag=minecraft_armor_weapon_alchemy_craft_block_mahouzinn] run function minecraft_armor_weapon:alchemymod1clearexecute at @e[type=minecraft:armor_stand, tag=minecraft_armor_weapon_alchemy_craft_block_mahouzinn] if block ~ ~ ~ minecraft_armor_weapon:alchemy_craft_block run function minecraft_armor_weapon:alchemymod1" } } \ No newline at end of file diff --git a/elements/Tick.mod.json b/elements/Tick.mod.json new file mode 100644 index 00000000..e82aeb9e --- /dev/null +++ b/elements/Tick.mod.json @@ -0,0 +1,7 @@ +{ + "_fv": 43, + "_type": "procedure", + "definition": { + "procedurexml": "world_ticks" + } +} \ No newline at end of file diff --git a/minecraft_armor_weapon.mcreator b/minecraft_armor_weapon.mcreator index e023425f..ad1986aa 100644 --- a/minecraft_armor_weapon.mcreator +++ b/minecraft_armor_weapon.mcreator @@ -2033,20 +2033,6 @@ ] } }, - { - "name": "MagicWand", - "type": "item", - "sortid": 162, - "compiles": true, - "locked_code": false, - "registry_name": "magic_wand", - "metadata": { - "files": [ - "src/main/resources/assets/minecraft_armor_weapon/models/item/magic_wand.json", - "src/main/java/minecraftarmorweapon/item/MagicWandItem.java" - ] - } - }, { "name": "Strayouterarmorhat", "type": "armor", @@ -8943,6 +8929,34 @@ "src/main/resources/assets/minecraft_armor_weapon/models/item/alchemy_craft_block.json" ] } + }, + { + "name": "Magicwand", + "type": "tool", + "sortid": 588, + "compiles": true, + "locked_code": false, + "registry_name": "magicwand", + "metadata": { + "files": [ + "src/main/resources/assets/minecraft_armor_weapon/models/item/magicwand.json", + "src/main/java/minecraftarmorweapon/item/MagicwandItem.java" + ] + } + }, + { + "name": "Tick", + "type": "procedure", + "sortid": 589, + "compiles": true, + "locked_code": false, + "registry_name": "tick", + "metadata": { + "files": [ + "src/main/java/minecraftarmorweapon/procedures/TickProcedure.java" + ], + "dependencies": [] + } } ], "variable_elements": [ @@ -9217,6 +9231,7 @@ "item.minecraft_armor_weapon.bogged_outer_chestplate": "Bogged Outer Chestplate", "item.minecraft_armor_weapon.dragon_green_armor_boots": "§2Dragon green boots", "item.minecraft_armor_weapon.rivers_of_blood": "§4§lRivers of Blood", + "item.minecraft_armor_weapon.magicwand": "Magicwand", "item.minecraft_armor_weapon.das_herz_einer_fee_armor_boots": "das herz einer fee armor boots", "entity.minecraft_armor_weapon.killotiru": "Otiruyo", "effect.minecraft_armor_weapon.kitterukitteru": "subetekirisuteru", @@ -9336,7 +9351,6 @@ "item.minecraft_armor_weapon.das_herz_einer_fee_armor_leggings": "das herz einer fee armor leggings", "item.minecraft_armor_weapon.dragon_red_armor_boots": "§4Dragon red boots", "item.minecraft_armor_weapon.bubbleshot": "§9Bubbleshot", - "item.minecraft_armor_weapon.magic_wand": "Magic Wand", "effect.minecraft_armor_weapon.tunderbolteffrct": "tunderboltattack", "item.minecraft_armor_weapon.netherite_katana": "§8Netherite Katana", "block.minecraft_armor_weapon.stone_katana_block_1": "stone Katana Block", @@ -9478,6 +9492,7 @@ "effect.minecraft_armor_weapon.long_range_weapon_cut": "遠距離武器斬る", "item.minecraft_armor_weapon.dragon_green_armor_boots": "§2Dragon green boots", "item.minecraft_armor_weapon.rivers_of_blood": "§4§lRivers of Blood", + "item.minecraft_armor_weapon.magicwand": "Magicwand", "entity.minecraft_armor_weapon.killotiru": "Otiruyo", "item.minecraft_armor_weapon.das_herz_einer_fee_armor_boots": "das herz einer fee armor boots", "effect.minecraft_armor_weapon.kitterukitteru": "subetekirisuteru", @@ -9597,7 +9612,6 @@ "item.minecraft_armor_weapon.das_herz_einer_fee_armor_leggings": "das herz einer fee armor leggings", "item.minecraft_armor_weapon.dragon_red_armor_boots": "§4Dragon red boots", "item.minecraft_armor_weapon.bubbleshot": "§9Bubbleshot", - "item.minecraft_armor_weapon.magic_wand": "Magic Wand", "effect.minecraft_armor_weapon.tunderbolteffrct": "tunderboltattack", "item.minecraft_armor_weapon.netherite_katana": "§8Netherite Katana", "block.minecraft_armor_weapon.stone_katana_block_1": "Netherite Katana Block", diff --git a/models/magicstick.json b/models/magicstick.json index 52eef80d..2c407431 100644 --- a/models/magicstick.json +++ b/models/magicstick.json @@ -1,153 +1,286 @@ { "credit": "Made with Blockbench", "parent": "magicstick", - "texture_size": [32, 32], "textures": { - "0": "magicstic", + "2": "magicstic", "particle": "magicstic" }, "elements": [ { - "from": [0, -0.1, 15.6], - "to": [0.8, 15.4, 16.4], - "rotation": {"angle": 0, "axis": "y", "origin": [3.4, 6.4, 10.2]}, + "from": [0, -0.99681, 19.31323], + "to": [0.55, 1.00319, 20.01323], + "rotation": {"angle": 22.5, "axis": "x", "origin": [0.4, 9.57093, 16.05845]}, "faces": { - "north": {"uv": [0, 0, 0.5, 7.75], "texture": "#0"}, - "east": {"uv": [0.5, 0, 1, 7.75], "texture": "#0"}, - "south": {"uv": [1, 0, 1.5, 7.75], "texture": "#0"}, - "west": {"uv": [1.5, 0, 2, 7.75], "texture": "#0"}, - "up": {"uv": [3.5, 2.5, 3, 2], "texture": "#0"}, - "down": {"uv": [3, 3, 2.5, 3.5], "texture": "#0"} + "north": {"uv": [4, 4, 4.5, 6], "texture": "#2"}, + "east": {"uv": [4, 0, 4.75, 2], "texture": "#2"}, + "south": {"uv": [5, 0, 5.5, 2], "texture": "#2"}, + "west": {"uv": [4, 2, 4.75, 4], "texture": "#2"}, + "up": {"uv": [10.5, 0.75, 10, 0], "texture": "#2"}, + "down": {"uv": [10.5, 1, 10, 1.75], "texture": "#2"} } }, { - "from": [0, 0.4, 17.6], - "to": [0.8, 2.9, 18.4], - "rotation": {"angle": 22.5, "axis": "x", "origin": [3.4, 6.4, 10.2]}, + "from": [0, -1.53487, 19.50457], + "to": [0.55, -1.03487, 21.55457], + "rotation": {"angle": 22.5, "axis": "x", "origin": [0.4, 10.03287, 16.24979]}, "faces": { - "north": {"uv": [14, 8.25, 14.5, 16], "texture": "#0"}, - "east": {"uv": [9.25, 8.25, 9.75, 16], "texture": "#0"}, - "south": {"uv": [15.5, 8.25, 16, 16], "texture": "#0"}, - "west": {"uv": [11.5, 8.25, 12, 16], "texture": "#0"}, - "up": {"uv": [0.5, 16, 0, 15.5], "texture": "#0"}, - "down": {"uv": [15.25, 15.5, 14.75, 16], "texture": "#0"} + "north": {"uv": [6, 10, 6.5, 10.5], "texture": "#2"}, + "east": {"uv": [5, 2, 7, 2.5], "texture": "#2"}, + "south": {"uv": [10, 6, 10.5, 6.5], "texture": "#2"}, + "west": {"uv": [5, 3, 7, 3.5], "texture": "#2"}, + "up": {"uv": [5.5, 6, 5, 4], "texture": "#2"}, + "down": {"uv": [6.5, 0, 6, 2], "texture": "#2"} } }, { - "from": [0, 0.4, 17.6], - "to": [0.8, 0.9, 19.65], - "rotation": {"angle": 22.5, "axis": "x", "origin": [3.4, 6.4, 10.2]}, + "from": [0, 0.14194, 15.73346], + "to": [0.55, 15.07194, 16.43346], + "rotation": {"angle": 0, "axis": "y", "origin": [0.4, 7.01352, 16.04704]}, "faces": { - "north": {"uv": [13, 8.25, 13.5, 16], "texture": "#0"}, - "east": {"uv": [13, 8.25, 13.5, 16], "texture": "#0"}, - "south": {"uv": [13, 8.25, 13.5, 16], "texture": "#0"}, - "west": {"uv": [13, 8.25, 13.5, 16], "texture": "#0"}, - "up": {"uv": [13.5, 15.75, 13, 15.25], "texture": "#0"}, - "down": {"uv": [13.5, 15.5, 13, 16], "texture": "#0"} + "north": {"uv": [2, 0, 2.5, 14.875], "texture": "#2"}, + "east": {"uv": [0, 0, 0.75, 14.875], "texture": "#2"}, + "south": {"uv": [3, 0, 3.5, 14.875], "texture": "#2"}, + "west": {"uv": [1, 0, 1.75, 14.875], "texture": "#2"}, + "up": {"uv": [10.5, 2.75, 10, 2], "texture": "#2"}, + "down": {"uv": [10.5, 3, 10, 3.75], "texture": "#2"} } }, { - "from": [0, 16, 15.6], - "to": [0.75, 16.5, 16.35], - "rotation": {"angle": 0, "axis": "x", "origin": [3.4, 6.4, 10.2]}, + "from": [-0.25, 16.05, 15.575], + "to": [0.8, 16.8, 16.625], + "rotation": {"angle": 0, "axis": "x", "origin": [0.4, 7.01352, 16.19704]}, "faces": { - "north": {"uv": [4.5, 3.5, 5, 3.75], "texture": "#0"}, - "east": {"uv": [4, 4.5, 4.5, 4.75], "texture": "#0"}, - "south": {"uv": [4.5, 4, 5, 4.25], "texture": "#0"}, - "west": {"uv": [4.5, 4.5, 5, 4.75], "texture": "#0"}, - "up": {"uv": [4, 2.5, 3.5, 2], "texture": "#0"}, - "down": {"uv": [3, 3.5, 2.5, 4], "texture": "#0"} + "north": {"uv": [7, 4, 8, 4.75], "texture": "#2"}, + "east": {"uv": [6, 7, 7, 7.75], "texture": "#2"}, + "south": {"uv": [7, 6, 8, 6.75], "texture": "#2"}, + "west": {"uv": [7, 7, 8, 7.75], "texture": "#2"}, + "up": {"uv": [5, 7, 4, 6], "texture": "#2"}, + "down": {"uv": [7, 4, 6, 5], "texture": "#2"} } }, { - "from": [0, 16.65, 7.9], - "to": [0.8, 18.3, 8.4], - "rotation": {"angle": 45, "axis": "x", "origin": [3.4, 6.4, 10.2]}, + "from": [0, 12.02585, 8.46983], + "to": [0.55, 12.52585, 10.51983], + "rotation": {"angle": 45, "axis": "x", "origin": [0.4, 6.66051, 16.55005]}, "faces": { - "north": {"uv": [6.5, 3.5, 7, 3.75], "texture": "#0"}, - "east": {"uv": [4, 6.5, 4.5, 6.75], "texture": "#0"}, - "south": {"uv": [6.5, 4, 7, 4.25], "texture": "#0"}, - "west": {"uv": [4.5, 6.5, 5, 6.75], "texture": "#0"}, - "up": {"uv": [2.5, 4.5, 2, 4], "texture": "#0"}, - "down": {"uv": [4.5, 2, 4, 2.5], "texture": "#0"} + "north": {"uv": [7, 10, 7.5, 10.5], "texture": "#2"}, + "east": {"uv": [5, 6, 7, 6.5], "texture": "#2"}, + "south": {"uv": [10, 7, 10.5, 7.5], "texture": "#2"}, + "west": {"uv": [6, 5, 8, 5.5], "texture": "#2"}, + "up": {"uv": [7.5, 2, 7, 0], "texture": "#2"}, + "down": {"uv": [7.5, 2, 7, 4], "texture": "#2"} } }, { - "from": [0, 8.15, 20.15], - "to": [0.8, 10.45, 20.65], - "rotation": {"angle": -45, "axis": "x", "origin": [3.4, 6.4, 10.2]}, + "from": [0, 12.20208, 8.04283], + "to": [0.55, 13.10208, 8.54283], + "rotation": {"angle": 45, "axis": "x", "origin": [0.4, 6.83674, 16.37382]}, "faces": { - "north": {"uv": [6.5, 3.5, 7, 3.75], "texture": "#0"}, - "east": {"uv": [4, 6.5, 4.5, 6.75], "texture": "#0"}, - "south": {"uv": [6.5, 4, 7, 4.25], "texture": "#0"}, - "west": {"uv": [4.5, 6.5, 5, 6.75], "texture": "#0"}, - "up": {"uv": [2.5, 4.5, 2, 4], "texture": "#0"}, - "down": {"uv": [4.5, 2, 4, 2.5], "texture": "#0"} + "north": {"uv": [9, 3, 9.5, 3.875], "texture": "#2"}, + "east": {"uv": [4, 9, 4.5, 9.875], "texture": "#2"}, + "south": {"uv": [9, 4, 9.5, 4.875], "texture": "#2"}, + "west": {"uv": [5, 9, 5.5, 9.875], "texture": "#2"}, + "up": {"uv": [10.5, 8.5, 10, 8], "texture": "#2"}, + "down": {"uv": [10.5, 9, 10, 9.5], "texture": "#2"} } }, { - "from": [0, 16.35, 6.15], - "to": [0.8, 18.25, 6.65], - "rotation": {"angle": 45, "axis": "x", "origin": [3.4, 6.4, 10.2]}, + "from": [0, 12.8196, 10.40928], + "to": [0.55, 14.2196, 10.90928], + "rotation": {"angle": 45, "axis": "x", "origin": [0.4, 7.27749, 16.39018]}, "faces": { - "north": {"uv": [6.5, 3.5, 7, 3.75], "texture": "#0"}, - "east": {"uv": [4, 6.5, 4.5, 6.75], "texture": "#0"}, - "south": {"uv": [6.5, 4, 7, 4.25], "texture": "#0"}, - "west": {"uv": [4.5, 6.5, 5, 6.75], "texture": "#0"}, - "up": {"uv": [2.5, 4.5, 2, 4], "texture": "#0"}, - "down": {"uv": [4.5, 2, 4, 2.5], "texture": "#0"} + "north": {"uv": [8, 0, 8.5, 1.375], "texture": "#2"}, + "east": {"uv": [8, 2, 8.5, 3.375], "texture": "#2"}, + "south": {"uv": [8, 4, 8.5, 5.375], "texture": "#2"}, + "west": {"uv": [6, 8, 6.5, 9.375], "texture": "#2"}, + "up": {"uv": [10.5, 10.5, 10, 10], "texture": "#2"}, + "down": {"uv": [11.5, 0, 11, 0.5], "texture": "#2"} } }, { - "from": [0, 18.05, 6.15], - "to": [0.8, 18.55, 8.4], - "rotation": {"angle": 45, "axis": "x", "origin": [3.4, 6.4, 10.2]}, + "from": [0.175, 16.75, 16.2], + "to": [0.375, 18.5, 16.5], + "rotation": {"angle": 0, "axis": "y", "origin": [-3.2, 9.9, 20.5]}, "faces": { - "north": {"uv": [6.5, 3.5, 7, 3.75], "texture": "#0"}, - "east": {"uv": [4, 6.5, 4.5, 6.75], "texture": "#0"}, - "south": {"uv": [6.5, 4, 7, 4.25], "texture": "#0"}, - "west": {"uv": [4.5, 6.5, 5, 6.75], "texture": "#0"}, - "up": {"uv": [2.5, 4.5, 2, 4], "texture": "#0"}, - "down": {"uv": [4.5, 2, 4, 2.5], "texture": "#0"} + "north": {"uv": [9, 5, 9.25, 6.75], "texture": "#2"}, + "east": {"uv": [9, 7, 9.25, 8.75], "texture": "#2"}, + "south": {"uv": [8, 9, 8.25, 10.75], "texture": "#2"}, + "west": {"uv": [9, 9, 9.25, 10.75], "texture": "#2"}, + "up": {"uv": [10.25, 12.25, 10, 12], "texture": "#2"}, + "down": {"uv": [12.25, 10, 12, 10.25], "texture": "#2"} + } + }, + { + "from": [0.075, 16.75, 15.7], + "to": [0.475, 18.5, 16.2], + "rotation": {"angle": 0, "axis": "y", "origin": [-3.1, 9.9, 19.75]}, + "faces": { + "north": {"uv": [8, 6, 8.375, 7.75], "texture": "#2"}, + "east": {"uv": [4, 7, 4.5, 8.75], "texture": "#2"}, + "south": {"uv": [7, 8, 7.375, 9.75], "texture": "#2"}, + "west": {"uv": [5, 7, 5.5, 8.75], "texture": "#2"}, + "up": {"uv": [11.375, 7.5, 11, 7], "texture": "#2"}, + "down": {"uv": [8.375, 11, 8, 11.5], "texture": "#2"} + } + }, + { + "from": [0.175, 18.5, 16.05], + "to": [0.375, 19.5, 16.35], + "rotation": {"angle": 0, "axis": "y", "origin": [-3.2, 9.9, 20.55]}, + "faces": { + "north": {"uv": [11, 1, 11.25, 2], "texture": "#2"}, + "east": {"uv": [11, 2, 11.25, 3], "texture": "#2"}, + "south": {"uv": [11, 3, 11.25, 4], "texture": "#2"}, + "west": {"uv": [4, 11, 4.25, 12], "texture": "#2"}, + "up": {"uv": [11.25, 12.25, 11, 12], "texture": "#2"}, + "down": {"uv": [12.25, 11, 12, 11.25], "texture": "#2"} + } + }, + { + "from": [0.075, 18.5, 15.55], + "to": [0.475, 19.5, 16.05], + "rotation": {"angle": 0, "axis": "y", "origin": [-3.225, 9.9, 19.75]}, + "faces": { + "north": {"uv": [4, 10, 4.375, 11], "texture": "#2"}, + "east": {"uv": [8, 8, 8.5, 9], "texture": "#2"}, + "south": {"uv": [10, 4, 10.375, 5], "texture": "#2"}, + "west": {"uv": [9, 0, 9.5, 1], "texture": "#2"}, + "up": {"uv": [11.375, 8.5, 11, 8], "texture": "#2"}, + "down": {"uv": [9.375, 11, 9, 11.5], "texture": "#2"} + } + }, + { + "from": [0.175, 19.5, 15.85], + "to": [0.375, 20.5, 16.15], + "rotation": {"angle": 0, "axis": "y", "origin": [-3.2, 9.9, 20.55]}, + "faces": { + "north": {"uv": [11, 4, 11.25, 5], "texture": "#2"}, + "east": {"uv": [5, 11, 5.25, 12], "texture": "#2"}, + "south": {"uv": [11, 5, 11.25, 6], "texture": "#2"}, + "west": {"uv": [6, 11, 6.25, 12], "texture": "#2"}, + "up": {"uv": [12.25, 12.25, 12, 12], "texture": "#2"}, + "down": {"uv": [13.25, 0, 13, 0.25], "texture": "#2"} + } + }, + { + "from": [0.075, 19.5, 15.35], + "to": [0.475, 20.5, 15.85], + "rotation": {"angle": 0, "axis": "y", "origin": [-3.225, 9.9, 19.85]}, + "faces": { + "north": {"uv": [5, 10, 5.375, 11], "texture": "#2"}, + "east": {"uv": [9, 1, 9.5, 2], "texture": "#2"}, + "south": {"uv": [10, 5, 10.375, 6], "texture": "#2"}, + "west": {"uv": [9, 2, 9.5, 3], "texture": "#2"}, + "up": {"uv": [11.375, 9.5, 11, 9], "texture": "#2"}, + "down": {"uv": [10.375, 11, 10, 11.5], "texture": "#2"} + } + }, + { + "from": [0.175, 21, 15.35], + "to": [0.375, 21.5, 15.65], + "rotation": {"angle": 0, "axis": "y", "origin": [-3.2, 10.4, 20.3]}, + "faces": { + "north": {"uv": [4, 12, 4.25, 12.5], "texture": "#2"}, + "east": {"uv": [12, 4, 12.25, 4.5], "texture": "#2"}, + "south": {"uv": [5, 12, 5.25, 12.5], "texture": "#2"}, + "west": {"uv": [12, 5, 12.25, 5.5], "texture": "#2"}, + "up": {"uv": [13.25, 1.25, 13, 1], "texture": "#2"}, + "down": {"uv": [13.25, 2, 13, 2.25], "texture": "#2"} + } + }, + { + "from": [0.175, 20.5, 15.6], + "to": [0.375, 21, 15.9], + "rotation": {"angle": 0, "axis": "y", "origin": [-3.2, 9.4, 20.8]}, + "faces": { + "north": {"uv": [6, 12, 6.25, 12.5], "texture": "#2"}, + "east": {"uv": [12, 6, 12.25, 6.5], "texture": "#2"}, + "south": {"uv": [7, 12, 7.25, 12.5], "texture": "#2"}, + "west": {"uv": [12, 7, 12.25, 7.5], "texture": "#2"}, + "up": {"uv": [13.25, 3.25, 13, 3], "texture": "#2"}, + "down": {"uv": [4.25, 13, 4, 13.25], "texture": "#2"} + } + }, + { + "from": [0.175, 21.5, 15.1], + "to": [0.375, 21.75, 15.4], + "rotation": {"angle": 0, "axis": "y", "origin": [-3.2, 9.9, 20.55]}, + "faces": { + "north": {"uv": [13, 4, 13.25, 4.25], "texture": "#2"}, + "east": {"uv": [5, 13, 5.25, 13.25], "texture": "#2"}, + "south": {"uv": [13, 5, 13.25, 5.25], "texture": "#2"}, + "west": {"uv": [6, 13, 6.25, 13.25], "texture": "#2"}, + "up": {"uv": [13.25, 6.25, 13, 6], "texture": "#2"}, + "down": {"uv": [7.25, 13, 7, 13.25], "texture": "#2"} + } + }, + { + "from": [0.075, 20.5, 15.1], + "to": [0.475, 21, 15.6], + "rotation": {"angle": 0, "axis": "y", "origin": [-3.225, 9.9, 19.85]}, + "faces": { + "north": {"uv": [11, 10, 11.375, 10.5], "texture": "#2"}, + "east": {"uv": [11, 6, 11.5, 6.5], "texture": "#2"}, + "south": {"uv": [11, 11, 11.375, 11.5], "texture": "#2"}, + "west": {"uv": [7, 11, 7.5, 11.5], "texture": "#2"}, + "up": {"uv": [12.375, 0.5, 12, 0], "texture": "#2"}, + "down": {"uv": [12.375, 1, 12, 1.5], "texture": "#2"} + } + }, + { + "from": [0.075, 21, 15.1], + "to": [0.475, 21.5, 15.35], + "rotation": {"angle": 0, "axis": "y", "origin": [-3.225, 9.9, 19.85]}, + "faces": { + "north": {"uv": [12, 2, 12.375, 2.5], "texture": "#2"}, + "east": {"uv": [8, 12, 8.25, 12.5], "texture": "#2"}, + "south": {"uv": [12, 3, 12.375, 3.5], "texture": "#2"}, + "west": {"uv": [12, 8, 12.25, 8.5], "texture": "#2"}, + "up": {"uv": [9.375, 12.25, 9, 12], "texture": "#2"}, + "down": {"uv": [12.375, 9, 12, 9.25], "texture": "#2"} } } ], "display": { "thirdperson_righthand": { - "translation": [7.5, 0.75, -7.25], - "scale": [1, 1.5, 1] + "rotation": [0, 180, 0], + "translation": [-12, 5, 13.75], + "scale": [1.5, 1.8, 1.5] }, "thirdperson_lefthand": { - "translation": [-7.75, 0.75, -7.25], - "scale": [1, 1.5, 1] + "rotation": [0, -180, 0], + "translation": [11.25, 2, 13.75], + "scale": [1.5, 1.8, 1.5] }, "firstperson_righthand": { - "translation": [3.25, 4.5, -2.25], - "scale": [1, 1.2, 1] + "rotation": [0, -180, 0], + "translation": [-4.25, 1.75, 6.5], + "scale": [1.5, 1.8, 1.5] }, "firstperson_lefthand": { - "translation": [-12.5, 4.75, -2], - "scale": [1, 1.2, 1] + "rotation": [0, -180, 0], + "translation": [19, 1.75, 6.5], + "scale": [1.5, 1.8, 1.5] }, "ground": { "rotation": [180, 0, 0], - "translation": [7.75, 3.5, 7.75], - "scale": [1, 1.5, 1] + "translation": [7.75, 12.75, 7.75], + "scale": [1, 1.3, 1] }, "gui": { "rotation": [-90, 135, 90], - "translation": [-4.75, 3.25, 1.32], - "scale": [0.8, 1.2, 0.7] + "translation": [-4.5, 2.5, 1.32], + "scale": [0.6, 0.9, 0.6] }, "head": { "rotation": [-90, 40, -90], - "translation": [-10.25, -2.75, 14.5], - "scale": [1, 1.5, 1] + "translation": [-10.25, -2.75, 18.5], + "scale": [1.5, 1.8, 1.5] }, "fixed": { "rotation": [-90, -135, -90], - "translation": [10.75, 4, 9.75], - "scale": [1.3, 1.55, 1.3] + "translation": [5.75, 4.75, 7], + "scale": [0.9, 1.2, 0.9] } }, "groups": [ @@ -155,23 +288,18 @@ "name": "group", "origin": [8, 8, 8], "color": 0, - "nbt": "{}", "children": [ { "name": "group", "origin": [8, 8, 8], "color": 0, - "nbt": "{}", - "children": [] + "children": [0, 1] }, - 0, - 1, 2, { "name": "group", "origin": [8, 8, 8], "color": 0, - "nbt": "{}", "children": [] }, 3, @@ -179,14 +307,50 @@ "name": "group", "origin": [8, 8, 8], "color": 0, - "nbt": "{}", "children": [ { "name": "group", "origin": [8, 8, 8], "color": 0, - "nbt": "{}", - "children": [4, 5, 6, 7] + "children": [4, 5, 6] + } + ] + }, + { + "name": "group", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "group", + "origin": [3.9, 7.4, 12.5], + "color": 0, + "children": [7, 8] + }, + { + "name": "group", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "group", + "origin": [3.9, 7.4, 12.5], + "color": 0, + "children": [9, 10] + }, + { + "name": "group", + "origin": [3.9, 7.4, 12.5], + "color": 0, + "children": [11, 12] + }, + { + "name": "group", + "origin": [3.9, 7.4, 12.5], + "color": 0, + "children": [13, 14, 15, 16, 17] + } + ] } ] } diff --git a/models/magicstick.json.textures b/models/magicstick.json.textures index 8c8ea993..d4db2f65 100644 --- a/models/magicstick.json.textures +++ b/models/magicstick.json.textures @@ -2,7 +2,7 @@ "mappings": { "default": { "map": { - "0": "magicstic" + "2": "magicstic" }, "name": "default" } diff --git a/src/main/java/minecraftarmorweapon/init/MinecraftArmorWeaponModItems.java b/src/main/java/minecraftarmorweapon/init/MinecraftArmorWeaponModItems.java index 708fe455..cada5ce7 100644 --- a/src/main/java/minecraftarmorweapon/init/MinecraftArmorWeaponModItems.java +++ b/src/main/java/minecraftarmorweapon/init/MinecraftArmorWeaponModItems.java @@ -55,8 +55,8 @@ import minecraftarmorweapon.item.MotoWitherKatanaItem; import minecraftarmorweapon.item.MotaseruItem; import minecraftarmorweapon.item.MagischesFeenKatanaItem; +import minecraftarmorweapon.item.MagicwandItem; import minecraftarmorweapon.item.MagicalKatanaItem; -import minecraftarmorweapon.item.MagicWandItem; import minecraftarmorweapon.item.MagicMcrystalItem; import minecraftarmorweapon.item.MacheteItem; import minecraftarmorweapon.item.LunaItem; @@ -141,7 +141,6 @@ public class MinecraftArmorWeaponModItems { public static final RegistryObject STRAY_OUTER_ARMOR_HELMET = REGISTRY.register("stray_outer_armor_helmet", () -> new StrayOuterArmorItem.Helmet()); public static final RegistryObject STRAY_OUTER_ARMOR_CHESTPLATE = REGISTRY.register("stray_outer_armor_chestplate", () -> new StrayOuterArmorItem.Chestplate()); public static final RegistryObject STRAY_OUTER_ARMOR_LEGGINGS = REGISTRY.register("stray_outer_armor_leggings", () -> new StrayOuterArmorItem.Leggings()); - public static final RegistryObject MAGIC_WAND = REGISTRY.register("magic_wand", () -> new MagicWandItem()); public static final RegistryObject STRAYOUTERARMORHAT_HELMET = REGISTRY.register("strayouterarmorhat_helmet", () -> new StrayouterarmorhatItem.Helmet()); public static final RegistryObject MAGIC_MCRYSTAL = REGISTRY.register("magic_mcrystal", () -> new MagicMcrystalItem()); public static final RegistryObject MAGICAL_KATANA = REGISTRY.register("magical_katana", () -> new MagicalKatanaItem()); @@ -257,6 +256,7 @@ public class MinecraftArmorWeaponModItems { public static final RegistryObject TUKAENA = REGISTRY.register("tukaena", () -> new TukaenaItem()); public static final RegistryObject ITEM_STAN = block(MinecraftArmorWeaponModBlocks.ITEM_STAN, MinecraftArmorWeaponModTabs.TAB_MAGIC_BOOKS); public static final RegistryObject ALCHEMY_CRAFT_BLOCK = block(MinecraftArmorWeaponModBlocks.ALCHEMY_CRAFT_BLOCK, MinecraftArmorWeaponModTabs.TAB_MAGIC_BOOKS); + public static final RegistryObject MAGICWAND = REGISTRY.register("magicwand", () -> new MagicwandItem()); private static RegistryObject block(RegistryObject block, CreativeModeTab tab) { return REGISTRY.register(block.getId().getPath(), () -> new BlockItem(block.get(), new Item.Properties().tab(tab))); diff --git a/src/main/java/minecraftarmorweapon/item/MagicWandItem.java b/src/main/java/minecraftarmorweapon/item/MagicWandItem.java index 05917fa9..f97bcb92 100644 --- a/src/main/java/minecraftarmorweapon/item/MagicWandItem.java +++ b/src/main/java/minecraftarmorweapon/item/MagicWandItem.java @@ -2,7 +2,9 @@ package minecraftarmorweapon.item; import net.minecraft.world.level.Level; -import net.minecraft.world.item.Rarity; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.SwordItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Item; import net.minecraft.world.entity.player.Player; @@ -13,30 +15,39 @@ import minecraftarmorweapon.init.MinecraftArmorWeaponModTabs; -public class MagicWandItem extends Item { - public MagicWandItem() { - super(new Item.Properties().tab(MinecraftArmorWeaponModTabs.TAB_MAGIC_BOOKS).stacksTo(1).rarity(Rarity.RARE)); - } - - @Override - public boolean hasCraftingRemainingItem() { - return true; - } - - @Override - public ItemStack getCraftingRemainingItem(ItemStack itemstack) { - return new ItemStack(this); +public class MagicwandItem extends SwordItem { + public MagicwandItem() { + super(new Tier() { + public int getUses() { + return 0; + } + + public float getSpeed() { + return 4f; + } + + public float getAttackDamageBonus() { + return -2f; + } + + public int getLevel() { + return 1; + } + + public int getEnchantmentValue() { + return 2; + } + + public Ingredient getRepairIngredient() { + return Ingredient.of(); + } + }, 3, -2.4f, new Item.Properties().tab(MinecraftArmorWeaponModTabs.TAB_MAGIC_BOOKS)); } @Override public InteractionResultHolder use(Level world, Player entity, InteractionHand hand) { InteractionResultHolder ar = super.use(world, entity, hand); - ItemStack itemstack = ar.getObject(); - double x = entity.getX(); - double y = entity.getY(); - double z = entity.getZ(); - - MagicWandYoukuritukusitatokiProcedure.execute(world, x, y, z, entity); + MagicWandYoukuritukusitatokiProcedure.execute(world, entity.getX(), entity.getY(), entity.getZ(), entity); return ar; } } diff --git a/src/main/java/minecraftarmorweapon/procedures/AlchemyCraftBlockBlockAddedProcedure.java b/src/main/java/minecraftarmorweapon/procedures/AlchemyCraftBlockBlockAddedProcedure.java index 969fd6b0..bea7b2f4 100644 --- a/src/main/java/minecraftarmorweapon/procedures/AlchemyCraftBlockBlockAddedProcedure.java +++ b/src/main/java/minecraftarmorweapon/procedures/AlchemyCraftBlockBlockAddedProcedure.java @@ -11,7 +11,7 @@ public class AlchemyCraftBlockBlockAddedProcedure { public static void execute(LevelAccessor world, double x, double y, double z) { if (world instanceof ServerLevel _level) - _level.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, new Vec3(x, y, z), Vec2.ZERO, _level, 4, "", Component.literal(""), _level.getServer(), null).withSuppressedOutput(), + _level.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, new Vec3(x, (y - 0.5), z), Vec2.ZERO, _level, 4, "", Component.literal(""), _level.getServer(), null).withSuppressedOutput(), "/summon minecraft:armor_stand ~ ~-0.5 ~ {Invisible:true,Invulnerable:true,PersistenceRequired:true,NoBasePlate:true,NoGravity:true,Small:true,DisabledSlots:4144959,Tags:[\"minecraft_armor_weapon_alchemy_craft_block_mahouzinn\"]}"); } } diff --git a/src/main/java/minecraftarmorweapon/procedures/MagicWandYoukuritukusitatokiProcedure.java b/src/main/java/minecraftarmorweapon/procedures/MagicWandYoukuritukusitatokiProcedure.java index 88f847df..53b08ee7 100644 --- a/src/main/java/minecraftarmorweapon/procedures/MagicWandYoukuritukusitatokiProcedure.java +++ b/src/main/java/minecraftarmorweapon/procedures/MagicWandYoukuritukusitatokiProcedure.java @@ -1,22 +1,23 @@ package minecraftarmorweapon.procedures; import net.minecraft.world.phys.Vec3; -import net.minecraft.world.phys.Vec2; import net.minecraft.world.phys.AABB; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.entity.Mob; +import net.minecraft.world.entity.MobType; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.Entity; +import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.damagesource.DamageSource; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerLevel; -import net.minecraft.network.chat.Component; +import net.minecraft.core.particles.ParticleTypes; import net.minecraft.core.BlockPos; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.CommandSource; +import minecraftarmorweapon.init.MinecraftArmorWeaponModMobEffects; +import minecraftarmorweapon.init.MinecraftArmorWeaponModItems; import minecraftarmorweapon.init.MinecraftArmorWeaponModEnchantments; import minecraftarmorweapon.entity.SkeltonMobEntity; @@ -35,124 +36,85 @@ public static void execute(LevelAccessor world, double x, double y, double z, En double beta = 0; double speed = 0; double spread = 0; - entity.getPersistentData().putDouble("minecraft_armor_weapon:r", 1); - entity.getPersistentData().putDouble("minecraft_armor_weapon:alpha", (entity.getYRot())); - entity.getPersistentData().putDouble("minecraft_armor_weapon:beta", (entity.getXRot())); - entity.getPersistentData().putDouble("minecraft_armor_weapon:caunt", 100); - { - Entity _ent = entity; - if (!_ent.level.isClientSide() && _ent.getServer() != null) { - _ent.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, _ent.position(), _ent.getRotationVector(), _ent.level instanceof ServerLevel ? (ServerLevel) _ent.level : null, 4, - _ent.getName().getString(), _ent.getDisplayName(), _ent.level.getServer(), _ent), "playsound minecraft:entity.arrow.hit_player neutral @s ~ ~ ~ 1 1.5"); + double yknockback = 0; + double ZRadius2 = 0; + double dis = 0; + double zknockback = 0; + double loop = 0; + double XRadius2 = 0; + double X = 0; + double Y = 0; + double Z = 0; + double Y_pos = 0; + double xknockback = 0; + r = 1; + alpha = entity.getYRot(); + beta = entity.getXRot(); + for (int index0 = 0; index0 < 50; index0++) { + if (world.getBlockState(new BlockPos(x - r * Math.cos(Math.toRadians(beta)) * Math.sin(Math.toRadians(alpha)), (y + 2) - r * Math.sin(Math.toRadians(beta)), z + r * Math.cos(Math.toRadians(beta)) * Math.cos(Math.toRadians(alpha)))) + .canOcclude()) { + break; } - } - for (int index0 = 0; index0 < (int) entity.getPersistentData().getDouble("minecraft_armor_weapon:caunt"); index0++) { - if (world instanceof ServerLevel _level) - _level.getServer().getCommands().performPrefixedCommand( - new CommandSourceStack(CommandSource.NULL, - new Vec3( - (x - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha")))), - ((y + 1) - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta")))), - (z + entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha"))))), - Vec2.ZERO, _level, 4, "", Component.literal(""), _level.getServer(), null).withSuppressedOutput(), - "particle minecraft:dust 0.7 0.17 1 0.75 ~ ~ ~ 0.1 0.1 0.1 0 1 force"); - if (world instanceof ServerLevel _level) - _level.getServer().getCommands().performPrefixedCommand( - new CommandSourceStack(CommandSource.NULL, - new Vec3( - (x - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha")))), - ((y + 1) - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta")))), - (z + entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha"))))), - Vec2.ZERO, _level, 4, "", Component.literal(""), _level.getServer(), null).withSuppressedOutput(), - "particle minecraft:crit ~ ~ ~ 0 0 0 0.02 1 force"); - if (!(!world.getEntitiesOfClass(LivingEntity.class, - AABB.ofSize(new Vec3( - (x - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha")))), - ((y - 1) - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta")))), - (z + entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha"))))), - 2, 2, 2), - e -> true).isEmpty()) - && !world.getBlockState(new BlockPos( - x - (entity.getPersistentData().getDouble("minecraft_armor_weapon:r") + 1) * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha"))), - (y - 1) - (entity.getPersistentData().getDouble("minecraft_armor_weapon:r") + 1) * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))), - z + (entity.getPersistentData().getDouble("minecraft_armor_weapon:r") + 1) * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha"))))) - .canOcclude() - && !(entity.getPersistentData().getDouble("minecraft_armor_weapon:r") >= 20)) { - entity.getPersistentData().putDouble("minecraft_armor_weapon:r", (entity.getPersistentData().getDouble("minecraft_armor_weapon:r") + 0.2)); - } else { - if (world instanceof ServerLevel _level) - _level.getServer().getCommands().performPrefixedCommand( - new CommandSourceStack(CommandSource.NULL, - new Vec3( - (x - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha")))), - ((y + 1) - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta")))), - (z + entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha"))))), - Vec2.ZERO, _level, 4, "", Component.literal(""), _level.getServer(), null).withSuppressedOutput(), - "particle minecraft:crit ~ ~ ~ 0 0 0 0.3 15 force"); - if (world instanceof ServerLevel _level) - _level.getServer().getCommands().performPrefixedCommand( - new CommandSourceStack(CommandSource.NULL, - new Vec3( - (x - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha")))), - ((y + 1) - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta")))), - (z + entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha"))))), - Vec2.ZERO, _level, 4, "", Component.literal(""), _level.getServer(), null).withSuppressedOutput(), - "particle minecraft:dust 0.7 0.17 1 1 ~ ~ ~ 0.25 0.25 0.25 1 15 force"); - if (world instanceof ServerLevel _level) - _level.getServer().getCommands().performPrefixedCommand( - new CommandSourceStack(CommandSource.NULL, - new Vec3( - (x - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha")))), - ((y + 1) - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta")))), - (z + entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha"))))), - Vec2.ZERO, _level, 4, "", Component.literal(""), _level.getServer(), null).withSuppressedOutput(), - "playsound minecraft:entity.firework_rocket.blast neutral @a ~ ~ ~ 2 1.2"); + if (entity instanceof LivingEntity _livEnt ? _livEnt.hasEffect(MinecraftArmorWeaponModMobEffects.WIND_STEP_EFFECT.get()) : false) { { - Entity _ent = entity; - _ent.teleportTo( - (x - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha")))), - ((y + 1) - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta")))), - (z + entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha"))))); - if (_ent instanceof ServerPlayer _serverPlayer) - _serverPlayer.connection.teleport( - (x - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha")))), - ((y + 1) - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta")))), - (z + entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha")))), - _ent.getYRot(), _ent.getXRot()); + final Vec3 _center = new Vec3((x - r * Math.cos(Math.toRadians(beta)) * Math.sin(Math.toRadians(alpha))), ((y + 1) - r * Math.sin(Math.toRadians(beta))), (z + r * Math.cos(Math.toRadians(beta)) * Math.cos(Math.toRadians(alpha)))); + List _entfound = world.getEntitiesOfClass(Entity.class, new AABB(_center, _center).inflate(3 / 2d), e -> true).stream().sorted(Comparator.comparingDouble(_entcnd -> _entcnd.distanceToSqr(_center))) + .collect(Collectors.toList()); + for (Entity entityiterator : _entfound) { + if (!(entityiterator == entity)) { + if (!(entityiterator instanceof OtiruyoEntity)) { + if (!(entityiterator instanceof SkeltonMobEntity)) { + if (entityiterator instanceof LivingEntity) { + if (EnchantmentHelper.getItemEnchantmentLevel(MinecraftArmorWeaponModEnchantments.KILL.get(), (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY)) != 0) { + if ((entity instanceof LivingEntity _livEnt ? _livEnt.getOffhandItem() : ItemStack.EMPTY).getItem() == MinecraftArmorWeaponModItems.THUNDERBOLT.get()) { + if (entityiterator instanceof LivingEntity _entity && !_entity.level.isClientSide()) + _entity.addEffect(new MobEffectInstance(MinecraftArmorWeaponModMobEffects.THUNDER_HIT.get(), 150, 2, true, false)); + } + { + Entity _ent = entityiterator; + if (!_ent.level.isClientSide() && _ent.getServer() != null) { + _ent.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, _ent.position(), _ent.getRotationVector(), + _ent.level instanceof ServerLevel ? (ServerLevel) _ent.level : null, 4, _ent.getName().getString(), _ent.getDisplayName(), _ent.level.getServer(), _ent), "/kill @s"); + } + } + { + Entity _ent = entityiterator; + if (!_ent.level.isClientSide() && _ent.getServer() != null) { + _ent.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, _ent.position(), _ent.getRotationVector(), + _ent.level instanceof ServerLevel ? (ServerLevel) _ent.level : null, 4, _ent.getName().getString(), _ent.getDisplayName(), _ent.level.getServer(), _ent), "/deta merge entity @s (Health:0)"); + } + } + } else { + if ((entity instanceof LivingEntity _livEnt ? _livEnt.getOffhandItem() : ItemStack.EMPTY).getItem() == MinecraftArmorWeaponModItems.THUNDERBOLT.get()) { + if (entityiterator instanceof LivingEntity _entity && !_entity.level.isClientSide()) + _entity.addEffect(new MobEffectInstance(MinecraftArmorWeaponModMobEffects.THUNDER_HIT.get(), 150, 2, true, false)); + } + if (entityiterator instanceof LivingEntity _livEnt ? _livEnt.getMobType() == MobType.UNDEAD : false) { + entityiterator.hurt(DamageSource.GENERIC, 15); + } + entityiterator.hurt(DamageSource.GENERIC, 5); + } + } + } + } + } + } } + } else { { - final Vec3 _center = new Vec3( - (x - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha")))), - ((y + 1) - entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.sin(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta")))), - (z + entity.getPersistentData().getDouble("minecraft_armor_weapon:r") * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:beta"))) - * Math.cos(Math.toRadians(entity.getPersistentData().getDouble("minecraft_armor_weapon:alpha"))))); - List _entfound = world.getEntitiesOfClass(Entity.class, new AABB(_center, _center).inflate(2 / 2d), e -> true).stream().sorted(Comparator.comparingDouble(_entcnd -> _entcnd.distanceToSqr(_center))) + final Vec3 _center = new Vec3((x - r * Math.cos(Math.toRadians(beta)) * Math.sin(Math.toRadians(alpha))), ((y + 1) - r * Math.sin(Math.toRadians(beta))), (z + r * Math.cos(Math.toRadians(beta)) * Math.cos(Math.toRadians(alpha)))); + List _entfound = world.getEntitiesOfClass(Entity.class, new AABB(_center, _center).inflate(1 / 2d), e -> true).stream().sorted(Comparator.comparingDouble(_entcnd -> _entcnd.distanceToSqr(_center))) .collect(Collectors.toList()); for (Entity entityiterator : _entfound) { if (!(entityiterator == entity)) { - if (!(entityiterator instanceof SkeltonMobEntity)) { - if (!(entityiterator instanceof OtiruyoEntity)) { - if (EnchantmentHelper.getItemEnchantmentLevel(MinecraftArmorWeaponModEnchantments.KILL.get(), (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY)) != 0) { - if (entityiterator instanceof Mob) { + if (!(entityiterator instanceof OtiruyoEntity)) { + if (!(entityiterator instanceof SkeltonMobEntity)) { + if (entityiterator instanceof LivingEntity) { + if (EnchantmentHelper.getItemEnchantmentLevel(MinecraftArmorWeaponModEnchantments.KILL.get(), (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY)) != 0) { + if ((entity instanceof LivingEntity _livEnt ? _livEnt.getOffhandItem() : ItemStack.EMPTY).getItem() == MinecraftArmorWeaponModItems.THUNDERBOLT.get()) { + if (entityiterator instanceof LivingEntity _entity && !_entity.level.isClientSide()) + _entity.addEffect(new MobEffectInstance(MinecraftArmorWeaponModMobEffects.THUNDER_HIT.get(), 150, 2, true, false)); + } { Entity _ent = entityiterator; if (!_ent.level.isClientSide() && _ent.getServer() != null) { @@ -167,10 +129,15 @@ public static void execute(LevelAccessor world, double x, double y, double z, En _ent.level instanceof ServerLevel ? (ServerLevel) _ent.level : null, 4, _ent.getName().getString(), _ent.getDisplayName(), _ent.level.getServer(), _ent), "/deta merge entity @s (Health:0)"); } } - } - } else { - if (entityiterator instanceof Mob) { - entityiterator.hurt(DamageSource.GENERIC, 7); + } else { + if ((entity instanceof LivingEntity _livEnt ? _livEnt.getOffhandItem() : ItemStack.EMPTY).getItem() == MinecraftArmorWeaponModItems.THUNDERBOLT.get()) { + if (entityiterator instanceof LivingEntity _entity && !_entity.level.isClientSide()) + _entity.addEffect(new MobEffectInstance(MinecraftArmorWeaponModMobEffects.THUNDER_HIT.get(), 150, 2, true, false)); + } + if (entityiterator instanceof LivingEntity _livEnt ? _livEnt.getMobType() == MobType.UNDEAD : false) { + entityiterator.hurt(DamageSource.GENERIC, 15); + } + entityiterator.hurt(DamageSource.GENERIC, 5); } } } @@ -178,8 +145,11 @@ public static void execute(LevelAccessor world, double x, double y, double z, En } } } - break; } + if (world instanceof ServerLevel _level) + _level.sendParticles(ParticleTypes.CRIT, (x - r * Math.cos(Math.toRadians(beta)) * Math.sin(Math.toRadians(alpha))), ((y + 1) - r * Math.sin(Math.toRadians(beta))), + (z + r * Math.cos(Math.toRadians(beta)) * Math.cos(Math.toRadians(alpha))), 2, 0.1, 0.1, 0.1, 0.1); + r = r + 0.2; } } } diff --git a/src/main/java/minecraftarmorweapon/procedures/SkinOfDragonTickProcedure.java b/src/main/java/minecraftarmorweapon/procedures/SkinOfDragonTickProcedure.java index ddc097f9..6c165fac 100644 --- a/src/main/java/minecraftarmorweapon/procedures/SkinOfDragonTickProcedure.java +++ b/src/main/java/minecraftarmorweapon/procedures/SkinOfDragonTickProcedure.java @@ -179,5 +179,11 @@ private static void execute(@Nullable Event event, LevelAccessor world, double x (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().putDouble("CustomModelData", 0); } } + if (world instanceof ServerLevel _level) + _level.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, new Vec3(x, y, z), Vec2.ZERO, _level, 4, "", Component.literal(""), _level.getServer(), null).withSuppressedOutput(), + "execute at @e[type=minecraft:armor_stand,tag=minecraft_armor_weapon_alchemy_craft_block_mahouzinn] run tp @e[type=minecraft:armor_stand,tag=minecraft_armor_weapon_alchemy_craft_block_mahouzinn] ~ ~ ~ ~-.5 ~"); + if (world instanceof ServerLevel _level) + _level.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, new Vec3(x, y, z), Vec2.ZERO, _level, 4, "", Component.literal(""), _level.getServer(), null).withSuppressedOutput(), + "execute at @e[tag=minecraft_armor_weapon_alchemy_craft_block_mahouzinn] run function minecraft_armor_weapon:alchemymod1"); } } diff --git a/src/main/java/minecraftarmorweapon/procedures/TickProcedure.java b/src/main/java/minecraftarmorweapon/procedures/TickProcedure.java new file mode 100644 index 00000000..821b1990 --- /dev/null +++ b/src/main/java/minecraftarmorweapon/procedures/TickProcedure.java @@ -0,0 +1,25 @@ +package minecraftarmorweapon.procedures; + +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.eventbus.api.Event; +import net.minecraftforge.event.TickEvent; + +import javax.annotation.Nullable; + +@Mod.EventBusSubscriber +public class TickProcedure { + @SubscribeEvent + public static void onWorldTick(TickEvent.LevelTickEvent event) { + if (event.phase == TickEvent.Phase.END) { + execute(event); + } + } + + public static void execute() { + execute(null); + } + + private static void execute(@Nullable Event event) { + } +} diff --git a/src/main/resources/assets/minecraft_armor_weapon/lang/en_us.json b/src/main/resources/assets/minecraft_armor_weapon/lang/en_us.json index 02a91e85..c2119931 100644 --- a/src/main/resources/assets/minecraft_armor_weapon/lang/en_us.json +++ b/src/main/resources/assets/minecraft_armor_weapon/lang/en_us.json @@ -50,6 +50,7 @@ "item.minecraft_armor_weapon.bogged_outer_chestplate": "Bogged Outer Chestplate", "item.minecraft_armor_weapon.dragon_green_armor_boots": "§2Dragon green boots", "item.minecraft_armor_weapon.rivers_of_blood": "§4§lRivers of Blood", + "item.minecraft_armor_weapon.magicwand": "Magicwand", "item.minecraft_armor_weapon.das_herz_einer_fee_armor_boots": "das herz einer fee armor boots", "entity.minecraft_armor_weapon.killotiru": "Otiruyo", "effect.minecraft_armor_weapon.kitterukitteru": "subetekirisuteru", @@ -169,7 +170,6 @@ "item.minecraft_armor_weapon.das_herz_einer_fee_armor_leggings": "das herz einer fee armor leggings", "item.minecraft_armor_weapon.dragon_red_armor_boots": "§4Dragon red boots", "item.minecraft_armor_weapon.bubbleshot": "§9Bubbleshot", - "item.minecraft_armor_weapon.magic_wand": "Magic Wand", "effect.minecraft_armor_weapon.tunderbolteffrct": "tunderboltattack", "item.minecraft_armor_weapon.netherite_katana": "§8Netherite Katana", "block.minecraft_armor_weapon.stone_katana_block_1": "stone Katana Block", diff --git a/src/main/resources/assets/minecraft_armor_weapon/lang/ja_jp.json b/src/main/resources/assets/minecraft_armor_weapon/lang/ja_jp.json index 3e3041dd..bf11568b 100644 --- a/src/main/resources/assets/minecraft_armor_weapon/lang/ja_jp.json +++ b/src/main/resources/assets/minecraft_armor_weapon/lang/ja_jp.json @@ -50,6 +50,7 @@ "effect.minecraft_armor_weapon.long_range_weapon_cut": "遠距離武器斬る", "item.minecraft_armor_weapon.dragon_green_armor_boots": "§2Dragon green boots", "item.minecraft_armor_weapon.rivers_of_blood": "§4§lRivers of Blood", + "item.minecraft_armor_weapon.magicwand": "Magicwand", "entity.minecraft_armor_weapon.killotiru": "Otiruyo", "item.minecraft_armor_weapon.das_herz_einer_fee_armor_boots": "das herz einer fee armor boots", "effect.minecraft_armor_weapon.kitterukitteru": "subetekirisuteru", @@ -169,7 +170,6 @@ "item.minecraft_armor_weapon.das_herz_einer_fee_armor_leggings": "das herz einer fee armor leggings", "item.minecraft_armor_weapon.dragon_red_armor_boots": "§4Dragon red boots", "item.minecraft_armor_weapon.bubbleshot": "§9Bubbleshot", - "item.minecraft_armor_weapon.magic_wand": "Magic Wand", "effect.minecraft_armor_weapon.tunderbolteffrct": "tunderboltattack", "item.minecraft_armor_weapon.netherite_katana": "§8Netherite Katana", "block.minecraft_armor_weapon.stone_katana_block_1": "Netherite Katana Block", diff --git a/src/main/resources/assets/minecraft_armor_weapon/models/custom/magicstick.json b/src/main/resources/assets/minecraft_armor_weapon/models/custom/magicstick.json index fbfe56ed..3df3064d 100644 --- a/src/main/resources/assets/minecraft_armor_weapon/models/custom/magicstick.json +++ b/src/main/resources/assets/minecraft_armor_weapon/models/custom/magicstick.json @@ -1,675 +1,1461 @@ { "credit": "Made with Blockbench", "parent": "magicstick", - "texture_size": [ - 32, - 32 - ], "elements": [ { "from": [ 0, - -0.1, - 15.6 + -0.99681, + 19.31323 ], "to": [ - 0.8, - 15.4, - 16.4 + 0.55, + 1.00319, + 20.01323 ], "rotation": { - "angle": 0, - "axis": "y", + "angle": 22.5, + "axis": "x", "origin": [ - 3.4, - 6.4, - 10.2 + 0.4, + 9.57093, + 16.05845 ] }, "faces": { "north": { "uv": [ - 0, - 0, - 0.5, - 7.75 + 4, + 4, + 4.5, + 6 ], - "texture": "#0" + "texture": "#2" }, "east": { "uv": [ - 0.5, + 4, 0, - 1, - 7.75 + 4.75, + 2 ], - "texture": "#0" + "texture": "#2" }, "south": { "uv": [ - 1, + 5, 0, - 1.5, - 7.75 + 5.5, + 2 ], - "texture": "#0" + "texture": "#2" }, "west": { "uv": [ - 1.5, - 0, + 4, 2, - 7.75 + 4.75, + 4 ], - "texture": "#0" + "texture": "#2" }, "up": { "uv": [ - 3.5, - 2.5, - 3, - 2 + 10.5, + 0.75, + 10, + 0 ], - "texture": "#0" + "texture": "#2" }, "down": { "uv": [ - 3, - 3, - 2.5, - 3.5 + 10.5, + 1, + 10, + 1.75 ], - "texture": "#0" + "texture": "#2" } } }, { "from": [ 0, - 0.4, - 17.6 + -1.53487, + 19.50457 ], "to": [ - 0.8, - 2.9, - 18.4 + 0.55, + -1.03487, + 21.55457 ], "rotation": { "angle": 22.5, "axis": "x", "origin": [ - 3.4, - 6.4, - 10.2 + 0.4, + 10.03287, + 16.24979 ] }, "faces": { "north": { "uv": [ - 14, - 8.25, - 14.5, - 16 + 6, + 10, + 6.5, + 10.5 ], - "texture": "#0" + "texture": "#2" }, "east": { "uv": [ - 9.25, - 8.25, - 9.75, - 16 + 5, + 2, + 7, + 2.5 ], - "texture": "#0" + "texture": "#2" }, "south": { "uv": [ - 15.5, - 8.25, - 16, - 16 + 10, + 6, + 10.5, + 6.5 ], - "texture": "#0" + "texture": "#2" }, "west": { "uv": [ - 11.5, - 8.25, - 12, - 16 + 5, + 3, + 7, + 3.5 ], - "texture": "#0" + "texture": "#2" }, "up": { "uv": [ - 0.5, - 16, - 0, - 15.5 + 5.5, + 6, + 5, + 4 ], - "texture": "#0" + "texture": "#2" }, "down": { "uv": [ - 15.25, - 15.5, - 14.75, - 16 + 6.5, + 0, + 6, + 2 ], - "texture": "#0" + "texture": "#2" } } }, { "from": [ 0, - 0.4, - 17.6 + 0.14194, + 15.73346 ], "to": [ - 0.8, - 0.9, - 19.65 + 0.55, + 15.07194, + 16.43346 ], "rotation": { - "angle": 22.5, - "axis": "x", + "angle": 0, + "axis": "y", "origin": [ - 3.4, - 6.4, - 10.2 + 0.4, + 7.01352, + 16.04704 ] }, "faces": { "north": { "uv": [ - 13, - 8.25, - 13.5, - 16 + 2, + 0, + 2.5, + 14.875 ], - "texture": "#0" + "texture": "#2" }, "east": { "uv": [ - 13, - 8.25, - 13.5, - 16 + 0, + 0, + 0.75, + 14.875 ], - "texture": "#0" + "texture": "#2" }, "south": { "uv": [ - 13, - 8.25, - 13.5, - 16 + 3, + 0, + 3.5, + 14.875 ], - "texture": "#0" + "texture": "#2" }, "west": { "uv": [ - 13, - 8.25, - 13.5, - 16 + 1, + 0, + 1.75, + 14.875 ], - "texture": "#0" + "texture": "#2" }, "up": { "uv": [ - 13.5, - 15.75, - 13, - 15.25 + 10.5, + 2.75, + 10, + 2 ], - "texture": "#0" + "texture": "#2" }, "down": { "uv": [ - 13.5, - 15.5, - 13, - 16 + 10.5, + 3, + 10, + 3.75 ], - "texture": "#0" + "texture": "#2" } } }, { "from": [ - 0, - 16, - 15.6 + -0.25, + 16.05, + 15.575 ], "to": [ - 0.75, - 16.5, - 16.35 + 0.8, + 16.8, + 16.625 ], "rotation": { "angle": 0, "axis": "x", "origin": [ - 3.4, - 6.4, - 10.2 + 0.4, + 7.01352, + 16.19704 ] }, "faces": { "north": { "uv": [ - 4.5, - 3.5, - 5, - 3.75 + 7, + 4, + 8, + 4.75 ], - "texture": "#0" + "texture": "#2" }, "east": { "uv": [ - 4, - 4.5, - 4.5, - 4.75 + 6, + 7, + 7, + 7.75 ], - "texture": "#0" + "texture": "#2" }, "south": { "uv": [ - 4.5, - 4, - 5, - 4.25 + 7, + 6, + 8, + 6.75 ], - "texture": "#0" + "texture": "#2" }, "west": { "uv": [ - 4.5, - 4.5, - 5, - 4.75 + 7, + 7, + 8, + 7.75 ], - "texture": "#0" + "texture": "#2" }, "up": { "uv": [ + 5, + 7, 4, - 2.5, - 3.5, - 2 + 6 ], - "texture": "#0" + "texture": "#2" }, "down": { "uv": [ - 3, - 3.5, - 2.5, - 4 + 7, + 4, + 6, + 5 ], - "texture": "#0" + "texture": "#2" } } }, { "from": [ 0, - 16.65, - 7.9 + 12.02585, + 8.46983 ], "to": [ - 0.8, - 18.3, - 8.4 + 0.55, + 12.52585, + 10.51983 ], "rotation": { "angle": 45, "axis": "x", "origin": [ - 3.4, - 6.4, - 10.2 + 0.4, + 6.66051, + 16.55005 ] }, "faces": { "north": { "uv": [ - 6.5, - 3.5, 7, - 3.75 + 10, + 7.5, + 10.5 ], - "texture": "#0" + "texture": "#2" }, "east": { "uv": [ - 4, - 6.5, - 4.5, - 6.75 + 5, + 6, + 7, + 6.5 ], - "texture": "#0" + "texture": "#2" }, "south": { "uv": [ - 6.5, - 4, + 10, 7, - 4.25 + 10.5, + 7.5 ], - "texture": "#0" + "texture": "#2" }, "west": { "uv": [ - 4.5, - 6.5, + 6, 5, - 6.75 + 8, + 5.5 ], - "texture": "#0" + "texture": "#2" }, "up": { "uv": [ - 2.5, - 4.5, + 7.5, 2, - 4 + 7, + 0 ], - "texture": "#0" + "texture": "#2" }, "down": { "uv": [ - 4.5, + 7.5, 2, - 4, - 2.5 + 7, + 4 ], - "texture": "#0" + "texture": "#2" } } }, { "from": [ 0, - 8.15, - 20.15 + 12.20208, + 8.04283 ], "to": [ - 0.8, - 10.45, - 20.65 + 0.55, + 13.10208, + 8.54283 ], "rotation": { - "angle": -45, + "angle": 45, "axis": "x", "origin": [ - 3.4, - 6.4, - 10.2 + 0.4, + 6.83674, + 16.37382 ] }, "faces": { "north": { "uv": [ - 6.5, - 3.5, - 7, - 3.75 + 9, + 3, + 9.5, + 3.875 ], - "texture": "#0" + "texture": "#2" }, "east": { "uv": [ 4, - 6.5, + 9, 4.5, - 6.75 + 9.875 ], - "texture": "#0" + "texture": "#2" }, "south": { "uv": [ - 6.5, + 9, 4, - 7, - 4.25 + 9.5, + 4.875 ], - "texture": "#0" + "texture": "#2" }, "west": { "uv": [ - 4.5, - 6.5, 5, - 6.75 + 9, + 5.5, + 9.875 ], - "texture": "#0" + "texture": "#2" }, "up": { "uv": [ - 2.5, - 4.5, - 2, - 4 + 10.5, + 8.5, + 10, + 8 ], - "texture": "#0" + "texture": "#2" }, "down": { "uv": [ - 4.5, - 2, - 4, - 2.5 + 10.5, + 9, + 10, + 9.5 ], - "texture": "#0" + "texture": "#2" } } }, { "from": [ 0, - 16.35, - 6.15 + 12.8196, + 10.40928 ], "to": [ - 0.8, - 18.25, - 6.65 + 0.55, + 14.2196, + 10.90928 ], "rotation": { "angle": 45, "axis": "x", "origin": [ - 3.4, - 6.4, - 10.2 + 0.4, + 7.27749, + 16.39018 ] }, "faces": { "north": { "uv": [ - 6.5, - 3.5, - 7, - 3.75 + 8, + 0, + 8.5, + 1.375 ], - "texture": "#0" + "texture": "#2" }, "east": { "uv": [ - 4, - 6.5, - 4.5, - 6.75 + 8, + 2, + 8.5, + 3.375 ], - "texture": "#0" + "texture": "#2" }, "south": { "uv": [ - 6.5, + 8, 4, - 7, - 4.25 + 8.5, + 5.375 ], - "texture": "#0" + "texture": "#2" }, "west": { "uv": [ - 4.5, + 6, + 8, 6.5, - 5, - 6.75 + 9.375 ], - "texture": "#0" + "texture": "#2" }, "up": { "uv": [ - 2.5, - 4.5, - 2, - 4 + 10.5, + 10.5, + 10, + 10 ], - "texture": "#0" + "texture": "#2" }, "down": { "uv": [ - 4.5, - 2, - 4, - 2.5 + 11.5, + 0, + 11, + 0.5 ], - "texture": "#0" + "texture": "#2" } } }, { "from": [ - 0, - 18.05, - 6.15 + 0.175, + 16.75, + 16.2 ], "to": [ - 0.8, - 18.55, - 8.4 + 0.375, + 18.5, + 16.5 ], "rotation": { - "angle": 45, - "axis": "x", + "angle": 0, + "axis": "y", "origin": [ - 3.4, - 6.4, - 10.2 + -3.2, + 9.9, + 20.5 ] }, "faces": { "north": { "uv": [ - 6.5, - 3.5, - 7, - 3.75 + 9, + 5, + 9.25, + 6.75 ], - "texture": "#0" + "texture": "#2" }, "east": { "uv": [ - 4, - 6.5, - 4.5, - 6.75 + 9, + 7, + 9.25, + 8.75 ], - "texture": "#0" + "texture": "#2" }, "south": { "uv": [ - 6.5, - 4, - 7, - 4.25 + 8, + 9, + 8.25, + 10.75 ], - "texture": "#0" + "texture": "#2" }, "west": { "uv": [ - 4.5, - 6.5, - 5, - 6.75 + 9, + 9, + 9.25, + 10.75 ], - "texture": "#0" + "texture": "#2" }, "up": { "uv": [ - 2.5, - 4.5, - 2, - 4 + 10.25, + 12.25, + 10, + 12 ], - "texture": "#0" + "texture": "#2" }, "down": { "uv": [ - 4.5, - 2, - 4, - 2.5 + 12.25, + 10, + 12, + 10.25 ], - "texture": "#0" + "texture": "#2" } } - } - ], + }, + { + "from": [ + 0.075, + 16.75, + 15.7 + ], + "to": [ + 0.475, + 18.5, + 16.2 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + -3.1, + 9.9, + 19.75 + ] + }, + "faces": { + "north": { + "uv": [ + 8, + 6, + 8.375, + 7.75 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 4, + 7, + 4.5, + 8.75 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 7, + 8, + 7.375, + 9.75 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 5, + 7, + 5.5, + 8.75 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 11.375, + 7.5, + 11, + 7 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 8.375, + 11, + 8, + 11.5 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 0.175, + 18.5, + 16.05 + ], + "to": [ + 0.375, + 19.5, + 16.35 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + -3.2, + 9.9, + 20.55 + ] + }, + "faces": { + "north": { + "uv": [ + 11, + 1, + 11.25, + 2 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 11, + 2, + 11.25, + 3 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 11, + 3, + 11.25, + 4 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 4, + 11, + 4.25, + 12 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 11.25, + 12.25, + 11, + 12 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 12.25, + 11, + 12, + 11.25 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 0.075, + 18.5, + 15.55 + ], + "to": [ + 0.475, + 19.5, + 16.05 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + -3.225, + 9.9, + 19.75 + ] + }, + "faces": { + "north": { + "uv": [ + 4, + 10, + 4.375, + 11 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 8, + 8, + 8.5, + 9 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 10, + 4, + 10.375, + 5 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 9, + 0, + 9.5, + 1 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 11.375, + 8.5, + 11, + 8 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 9.375, + 11, + 9, + 11.5 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 0.175, + 19.5, + 15.85 + ], + "to": [ + 0.375, + 20.5, + 16.15 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + -3.2, + 9.9, + 20.55 + ] + }, + "faces": { + "north": { + "uv": [ + 11, + 4, + 11.25, + 5 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 5, + 11, + 5.25, + 12 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 11, + 5, + 11.25, + 6 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 6, + 11, + 6.25, + 12 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 12.25, + 12.25, + 12, + 12 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 13.25, + 0, + 13, + 0.25 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 0.075, + 19.5, + 15.35 + ], + "to": [ + 0.475, + 20.5, + 15.85 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + -3.225, + 9.9, + 19.85 + ] + }, + "faces": { + "north": { + "uv": [ + 5, + 10, + 5.375, + 11 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 9, + 1, + 9.5, + 2 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 10, + 5, + 10.375, + 6 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 9, + 2, + 9.5, + 3 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 11.375, + 9.5, + 11, + 9 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 10.375, + 11, + 10, + 11.5 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 0.175, + 21, + 15.35 + ], + "to": [ + 0.375, + 21.5, + 15.65 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + -3.2, + 10.4, + 20.3 + ] + }, + "faces": { + "north": { + "uv": [ + 4, + 12, + 4.25, + 12.5 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 12, + 4, + 12.25, + 4.5 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 5, + 12, + 5.25, + 12.5 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 12, + 5, + 12.25, + 5.5 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 13.25, + 1.25, + 13, + 1 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 13.25, + 2, + 13, + 2.25 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 0.175, + 20.5, + 15.6 + ], + "to": [ + 0.375, + 21, + 15.9 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + -3.2, + 9.4, + 20.8 + ] + }, + "faces": { + "north": { + "uv": [ + 6, + 12, + 6.25, + 12.5 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 12, + 6, + 12.25, + 6.5 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 7, + 12, + 7.25, + 12.5 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 12, + 7, + 12.25, + 7.5 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 13.25, + 3.25, + 13, + 3 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 4.25, + 13, + 4, + 13.25 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 0.175, + 21.5, + 15.1 + ], + "to": [ + 0.375, + 21.75, + 15.4 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + -3.2, + 9.9, + 20.55 + ] + }, + "faces": { + "north": { + "uv": [ + 13, + 4, + 13.25, + 4.25 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 5, + 13, + 5.25, + 13.25 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 13, + 5, + 13.25, + 5.25 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 6, + 13, + 6.25, + 13.25 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 13.25, + 6.25, + 13, + 6 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 7.25, + 13, + 7, + 13.25 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 0.075, + 20.5, + 15.1 + ], + "to": [ + 0.475, + 21, + 15.6 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + -3.225, + 9.9, + 19.85 + ] + }, + "faces": { + "north": { + "uv": [ + 11, + 10, + 11.375, + 10.5 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 11, + 6, + 11.5, + 6.5 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 11, + 11, + 11.375, + 11.5 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 7, + 11, + 7.5, + 11.5 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 12.375, + 0.5, + 12, + 0 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 12.375, + 1, + 12, + 1.5 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 0.075, + 21, + 15.1 + ], + "to": [ + 0.475, + 21.5, + 15.35 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + -3.225, + 9.9, + 19.85 + ] + }, + "faces": { + "north": { + "uv": [ + 12, + 2, + 12.375, + 2.5 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 8, + 12, + 8.25, + 12.5 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 12, + 3, + 12.375, + 3.5 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 12, + 8, + 12.25, + 8.5 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 9.375, + 12.25, + 9, + 12 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 12.375, + 9, + 12, + 9.25 + ], + "texture": "#2" + } + } + } + ], "display": { "thirdperson_righthand": { + "rotation": [ + 0, + 180, + 0 + ], "translation": [ - 7.5, - 0.75, - -7.25 + -12, + 5, + 13.75 ], "scale": [ - 1, 1.5, - 1 + 1.8, + 1.5 ] }, "thirdperson_lefthand": { + "rotation": [ + 0, + -180, + 0 + ], "translation": [ - -7.75, - 0.75, - -7.25 + 11.25, + 2, + 13.75 ], "scale": [ - 1, 1.5, - 1 + 1.8, + 1.5 ] }, "firstperson_righthand": { + "rotation": [ + 0, + -180, + 0 + ], "translation": [ - 3.25, - 4.5, - -2.25 + -4.25, + 1.75, + 6.5 ], "scale": [ - 1, - 1.2, - 1 + 1.5, + 1.8, + 1.5 ] }, "firstperson_lefthand": { + "rotation": [ + 0, + -180, + 0 + ], "translation": [ - -12.5, - 4.75, - -2 + 19, + 1.75, + 6.5 ], "scale": [ - 1, - 1.2, - 1 + 1.5, + 1.8, + 1.5 ] }, "ground": { @@ -680,12 +1466,12 @@ ], "translation": [ 7.75, - 3.5, + 12.75, 7.75 ], "scale": [ 1, - 1.5, + 1.3, 1 ] }, @@ -696,14 +1482,14 @@ 90 ], "translation": [ - -4.75, - 3.25, + -4.5, + 2.5, 1.32 ], "scale": [ - 0.8, - 1.2, - 0.7 + 0.6, + 0.9, + 0.6 ] }, "head": { @@ -715,12 +1501,12 @@ "translation": [ -10.25, -2.75, - 14.5 + 18.5 ], "scale": [ - 1, 1.5, - 1 + 1.8, + 1.5 ] }, "fixed": { @@ -730,14 +1516,14 @@ -90 ], "translation": [ - 10.75, - 4, - 9.75 + 5.75, + 4.75, + 7 ], "scale": [ - 1.3, - 1.55, - 1.3 + 0.9, + 1.2, + 0.9 ] } }, @@ -750,7 +1536,6 @@ 8 ], "color": 0, - "nbt": "{}", "children": [ { "name": "group", @@ -760,11 +1545,11 @@ 8 ], "color": 0, - "nbt": "{}", - "children": [] + "children": [ + 0, + 1 + ] }, - 0, - 1, 2, { "name": "group", @@ -774,7 +1559,6 @@ 8 ], "color": 0, - "nbt": "{}", "children": [] }, 3, @@ -786,7 +1570,6 @@ 8 ], "color": 0, - "nbt": "{}", "children": [ { "name": "group", @@ -796,12 +1579,87 @@ 8 ], "color": 0, - "nbt": "{}", "children": [ 4, 5, - 6, - 7 + 6 + ] + } + ] + }, + { + "name": "group", + "origin": [ + 8, + 8, + 8 + ], + "color": 0, + "children": [ + { + "name": "group", + "origin": [ + 3.9, + 7.4, + 12.5 + ], + "color": 0, + "children": [ + 7, + 8 + ] + }, + { + "name": "group", + "origin": [ + 8, + 8, + 8 + ], + "color": 0, + "children": [ + { + "name": "group", + "origin": [ + 3.9, + 7.4, + 12.5 + ], + "color": 0, + "children": [ + 9, + 10 + ] + }, + { + "name": "group", + "origin": [ + 3.9, + 7.4, + 12.5 + ], + "color": 0, + "children": [ + 11, + 12 + ] + }, + { + "name": "group", + "origin": [ + 3.9, + 7.4, + 12.5 + ], + "color": 0, + "children": [ + 13, + 14, + 15, + 16, + 17 + ] + } ] } ] diff --git a/src/main/resources/assets/minecraft_armor_weapon/models/item/magic_wand.json b/src/main/resources/assets/minecraft_armor_weapon/models/item/magicwand.json similarity index 73% rename from src/main/resources/assets/minecraft_armor_weapon/models/item/magic_wand.json rename to src/main/resources/assets/minecraft_armor_weapon/models/item/magicwand.json index faeed5d0..864206c7 100644 --- a/src/main/resources/assets/minecraft_armor_weapon/models/item/magic_wand.json +++ b/src/main/resources/assets/minecraft_armor_weapon/models/item/magicwand.json @@ -1,7 +1,7 @@ { "parent": "minecraft_armor_weapon:custom/magicstick", "textures": { - "0": "minecraft_armor_weapon:blocks/magicstic", + "2": "minecraft_armor_weapon:blocks/magicstic", "particle": "minecraft_armor_weapon:items/black_spesyal_arrow" } } \ No newline at end of file diff --git a/src/main/resources/assets/minecraft_armor_weapon/textures/blocks/magicstic.png b/src/main/resources/assets/minecraft_armor_weapon/textures/blocks/magicstic.png index 703c6ea8ab2860b85653b3608905a99262aedacf..cf50b954f750d3802e59d7dcf900baab783b7a1b 100644 GIT binary patch literal 1795 zcmb_dc~BE)9Nk?AAOW<>1e7B<7QqSu92F2Gs3TdD$@Ln2k660m5bC<$l`5GY3yLPC!2T95Xh&UB_Td(3|OJKp!+`|Tc& z+ZOF;zrY><0LM)mqqf6$7INCzz*liZQab?Hv~7x7vonh{S{YR2y?#zq{BFDQr4)H{ z&>YVOS0csn@V$i%fKKk);5zM2@mL;r&9Nq{SIe!xzJg?4H_SEa#8hp`1LD^f6lz#<0BPl{XDCbuT3Wv@W)jt!PbLra;4w;H3>oCOy10 zLYYY|NI;KIm6K)hIMxJndbqy$x?7{gPId;}*%@t`Yu1sO<}MmvhgF2pFBKsO^jsup77jz<^m$qI5Wp$FNnKSu9ZzDli$Us~?#h6?`x4YS zySD&HLbG8E!^zU}HMcv84Mo2RTQjJDyERQ2Gp3E-&Dz1NP|AT2yWx)VK9v&Ma>PpR zRUJk)93uzZz|4nLZG@n&;1! z5{h@3M(WhjCT|R<6cZT}$@aDkqvcecEFElHF_}nS6*b}Mcsk|w_1+i_G1D@NVF?le zeH}Pyd`inXeo^%Yd0;E0hRFK*vX1S!q6|&lvHV=UpQzfx9-q4;Q=kqgUQmbwXa*#M zz&==17ADh|N1wVGQ4$K+Jj$smB(h4lzodh=B$;LfA=%rvfE?Tg2ByA<+4Bmz;J)(V zhP15M3#Q_Alq}LXhU^*t?&icXHR$k0lmZF7Ik!?^2h0klg-L5 z{ObLzQ^=5z*avT9nS8^GTT};Ztv*ML!_P?>&~Q^Bcd;w=0zT@EqQU z$o)v{yUQGotsx*)@b)hIe$MLi9Wxt;s&Iy@N5LS(lYOe_Bo4PlyBKQDpb_i(2f7;iGi`C?!)695D6*+On&CB4^0f88M)_8#=y5Ur|9cL zXC9=yg@|vDMWkO26U!`PTlcd@nOprbflqc7@_%of``J4PxWZ^vt&&h1p@@fm;HtY(!9rQ%%-n+Bfsf|(tn;Y61M zy=`PYEHgjy&27AQp>V%%!A*-<-&AMKvt(b}nF}sp~fT8b_GUHxLP1_il#$5&T|b xpOU0V2jugIy!v-L{GXv8Z#w(oXq`9h!VikcZEIYb4gcJLP3yNsU0+Md{}bHGniBv3 literal 950 zcmV;n14;aeP)C%muI5C(?9F)Y(!493=yLESPGocJd8V4qlhRsd; z7nEqybg)*N+QGpzJsse}eV6-q7bu*kyX@(ZUYXIS0b!s_N$ zXIxZGSf(UDWDO!#LBbW46rtUjNFR*}vO$fbPLC zj~dSY-C%&M@bnrVtsF0E8+A&0DFDFf$(inXA#a`Sc+p`1cNVa&1A;C&K&aPQDISJU z26R1VR$QL<+D4s#R(4P!W5@n(>rQc7^?Wgan*jsIfFNNDdrN(lP*bJ)p2%l`Adks@ zCNm9r{(oFt^)LVky#?N_ED%fhWexMZ#Vs(}3;_IjeLC?FN888r^4)VlsS9*SMIS%Q zqL!(XS~o-~23ThSZb8Qdo4bIoZV$Wn2aH1-^T^VfUpI&9uFF~ z-RHoCaeG+yGA$ZB?--y%)+Bw`1k@?HxbW?jb&bAGj>mA%J@M)5_rCKnMC4x1g`s~L zx-W1B;1+-z&H&s3aKjmZTL5m1lA=0Ji|#i0MBj-e;I}{qGs@ Y7p|t0a@bb(+yDRo07*qoM6N<$f?v0~YybcN diff --git a/src/main/resources/assets/minecraft_armor_weapon/textures/blocks/magicsticnaginata.png b/src/main/resources/assets/minecraft_armor_weapon/textures/blocks/magicsticnaginata.png new file mode 100644 index 0000000000000000000000000000000000000000..cadfbfbabf09cff2823fa74fe3444a932e4ba140 GIT binary patch literal 2015 zcmaJ?eK^y58~@H?!@N|Aw#nppIr0{HDa?!xQjDaW#5}2y$%x474^fnG9wi|=&heJQ z$?G)Q>UgMWl0=k|)kK@+{cSuue?9*_*LC0b=fBT=U7yc=eeNuhhl`Q|S^)r{`M#@R&3w#hq3b4!GE<{kr#eM?-QRL?A=o42WEVZX%kElVsQm#6$3m^1h_%1cW z^|W)g>rLX3bOY4cDUzD(Hch3YJ1cJZPZ8dtWM_P&1c{9|HG(yOEC?eL&V{qCRyN^U#mQG@0D zF6uUNd=yr$c{dR6fCR;T0Q|G7i18tR>__l?D7(W@dAH0P(J?jvzp??{LRJz`*zWFh zCBgm=!C!kynnZ>2iZEcgf-0Jd&XgnHms^QR`ePw^mn;T0o{e58V)%vRS_X#Zo{`jP z2LNKiqoTtrCn0}$lkJH^DNn_-~nzC5Wj>FxFv}n)c(pWrbT>t(xO?5VD)&bfZdI0 zT(`&@Z-^I4TTSb-ocVx6|_`jwvv~yhpSPOg`uyB2AXmGw* zv^1fLFoW$EM42dyqY$1BFX~}Z=Z<+2D_RrX?4fQ~dqP)Ddk)J3%!zm^U?FT{Eoj3u zpO@06ws>tmd27u&5K*-|*PHD&v-)`KQ24T$1Fy)2uwSD=*+Bj!vs}vNYf{$9n~{mG z9KIwnQp6My4YZYU`2?qTU%g^(Lt)Mb31c5ju}aJ*uwU3qsBR4f!rj!AJ#baE3E`xP z_o^;kjx->#NP6~gJFPj|t`Rde^S#gpT>hM#SaROT1A>IJ-K-^9^7>Y3799DFRwqxe zB-j>w8K}r^q|Pqo8>QECG@cyNA}3I0ZIm_)KgKRiSFfRSCzwhEd#KVjvw9L_i~xMR zyoOcZ^3Q1>W%63M>uASb^YufDjzMVFNenBNgu&T0#$=K=TK!h#IYZs(`S&ZjOo!*w zBc(xlvm8%{zK*@umz9i62h-b*KiQm8fk=`R<^`yIFWpS%&7iLIz-Fm>^~jQCnPXn9 zskDr<_N*mtKpo^MRjLl@tDn05$`y_4gYGLQ!;(ASUoc}JWy}{;YS-(1u&nd`uLZ^4 zS22LI8tCv|HFR^M+K+Hb902!OHGz!s!l1!s+x)HWq2A)!)^suG8tqSlA$i)uds>~# zf>ZgkxzDcZ40S*)l0=j*8duY_CXIkF#6d^L3V;3GTvk?wMaDuEwZ{_LXN=pq)SqPe zj{2Mk-i=qu2HPMm04Rxb_C8(x?)+XUh7x1hk)OkP}tGVzyW0P_?`Lg(A!%IC%--G70O)qVAFlsmUri}lXnrD6u z(&4)k{K)CH53{WvBj|YjhB-7icj1z+VVc43547(UI%?K5=2)W%r&hy8IpZjX9BX6B zXnE}$E6v@VGA3hI&9TmLx;BfU+r%`@p$V@qW|`|b)xln+)y7xh!-lWI=wo|Dhq;Qt zvN94}G>m{F;|=R!ZGD7`J+k1$?@#_Sn&A)T_%r_=IpE-5I$vcFU*+i)2@E4}g-WCd zadd^5M_<{sfqDI!r|jQ)(e$y9=RUQ{pB#58Z|%1VpFW57ok+ssIP#j6yKGbJB@{lT zR+$0F`qAVOn8l9pS4?itqeo1Cu$V=~=bhyA-c_3`qJ~yj1N#o! zI^9kg_eM&1X^|T`+8Pku+=xxUhn3*MjjinkxodcU>IV;`8k$uP#SNV3Y!jd}(FAqb zM?@6CwX*W!NCBv>4fJ_%rg;d{f0Q1VuraGJ(2s{jB1 literal 0 HcmV?d00001