This commit is contained in:
HuTao今天吃什么
2022-09-02 12:01:40 +08:00
parent a754faba04
commit 7fae3b041d
48 changed files with 781 additions and 110 deletions

View File

@@ -17,8 +17,8 @@ a11e55f651479912f38def68d408d3365bff4e6b assets/extrabotany/blockstates/moonligh
71832b8c18734652952bc3152cacd3f314ca391f assets/extrabotany/blockstates/reikar_orchid.json
5b4b6c301ff57c7d4006e79654cac0e1e68cbe60 assets/extrabotany/blockstates/serenitian.json
31853f21bb80a913ba27e5053a843459b3d7d37d assets/extrabotany/blockstates/sunshine_lily.json
dbad58706db2f04214a0a4170030e0661339df3e assets/extrabotany/lang/en_us.json
122649a0834b0bc32d460999f96d86d2845f68cf assets/extrabotany/lang/zh_cn.json
3c7a701a05bc6cc659b112701710149c7a95edc8 assets/extrabotany/lang/en_us.json
96dda78595c3676fb0a1c290fbd067f3467ae907 assets/extrabotany/lang/zh_cn.json
477b72a89fa3546590428dd7d8d4528c711a98dc assets/extrabotany/models/block/annoying_flower.json
2f2803ccc1532c712c13241790c9ec65fb61a97d assets/extrabotany/models/block/bell_flower.json
2cc688d6536ea214d2c83c83c2cf9be55b342b23 assets/extrabotany/models/block/bloody_enchantress.json
@@ -45,7 +45,7 @@ c1df0e3dd8ccbce630506090246e788d4c075b28 assets/extrabotany/models/item/annoying
ce9d0b57aaff584121eef5c525771e936da6bc40 assets/extrabotany/models/item/aqua_stone.json
6ec8d3ee74f27f7798f3c7ebc247f31b5679c237 assets/extrabotany/models/item/bell_flower.json
5c09997da2ae1895c76bd06cdd303b1e621383f7 assets/extrabotany/models/item/black_glasses.json
88ab6d02fa2b8181cfaa0dfc7e397a3342b13b68 assets/extrabotany/models/item/bloody_enchantress.json
0abc9325d35dc2fa3014f999f6969465e15346dc assets/extrabotany/models/item/bloody_enchantress.json
2dd605a4de62ae8913a9b2f6068d990030e59f42 assets/extrabotany/models/item/buddhistrelics.json
a3932fb43699db3c559fe188226cdf95a9865985 assets/extrabotany/models/item/camera.json
ce34bd59d98fc44ca30510717f132709e94e750e assets/extrabotany/models/item/cock_tail.json
@@ -150,11 +150,11 @@ d8de18119b36e72cfdbad5cb28e00751b52582ad assets/extrabotany/models/item/treasure
571aaac43e08a389314b216d5e371ee532411829 assets/extrabotany/models/item/true_terra_blade.json
fc34ebbfdef507b53d88ff6d99454b1bb7cdef10 assets/extrabotany/models/item/true_thunstar_caller.json
c9ff3b120bf0d1145a5f6e82846b8f449c734da9 data/botania/tags/blocks/functional_special_flowers.json
e3b3cff6e34b9c9d2ae8b18261ba4ea72e2b4007 data/botania/tags/blocks/generating_special_flowers.json
f0157bda3705240824d3b807a76fa09fe83499e6 data/botania/tags/blocks/generating_special_flowers.json
fc32ee5b6f74887b80eb238fb12bf3b95291d246 data/botania/tags/blocks/special_floating_flowers.json
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/botania/tags/items/floating_flowers.json
c9ff3b120bf0d1145a5f6e82846b8f449c734da9 data/botania/tags/items/functional_special_flowers.json
e3b3cff6e34b9c9d2ae8b18261ba4ea72e2b4007 data/botania/tags/items/generating_special_flowers.json
f0157bda3705240824d3b807a76fa09fe83499e6 data/botania/tags/items/generating_special_flowers.json
fdd7219319bd75a5c113c12c6ca07dace05ce9a4 data/botania/tags/items/lens.json
9191360e9e14f79f88c74632fd0bd22cc50a3310 data/botania/tags/items/mana_using_items.json
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/botania/tags/items/mini_flowers.json
@@ -188,10 +188,11 @@ c05a4941c251c61c47b5f4e9199662d26a766db5 data/curios/tags/items/head.json
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/curios/tags/items/necklace.json
1dced9f92035c5e036e75bfcbbf0f8743338271b data/curios/tags/items/ring.json
0afcffb15b0ea9d299aaf2fee2b3f3301407f7d8 data/extrabotany/advancements/main/armorsetgoblinslayer.json
991cd28fb62d9074e0e1baac88d12a439027b7ff data/extrabotany/advancements/main/armorsetmaid.json
0cbd5273475cd63e65a61d677335f745fca65277 data/extrabotany/advancements/main/armorsetmaid.json
b9655568cc0e5577eb750a388cde5deceae25d30 data/extrabotany/advancements/main/armorsetmiku.json
25bdc7155b1544be0c4c47dcc70b22ec92f9b6a0 data/extrabotany/advancements/main/armorsetshadowwarrior.json
1754f1a6c8c432398ec510681cf7e8e930ef7f0e data/extrabotany/advancements/main/armorsetshootingguardian.json
aedc89469dc988d0230eeac46997a42c741ac7c0 data/extrabotany/advancements/main/armorsetshootingguardian.json
7611012e82c79b6db9b8c121a056dfdd87b9e881 data/extrabotany/advancements/main/bloody_enchantress_use.json
f7ee3d141d85b46705c55778c073a361f2551498 data/extrabotany/advancements/main/ego_defeat.json
37d7c4a4d7f661ae7375addf0cf32fe5c0a4a226 data/extrabotany/advancements/main/ego_defeat_lexicon.json
da09871465f19a8b2695301783bbc8439fea073f data/extrabotany/advancements/main/excaliber_craft.json
@@ -200,7 +201,7 @@ b33275d3480530b74fcbd5311ba2f2523ffaf48a data/extrabotany/advancements/main/fail
22f3d5cca821d7be60f59a12df9d146f7be38fe4 data/extrabotany/advancements/main/manareader_craft.json
d0dfd6fdf0ec644c504f5eaae1e17ee1e7e9b653 data/extrabotany/advancements/main/nightmarefuel_eat.json
1ddcda1fa682beef150fde99d201e52a0931cfb8 data/extrabotany/advancements/main/nightmarefuel_eat_lexicon.json
a66f9142e33a95a7c0177ff595adc42d49ec4935 data/extrabotany/advancements/main/rodofdiscord_craft.json
d39d9706e0428610407c02df9724445b5640134b data/extrabotany/advancements/main/rodofdiscord_craft.json
3627f208aefa732ff333b64a8ceb982b2e00a137 data/extrabotany/advancements/main/root.json
917842dcac43ac171debbf50b963c29a3978d69b data/extrabotany/advancements/main/spiritfragment_craft.json
810e157e41b49c008271774aa4356e99fe4f0c3f data/extrabotany/advancements/main/the_universe_craft.json
@@ -256,7 +257,7 @@ dbf40d12a66f31de36e06310e706fce4e0af36d5 data/extrabotany/recipes/runic_altar/po
ed07f4335d47b36c3f27e1117958956dc96978de data/extrabotany/recipes/runic_altar/shadowium2.json
1463595a483f0bdcdcb1df667003e6fa9b5b6cb0 data/extrabotany/recipes/terra_plate/aerialite.json
270f1553c4941f8ff091f3b4eb41cdc69c493ee5 data/extrabotany/recipes/terra_plate/the_universe.json
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/extrabotany/tags/items/coral_item.json
4a2d4c4f4a21dafe9aee23e046f5790457983c75 data/extrabotany/tags/items/coral_item.json
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/forge/tags/blocks/ores.json
aaf63aeec7e24f4d7f9df595ee69c3892dbdc96a data/forge/tags/items/ingots.json
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/forge/tags/items/ores.json
@@ -271,7 +272,9 @@ f9e327aee09b26510876ea273075f9b8aea34cb3 data/minecraft/advancements/recipes/ext
22defd34df0da7cfed69953db906a91a487043e3 data/minecraft/advancements/recipes/extrabotany/crystal_to_gem7.json
d024086e06f60af0959db77122a5a0595ceb380e data/minecraft/advancements/recipes/extrabotany/crystal_to_gem8.json
f1c5d67a0326087f1fe5a0472cd6d143645df229 data/minecraft/advancements/recipes/extrabotany/dimension_catalyst.json
2029aec6fc66b91f7ce3604b25f380c0ad690ff4 data/minecraft/advancements/recipes/extrabotany/dirt_shield.json
d6f0804c4c8be25385949cccd6000f742e5084fe data/minecraft/advancements/recipes/extrabotany/element_rune.json
3d66248666521092df22c17e48aec6cc0940b320 data/minecraft/advancements/recipes/extrabotany/elementium_shield.json
44f95cda70a0691d34260eb40725007ea4c853e0 data/minecraft/advancements/recipes/extrabotany/empty_bottle.json
9ee8c6e7f950bf73c01cedbb1acc747ddbdbc7ed data/minecraft/advancements/recipes/extrabotany/excaliber.json
6237df80cb1eeed976d611eb2967d6452e73ab37 data/minecraft/advancements/recipes/extrabotany/failnaught.json
@@ -294,6 +297,7 @@ d293227e4d5bec3edce7bc027459405ac3f43208 data/minecraft/advancements/recipes/ext
30674de8dc1f5bd1a1d709c73dee1c24664f9b2b data/minecraft/advancements/recipes/extrabotany/maid_helm.json
116c136a114407d535a53aab6903beaf4141e1e6 data/minecraft/advancements/recipes/extrabotany/maid_legs.json
2c9e0ab25e39b560726617f087a3bfc680f829e9 data/minecraft/advancements/recipes/extrabotany/manareader.json
393fbc10d8537cee244eda7fd12193e76fc91471 data/minecraft/advancements/recipes/extrabotany/manasteel_shield.json
f0bfb0cc8d2af424b4d3e39faf8acdb6ad04b772 data/minecraft/advancements/recipes/extrabotany/miku_boots.json
4f73a251aa74220a38ba6065abf1a76dbd4a894c data/minecraft/advancements/recipes/extrabotany/miku_chest.json
fcbeac0a85a7ed615b36af11bf8d1781dff138ec data/minecraft/advancements/recipes/extrabotany/miku_helm.json
@@ -327,6 +331,7 @@ fb54559631dbc7df934b9bfac6841f835869ac52 data/minecraft/recipes/crystal_to_gem5.
b7320be8716e43bb60137062ec824466c2350825 data/minecraft/recipes/crystal_to_gem7.json
6acd7424163ae1844dc120a6e6001818a6d1210f data/minecraft/recipes/crystal_to_gem8.json
6dc7a01f0a727cdfde18b27c54a96ef6e0a0417f data/minecraft/recipes/dimension_catalyst.json
8a47943f1ba883cb8f80e8926ff1bd3cc8e5f4de data/minecraft/recipes/dirt_shield.json
190d22c8677b27ad444b1e4718a9a958a57f3e08 data/minecraft/recipes/dynamic/cocktail_upgrade_craft.json
9684c6106a4b0d9e423b9a2805a4aec7725698b7 data/minecraft/recipes/dynamic/gold_cloth_craft.json
36cb5e884a390d64881e0ed16d1f162a5036294e data/minecraft/recipes/dynamic/grenade_bind_craft.json
@@ -334,8 +339,9 @@ b7320be8716e43bb60137062ec824466c2350825 data/minecraft/recipes/crystal_to_gem7.
4b397197cdfc3e8ef1c555b7eedf966b3383d73a data/minecraft/recipes/dynamic/primo_gem_buy_fate_craft.json
8f1543545e589bbaaf4dee3c2a5f0a6c82c09d10 data/minecraft/recipes/dynamic/rune_dupe_craft.json
d16b5c792f62d91e057ede5289539079e3fdf879 data/minecraft/recipes/element_rune.json
c3b9803e99cb4ec90b51ebfc57f24a8a36121c47 data/minecraft/recipes/elementium_shield.json
77bd5e9610aed87b193edf2eea2e39ac81a2a790 data/minecraft/recipes/empty_bottle.json
7b2ff512f6a945a9c100ecddf77a09f5523aea9a data/minecraft/recipes/excaliber.json
243d7f22ee05b1fef5b5c8c3dff9c252b4ed9514 data/minecraft/recipes/excaliber.json
68fb0c3c58ed0dd43704ef85aaf1b6f16b5594e3 data/minecraft/recipes/failnaught.json
1aa463d9998c957244d7307f601b31a1e2657e9e data/minecraft/recipes/foxear.json
70b857ce94832c5de635619ef14edb1e81d8cdcf data/minecraft/recipes/gildedmashedpotato.json
@@ -356,6 +362,7 @@ b50087c69da693bbe95e1b4e766b7446abceff71 data/minecraft/recipes/len_smelt.json
70f307801fcc603da13adc7958663976b769b709 data/minecraft/recipes/maid_helm.json
98efb2e366a4e9f0f57559f7cfff0f74ee9be2f3 data/minecraft/recipes/maid_legs.json
a8e2860e88e38e1b4a6fe99487ad539c691c1511 data/minecraft/recipes/manareader.json
0b0f4c483c030709437ff5cff60ca8c5cc5f6acc data/minecraft/recipes/manasteel_shield.json
04b2076eeaad85191a7fb029131ee201b4d4f230 data/minecraft/recipes/miku_boots.json
8f4cd1dd88648b89be9a7d86657da308bb5d92be data/minecraft/recipes/miku_chest.json
b985f2b9fc14036f65b21bd0dea87fc33387de3a data/minecraft/recipes/miku_helm.json

