mirror of
https://github.com/GoldChick/ExtraBotany.git
synced 2026-08-19 08:43:27 +08:00
v0.1.4
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "extrabotany:block/reikar_orchid"
|
||||
"layer0": "extrabotany:block/bloody_enchantress"
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@
|
||||
"extrabotany:omni_violet",
|
||||
"extrabotany:gemini_orchid",
|
||||
"extrabotany:bell_flower",
|
||||
"extrabotany:reikar_orchid"
|
||||
"extrabotany:reikar_orchid",
|
||||
"extrabotany:bloody_enchantress"
|
||||
]
|
||||
}
|
||||
@@ -6,6 +6,7 @@
|
||||
"extrabotany:omni_violet",
|
||||
"extrabotany:gemini_orchid",
|
||||
"extrabotany:bell_flower",
|
||||
"extrabotany:reikar_orchid"
|
||||
"extrabotany:reikar_orchid",
|
||||
"extrabotany:bloody_enchantress"
|
||||
]
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "extrabotany:main/nightmarefuel_eat",
|
||||
"parent": "extrabotany:main/thechaos_craft",
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "extrabotany:maid_chest",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "extrabotany:main/nightmarefuel_eat",
|
||||
"parent": "extrabotany:main/thechaos_craft",
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "extrabotany:goblinslayer_chest",
|
||||
|
||||
@@ -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"
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -17,7 +17,7 @@
|
||||
"hidden": false
|
||||
},
|
||||
"criteria": {
|
||||
"rodofdiscord": {
|
||||
"rodofdiscord_craft": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
@@ -32,7 +32,7 @@
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"rodofdiscord"
|
||||
"rodofdiscord_craft"
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
"item": "extrabotany:hero_medal"
|
||||
},
|
||||
"a": {
|
||||
"item": "botania:terrasteel_boots"
|
||||
"item": "botania:terra_sword"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"));
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"));
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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.");
|
||||
|
||||
@@ -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", "事事皆虚空");
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "extrabotany:item/trueshadowkatana"
|
||||
"layer0": "extrabotany:item/true_shadow_katana"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "extrabotany:item/trueterrablade"
|
||||
"layer0": "extrabotany:item/true_terra_blade"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "extrabotany:item/manasteel_shield"
|
||||
}
|
||||
}
|
||||
@@ -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 |
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user