View File

@@ -9,6 +9,8 @@
"advancement.extrabotany:armorsetshadowwarrior.title": "Crazy \u221E nighT",
"advancement.extrabotany:armorsetshootingguardian.desc": "Equip Shooting Guardian Armor Set",
"advancement.extrabotany:armorsetshootingguardian.title": "CONNECT",
"advancement.extrabotany:bloody_enchantress_use.desc": "Use a Bloody Enchantress to generate mana",
"advancement.extrabotany:bloody_enchantress_use.title": "Sweet Devil",
"advancement.extrabotany:ego_defeat.desc": "Defeat Ego",
"advancement.extrabotany:ego_defeat.title": "KiLLER LADY",
"advancement.extrabotany:excaliber_craft.desc": "Craft First Fractal",
@@ -41,9 +43,12 @@
"block.extrabotany.annoying_flower.reference": "Time to rest",
"block.extrabotany.bell_flower": "Bell Flower",
"block.extrabotany.bell_flower.reference": "Lost wind",
"block.extrabotany.bloody_enchantress": "Bloody Enchantress",
"block.extrabotany.bloody_enchantress.reference": "A bargain forged in blood and shadow",
"block.extrabotany.dimension_catalyst": "Dimension Catalyst",
"block.extrabotany.floating_annoying_flower": "Floating Annoying Flower",
"block.extrabotany.floating_bell_flower": "Floating Bell Flower",
"block.extrabotany.floating_bloody_enchantress": "Floating Bloody Enchantress",
"block.extrabotany.floating_gemini_orchid": "Floating Gemini Orchid",
"block.extrabotany.floating_moonlight_lily": "Floating Moonlight Lily",
"block.extrabotany.floating_omni_violet": "Floating Omniviolet",
@@ -101,11 +106,12 @@
"extrabotany.brew.floating": "Floating",
"extrabotany.brew.revolution": "Revolution",
"extrabotany.brew.shell": "Shell",
"extrabotany.category.extrabotany": "Extra Botania",
"extrabotany.category.extrabotany": "Extra Knowledge",
"extrabotany.entry.advancedmaterial": "Advanced Form",
"extrabotany.entry.aerialite": "Aerialite",
"extrabotany.entry.annoying_flower": "Annoying Flower",
"extrabotany.entry.bell_flower": "Bell Flower",
"extrabotany.entry.bloodyenchantress": "Bloody Enchantress",
"extrabotany.entry.brew": "New types of brew",
"extrabotany.entry.buddhistrelics": "Origin Creation - Omniscience",
"extrabotany.entry.deathring": "Death Ring",
@@ -125,6 +131,7 @@
"extrabotany.entry.life_essence": "Gaia Spirit Materials",
"extrabotany.entry.livingwood_crossbow": "Livingwood Crossbow",
"extrabotany.entry.manareader": "Mana Reader",
"extrabotany.entry.manasteel_shield": "Mana Shield",
"extrabotany.entry.miku": "Starry Idol Armor Set",
"extrabotany.entry.moonlight_lily": "Moonlight Lily",
"extrabotany.entry.nightmarefuel": "Nightmare Fuel",
@@ -162,6 +169,9 @@
"extrabotany.page.annoying_flower3": "Neither an angel or a devil.",
"extrabotany.page.bell_flower0": "When placed in a high and open place, the $(item)Bell Flower$(0) creates $(thing)Mana$(0) from wind. The higher it is, the more mana it produces, which is capped at y=319. Blocks and other $(item)Bell Flower$(0) will decrease the mana output. A Livingrock Pedestal nearby with a Nature Orb in it can increase its mana generation efficiency. Please note that it will decay after working for 3 days in minecraft.",
"extrabotany.page.bell_flower1": "Only the storms can knock down the trees.",
"extrabotany.page.bloodyenchantress0": "The $(item)Bloody Enchantress$(0) creates $(thing)Mana$(0) by consuming nearby creatures' life. Creatures sacrificed to the Bloody Enchantress will not produce any drops or experience.",
"extrabotany.page.bloodyenchantress1": "Every bite will add a effect called Blood Temptation and overlay with higher amplifier one, the mana production will decrease according to the level of Blood Temptation, and the flower will stop working if the total level of Blood Temptation of all the creatures nearby is over a threshold.",
"extrabotany.page.bloodyenchantress2": "The only cure is death.",
"extrabotany.page.brew0": "Hold an Empty Mana Glass Bottle and right-click a Mana Pool with enough mana, and you will acquire a tasty drink.",
"extrabotany.page.brew1": "",
"extrabotany.page.brew2": "By crafting any flask potion with a Mana Cocktail , you can make a Special-made Cocktail that can be drinked two more times than the original flask and it has a longer effect.",
@@ -234,6 +244,10 @@
"extrabotany.page.livingwood_crossbow1": "Does it shoot airplanes?",
"extrabotany.page.manareader0": "By right clicking a Mana Pool with a Mana Reader in your main-hand, you can check out how much mana it has. Not very accurate for small figures.",
"extrabotany.page.manareader1": "Lemme check it!",
"extrabotany.page.manasteel_shield0": "Wooden Shield is too easy to damage. Using $(item)Mana Steel$(0) to replace $(item)Iron$(0) may be better.",
"extrabotany.page.manasteel_shield1": "Circling the square.",
"extrabotany.page.manasteel_shield2": "Adding $(item)Dirt(0) to the crafting materials will make the shield more compatible with the ground. Right-clicking at the ground will quickly create a wall of $(item)Dirt$(0). However, this makes the shield less durable and lose its original defensive ability.",
"extrabotany.page.manasteel_shield3": "Is it strong enough?",
"extrabotany.page.miku0": "An improved version of Manasteel Armor,it gives the wearer a high mana discount.",
"extrabotany.page.miku1": "Starry Idol Headgear",
"extrabotany.page.miku2": "Starry Idol Suit",
@@ -301,6 +315,7 @@
"item.extrabotany.death_ring": "Curse Ring",
"item.extrabotany.earth_stone": "Earth Stone",
"item.extrabotany.element_rune": "Rune of Element",
"item.extrabotany.elementium_shield": "Elementium Shield",
"item.extrabotany.empty_bottle": "Empty Mana Glass Bottle",
"item.extrabotany.first_fractal": "First Fractal",
"item.extrabotany.fox_ear": "Fox Ear",
@@ -338,6 +353,7 @@
"item.extrabotany.maid_legs": "Pleiades Combat Maid Skirt",
"item.extrabotany.mana_drink": "Mana Cocktail",
"item.extrabotany.mana_reader": "Mana Reader",
"item.extrabotany.manasteel_shield": "Mana Steel Shield",
"item.extrabotany.miku_boots": "Starry Idol Boots",
"item.extrabotany.miku_chest": "Starry Idol Suit",
"item.extrabotany.miku_helm": "Starry Idol Headgear",

View File

@@ -9,6 +9,8 @@
"advancement.extrabotany:armorsetshadowwarrior.title": "Crazy \u221E nighT",
"advancement.extrabotany:armorsetshootingguardian.desc": "\u88C5\u5907\u4E00\u5957\u94F6\u7FFC\u62A4\u536B",
"advancement.extrabotany:armorsetshootingguardian.title": "CONNECT",
"advancement.extrabotany:bloody_enchantress_use.desc": "\u5C06\u81EA\u5DF1\u6C90\u6D74\u5728\u8840\u6D77\u4E2D",
"advancement.extrabotany:bloody_enchantress_use.title": "Sweet Devil",
"advancement.extrabotany:ego_defeat.desc": "\u51FB\u8D25\u672C\u6211",
"advancement.extrabotany:ego_defeat.title": "KiLLER LADY",
"advancement.extrabotany:excaliber_craft.desc": "\u5408\u6210\u738B\u8005\u5723\u5251",
@@ -41,9 +43,12 @@
"block.extrabotany.annoying_flower.reference": "\u6478\u4E86",
"block.extrabotany.bell_flower": "\u98CE\u94C3\u8349",
"block.extrabotany.bell_flower.reference": "\u8FF7\u5931\u7684\u98CE",
"block.extrabotany.bloody_enchantress": "\u9C9C\u8840\u5996\u59EC",
"block.extrabotany.bloody_enchantress.reference": "\u7528\u9C9C\u8840\u548C\u6697\u5F71\u7F14\u7ED3\u5951\u7EA6\u5427",
"block.extrabotany.dimension_catalyst": "\u6B21\u5143\u50AC\u5316\u5242",
"block.extrabotany.floating_annoying_flower": "\u6D6E\u7A7A\u795E\u70E6\u82B1",
"block.extrabotany.floating_bell_flower": "\u6D6E\u7A7A\u98CE\u94C3\u8349",
"block.extrabotany.floating_bloody_enchantress": "\u6D6E\u7A7A\u9C9C\u8840\u5996\u59EC",
"block.extrabotany.floating_gemini_orchid": "\u6D6E\u7A7A\u53CC\u5B50\u5170",
"block.extrabotany.floating_moonlight_lily": "\u6D6E\u7A7A\u6708\u5149\u767E\u5408",
"block.extrabotany.floating_omni_violet": "\u6D6E\u7A7A\u5168\u77E5\u747E",
@@ -107,6 +112,7 @@
"extrabotany.entry.aerialite": "\u5929\u7A7A\u952D",
"extrabotany.entry.annoying_flower": "\u795E\u70E6\u82B1",
"extrabotany.entry.bell_flower": "\u98CE\u94C3\u8349",
"extrabotany.entry.bloodyenchantress": "\u9C9C\u8840\u5996\u59EC",
"extrabotany.entry.brew": "\u5168\u65B0\u917F\u9020\u7C7B\u578B",
"extrabotany.entry.buddhistrelics": "\u6E90\u521D\u9020\u7269\u4E28\u865A\u7A7A\u4E07\u85CF",
"extrabotany.entry.deathring": "\u8BC5\u5492\u6307\u73AF",
@@ -126,6 +132,7 @@
"extrabotany.entry.life_essence": "\u76D6\u4E9A\u4E4B\u9B42\u6750\u6599",
"extrabotany.entry.livingwood_crossbow": "\u6D3B\u6728\u5F29",
"extrabotany.entry.manareader": "\u9B54\u529B\u8BFB\u53D6\u5668",
"extrabotany.entry.manasteel_shield": "\u9B54\u529B\u76FE\u724C",
"extrabotany.entry.mastermanaring": "\u5927\u5E08\u9B54\u529B\u4E4B\u6212",
"extrabotany.entry.miku": "\u661F\u7A7A\u6B4C\u59EC\u5957",
"extrabotany.entry.moonlight_lily": "\u6708\u5149\u767E\u5408",
@@ -164,6 +171,9 @@
"extrabotany.page.annoying_flower3": "\u6BD5\u7ADF\u6211\u4E5F\u4E0D\u662F\u4EC0\u4E48\u6076\u9B54\u3002",
"extrabotany.page.bell_flower0": "$(item)\u98CE\u94C3\u8349$(0)\u80FD\u5C06\u98CE\u80FD\u8F6C\u5316\u4E3A$(thing)\u9B54\u529B$(0)\uFF0C\u9700\u8981\u6446\u653E\u5728\u9732\u5929\u7684\u9AD8\u5904\uFF0C\u6D77\u62D4\u8D8A\u9AD8\u6548\u7387\u8D8A\u9AD8\uFF0C\u76F4\u5230y=319\u3002\u5468\u56F4\u7684\u65B9\u5757\u6216\u8005$(item)\u98CE\u94C3\u8349$(0)\u4F1A\u964D\u4F4E$(item)\u98CE\u94C3\u8349$(0)\u7684\u6548\u7387\u3002\u4F1A\u57283\u4E2Aminecraft\u65E5\u540E\u67AF\u840E\u3002",
"extrabotany.page.bell_flower1": "\u53EA\u6709\u98CE\u66B4\u624D\u80FD\u51FB\u5012\u5927\u6811\u3002",
"extrabotany.page.bloodyenchantress0": "$(item)\u9C9C\u8840\u5996\u59EC$(0)\u80FD\u591F\u5C06\u751F\u7269\u7684\u751F\u547D\u503C\u8F6C\u5316\u4E3A$(thing)\u9B54\u529B$(0)\uFF0C\u4E00\u65E6\u6709\u751F\u7269\u5728\u5176\u9644\u8FD1\u5C31\u4F1A\u5F00\u59CB$(thing)\u9B54\u529B$(0)\u7684\u8F6C\u5316\uFF0C\u6548\u7387\u8F83\u4E3A\u53EF\u89C2\u3002\u9700\u8981\u6CE8\u610F\u7684\u662F\u901A\u8FC7\u8FD9\u79CD\u65B9\u5F0F\u732E\u796D\u7684\u751F\u7269\u4E0D\u4F1A\u6709\u4EFB\u4F55\u6389\u843D\u3002",
"extrabotany.page.bloodyenchantress1": "\u6BCF\u6B21\u566C\u54AC\u90FD\u4F1A\u7ED9\u5BF9\u65B9\u6DFB\u52A0\u8840\u4E4B\u8BF1\u60D1\u6548\u679C\u5E76\u4E0D\u65AD\u53E0\u52A0\uFF0C\u6BCF\u5C42\u6548\u679C\u90FD\u4F1A\u964D\u4F4E\u82B1\u7684\u4EA7\u9B54\uFF0C\u5E76\u4E14\u5468\u56F4\u751F\u7269\u8840\u4E4B\u8BF1\u60D1\u6548\u679C\u7B49\u7EA7\u603B\u548C\u8D85\u8FC7\u4E00\u5B9A\u503C\u65F6\u4F1A\u505C\u6B62\u5DE5\u4F5C\u3002",
"extrabotany.page.bloodyenchantress2": "\u6B7B\u4EA1\u662F\u552F\u4E00\u7684\u89E3\u836F\u3002",
"extrabotany.page.brew0": "\u62FF\u7740\u9B54\u6CD5\u73BB\u7483\u7A7A\u74F6\u5BF9\u7740\u9B54\u529B\u6C60\u53F3\u952E\u53EF\u4EE5\u83B7\u5F97\u9B54\u529B\u9E21\u5C3E\u9152\uFF0C\u996E\u7528\u9B54\u529B\u9E21\u5C3E\u9152\u53EF\u4EE5\u83B7\u5F97\u591A\u79CD\u6B63\u9762buff\u3002",
"extrabotany.page.brew1": "",
"extrabotany.page.brew2": "\u6BD4\u8D77\u666E\u901A\u7684\u917F\u9020\u80FD\u591F\u591A\u996E\u7528\u4E24\u6B21\uFF0C\u5E76\u4E14\u836F\u6C34\u7684\u6301\u7EED\u65F6\u95F4\u4E5F\u8981\u6765\u5F97\u66F4\u957F\u3002\u53EA\u9700\u8981\u5C06\u88C5\u6709\u6240\u9700\u917F\u9020\u7684\u70E7\u74F6\u548C\u9B54\u529B\u9E21\u5C3E\u9152\u5408\u6210\u5373\u53EF\u5F97\u5230\u5BF9\u5E94\u7684\u79D8\u5236\u9E21\u5C3E\u9152\u3002 ",
@@ -236,6 +246,10 @@
"extrabotany.page.livingwood_crossbow1": "\u5B83\u80FD\u628A\u98DE\u673A\u6253\u4E0B\u6765\u4E48\uFF1F",
"extrabotany.page.manareader0": "\u624B\u6301\u9B54\u529B\u8BFB\u53D6\u5668\u53F3\u952E\u4E00\u4E2A\u9B54\u529B\u6C60\uFF0C\u53EF\u4EE5\u67E5\u770B\u5176\u4E2D\u542B\u6709\u591A\u5C11mana\u3002\u5BF9\u4E8E\u6BD4\u8F83\u5C0F\u7684\u6570\u5B57\u4E0D\u662F\u5F88\u51C6\u786E\u3002",
"extrabotany.page.manareader1": "\u8BA9\u6211\u770B\u770B\uFF01",
"extrabotany.page.manasteel_shield0": "\u666E\u901A\u7684\u76FE\u724C\u5B9E\u5728\u662F\u592A\u5BB9\u6613\u635F\u574F\u4E86\u3002\u4F7F\u7528$(item)\u9B54\u529B\u94A2\u952D$(0)\u4EE3\u66FF$(item)\u94C1\u952D$(0)\u53EF\u80FD\u4F1A\u66F4\u597D\u4E00\u4E9B\u3002",
"extrabotany.page.manasteel_shield1": "\u5316\u65B9\u4E3A\u5706\u3002",
"extrabotany.page.manasteel_shield2": "\u5728\u5236\u4F5C\u6750\u6599\u4E2D\u52A0\u5165$(item)\u6CE5\u571F(0)\u4F1A\u8BA9\u76FE\u724C\u548C\u5927\u5730\u7684\u4EB2\u548C\u80FD\u529B\u66F4\u5F3A\uFF0C\u53F3\u51FB\u5730\u9762\u53EF\u4EE5\u8FC5\u901F\u521B\u5EFA\u4E00\u5835\u571F\u5899\u3002\u4E0D\u5E78\u7684\u662F\uFF0C\u8FD9\u8BA9\u76FE\u724C\u7684\u8010\u4E45\u663E\u8457\u964D\u4F4E\u4E86\uFF0C\u5E76\u4E14\u5931\u53BB\u4E86\u666E\u901A\u7684\u9632\u5FA1\u80FD\u529B\u3002",
"extrabotany.page.manasteel_shield3": "\u5B83\u4F1A\u6389\u6E23\u5417\u3002",
"extrabotany.page.mastermanaring0": "$(item)\u5927\u5E08\u9B54\u529B\u4E4B\u6212$(0)\u80FD\u591F\u50A8\u5B58\u8FD1\u4E4E\u65E0\u9650\u7684\u9B54\u529B\u3002",
"extrabotany.page.mastermanaring1": "\u86CB\u7CD5\u662F\u4E2A\u8C0E\u8A00\u3002",
"extrabotany.page.miku0": "\u9B54\u94A2\u5957\u7684\u6539\u8FDB\u7248\uFF0C\u62E5\u6709\u7740\u6781\u5F3A\u7684\u9B54\u529B\u4EB2\u548C\u529B\uFF0C\u53EF\u4EE5\u8BA9\u88C5\u5907\u8005\u5927\u5E45\u51CF\u5C11\u5176\u9B54\u529B\u6D88\u8017\u3002",
@@ -304,6 +318,7 @@
"item.extrabotany.death_ring": "\u8BC5\u5492\u6307\u73AF",
"item.extrabotany.earth_stone": "\u5730\u4E4B\u7B26\u77F3",
"item.extrabotany.element_rune": "\u5143\u7075\u7B26\u6587",
"item.extrabotany.elementium_shield": "\u6E90\u8D28\u94A2\u76FE\u724C",
"item.extrabotany.empty_bottle": "\u9B54\u6CD5\u73BB\u7483\u7A7A\u74F6",
"item.extrabotany.first_fractal": "\u6700\u521D\u5206\u578B",
"item.extrabotany.fox_ear": "\u6A31\u6A31\u8033",
@@ -341,6 +356,7 @@
"item.extrabotany.maid_legs": "\u6634\u661F\u56E2\u6218\u6597\u5973\u4EC6\u88D9\u7532",
"item.extrabotany.mana_drink": "\u9B54\u529B\u9E21\u5C3E\u9152",
"item.extrabotany.mana_reader": "\u9B54\u529B\u8BFB\u53D6\u5668",
"item.extrabotany.manasteel_shield": "\u9B54\u529B\u94A2\u76FE\u724C",
"item.extrabotany.miku_boots": "\u661F\u7A7A\u6B4C\u59EC\u978B\u5B50",
"item.extrabotany.miku_chest": "\u661F\u7A7A\u6B4C\u59EC\u670D",
"item.extrabotany.miku_helm": "\u661F\u7A7A\u6B4C\u59EC\u5934\u9970",

View File

@@ -1,6 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "extrabotany:block/reikar_orchid"
"layer0": "extrabotany:block/bloody_enchantress"
}
}

View File

@@ -6,6 +6,7 @@
"extrabotany:omni_violet",
"extrabotany:gemini_orchid",
"extrabotany:bell_flower",
"extrabotany:reikar_orchid"
"extrabotany:reikar_orchid",
"extrabotany:bloody_enchantress"
]
}

View File

@@ -6,6 +6,7 @@
"extrabotany:omni_violet",
"extrabotany:gemini_orchid",
"extrabotany:bell_flower",
"extrabotany:reikar_orchid"
"extrabotany:reikar_orchid",
"extrabotany:bloody_enchantress"
]
}

View File

@@ -1,5 +1,5 @@
{
"parent": "extrabotany:main/nightmarefuel_eat",
"parent": "extrabotany:main/thechaos_craft",
"display": {
"icon": {
"item": "extrabotany:maid_chest",

View File

@@ -1,5 +1,5 @@
{
"parent": "extrabotany:main/nightmarefuel_eat",
"parent": "extrabotany:main/thechaos_craft",
"display": {
"icon": {
"item": "extrabotany:goblinslayer_chest",

View File

@@ -0,0 +1,28 @@
{
"parent": "extrabotany:main/thechaos_craft",
"display": {
"icon": {
"item": "extrabotany:bloody_enchantress"
},
"title": {
"translate": "advancement.extrabotany:bloody_enchantress_use.title"
},
"description": {
"translate": "advancement.extrabotany:bloody_enchantress_use.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"code_triggered": {
"trigger": "minecraft:impossible"
}
},
"requirements": [
[
"code_triggered"
]
]
}

View File

@@ -17,7 +17,7 @@
"hidden": false
},
"criteria": {
"rodofdiscord": {
"rodofdiscord_craft": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
@@ -32,7 +32,7 @@
},
"requirements": [
[
"rodofdiscord"
"rodofdiscord_craft"
]
]
}

View File

@@ -1,4 +1,15 @@
{
"replace": false,
"values": []
"values": [
"minecraft:brain_coral",
"minecraft:tube_coral",
"minecraft:fire_coral",
"minecraft:bubble_coral",
"minecraft:horn_coral",
"minecraft:brain_coral_fan",
"minecraft:tube_coral_fan",
"minecraft:fire_coral_fan",
"minecraft:bubble_coral_fan",
"minecraft:horn_coral_fan"
]
}

View File

@@ -0,0 +1,34 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"minecraft:dirt_shield"
]
},
"criteria": {
"shield": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"items": [
"minecraft:shield"
]
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:dirt_shield"
}
}
},
"requirements": [
[
"shield",
"has_the_recipe"
]
]
}

View File

@@ -0,0 +1,34 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"minecraft:elementium_shield"
]
},
"criteria": {
"shield": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"items": [
"botania:elementium_ingot"
]
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:elementium_shield"
}
}
},
"requirements": [
[
"shield",
"has_the_recipe"
]
]
}

View File

@@ -0,0 +1,34 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"minecraft:manasteel_shield"
]
},
"criteria": {
"shield": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"items": [
"botania:manasteel_ingot"
]
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:manasteel_shield"
}
}
},
"requirements": [
[
"shield",
"has_the_recipe"
]
]
}

View File

@@ -0,0 +1,23 @@
{
"type": "minecraft:crafting_shaped",
"group": "extrabotany",
"pattern": [
"b#b",
"bab",
"bbb"
],
"key": {
"#": {
"item": "botania:manasteel_ingot"
},
"a": {
"item": "minecraft:shield"
},
"b": {
"item": "minecraft:dirt"
}
},
"result": {
"item": "extrabotany:dirt_shield"
}
}

View File

@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"group": "extrabotany",
"pattern": [
" # ",
"#a#",
" # "
],
"key": {
"#": {
"item": "botania:elementium_ingot"
},
"a": {
"item": "minecraft:shield"
}
},
"result": {
"item": "extrabotany:elementium_shield"
}
}

View File

@@ -14,7 +14,7 @@
"item": "extrabotany:hero_medal"
},
"a": {
"item": "botania:terrasteel_boots"
"item": "botania:terra_sword"
}
},
"result": {

View File

@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"group": "extrabotany",
"pattern": [
" # ",
"#a#",
" # "
],
"key": {
"#": {
"item": "botania:manasteel_ingot"
},
"a": {
"item": "minecraft:shield"
}
},
"result": {
"item": "extrabotany:manasteel_shield"
}
}

View File

@@ -16,8 +16,8 @@ public class ModItemProperties
{
public static void init(TriConsumer<ItemLike, ResourceLocation, ClampedItemPropertyFunction> consumer)
{
ClampedItemPropertyFunction bow_using = (stack, worldIn, entity, seed) -> entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F;
ClampedItemPropertyFunction bow_pull = (stack, worldIn, entity, seed) ->
ClampedItemPropertyFunction bow_using = (stack, level, entity, seed) -> entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F;
ClampedItemPropertyFunction bow_pull = (stack, level, entity, seed) ->
{
ItemLivingwoodBow item = ((ItemLivingwoodBow) stack.getItem());
return (entity != null && entity.getUseItem() == stack)
@@ -26,18 +26,21 @@ public class ModItemProperties
consumer.accept(ModItems.FAILNAUGHT.get(), new ResourceLocation("pulling"), bow_using);
consumer.accept(ModItems.FAILNAUGHT.get(), new ResourceLocation("pull"), bow_pull);
ClampedItemPropertyFunction crossbow_using = (stack, worldIn, entity, seed) -> entity != null && entity.isUsingItem() && entity.getUseItem() == stack && !CrossbowItem.isCharged(stack) ? 1.0F : 0.0F;
ClampedItemPropertyFunction crossbow_pull = (stack, worldIn, entity, seed) ->
ClampedItemPropertyFunction crossbow_using = (stack, level, entity, seed) -> entity != null && entity.isUsingItem() && entity.getUseItem() == stack && !CrossbowItem.isCharged(stack) ? 1.0F : 0.0F;
ClampedItemPropertyFunction crossbow_pull = (stack, level, entity, seed) ->
{
LivingWoodCrossBow item = (LivingWoodCrossBow) stack.getItem();
return (entity != null && !CrossbowItem.isCharged(stack)) ? ((float)(stack.getUseDuration() - entity.getUseItemRemainingTicks()) * item.chargeVelocityMultiplier()) / (float) CrossbowItem.getChargeDuration(stack) : 0.0F;
return (entity != null && !CrossbowItem.isCharged(stack)) ? ((float) (stack.getUseDuration() - entity.getUseItemRemainingTicks()) * item.chargeVelocityMultiplier()) / (float) CrossbowItem.getChargeDuration(stack) : 0.0F;
};
ClampedItemPropertyFunction charged = (stack, worldIn, entity, seed) -> entity != null && CrossbowItem.isCharged(stack) ? 1.0F : 0.0F;
ClampedItemPropertyFunction firework = (stack, worldIn, entity, seed) -> entity != null && CrossbowItem.isCharged(stack) && CrossbowItem.containsChargedProjectile(stack, Items.FIREWORK_ROCKET) ? 1.0F : 0.0F;
ClampedItemPropertyFunction charged = (stack, level, entity, seed) -> entity != null && CrossbowItem.isCharged(stack) ? 1.0F : 0.0F;
ClampedItemPropertyFunction firework = (stack, level, entity, seed) -> entity != null && CrossbowItem.isCharged(stack) && CrossbowItem.containsChargedProjectile(stack, Items.FIREWORK_ROCKET) ? 1.0F : 0.0F;
consumer.accept(ModItems.LIVINGWOOD_CROSSBOW.get(), new ResourceLocation("pulling"), crossbow_using);
consumer.accept(ModItems.LIVINGWOOD_CROSSBOW.get(), new ResourceLocation("pull"), crossbow_pull);
consumer.accept(ModItems.LIVINGWOOD_CROSSBOW.get(), new ResourceLocation("charged"), charged);
consumer.accept(ModItems.LIVINGWOOD_CROSSBOW.get(), new ResourceLocation("firework"), firework);
ClampedItemPropertyFunction blocking = (stack, level, entity, seed) -> entity != null && entity.isUsingItem() && entity.getUseItem() == stack ? 1.0F : 0.0F;
consumer.accept(ModItems.MANASTEEL_SHIELD.get(), new ResourceLocation("blocking"), blocking);
}
}

View File

@@ -12,10 +12,7 @@ import chick.extrabotany.common.foods.NormalFoods;
import chick.extrabotany.common.items.*;
import chick.extrabotany.common.items.lens.*;
import chick.extrabotany.common.tools.armors.*;
import chick.extrabotany.common.tools.others.DirtShield;
import chick.extrabotany.common.tools.others.ForestBook;
import chick.extrabotany.common.tools.others.ManaReader;
import chick.extrabotany.common.tools.others.RodOfDiscord;
import chick.extrabotany.common.tools.others.*;
import chick.extrabotany.common.tools.weapons.*;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
@@ -100,8 +97,8 @@ public class ModItems
public static final RegistryObject<Item> LEN_TRACE = register(LibItemNames.LEN_TRACE, () -> new ItemLens(stackTo1(), new LenTrace(), ItemLens.PROP_ORIENTATION));
public static final RegistryObject<Item> LEN_SUPERCONDUCTOR = register(LibItemNames.LEN_SUPERCONDUCTOR, () -> new ItemLens(stackTo1(), new LenSuperConductor(), ItemLens.PROP_DAMAGE));
public static final RegistryObject<Item> FOREST_BOOK = register(LibItemNames.FOREST_BOOK,()->new ForestBook(stackTo1()));
public static final RegistryObject<Item> DIRT_SHIELD = register(LibItemNames.DIRT_SHIELD,()->new DirtShield(stackTo1()));
public static final RegistryObject<Item> FOREST_BOOK = register(LibItemNames.FOREST_BOOK, () -> new ForestBook(stackTo1()));
public static final RegistryObject<Item> DIRT_SHIELD = register(LibItemNames.DIRT_SHIELD, () -> new DirtShield(stackTo1()));
/**
* these are baubles for curios mod
**/
@@ -134,38 +131,43 @@ public class ModItems
* for some reason, if they are assigned before,
* items behind will be with nbt "damage" ,and can not stack.
*/
public static final RegistryObject<Item> LIVINGWOOD_CROSSBOW = register(LibItemNames.LIVINGWOOD_CROSSBOW, () -> new LivingWoodCrossBow(ITEM_PROPERTIES));
public static final RegistryObject<Item> ROD_OF_DISCORD = register(LibItemNames.ROD_OF_DISCORD, () -> new RodOfDiscord(ITEM_PROPERTIES.stacksTo(1)));
public static final RegistryObject<Item> SHADOW_WARRIOR_HELM = register(LibItemNames.SHADOWWARRIOR_HELM, () -> new ShadowWarriorArmor(EquipmentSlot.HEAD, ITEM_PROPERTIES));
public static final RegistryObject<Item> SHADOW_WARRIOR_CHEST = register(LibItemNames.SHADOWWARRIOR_CHEST, () -> new ShadowWarriorArmor(EquipmentSlot.CHEST, ITEM_PROPERTIES));
public static final RegistryObject<Item> SHADOW_WARRIOR_LEGS = register(LibItemNames.SHADOWWARRIOR_LEGS, () -> new ShadowWarriorArmor(EquipmentSlot.LEGS, ITEM_PROPERTIES));
public static final RegistryObject<Item> SHADOW_WARRIOR_BOOTS = register(LibItemNames.SHADOWWARRIOR_BOOTS, () -> new ShadowWarriorArmor(EquipmentSlot.FEET, ITEM_PROPERTIES));
public static final RegistryObject<Item> SHADOW_KATANA = register(LibItemNames.SHADOW_KATANA, () -> new ShadowKatana(ITEM_PROPERTIES));
public static final RegistryObject<Item> GOBLINSLAYER_HELM = register(LibItemNames.GOBLINSLAYER_HELM, () -> new GoblinSlayerArmor(EquipmentSlot.HEAD, ITEM_PROPERTIES));
public static final RegistryObject<Item> GOBLINSLAYER_CHEST = register(LibItemNames.GOBLINSLAYER_CHEST, () -> new GoblinSlayerArmor(EquipmentSlot.CHEST, ITEM_PROPERTIES));
public static final RegistryObject<Item> GOBLINSLAYER_LEGS = register(LibItemNames.GOBLINSLAYER_LEGS, () -> new GoblinSlayerArmor(EquipmentSlot.LEGS, ITEM_PROPERTIES));
public static final RegistryObject<Item> GOBLINSLAYER_BOOTS = register(LibItemNames.GOBLINSLAYER_BOOTS, () -> new GoblinSlayerArmor(EquipmentSlot.FEET, ITEM_PROPERTIES));
public static final RegistryObject<Item> MIKU_HELM = register(LibItemNames.MIKU_HELM, () -> new MikuArmor(EquipmentSlot.HEAD, ITEM_PROPERTIES));
public static final RegistryObject<Item> MIKU_CHEST = register(LibItemNames.MIKU_CHEST, () -> new MikuArmor(EquipmentSlot.CHEST, ITEM_PROPERTIES));
public static final RegistryObject<Item> MIKU_LEGS = register(LibItemNames.MIKU_LEGS, () -> new MikuArmor(EquipmentSlot.LEGS, ITEM_PROPERTIES));
public static final RegistryObject<Item> MIKU_BOOTS = register(LibItemNames.MIKU_BOOTS, () -> new MikuArmor(EquipmentSlot.FEET, ITEM_PROPERTIES));
public static final RegistryObject<Item> MAID_HELM = register(LibItemNames.MAID_HELM, () -> new MaidArmor(EquipmentSlot.HEAD, ITEM_PROPERTIES));
public static final RegistryObject<Item> MAID_CHEST = register(LibItemNames.MAID_CHEST, () -> new MaidArmor(EquipmentSlot.CHEST, ITEM_PROPERTIES));
public static final RegistryObject<Item> MAID_LEGS = register(LibItemNames.MAID_LEGS, () -> new MaidArmor(EquipmentSlot.LEGS, ITEM_PROPERTIES));
public static final RegistryObject<Item> MAID_BOOTS = register(LibItemNames.MAID_BOOTS, () -> new MaidArmor(EquipmentSlot.FEET, ITEM_PROPERTIES));
public static final RegistryObject<Item> TRUE_SHADOW_KATANA = register(LibItemNames.TRUE_SHADOW_KATANA, () -> new TrueShadowKatana(ITEM_PROPERTIES));
public static final RegistryObject<Item> TRUE_TERRA_BLADE = register(LibItemNames.TRUE_TERRA_BLADE, () -> new TrueTerraBlade(ITEM_PROPERTIES));
public static final RegistryObject<Item> TRUE_THUNSTAR_CALLER = register(LibItemNames.TRUE_THUNSTAR_CALLER, () -> new TrueThunStarCaller(ITEM_PROPERTIES));
public static final RegistryObject<Item> INFLUX_WAVER = register(LibItemNames.INFLUX_WAVER, () -> new InfluxWaver(ITEM_PROPERTIES));
public static final RegistryObject<Item> FIRST_FRACTAL = register(LibItemNames.FIRST_FRACTAL, () -> new FirstFractal(ITEM_PROPERTIES));
public static final RegistryObject<Item> BUDDHISTRELICS = register(LibItemNames.BUDDHISTRELICS);
public static final RegistryObject<Item> CAMERA = register(LibItemNames.CAMERA);
public static final RegistryObject<Item> EXCALIBER = register(LibItemNames.EXCALIBER, () -> new Excaliber(ITEM_PROPERTIES));
public static final RegistryObject<Item> FAILNAUGHT = register(LibItemNames.FAILNAUGHT, () -> new Failnaught(ITEM_PROPERTIES));
//item with durability
public static final RegistryObject<Item> LIVINGWOOD_CROSSBOW = register(LibItemNames.LIVINGWOOD_CROSSBOW, () -> new LivingWoodCrossBow(stackTo1()));
public static final RegistryObject<Item> MANASTEEL_SHIELD = register(LibItemNames.MANASTEEL_SHIELD, () -> new ManaSteelShield(stackTo1()));
public static final RegistryObject<Item> ELEMENT_SHIELD = register(LibItemNames.ELEMENT_SHIELD, () -> new ElementSteelShield(stackTo1()));
public static final RegistryObject<Item> ROD_OF_DISCORD = register(LibItemNames.ROD_OF_DISCORD, () -> new RodOfDiscord(stackTo1()));
public static final RegistryObject<Item> SHADOW_WARRIOR_HELM = register(LibItemNames.SHADOWWARRIOR_HELM, () -> new ShadowWarriorArmor(EquipmentSlot.HEAD, stackTo1()));
public static final RegistryObject<Item> SHADOW_WARRIOR_CHEST = register(LibItemNames.SHADOWWARRIOR_CHEST, () -> new ShadowWarriorArmor(EquipmentSlot.CHEST, stackTo1()));
public static final RegistryObject<Item> SHADOW_WARRIOR_LEGS = register(LibItemNames.SHADOWWARRIOR_LEGS, () -> new ShadowWarriorArmor(EquipmentSlot.LEGS, stackTo1()));
public static final RegistryObject<Item> SHADOW_WARRIOR_BOOTS = register(LibItemNames.SHADOWWARRIOR_BOOTS, () -> new ShadowWarriorArmor(EquipmentSlot.FEET, stackTo1()));
public static final RegistryObject<Item> SHADOW_KATANA = register(LibItemNames.SHADOW_KATANA, () -> new ShadowKatana(stackTo1()));
public static final RegistryObject<Item> GOBLINSLAYER_HELM = register(LibItemNames.GOBLINSLAYER_HELM, () -> new GoblinSlayerArmor(EquipmentSlot.HEAD, stackTo1()));
public static final RegistryObject<Item> GOBLINSLAYER_CHEST = register(LibItemNames.GOBLINSLAYER_CHEST, () -> new GoblinSlayerArmor(EquipmentSlot.CHEST, stackTo1()));
public static final RegistryObject<Item> GOBLINSLAYER_LEGS = register(LibItemNames.GOBLINSLAYER_LEGS, () -> new GoblinSlayerArmor(EquipmentSlot.LEGS, stackTo1()));
public static final RegistryObject<Item> GOBLINSLAYER_BOOTS = register(LibItemNames.GOBLINSLAYER_BOOTS, () -> new GoblinSlayerArmor(EquipmentSlot.FEET, stackTo1()));
public static final RegistryObject<Item> MIKU_HELM = register(LibItemNames.MIKU_HELM, () -> new MikuArmor(EquipmentSlot.HEAD, stackTo1()));
public static final RegistryObject<Item> MIKU_CHEST = register(LibItemNames.MIKU_CHEST, () -> new MikuArmor(EquipmentSlot.CHEST, stackTo1()));
public static final RegistryObject<Item> MIKU_LEGS = register(LibItemNames.MIKU_LEGS, () -> new MikuArmor(EquipmentSlot.LEGS, stackTo1()));
public static final RegistryObject<Item> MIKU_BOOTS = register(LibItemNames.MIKU_BOOTS, () -> new MikuArmor(EquipmentSlot.FEET, stackTo1()));
public static final RegistryObject<Item> MAID_HELM = register(LibItemNames.MAID_HELM, () -> new MaidArmor(EquipmentSlot.HEAD, stackTo1()));
public static final RegistryObject<Item> MAID_CHEST = register(LibItemNames.MAID_CHEST, () -> new MaidArmor(EquipmentSlot.CHEST, stackTo1()));
public static final RegistryObject<Item> MAID_LEGS = register(LibItemNames.MAID_LEGS, () -> new MaidArmor(EquipmentSlot.LEGS, stackTo1()));
public static final RegistryObject<Item> MAID_BOOTS = register(LibItemNames.MAID_BOOTS, () -> new MaidArmor(EquipmentSlot.FEET, stackTo1()));
public static final RegistryObject<Item> TRUE_SHADOW_KATANA = register(LibItemNames.TRUE_SHADOW_KATANA, () -> new TrueShadowKatana(stackTo1()));
public static final RegistryObject<Item> TRUE_TERRA_BLADE = register(LibItemNames.TRUE_TERRA_BLADE, () -> new TrueTerraBlade(stackTo1()));
public static final RegistryObject<Item> TRUE_THUNSTAR_CALLER = register(LibItemNames.TRUE_THUNSTAR_CALLER, () -> new TrueThunStarCaller(stackTo1()));
public static final RegistryObject<Item> INFLUX_WAVER = register(LibItemNames.INFLUX_WAVER, () -> new InfluxWaver(stackTo1()));
public static final RegistryObject<Item> FIRST_FRACTAL = register(LibItemNames.FIRST_FRACTAL, () -> new FirstFractal(stackTo1()));
public static final RegistryObject<Item> EXCALIBER = register(LibItemNames.EXCALIBER, () -> new Excaliber(stackTo1()));
public static final RegistryObject<Item> FAILNAUGHT = register(LibItemNames.FAILNAUGHT, () -> new Failnaught(stackTo1()));
public static final TagKey<Item> CORAL_ITEM = TagKey.create(Registry.ITEM_REGISTRY, new ResourceLocation(MODID, "coral_item"));

View File

@@ -36,7 +36,7 @@ public final class AdvancementHandler
public void grantAdvancement(ServerPlayer player, String id)
{
PlayerHelper.grantCriterion(player, new ResourceLocation(ExtraBotany.MODID, "main/" + id), "code_triggered");
PlayerHelper.grantCriterion(player, new ResourceLocation(ExtraBotany.MODID, "main/"+id), "code_triggered");
}
public static boolean checkAdvancement(Player player, String modid, String advancement)

View File

@@ -64,18 +64,20 @@ public class SubTileBloodyEnchantress extends TileEntityGeneratingFlower
continue;
if (amp < 10)
{
addMana((int) (22F * 12F * (1F - 0.04F * amp - 0.02F * ampAll)));
addMana((int) (25F * 20F * (1F - 0.04F * amp - 0.02F * ampAll)));
} else
break;
living.addEffect(new MobEffectInstance(ModEffects.BLOOD_TEMPTATION.get(), 100, 0));
//TODO:check it
//ExtraBotanyAPI.addPotionEffect(living, ModEffects.BLOOD_TEMPATION, 100, 10, true);
int lv = 0;
if (living.hasEffect(ModEffects.BLOOD_TEMPTATION.get()))
{
lv = living.getEffect(ModEffects.BLOOD_TEMPTATION.get()).getAmplifier() + 1;
}
living.addEffect(new MobEffectInstance(ModEffects.BLOOD_TEMPTATION.get(), 8 * 20, lv));
if (living instanceof ServerPlayer)
{
AdvancementHandler.INSTANCE.grantAdvancement((ServerPlayer) living, LibAdvancementNames.BLOODY_ENCHANTRESS_USE);
}
living.hurt(DamageSource.MAGIC.bypassArmor().bypassMagic().bypassInvul(), 5F);
living.hurt(DamageSource.MAGIC.bypassArmor().bypassMagic().bypassInvul(), 4F);
living.hurt(DamageSource.MAGIC, 0.01F);
cdTime += 20;
}

View File

@@ -17,7 +17,7 @@ public class DivineJustice extends MobEffect
public DivineJustice()
{
super(MobEffectCategory.HARMFUL, 0XFF7F50);
addAttributeModifier(Attributes.MAX_HEALTH, "FB353E1C-4180-4865-B01B-BCCE9785ACA3", -0.05F, AttributeModifier.Operation.MULTIPLY_TOTAL);
addAttributeModifier(Attributes.MAX_HEALTH, "FB353E1C-4180-4865-B01B-BCCE9785ACA3", -0.10F, AttributeModifier.Operation.MULTIPLY_TOTAL);
}
@Override
@@ -29,7 +29,7 @@ public class DivineJustice extends MobEffect
@Override
public void applyEffectTick(LivingEntity living, int amplified)
{
living.hurt(DamageSource.MAGIC.bypassArmor().bypassInvul().bypassMagic(), amplified * 2);
living.hurt(DamageSource.MAGIC.bypassArmor().bypassMagic(), amplified * 2);
}
@Override

View File

@@ -18,9 +18,9 @@ public class LibAdvancementNames
public static final String ROD_OF_DISCORD_CRAFT = "rodofdiscord_craft";
public static final String BLOODY_ENCHANTRESS_USE = "bloody_enchantress_use";
public static final String TINKLE_FLOWER_USE = "tinkle_flower_use";
public static final String INFINITE_WINE_CRAFT = "infinite_wine_craft";
public static final String FAILNAUGHT_CRAFT = "failnaught_craft";
public static final String EXCALIBER_CRAFT = "excaliber_craft";
public static final String FIRST_FRACTAL_CRAFT = "first_fractal_craft";

View File

@@ -72,6 +72,8 @@ public class LibItemNames
public static String MANA_READER = "mana_reader";
public static String MANASTEEL_SHIELD = "manasteel_shield";
public static String ELEMENT_SHIELD = "elementium_shield";
public static String FOREST_BOOK = "forest_book";
public static String DIRT_SHIELD = "dirt_shield";
public static String LIVINGWOOD_CROSSBOW = "livingwood_crossbow";

View File

@@ -0,0 +1,33 @@
package chick.extrabotany.common.tools.others;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.ai.attributes.AttributeModifier;
import net.minecraft.world.item.ItemStack;
import vazkii.botania.common.handler.PixieHandler;
import static vazkii.botania.common.item.equipment.bauble.ItemBauble.getBaubleUUID;
public class ElementSteelShield extends ManaSteelShield
{
public ElementSteelShield(Properties prop)
{
super(prop.durability(300));
}
@Override
public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack)
{
Multimap<Attribute, AttributeModifier> ret = HashMultimap.create(super.getAttributeModifiers(slot, stack));
if (slot == EquipmentSlot.MAINHAND || slot == EquipmentSlot.OFFHAND)
{
ret.put(PixieHandler.PIXIE_SPAWN_CHANCE, new AttributeModifier(getBaubleUUID(stack), "Shield modifier", 0.25, AttributeModifier.Operation.ADDITION));
}
return ret;
}
}

View File

@@ -0,0 +1,48 @@
package chick.extrabotany.common.tools.others;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.ShieldItem;
import net.minecraft.world.level.Level;
import vazkii.botania.api.mana.ManaItemHandler;
import vazkii.botania.common.item.equipment.ICustomDamageItem;
import vazkii.botania.common.item.equipment.tool.ToolCommons;
import vazkii.botania.common.lib.ModTags;
import java.util.function.Consumer;
public class ManaSteelShield extends ShieldItem implements ICustomDamageItem
{
public ManaSteelShield(Properties prop)
{
super(prop.durability(250));
}
@Override
public <T extends LivingEntity> int damageItem(ItemStack stack, int amount, T entity, Consumer<T> onBroken)
{
return ToolCommons.damageItemIfPossible(stack, amount, entity, getManaPerDamage());
}
@Override
public void inventoryTick(ItemStack stack, Level world, Entity entity, int slot, boolean selected)
{
if (!world.isClientSide && entity instanceof Player player && stack.getDamageValue() > 0 && ManaItemHandler.instance().requestManaExactForTool(stack, player, getManaPerDamage() * 2, true))
{
stack.setDamageValue(stack.getDamageValue() - 1);
}
}
@Override
public boolean isValidRepairItem(ItemStack item, ItemStack material)
{
return material.is(ModTags.Items.INGOTS_MANASTEEL);
}
public int getManaPerDamage()
{
return 60;
}
}

View File

@@ -1,12 +1,16 @@
package chick.extrabotany.common.tools.weapons;
import chick.extrabotany.ExtraBotany;
import chick.extrabotany.api.advancement.IAdvancementRequirement;
import chick.extrabotany.common.entities.projectile.EntityMagicArrow;
import chick.extrabotany.common.base.DamageHandler;
import chick.extrabotany.common.libs.LibAdvancementNames;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.sounds.SoundSource;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
@@ -28,13 +32,13 @@ import vazkii.botania.xplat.IXplatAbstractions;
import java.util.List;
import java.util.function.Consumer;
public class Failnaught extends ItemLivingwoodBow implements ICustomDamageItem
public class Failnaught extends ItemLivingwoodBow implements ICustomDamageItem, IAdvancementRequirement
{
private static final int MANA_PER_DAMAGE = 320;
public Failnaught(Properties prop)
{
super(prop);
super(prop.durability(1999));
}
public static IRelic makeRelic(ItemStack stack)
@@ -49,6 +53,20 @@ public class Failnaught extends ItemLivingwoodBow implements ICustomDamageItem
return ToolCommons.damageItemIfPossible(stack, amount, entity, MANA_PER_DAMAGE / ((infinity) ? 2 : 1));
}
@NotNull
@Override
public InteractionResultHolder<ItemStack> use(Level level, Player player, InteractionHand hand)
{
var stack = player.getItemInHand(hand);
if (ManaItemHandler.instance().requestManaExactForTool(stack, player, 800, false))
{
return InteractionResultHolder.success(stack);
} else
{
return InteractionResultHolder.fail(stack);
}
}
@Override
public void releaseUsing(ItemStack stack, Level worldIn, LivingEntity living, int timeLeft)
{
@@ -128,11 +146,9 @@ public class Failnaught extends ItemLivingwoodBow implements ICustomDamageItem
return false;
}
//TODO: advancement
//@Override
//public String getAdvancementName()
//{
// return LibAdvancementNames.EGODEFEAT;
//}
@Override
public String getAdvancementName()
{
return LibAdvancementNames.EGO_DEFEAT;
}
}

View File

@@ -1,6 +1,8 @@
package chick.extrabotany.common.tools.weapons;
import chick.extrabotany.api.advancement.IAdvancementRequirement;
import chick.extrabotany.common.entities.projectile.relic_projectile.EntityPhantomSword;
import chick.extrabotany.common.libs.LibAdvancementNames;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import net.minecraft.core.BlockPos;
@@ -17,7 +19,7 @@ import org.jetbrains.annotations.NotNull;
import static vazkii.botania.common.item.equipment.bauble.ItemBauble.getBaubleUUID;
public class FirstFractal extends SwordRelicBase
public class FirstFractal extends SwordRelicBase implements IAdvancementRequirement
{
public FirstFractal(Properties prop)
{
@@ -83,4 +85,10 @@ public class FirstFractal extends SwordRelicBase
sword2.setDeltaMovement(sword2.getDeltaMovement().scale(speedTime).scale(0.6D));
player.level.addFreshEntity(sword2);
}
@Override
public String getAdvancementName()
{
return LibAdvancementNames.EGO_DEFEAT;
}
}

View File

@@ -16,7 +16,7 @@ public class LivingWoodCrossBow extends CrossbowItem
{
public LivingWoodCrossBow(Properties prop)
{
super(prop);
super(prop.durability(250));
}
public float chargeVelocityMultiplier()
@@ -41,7 +41,7 @@ public class LivingWoodCrossBow extends CrossbowItem
@Override
public boolean isValidRepairItem(ItemStack crossbow, ItemStack material)
{
return material.is(ModItems.livingwoodTwig) || super.isValidRepairItem(crossbow, material);
return material.is(ModItems.livingwoodTwig);
}
@Override

View File

@@ -28,7 +28,7 @@ public abstract class SwordRelicBase extends SwordItem implements IItemWithLeftC
{
public SwordRelicBase(Tier tier, int atkDamage, float atkSpeed, Properties prop)
{
super(tier, atkDamage, atkSpeed, prop);
super(tier, atkDamage, atkSpeed, prop.durability(1999));
MinecraftForge.EVENT_BUS.addListener(this::leftClick);
MinecraftForge.EVENT_BUS.addListener(this::leftClickBlock);
MinecraftForge.EVENT_BUS.addListener(this::attackEntity);

View File

@@ -3,6 +3,7 @@ package chick.extrabotany.datagen;
import chick.extrabotany.ExtraBotany;
import chick.extrabotany.common.ModEntities;
import chick.extrabotany.common.ModItems;
import chick.extrabotany.common.blocks.ModSubtiles;
import chick.extrabotany.common.libs.LibAdvancementNames;
import net.minecraft.advancements.Advancement;
import net.minecraft.advancements.DisplayInfo;
@@ -132,7 +133,7 @@ public class ModAdvancementProvider extends AdvancementProvider
.addCriterion("goblin_slayer3", onPickup(ModItems.GOBLINSLAYER_LEGS.get()))
.addCriterion("goblin_slayer4", onPickup(ModItems.GOBLINSLAYER_BOOTS.get()))
.save(consumer, mainId(LibAdvancementNames.GOBLIN_SLAYER));
Advancement.Builder.advancement()
Advancement.Builder.advancement()
.display(simple(ModItems.MIKU_CHEST.get(), LibAdvancementNames.MIKU, FrameType.TASK))
.parent(nightmarefuel_eat)
.addCriterion("miku1", onPickup(ModItems.MIKU_HELM.get()))
@@ -140,28 +141,33 @@ public class ModAdvancementProvider extends AdvancementProvider
.addCriterion("miku3", onPickup(ModItems.MIKU_LEGS.get()))
.addCriterion("miku4", onPickup(ModItems.MIKU_BOOTS.get()))
.save(consumer, mainId(LibAdvancementNames.MIKU));
Advancement.Builder.advancement()
//parent: thechaos
Advancement.Builder.advancement()
.display(simple(ModItems.ROD_OF_DISCORD.get(), LibAdvancementNames.ROD_OF_DISCORD_CRAFT, FrameType.TASK))
.parent(thechaos_craft)
.addCriterion(LibAdvancementNames.ROD_OF_DISCORD_CRAFT, onPickup(ModItems.ROD_OF_DISCORD.get()))
.save(consumer, mainId(LibAdvancementNames.ROD_OF_DISCORD_CRAFT));
Advancement.Builder.advancement()
.display(simple(ModSubtiles.bloodyenchantress, LibAdvancementNames.BLOODY_ENCHANTRESS_USE, FrameType.TASK))
.parent(thechaos_craft)
.addCriterion("code_triggered", new ImpossibleTrigger.TriggerInstance())
.save(consumer, mainId(LibAdvancementNames.BLOODY_ENCHANTRESS_USE));
Advancement.Builder.advancement()
.display(simple(ModItems.MAID_CHEST.get(), LibAdvancementNames.MAID, FrameType.TASK))
.parent(nightmarefuel_eat)
.parent(thechaos_craft)
.addCriterion("maid1", onPickup(ModItems.MAID_HELM.get()))
.addCriterion("maid2", onPickup(ModItems.MAID_CHEST.get()))
.addCriterion("maid3", onPickup(ModItems.MAID_LEGS.get()))
.addCriterion("maid4", onPickup(ModItems.MAID_BOOTS.get()))
.save(consumer, mainId(LibAdvancementNames.MAID));
Advancement.Builder.advancement()
Advancement.Builder.advancement()
.display(simple(ModItems.GOBLINSLAYER_CHEST.get(), LibAdvancementNames.SHOOTING_GUARDIAN, FrameType.TASK))
.parent(nightmarefuel_eat)
.parent(thechaos_craft)
.addCriterion("shootingguardian1", onPickup(ModItems.GOBLINSLAYER_HELM.get()))
.addCriterion("shootingguardian2", onPickup(ModItems.GOBLINSLAYER_CHEST.get()))
.addCriterion("shootingguardian3", onPickup(ModItems.GOBLINSLAYER_LEGS.get()))
.addCriterion("shootingguardian4", onPickup(ModItems.GOBLINSLAYER_BOOTS.get()))
.save(consumer, mainId(LibAdvancementNames.SHOOTING_GUARDIAN));
//parent: thechaos
Advancement.Builder.advancement()
.display(simple(ModItems.ROD_OF_DISCORD.get(), LibAdvancementNames.ROD_OF_DISCORD_CRAFT, FrameType.TASK))
.parent(thechaos_craft)
.addCriterion("rodofdiscord", onPickup(ModItems.ROD_OF_DISCORD.get()))
.save(consumer, mainId(LibAdvancementNames.ROD_OF_DISCORD_CRAFT));
//parent:ego
Advancement.Builder.advancement()
.display(simple(ModItems.FAILNAUGHT.get(), LibAdvancementNames.FAILNAUGHT_CRAFT, FrameType.TASK))

View File

@@ -44,6 +44,7 @@ public class ModBlockTags extends BlockTagsProvider
.add(ModSubtiles.geminiorchid)
.add(ModSubtiles.bellflower)
.add(ModSubtiles.reikarorchid)
.add(ModSubtiles.bloodyenchantress)
;
tag(ModTags.Blocks.FUNCTIONAL_SPECIAL_FLOWERS)
.add(ModSubtiles.serenitian)

View File

@@ -9,6 +9,7 @@ import chick.extrabotany.common.libs.LibItemNames;
import net.minecraft.core.Registry;
import net.minecraft.data.DataGenerator;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ShieldItem;
import net.minecraft.world.item.SwordItem;
import net.minecraftforge.client.model.generators.ItemModelBuilder;
import net.minecraftforge.client.model.generators.ItemModelProvider;
@@ -33,6 +34,7 @@ public class ModItemModels extends ItemModelProvider
var list = new ArrayList<>(Registry.ITEM.stream()
.filter(p -> p.getRegistryName().getNamespace().equals(ExtraBotany.MODID))
.filter(p -> !(p instanceof ItemBlockSpecialFlower))
.filter(p -> !(p instanceof ShieldItem))
.filter(p -> !(p instanceof SwordItem)).toList());
list.remove(ModBlocks.DIMENSION_CATALYST_ITEM.get());
//write in ModItemOverrideModel
@@ -60,13 +62,13 @@ public class ModItemModels extends ItemModelProvider
{
//no floating flowers here
//generating
singleTexture(ModSubtiles.sunshinelily_item.getRegistryName().getPath(), mcLoc("item/generated"), "layer0", modLoc("block/"+ LibBlockNames.SUNSHINE_LILY));
singleTexture(ModSubtiles.sunshinelily_item.getRegistryName().getPath(), mcLoc("item/generated"), "layer0", modLoc("block/" + LibBlockNames.SUNSHINE_LILY));
singleTexture(ModSubtiles.moonlightlily_item.getRegistryName().getPath(), mcLoc("item/generated"), "layer0", modLoc("block/moonlight_lily"));
singleTexture(ModSubtiles.omniviolet_item.getRegistryName().getPath(), mcLoc("item/generated"), "layer0", modLoc("block/omni_violet"));
singleTexture(ModSubtiles.geminiorchid_item.getRegistryName().getPath(), mcLoc("item/generated"), "layer0", modLoc("block/gemini_orchid"));
singleTexture(ModSubtiles.bellflower_item.getRegistryName().getPath(), mcLoc("item/generated"), "layer0", modLoc("block/bell_flower"));
singleTexture(ModSubtiles.reikarorchid_item.getRegistryName().getPath(), mcLoc("item/generated"), "layer0", modLoc("block/reikar_orchid"));
singleTexture(ModSubtiles.bloodyenchantress_item.getRegistryName().getPath(), mcLoc("item/generated"), "layer0", modLoc("block/reikar_orchid"));
singleTexture(ModSubtiles.reikarorchid_item.getRegistryName().getPath(), mcLoc("item/generated"), "layer0", modLoc("block/" + LibBlockNames.REIKAR_ORCHID));
singleTexture(ModSubtiles.bloodyenchantress_item.getRegistryName().getPath(), mcLoc("item/generated"), "layer0", modLoc("block/" + LibBlockNames.BLOODY_ENCHANTRESS));
//functional
singleTexture(ModSubtiles.serenitian_item.getRegistryName().getPath(), mcLoc("item/generated"), "layer0", modLoc("block/serenitian"));
singleTexture(ModSubtiles.annoying_item.getRegistryName().getPath(), mcLoc("item/generated"), "layer0", modLoc("block/annoying_flower"));

View File

@@ -10,6 +10,7 @@ import net.minecraft.tags.ItemTags;
import net.minecraft.tags.TagKey;
import net.minecraft.world.item.DyeColor;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items;
import net.minecraftforge.common.Tags;
import net.minecraftforge.common.data.ExistingFileHelper;
import vazkii.botania.common.lib.ModTags;
@@ -43,9 +44,18 @@ public class ModItemTags extends ItemTagsProvider
this.copy(ModTags.Blocks.FUNCTIONAL_SPECIAL_FLOWERS, ModTags.Items.FUNCTIONAL_SPECIAL_FLOWERS);
this.copy(ModTags.Blocks.SPECIAL_FLOWERS, ModTags.Items.SPECIAL_FLOWERS);
this.copy(ModTags.Blocks.MINI_FLOWERS, ModTags.Items.MINI_FLOWERS);
this.copy(BlockTags.CORALS, ModItems.CORAL_ITEM);
tag(ModItems.CORAL_ITEM)
.add(Items.BRAIN_CORAL)
.add(Items.TUBE_CORAL)
.add(Items.FIRE_CORAL)
.add(Items.BUBBLE_CORAL)
.add(Items.HORN_CORAL)
.add(Items.BRAIN_CORAL_FAN)
.add(Items.TUBE_CORAL_FAN)
.add(Items.FIRE_CORAL_FAN)
.add(Items.BUBBLE_CORAL_FAN)
.add(Items.HORN_CORAL_FAN);
for (var color : DyeColor.values())
{
tag(ModTags.Items.getPetalTag(color)).add(ModItems.UNIVERSAL_PETAL.get());

View File

@@ -95,6 +95,8 @@ public class EN_USLanguageProvider extends LanguageProvider
add(ModItems.SUPREME_IGNITE_STONE.get(), "Supreme Ignis Stone");
add(ModItems.SAGES_MANA_RING.get(), "Sages Mana Ring");
add(ModItems.MANASTEEL_SHIELD.get(), "Mana Steel Shield");
add(ModItems.ELEMENT_SHIELD.get(), "Elementium Shield");
add(ModItems.SHADOW_KATANA.get(), "Shadow Katana");
add(ModItems.LIVINGWOOD_CROSSBOW.get(), "Livingwood Crossbow");
add(ModItems.TRUE_SHADOW_KATANA.get(), "True Shadow Katana");
@@ -167,6 +169,9 @@ public class EN_USLanguageProvider extends LanguageProvider
add(ModSubtiles.reikarorchid, "Reikar Orchid");
add(ModSubtiles.reikarorchidFloating, "Floating Reikar Orchid");
add(ModSubtiles.reikarorchid.getDescriptionId() + ".reference", "Game Crash");
add(ModSubtiles.bloodyenchantress, "Bloody Enchantress");
add(ModSubtiles.bloodyenchantressFloating, "Floating Bloody Enchantress");
add(ModSubtiles.bloodyenchantress.getDescriptionId() + ".reference", "A bargain forged in blood and shadow");
add(ModSubtiles.serenitian, "Serenitian");
add(ModSubtiles.serenitianFloating, "Floating Serenitian");
@@ -188,9 +193,11 @@ public class EN_USLanguageProvider extends LanguageProvider
prefixAdvancement(LibAdvancementNames.SHADOW_WARRIOR, "Crazy ∞ nighT", "Equip Shadow Warrior Armor Set");
prefixAdvancement(LibAdvancementNames.GOBLIN_SLAYER, "Befall", "Equip Goblin Slayer Armor Set");
prefixAdvancement(LibAdvancementNames.MIKU, "Cat's Dance", "Equip Starry Idol Armor Set");
prefixAdvancement(LibAdvancementNames.BLOODY_ENCHANTRESS_USE, "Sweet Devil", "Use a Bloody Enchantress to generate mana");
prefixAdvancement(LibAdvancementNames.MAID, "Drug Of Gold", "Equip Pleiades Combat Maid Armor Set");
prefixAdvancement(LibAdvancementNames.SHOOTING_GUARDIAN, "CONNECT", "Equip Shooting Guardian Armor Set");
prefixAdvancement(LibAdvancementNames.ROD_OF_DISCORD_CRAFT, "NOT Discord!", "Craft Rod of Discord");
@@ -212,7 +219,7 @@ public class EN_USLanguageProvider extends LanguageProvider
}
private void langPantchouli()
{
add("extrabotany.category.extrabotany", "Extra Botania");
add("extrabotany.category.extrabotany", "Extra Knowledge");
add("extrabotany.entry.header", "Welcome to the World");
add("extrabotany.page.header0", "Welcome to the World of the supreme principle of Mana! You are the one who has great potential and I believe you will have a shiny, bright future. I am sure you are hunger for more knowledge. Follow me, I will pass on my knowledge and experience to you.");
add("extrabotany.page.header1", "The more progress you have done, the more knowledge you will have. I could give you one hint, you could obtain Spirit Fuel by eating Nightmare Fuel.");
@@ -396,6 +403,11 @@ public class EN_USLanguageProvider extends LanguageProvider
add("extrabotany.entry.excaliber","Excaliber");
add("extrabotany.page.excaliber0","$(item)Excaliber$(0) could shoot golden mana beam that will automatically trace enemies in a large area.");
add("extrabotany.page.excaliber1","");
add("extrabotany.entry.manasteel_shield", "Mana Shield");
add("extrabotany.page.manasteel_shield0", "Wooden Shield is too easy to damage. Using $(item)Mana Steel$(0) to replace $(item)Iron$(0) may be better.");
add("extrabotany.page.manasteel_shield1", "Circling the square.");
add("extrabotany.page.manasteel_shield2", "Adding $(item)Dirt(0) to the crafting materials will make the shield more compatible with the ground. Right-clicking at the ground will quickly create a wall of $(item)Dirt$(0). However, this makes the shield less durable and lose its original defensive ability.");
add("extrabotany.page.manasteel_shield3", "Is it strong enough?");
add("extrabotany.page.title.example", "An Example");
pantchouliFlower();
@@ -421,6 +433,10 @@ public class EN_USLanguageProvider extends LanguageProvider
add("extrabotany.entry.reikarorchid", "Reikar Lily");
add("extrabotany.page.reikarorchid0", "The $(item)Reikar Lily$(0) turns the tremendous energy of lightning into $(thing)Mana$(0). When a lightning bolt hits nearby, it will generate a great amount of $(thing)Mana$(0) immediately. $(item)Reikar Lily$(0) itself could attract thunder. To absorb the lightning, the flower must not have any $(thing)Mana$(0) stored in it-- otherwise, it will explode.");
add("extrabotany.page.reikarorchid1", "I Choose You!");
add("extrabotany.entry.bloodyenchantress","Bloody Enchantress");
add("extrabotany.page.bloodyenchantress0","The $(item)Bloody Enchantress$(0) creates $(thing)Mana$(0) by consuming nearby creatures' life. Creatures sacrificed to the Bloody Enchantress will not produce any drops or experience.");
add("extrabotany.page.bloodyenchantress1","Every bite will add a effect called Blood Temptation and overlay with higher amplifier one, the mana production will decrease according to the level of Blood Temptation, and the flower will stop working if the total level of Blood Temptation of all the creatures nearby is over a threshold.");
add("extrabotany.page.bloodyenchantress2","The only cure is death.");
add("extrabotany.entry.serenitian", "Serenitian");
add("extrabotany.page.serenitian0", "$(item)Serenitian$(0) could prevent passive flowers nearby at the same floor from fading away, and set the fading progress to zero.");

View File

@@ -96,6 +96,9 @@ public class ZH_CNLanguageProvider extends LanguageProvider
add(ModItems.SUPREME_IGNITE_STONE.get(), "至高火之符石");
add(ModItems.SAGES_MANA_RING.get(), "贤者魔力指环");
add(ModItems.MANASTEEL_SHIELD.get(), "魔力钢盾牌");
add(ModItems.ELEMENT_SHIELD.get(), "源质钢盾牌");
add(ModItems.SHADOW_KATANA.get(), "影刃");
add(ModItems.LIVINGWOOD_CROSSBOW.get(), "活木弩");
add(ModItems.TRUE_SHADOW_KATANA.get(), "真·影刃");
@@ -170,6 +173,9 @@ public class ZH_CNLanguageProvider extends LanguageProvider
add(ModSubtiles.reikarorchid, "雷卡兰");
add(ModSubtiles.reikarorchidFloating, "浮空雷卡兰");
add(ModSubtiles.reikarorchid.getDescriptionId() + ".reference", "游戏崩溃");
add(ModSubtiles.bloodyenchantress, "鲜血妖姬");
add(ModSubtiles.bloodyenchantressFloating, "浮空鲜血妖姬");
add(ModSubtiles.bloodyenchantress.getDescriptionId() + ".reference", "用鲜血和暗影缔结契约吧");
add(ModSubtiles.serenitian, "永寂龙胆");
add(ModSubtiles.serenitianFloating, "浮空永寂龙胆");
@@ -192,9 +198,11 @@ public class ZH_CNLanguageProvider extends LanguageProvider
prefixAdvancement(LibAdvancementNames.SHADOW_WARRIOR, "Crazy ∞ nighT", "装备一套暗影武士");
prefixAdvancement(LibAdvancementNames.GOBLIN_SLAYER, "Befall", "装备一套哥布林杀手");
prefixAdvancement(LibAdvancementNames.MIKU, "Cat's Dance", "装备一套星空歌姬");
prefixAdvancement(LibAdvancementNames.BLOODY_ENCHANTRESS_USE, "Sweet Devil", "将自己沐浴在血海中");
prefixAdvancement(LibAdvancementNames.MAID, "Drug Of Gold", "装备一套昴星团战斗女仆");
prefixAdvancement(LibAdvancementNames.SHOOTING_GUARDIAN, "CONNECT", "装备一套银翼护卫");
prefixAdvancement(LibAdvancementNames.ROD_OF_DISCORD_CRAFT, "不是Discord", "合成不谐传送杖");
@@ -404,6 +412,11 @@ public class ZH_CNLanguageProvider extends LanguageProvider
add("extrabotany.entry.mastermanaring", "大师魔力之戒");
add("extrabotany.page.mastermanaring0", "$(item)大师魔力之戒$(0)能够储存近乎无限的魔力。");
add("extrabotany.page.mastermanaring1", "蛋糕是个谎言。");
add("extrabotany.entry.manasteel_shield", "魔力盾牌");
add("extrabotany.page.manasteel_shield0", "普通的盾牌实在是太容易损坏了。使用$(item)魔力钢锭$(0)代替$(item)铁锭$(0)可能会更好一些。");
add("extrabotany.page.manasteel_shield1", "化方为圆。");
add("extrabotany.page.manasteel_shield2", "在制作材料中加入$(item)泥土(0)会让盾牌和大地的亲和能力更强,右击地面可以迅速创建一堵土墙。不幸的是,这让盾牌的耐久显著降低了,并且失去了普通的防御能力。");
add("extrabotany.page.manasteel_shield3", "它会掉渣吗。");
pantchouliFlower();
}
@@ -427,6 +440,11 @@ public class ZH_CNLanguageProvider extends LanguageProvider
add("extrabotany.entry.reikarorchid", "雷卡兰");
add("extrabotany.page.reikarorchid0", "$(item)雷卡兰$(0)在无魔力时可以将闪电的巨大能量转化为$(thing)魔力$(0),每当有闪电劈在其附近时,就会立刻产出巨大$(thing)魔力$(0),雷卡兰本身也具有一定的雷电吸引能力。若$(item)雷卡兰$(0)中储存有$(thing)魔力$(0),则无法吸收闪电并且会引发爆炸。");
add("extrabotany.page.reikarorchid1", "就决定是你了!");
add("extrabotany.entry.bloodyenchantress", "鲜血妖姬");
add("extrabotany.page.bloodyenchantress0", "$(item)鲜血妖姬$(0)能够将生物的生命值转化为$(thing)魔力$(0),一旦有生物在其附近就会开始$(thing)魔力$(0)的转化,效率较为可观。需要注意的是通过这种方式献祭的生物不会有任何掉落。");
add("extrabotany.page.bloodyenchantress1", "每次噬咬都会给对方添加血之诱惑效果并不断叠加,每层效果都会降低花的产魔,并且周围生物血之诱惑效果等级总和超过一定值时会停止工作。");
add("extrabotany.page.bloodyenchantress2", "死亡是唯一的解药。");
add("extrabotany.entry.serenitian", "永寂龙胆");
add("extrabotany.page.serenitian0", "$(item)永寂龙胆$(0)可以使周围同一平面上的被动产能花停止枯萎的进程,并使进程归零。");
add("extrabotany.page.serenitian1", "事事皆虚空");

View File

@@ -446,7 +446,7 @@ public class ModCraftingTableRecipes extends RecipeProvider
.pattern(" x ")
.define('x', vazkii.botania.common.item.ModItems.dreamwoodTwig)
.define('b', ModItems.HERO_MEDAL.get())
.define('a', vazkii.botania.common.item.ModItems.terrasteelBoots)
.define('a', vazkii.botania.common.item.ModItems.terraSword)
.group(MODID)
.unlockedBy("hero_medal", InventoryChangeTrigger.TriggerInstance.hasItems(ModItems.HERO_MEDAL.get()))
.save(consumer, LibItemNames.EXCALIBER);
@@ -461,6 +461,34 @@ public class ModCraftingTableRecipes extends RecipeProvider
.group(MODID)
.unlockedBy("orichalcos", InventoryChangeTrigger.TriggerInstance.hasItems(ModItems.ORICHALCOS.get()))
.save(consumer, LibItemNames.FAILNAUGHT);
ShapedRecipeBuilder.shaped(ModItems.DIRT_SHIELD.get())
.pattern("b#b")
.pattern("bab")
.pattern("bbb")
.define('#', vazkii.botania.common.item.ModItems.manaSteel)
.define('a', Items.SHIELD)
.define('b', Items.DIRT)
.group(MODID)
.unlockedBy("shield", InventoryChangeTrigger.TriggerInstance.hasItems(Items.SHIELD))
.save(consumer, LibItemNames.DIRT_SHIELD);
ShapedRecipeBuilder.shaped(ModItems.MANASTEEL_SHIELD.get())
.pattern(" # ")
.pattern("#a#")
.pattern(" # ")
.define('#', vazkii.botania.common.item.ModItems.manaSteel)
.define('a', Items.SHIELD)
.group(MODID)
.unlockedBy("shield", InventoryChangeTrigger.TriggerInstance.hasItems(vazkii.botania.common.item.ModItems.manaSteel))
.save(consumer, LibItemNames.MANASTEEL_SHIELD);
ShapedRecipeBuilder.shaped(ModItems.ELEMENT_SHIELD.get())
.pattern(" # ")
.pattern("#a#")
.pattern(" # ")
.define('#', vazkii.botania.common.item.ModItems.elementium)
.define('a', Items.SHIELD)
.group(MODID)
.unlockedBy("shield", InventoryChangeTrigger.TriggerInstance.hasItems(vazkii.botania.common.item.ModItems.elementium))
.save(consumer, LibItemNames.ELEMENT_SHIELD);
}
private void armorRecipes(Consumer<FinishedRecipe> consumer)

View File

@@ -3,12 +3,16 @@ package chick.extrabotany.forge.client.model;
import chick.extrabotany.ExtraBotany;
import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.client.resources.model.Material;
import net.minecraft.client.resources.model.ModelBakery;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.inventory.InventoryMenu;
import net.minecraftforge.client.event.ModelBakeEvent;
import net.minecraftforge.client.event.ModelRegistryEvent;
import vazkii.botania.client.model.GunModel;
import vazkii.botania.mixin.client.AccessorModelBakery;
import java.util.Map;
import java.util.Set;
import static net.minecraftforge.client.model.ForgeModelBakery.addSpecialModel;
@@ -54,6 +58,9 @@ public class MiscellaneousIcons
public void onModelBake(ModelBakeEvent evt)
{
onItemModelBake(evt.getModelLoader(), evt.getModelRegistry());
//projectiles
for (int i = 0; i < firstFractalWeaponModels.length; i++)
{
firstFractalWeaponModels[i] = evt.getModelRegistry().get(new ResourceLocation(ExtraBotany.MODID, "icon/sworddomain_" + i));
@@ -70,7 +77,18 @@ public class MiscellaneousIcons
coregodModel[0] = evt.getModelRegistry().get(new ResourceLocation(ExtraBotany.MODID, "icon/wing_coregod"));
// butterflyprojectileModel[0] = evt.getModelRegistry().get(new ResourceLocation(ExtraBotany.MODID, "icon/butterflyprojectile"));
}
private void onItemModelBake(ModelBakery loader, Map<ResourceLocation, BakedModel> map)
{
/*
ModelResourceLocation key = new ModelResourceLocation("botania:mana_gun", "inventory");
BakedModel originalModel = map.get(key);
ModelResourceLocation clipKey = new ModelResourceLocation("botania:mana_gun_clip", "inventory");
BakedModel originalModelClip = map.get(clipKey);
map.put(key, new GunModel(loader, originalModel, originalModelClip));
*/
}
private static Material mainAtlas(String name)
{
return new Material(InventoryMenu.BLOCK_ATLAS, new ResourceLocation(ExtraBotany.MODID, name));

View File

@@ -1,6 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "extrabotany:item/trueshadowkatana"
"layer0": "extrabotany:item/true_shadow_katana"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "extrabotany:item/trueterrablade"
"layer0": "extrabotany:item/true_terra_blade"
}
}

View File

@@ -0,0 +1,132 @@
{
"parent": "extrabotany:item/manasteel_shield_base",
"display": {
"thirdperson_righthand": {
"rotation": [
0,
90,
0
],
"translation": [
3,
-2,
4
],
"scale": [
1.75,
1.75,
1.75
]
},
"thirdperson_lefthand": {
"rotation": [
0,
90,
0
],
"translation": [
3,
-2,
4
],
"scale": [
1.75,
1.75,
1.75
]
},
"firstperson_righthand": {
"rotation": [
0,
180,
5
],
"translation": [
2,
-10,
2
],
"scale": [
2.25,
2.25,
2.25
]
},
"firstperson_lefthand": {
"rotation": [
0,
180,
5
],
"translation": [
2,
-10,
2
],
"scale": [
2.25,
2.25,
2.25
]
},
"gui": {
"rotation": [
15,
-25,
-5
],
"translation": [
0,
0,
0
],
"scale": [
1,
1,
1
]
},
"fixed": {
"rotation": [
0,
180,
0
],
"translation": [
-2,
4,
-5
],
"scale": [
0.5,
0.5,
0.5
]
},
"ground": {
"rotation": [
0,
0,
0
],
"translation": [
0,
0,
2
],
"scale": [
0.25,
0.25,
0.25
]
}
},
"overrides": [
{
"predicate": {
"blocking": 1
},
"model": "extrabotany:item/manasteel_shield_blocking"
}
]
}

View File

@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "extrabotany:item/manasteel_shield"
}
}

View File

@@ -0,0 +1,30 @@
{
"parent": "extrabotany:item/manasteel_shield",
"display": {
"thirdperson_righthand": {
"rotation": [ 45, 135, 0 ],
"translation": [ 2, -4, -2 ],
"scale": [ 1.75, 1.75, 1.75 ]
},
"thirdperson_lefthand": {
"rotation": [ 45, 135, 0 ],
"translation": [ 2, -4, -2 ],
"scale": [ 1.75, 1.75, 1.75 ]
},
"firstperson_righthand": {
"rotation": [ 0, 180, -5 ],
"translation": [ -3, -5, 1 ],
"scale": [ 2.25, 2.25, 2.25 ]
},
"firstperson_lefthand": {
"rotation": [ 0, 180, -5 ],
"translation": [ -3, -5, 1 ],
"scale": [ 2.25, 2.25, 2.25 ]
},
"gui": {
"rotation": [ 15, -25, -5 ],
"translation": [ 0, 0, 0 ],
"scale": [ 1, 1, 1 ]
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -0,0 +1,18 @@
{
"name": "extrabotany.entry.elementium_shield",
"category": "botania:tools",
"icon": "extrabotany:elementium_shield",
"entry_color": "4169E1",
"advancement": "botania:main/elf_lexicon_pickup",
"pages": [
{
"type": "text",
"text": "extrabotany.page.elementium_shield0"
},
{
"type": "crafting",
"text": "extrabotany.page.elementium_shield1",
"recipe": "minecraft:elementium_shield"
}
]
}

View File

@@ -0,0 +1,27 @@
{
"name": "extrabotany.entry.manasteel_shield",
"category": "botania:tools",
"icon": "extrabotany:manasteel_shield",
"entry_color": "4169E1",
"advancement": "botania:main/mana_pool_pickup_lexicon",
"pages": [
{
"type": "text",
"text": "extrabotany.page.manasteel_shield0"
},
{
"type": "crafting",
"text": "extrabotany.page.manasteel_shield1",
"recipe": "minecraft:manasteel_shield"
},
{
"type": "text",
"text": "extrabotany.page.manasteel_shield2"
},
{
"type": "crafting",
"text": "extrabotany.page.manasteel_shield3",
"recipe": "minecraft:dirt_shield"
}
]
}