From 8fd97223edc2f5f74fd680a0928b160423ee5d75 Mon Sep 17 00:00:00 2001 From: LingVarr Date: Fri, 2 Feb 2024 22:01:10 +1100 Subject: [PATCH 01/52] Fix some typos in en_us.json I hope those were typos and not some special irish grammar. --- .../resources/assets/unicopia/lang/en_us.json | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index 90e2a220..9c8f426f 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -817,7 +817,7 @@ "gui.unicopia.spellbook.chapter.introduction.p3.1.body": "Unusual Rocks", "gui.unicopia.spellbook.chapter.introduction.p3.2.body": "These 'Gemstones' as the locals call them are a common material found around the world. Farm-Ponies dig them up all the time and consider it a local delicacy, but I believe these stones are capable of a lot more than they let on.", "gui.unicopia.spellbook.chapter.introduction.p4.title": "Gemstones", - "gui.unicopia.spellbook.chapter.introduction.p4.1.body": "My research is still incomplete but I may have stumbled upon something. These stones have high magical potentia! More than I've ever seen before!", + "gui.unicopia.spellbook.chapter.introduction.p4.1.body": "My research is still incomplete but I may have stumbled upon something. These stones have high magical potential! More than I've ever seen before!", "gui.unicopia.spellbook.chapter.introduction.p4.2.body": "§mLuna wants-§r I'm going to keep experimenting. Hooves-crossed, I'll update you tomorrow if I find anything.", "gui.unicopia.spellbook.chapter.introduction.p5.title": "2nd Mare '12", "gui.unicopia.spellbook.chapter.introduction.p5.1.body": "It worked! Holy §kCelestia's ass-cheeks'§r it actually worked!", @@ -828,27 +828,27 @@ "gui.unicopia.spellbook.chapter.introduction.p6.2.body": "Put a raw gem-it mustn't have any spells already-in the middle and place materials around it in the slots I marked.", "gui.unicopia.spellbook.chapter.introduction.p6.3.body": "Each material gives different effects and putting them closer enhances their influence on the gem.", "gui.unicopia.spellbook.chapter.introduction.p7.title": "3rd Mare '12", - "gui.unicopia.spellbook.chapter.introduction.p7.1.body": "I'm going to start documenting spell combinations as I find them. Some of them are pretty obvious, like gem + fire = fire gem", + "gui.unicopia.spellbook.chapter.introduction.p7.1.body": "I'm going to start documenting spell combinations as I find them. Some of them are pretty obvious, like gem + fire = fire gem.", "gui.unicopia.spellbook.chapter.introduction.p7.2.body": "But some are less clear. For instance, what traits would an egg add? Much experimenting is needed. Oh, I'm giddy with excitement!", "gui.unicopia.spellbook.chapter.introduction.p8.title": "Botched Gems", - "gui.unicopia.spellbook.chapter.introduction.p8.1.body": "Not every combination works. What's dissapointing is now I have all these useless stones piling up in my chambers.", + "gui.unicopia.spellbook.chapter.introduction.p8.1.body": "Not every combination works. What's disappointing is now I have all these useless stones piling up in my chambers.", "gui.unicopia.spellbook.chapter.introduction.p8.2.body": "I don't know what to do with them. They're not edible. At least the locals don't think so.", "gui.unicopia.spellbook.chapter.introduction.p8.3.body": "They do still have the traits I gave them, so maybe I can find a use other than building a rock-fort with little Luna...", "gui.unicopia.spellbook.chapter.introduction.p9.title": "13th Mare '12", - "gui.unicopia.spellbook.chapter.introduction.p9.1.body": "Sorry for the long delay in updates. I've been hard at work researching different spells and desciding my approach.", - "gui.unicopia.spellbook.chapter.introduction.p9.2.body": "Fire is becomg a very interesting aspect, what with traits for it being readily available.", + "gui.unicopia.spellbook.chapter.introduction.p9.1.body": "Sorry for the long delay in updates. I've been hard at work researching different spells and deciding my approach.", + "gui.unicopia.spellbook.chapter.introduction.p9.2.body": "Fire becomes a very interesting aspect, what with traits for it being readily available.", "gui.unicopia.spellbook.chapter.fire.p1.title": "Ch.2 Fire Magic", "gui.unicopia.spellbook.chapter.fire.p2.title": "9th Jum '12", "gui.unicopia.spellbook.chapter.fire.p2.1.body": "It took me longer than I anticipated, nearly a month! Hah! But I present to you, dear reader, my findings for the first elementary form of magic: FIRE.", "gui.unicopia.spellbook.chapter.fire.p2.2.body": "It's a working title, okay?", - "gui.unicopia.spellbook.chapter.fire.scorch.1.body": "Simple and to the point, Scorch does exactly what you'd think. By embuing a gem with the fire trait, one can indute it to glow and become hot to the touch.", + "gui.unicopia.spellbook.chapter.fire.scorch.1.body": "Simple and to the point, Scorch does exactly what you'd think. By imbuing a gem with the fire trait, one can induce it to glow and become hot to the touch.", "gui.unicopia.spellbook.chapter.fire.scorch.2.body": "The effect becomes stronger the more fire you load it with, but take care not to overload it, as it may become volatile.", "gui.unicopia.spellbook.chapter.fire.flame.1.body": "Creates a heating affect up to a radius of 3 hooves from any surfaces it touches.", "gui.unicopia.spellbook.chapter.fire.flame.2.body": "Useful when one needs a flame in a hurry or to fend off a wild wendigo.", "gui.unicopia.spellbook.chapter.fire.p5.title": "10th Jum '12", "gui.unicopia.spellbook.chapter.fire.p5.1.body": "Progress?", - "gui.unicopia.spellbook.chapter.fire.p5.2.body": "I've managed to improve the previous spell somewhat, but there is still something lacking. It's all very orderly. Predicatable.", + "gui.unicopia.spellbook.chapter.fire.p5.2.body": "I've managed to improve the previous spell somewhat, but there is still something lacking. It's all very orderly. Predictable.", "gui.unicopia.spellbook.chapter.fire.p5.3.body": "Luna has suggested adding more fire, but I'm weary to create more scorch marks on the tower. Faust save me if anypony were to find out what I've been doing...", "gui.unicopia.spellbook.chapter.fire.p6.title": "Fire Magic III", "gui.unicopia.spellbook.chapter.fire.p6.1.body": "Focusing Magic", @@ -887,7 +887,7 @@ "gui.unicopia.spellbook.chapter.fire.p16.1.body": "By adding extra traits, I was able to slightly modify the shield to allow or deny certain parties into the effect range.", "gui.unicopia.spellbook.chapter.fire.p16.2.body": "+ add life trait --> all animals may enter\n+ add blood trait --> all monsters may enter\n+ add ice trait --> all ponies may enter", "gui.unicopia.spellbook.chapter.fire.p17.title": "Protection III", - "gui.unicopia.spellbook.chapter.fire.p17.1.body": "+ add genorosity trait to attach the spell to a location rather than yourself", + "gui.unicopia.spellbook.chapter.fire.p17.1.body": "+ add generosity trait to attach the spell to a location rather than yourself", "gui.unicopia.spellbook.chapter.fire.p18.title": "Scrap: 9th Jum '12", "gui.unicopia.spellbook.chapter.fire.p18.1.body": "Fire magic has proven to a be a little more... unpredictable than anticipated. Every time I feel like I'm making progress it finds a way to set me back.", "gui.unicopia.spellbook.chapter.fire.p18.2.body": "I can't stop now, though...I'm told the situation in the west is growing dire. They have asked me to pick up the pace and produce something we can use to get the upper hoof against the §kChangeling Storm§r.", @@ -899,15 +899,15 @@ "gui.unicopia.spellbook.chapter.ice.frost.1.body": "Creates a chilling affect up to a radius of 3 hooves from any surfaces it touches.", "gui.unicopia.spellbook.chapter.ice.frost.2.body": "Will sap energy out of the immediate environment causing a phase change.", "gui.unicopia.spellbook.chapter.ice.p4.title": "Chilling Breath", - "gui.unicopia.spellbook.chapter.ice.p4.1.body": "Alters the ability of certain objects to distenguish between hot and cold.", - "gui.unicopia.spellbook.chapter.ice.p4.2.body": "This is a very weak spell, but when used with a boat can be exceedingly useful to get out of a sticky stituation.", + "gui.unicopia.spellbook.chapter.ice.p4.1.body": "Alters the ability of certain objects to distinguish between hot and cold.", + "gui.unicopia.spellbook.chapter.ice.p4.2.body": "This is a very weak spell, but when used with a boat can be exceedingly useful to get out of a sticky situation.", "gui.unicopia.spellbook.chapter.ice.p5.title": "5th Trot '12", "gui.unicopia.spellbook.chapter.ice.p5.1.body": "The village-ponies had a bonfire last night. I could tell by the strong smell of burning wood and the sound of music.", "gui.unicopia.spellbook.chapter.ice.p5.2.body": "Luna, bless her heart, insisted that we take a break to join them. She had to practically drag me away from my desk to do it.", "gui.unicopia.spellbook.chapter.ice.p5.3.body": "What can I say? She's a light in my heart.", "gui.unicopia.spellbook.chapter.ice.p6.title": "Bonfire", "gui.unicopia.spellbook.chapter.ice.p6.1.body": "We arrived at the bonfire, and of course the first thing they had was a mug of ale in my hoof. I didn't drink it, of course-alcohol is a poison to me. I'd be sick as a mule.", - "gui.unicopia.spellbook.chapter.ice.p6.2.body": "Luna enjoyed it-the bonfire, not the ale!-though. She made immediate friends with one of the town's fillies, Celly or something. They played the whole night.", + "gui.unicopia.spellbook.chapter.ice.p6.2.body": "Luna enjoyed it - the bonfire, not the ale! - though. She made immediate friends with one of the town's fillies, Celly or something. They played the whole night.", "gui.unicopia.spellbook.chapter.ice.p7.title": "Bonfire II", "gui.unicopia.spellbook.chapter.ice.p7.1.body": "On the way back Luna was telling me of the stories her friend told her. The town has a lot of legends, as to be expected.", "gui.unicopia.spellbook.chapter.ice.p7.2.body": "One of them was about a scary old warlock who lived in a haunted tower at the edge of town. There's no mystery who that was about.", @@ -920,11 +920,11 @@ "gui.unicopia.spellbook.chapter.ice.light.2.body": "Dancing Lights will summon a cluster of glowing orbs to illuminate your path.", "gui.unicopia.spellbook.chapter.ice.light.modifier.1": "* By adding more focus you can extend the duration of the spell", "gui.unicopia.spellbook.chapter.ice.p10.title": "12th Trot '12", - "gui.unicopia.spellbook.chapter.ice.p10.1.body": "There were more noises last night, this time a lot closer. The town's dimeaner has also changed. A lot of the ponies I see that are normally very cheerful have become sullen.", + "gui.unicopia.spellbook.chapter.ice.p10.1.body": "There were more noises last night, this time a lot closer. The town's demeanor has also changed. A lot of the ponies I see that are normally very cheerful have become sullen.", "gui.unicopia.spellbook.chapter.ice.p10.2.body": "Something has happened, that much is obvious, though few will tell me what.", "gui.unicopia.spellbook.chapter.ice.p11.title": "15th Trot '12", "gui.unicopia.spellbook.chapter.ice.p11.1.body": "Winter is nearly upon us now. I just saw the earliest flakes of snow outside this window as I write.", - "gui.unicopia.spellbook.chapter.ice.p11.2.body": "The locals have begun their winter unwrapping and though the usual grumblings about frozen fields abound, I can tell there is still §ka sense of uneasyness§r.", + "gui.unicopia.spellbook.chapter.ice.p11.2.body": "The locals have begun their winter unwrapping and though the usual grumblings about frozen fields abound, I can tell there is still §ka sense of uneasiness§r.", "gui.unicopia.spellbook.chapter.ice.p12.title": "17th Trot '12", "gui.unicopia.spellbook.chapter.ice.p12.1.body": "It's rather surprising how quickly the weather starts to change around here. Everything in Catermoore is so very well controlled, with the spells we use to manage temperature and the pegasi assisting with the weather, we sometimes forget what wild seasons can be like.", "gui.unicopia.spellbook.chapter.ice.p12.2.body": "But these Earth Ponies don't ave any of those luxuries. They have to deal with the weather as it comes.", @@ -944,17 +944,17 @@ "gui.unicopia.spellbook.chapter.ice.p16.4.body": "I tell you what, I wish that were the case. What I actually found was much, much, worse, and even thinking of it makes my blood run cold anew.", "gui.unicopia.spellbook.chapter.ice.p17.title": "Frozen Lake IV", "gui.unicopia.spellbook.chapter.ice.p17.1.body": "When we were getting near the lake from earlier, I saw a large crowd growing along its banks. Ladders and emergency equipment were out and scattered on the shoreline and a loud uproar had erupted about what to do.", - "gui.unicopia.spellbook.chapter.ice.p17.2.body": "Getting closer, though, I realised what had happened soon enough--and I made a beeline for for the water-- The ice was broken and the lake was freezing cold.", + "gui.unicopia.spellbook.chapter.ice.p17.2.body": "Getting closer, though, I realised what had happened soon enough--and I made a beeline for the water-- The ice was broken and the lake was freezing cold.", "gui.unicopia.spellbook.chapter.ice.p17.3.body": "I jumped in anyway, pulling my saddlebags open with my magic, and grabbed the last of the gems i had with my and cast the unfinished spell it had inside.", "gui.unicopia.spellbook.chapter.ice.p17.4.body": "The waters receded away from me as I galloped down the slop and across the drying lake bed and dove to catch the colts that had fallen in.", "gui.unicopia.spellbook.chapter.ice.p18.title": "Frozen Lake V", - "gui.unicopia.spellbook.chapter.ice.p18.1.body": "They were freezing and wet, even as the spell's effects worked to pull the water away from their coats, we carred them up to the shore and got them covered in blankets with hot drinks in their hooves.", + "gui.unicopia.spellbook.chapter.ice.p18.1.body": "They were freezing and wet, even as the spell's effects worked to pull the water away from their coats, we carried them up to the shore and got them covered in blankets with hot drinks in their hooves.", "gui.unicopia.spellbook.chapter.ice.p18.2.body": "The townponies insisted on giving me a blanket of my own, even though I hadn't - couldn't have- gotten wet.", "gui.unicopia.spellbook.chapter.ice.p18.3.body": "It was only much later, when the shock began to wear of and I was feeling my head start to pound that I remembered to cancel the spell.", "gui.unicopia.spellbook.chapter.ice.p18.4.body": "Thank the princesses we got there in time.", "gui.unicopia.spellbook.chapter.ice.p19.title": "18th Trot '12", "gui.unicopia.spellbook.chapter.ice.p19.1.body": "No sign of the colts this morning, I assume they won't be coming near this lake for a long while. The water had frozen again in the night and looked peaceful.", - "gui.unicopia.spellbook.chapter.ice.p19.2.body": "The unseasy feeling I had yesterday was gone today so I was able to relax on its banks with Luna. She didn't want to swim in this lake any more, and I don't blame her. I wouldn't either.", + "gui.unicopia.spellbook.chapter.ice.p19.2.body": "The uneasy feeling I had yesterday was gone today so I was able to relax on its banks with Luna. She didn't want to swim in this lake any more, and I don't blame her. I wouldn't either.", "gui.unicopia.spellbook.chapter.ice.p20.title": "Sandcastle", "gui.unicopia.spellbook.chapter.ice.p20.1.body": "Luna started a sand castle, and whilst she was busy with that I decided to sketch out the details of my new spell.", "gui.unicopia.spellbook.chapter.ice.hydrophobic.1.body": "By combining the abilities of a shield spell with that of the frost gem, the results are... Admittedly strange.", @@ -968,17 +968,17 @@ "gui.unicopia.spellbook.chapter.air.p1.2.body": "So as a little treat, we've decided to go on a little trip to the Grand Marepid Falls to visit my friend, Commander Hurricane.", "gui.unicopia.spellbook.chapter.air.p1.3.body": "The Commander has also very graciously allowed me access to her library to continue my studies. I'm excited to see what combining unicorn and pegasus magics might bring.", "gui.unicopia.spellbook.chapter.air.p3.title": "2nd Hoof '12", - "gui.unicopia.spellbook.chapter.air.p3.1.body": "Apologies for the, um, unusual entry in the appendices for today. It appears some little gremlin managed to obscond with my journal.", + "gui.unicopia.spellbook.chapter.air.p3.1.body": "Apologies for the, um, unusual entry in the appendices for today. It appears some little gremlin managed to abscond with my journal.", "gui.unicopia.spellbook.chapter.air.p4.title": "Air Magic I", "gui.unicopia.spellbook.chapter.air.p4.1.body": "Pegasus Magic", "gui.unicopia.spellbook.chapter.air.p4.2.body": "Air magic is to pegasi like fire is to unicorns. They're both equally hard to control but where fire is primarily focused around force, destruction, or protection, air is all about flexibility and free motion.", "gui.unicopia.spellbook.chapter.air.p4.3.body": "Command Hurricane has very kindly given me some tips on how to identify this trait in everyday objects.", "gui.unicopia.spellbook.chapter.air.p4.4.body": "Anything relating to flight, or that originated from creatures that fly, or that comes from up above can be considered a source of the air trait.", "gui.unicopia.spellbook.chapter.air.p4.5.body": "Eg. Feathers.", - "gui.unicopia.spellbook.chapter.air.catapult.1.body": "This is a straightforward application of a unicorn's telekineses. The catapult gem allows a caster to grab any block or creature and fling them into the air.", + "gui.unicopia.spellbook.chapter.air.catapult.1.body": "This is a straightforward application of a unicorn's telekinesis. The catapult gem allows a caster to grab any block or creature and fling them into the air.", "gui.unicopia.spellbook.chapter.air.catapult.2.body": "Use it again on something already thrown to push it away from you.", "gui.unicopia.spellbook.chapter.air.catapult.modifier.1": "* One can add apply more force by adding the strength trait", - "gui.unicopia.spellbook.chapter.air.bubble.1.body": "A defensive and utility spell. Bubble will trap the target in a giant soap bubble, rendering them defensless.", + "gui.unicopia.spellbook.chapter.air.bubble.1.body": "A defensive and utility spell. Bubble will trap the target in a giant soap bubble, rendering them defenseless.", "gui.unicopia.spellbook.chapter.air.bubble.2.body": "Use it again will pop the bubble.", "gui.unicopia.spellbook.chapter.air.p7.title": "8th Hoof '12", "gui.unicopia.spellbook.chapter.air.p7.1.body": "I thought I would take a short moment to write down an entry to record my findings whilst Luna and The Commander are out.", @@ -994,13 +994,13 @@ "gui.unicopia.spellbook.chapter.air.feather_fall.1.body": "Expanding on the defensive capabilities of the protection gem, I've attempted to extend its advantages to party members.", "gui.unicopia.spellbook.chapter.air.feather_fall.2.body": "This one is unusual because of its complexity, but in theory it should allow one to slow their own and friends' descent.", "gui.unicopia.spellbook.chapter.air.p12.title": "10th Hoof '12", - "gui.unicopia.spellbook.chapter.air.p12.1.body": "Went to dinner with Commander Huricane and Luna. We got to talking about architecture and Hurricane mentioned the Taz Marehall.", + "gui.unicopia.spellbook.chapter.air.p12.1.body": "Went to dinner with Commander Hurricane and Luna. We got to talking about architecture and Hurricane mentioned the Taz Marehall.", "gui.unicopia.spellbook.chapter.air.p12.2.body": "Luna thought it was a rather funny name of a castle. I had to remind her that not all cultures are the same.", "gui.unicopia.spellbook.chapter.air.p13.title": "21st Hoof '12", - "gui.unicopia.spellbook.chapter.air.p13.1.body": "I'm writing this on the eve of my return to §kTrotholm§r. Though my time in Cloudopolis has been elightening, I look forward to a return to the familiar surroundings and a proper rest in my own solid bed.", + "gui.unicopia.spellbook.chapter.air.p13.1.body": "I'm writing this on the eve of my return to §kTrotholm§r. Though my time in Cloudopolis has been enlightening, I look forward to a return to the familiar surroundings and a proper rest in my own solid bed.", "gui.unicopia.spellbook.chapter.air.p13.2.body": "I cannot say the same for Luna, though. She is currently sitting on my bed beside me pouting over every little thing she sees me put into my saddlebag.", "gui.unicopia.spellbook.chapter.air.p14.title": "Returning Home", - "gui.unicopia.spellbook.chapter.air.p14.1.body": "She keeps insisting that we stay a little longer §mto hang out with that pegasus colt I saw her with the other day, no doubt", + "gui.unicopia.spellbook.chapter.air.p14.1.body": "She keeps insisting that we stay a little longer §mto hang out with that pegasus colt I saw her with the other day, no doubt.", "gui.unicopia.spellbook.chapter.air.p15.title": "22nd Hoof '12", "gui.unicopia.spellbook.chapter.air.p15.1.body": "As we're flying above the mountain tops, I can't help but feel in awe the beauty that §kMother Faust§r has given us.", "gui.unicopia.spellbook.chapter.air.p15.2.body": "I had to spend the whole time keeping Luna from falling out, and of course answering questions about all the different kinds of clouds. Thankfully, the balloon operator was there to help with the subtleties.", @@ -1026,14 +1026,14 @@ "gui.unicopia.spellbook.chapter.dark_magic.p6.3.body": "Apparently it was over some dispute with Celly, I don't really remember, but it culminated in Luna sneaking into the study whilst I was out to get some bread.", "gui.unicopia.spellbook.chapter.dark_magic.p7.title": "Arcane Attraction II", "gui.unicopia.spellbook.chapter.dark_magic.p7.1.body": "This isn't really about that, though. She's been scolded and sent back to her room, however as I was cleaning up the mess she'd made I noticed something in the piles of gems.", - "gui.unicopia.spellbook.chapter.dark_magic.p7.2.body": "It's hard to describe, really. This is still distincly an attraction gem, but it's different.", - "gui.unicopia.spellbook.chapter.dark_magic.p7.3.body": "It has traits I hadn't considered before, and the way it behaves... ", + "gui.unicopia.spellbook.chapter.dark_magic.p7.2.body": "It's hard to describe, really. This is still distinctly an attraction gem, but it's different.", + "gui.unicopia.spellbook.chapter.dark_magic.p7.3.body": "It has traits I hadn't considered before, and the way it behaves...", "gui.unicopia.spellbook.chapter.dark_magic.p8.title": "Arcane Attraction II Cont.", "gui.unicopia.spellbook.chapter.dark_magic.p8.1.body": "Well I'll leave that up to tomorrow. I'm still tired from everything that's happened this week.", - "gui.unicopia.spellbook.chapter.dark_magic.p8.2.body": ">0 generosity --> ??", + "gui.unicopia.spellbook.chapter.dark_magic.p8.2.body": ">0 generosity --> ???", "gui.unicopia.spellbook.chapter.dark_magic.p8.3.body": ">20 order trait --> ???", "gui.unicopia.spellbook.chapter.dark_magic.p9.title": "20th Slep '12", - "gui.unicopia.spellbook.chapter.dark_magic.p9.1.body": "As per their agreement, the council have sent certain...supplimental materials to aid in the new direction my research is taking. I was a little shocked at first.", + "gui.unicopia.spellbook.chapter.dark_magic.p9.1.body": "As per their agreement, the council have sent certain... supplemental materials to aid in the new direction my research is taking. I was a little shocked at first.", "gui.unicopia.spellbook.chapter.dark_magic.p9.2.body": "This... thing... Whatever it is. Was, rather.", "gui.unicopia.spellbook.chapter.dark_magic.p9.3.body": "Is this really what we're fighting in the west?", "gui.unicopia.spellbook.chapter.dark_magic.p10.title": "21st Slep '12", @@ -1047,7 +1047,7 @@ "gui.unicopia.spellbook.chapter.dark_magic.p11.4.body": "The magic they use is unusual. Not unusual, like what I've been studying. It's unnatural. Wild.", "gui.unicopia.spellbook.chapter.dark_magic.p11.5.body": "There is definitely something I might be able to harness here, but I shudder... Should I?", "gui.unicopia.spellbook.chapter.dark_magic.p11.6.body": "I fear that this may be a line that shouldn't be crossed.", - "gui.unicopia.spellbook.chapter.dark_magic.transformation.1.body": "I've begun by simply harnessing their ability. It's unfocused and hard to control. I can rarely predict what is going to happen, but this gem has very clear transmodrification properties.", + "gui.unicopia.spellbook.chapter.dark_magic.transformation.1.body": "I've begun by simply harnessing their ability. It's unfocused and hard to control. I can rarely predict what is going to happen, but this gem has very clear transmogrification properties.", "gui.unicopia.spellbook.chapter.dark_magic.transformation.2.body": "Throwing this at any creature has the chance to transform it into any other creature.", "gui.unicopia.spellbook.chapter.dark_magic.reveal.1.body": "Dispell Illusion is the first line of defense against transformation/illusion spells.", "gui.unicopia.spellbook.chapter.dark_magic.reveal.2.body": "When cast it will force any nearby disguised changelings in its range to reveal their true form.", @@ -1076,7 +1076,7 @@ "gui.unicopia.spellbook.chapter.dark_magic.p21.1.body": "The locks have been installed, and with the addition of some extra wardings, I'm feeling a little more at ease.", "gui.unicopia.spellbook.chapter.dark_magic.p21.2.body": "The motions at night have all but stopped, though I feel like I can almost hear it at times...", "gui.unicopia.spellbook.chapter.dark_magic.p22.title": "4th Cropt-", - "gui.unicopia.spellbook.chapter.dark_magic.mimic.1.body": "I've been able to tap into some of this strange creature's abilities. There's still a lot to figure out here, but for now I've merely distilled its essense into a gem.", + "gui.unicopia.spellbook.chapter.dark_magic.mimic.1.body": "I've been able to tap into some of this strange creature's abilities. There's still a lot to figure out here, but for now I've merely distilled its essence into a gem.", "gui.unicopia.spellbook.chapter.dark_magic.mimic.modifier.1": "* Add the focus trait to increase the effect's duration", "gui.unicopia.spellbook.chapter.dark_magic.p24.1.body": "There's been a wave of darkness that has come over the town. Nothing's been the same since that gods-forsaken creature arrived.", "gui.unicopia.spellbook.chapter.dark_magic.p24.2.body": "Ponies in town have begun remarking on lack of sleep, and it's showing. Just today I saw a poor stallion walking around in a daze. Bags under his eyes, barely any colour in his cheeks.", @@ -1130,11 +1130,11 @@ "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.2.body": "The Pegasus Amulet is claimed to grant the wearer temporary flight, like a pegasus.", "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.title": "21st Trot '12", "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.3.body": "It was intended as an aide for early unicorn ambassadors to Cloud Heights, but was lost after negotiations broke down.", - "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.1.body": "A precursor to magic staffs, the meadwobrook's staff is an upright support structure commonly used by warlocks during long incantation sessions.", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.1.body": "A precursor to magic staffs, the meadowbrook's staff is an upright support structure commonly used by warlocks during long incantation sessions.", "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.2.body": "It features a twisting and mottled shape with a dense and sturdy core capable of supporting the weight of an average-sized, adult male.", "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.title": "22nd Trot '12", - "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.3.body": "Due to its dense structure and flamability, this object also serves a secondary purpose as an offensive weapon and fuel source should the situation demand.", - "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.4.body": "To use correctly in combat, one must begin by gripping the staff by the narrow end in both hands, followed by a swift swing from above one's head whilst yelling 'Fus Roh DAH!'", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.3.body": "Due to its dense structure and flammability, this object also serves a secondary purpose as an offensive weapon and fuel source should the situation demand.", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.4.body": "To use correctly in combat, one must begin by gripping the staff by the narrow end in both hooves, followed by a swift swing from above one's head whilst yelling 'Fus Roh DAH!'", "gui.unicopia.spellbook.chapter.artefacts.magic_staff.1.body": "Magical aides for non-magical users. Magic staffs work in a similar way to a unicorns horn in that they can be used to channel and harness the innate magic stored within gems.", "gui.unicopia.spellbook.chapter.artefacts.magic_staff.title": "22nd Trot '12", "gui.unicopia.spellbook.chapter.artefacts.magic_staff.2.body": "Not all spells work in the same way, but for those that do, a good staff is an essential tool for any beginner magi.", @@ -1147,7 +1147,7 @@ "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.2.title": "Grogar's Bell II", "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.5.body": "Legend says that after its first bearer, King Grogar, was driven to madness, the bell was stowed far away.", "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.6.body": "beyond most ponies' grasp, guarded inside an ancient city by an unbeatable beast.", - "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.1.body": "Like the crystal heart, little is known of this artefact and thus nothing, not even its existance can be confirmed.", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.1.body": "Like the crystal heart, little is known of this artefact and thus nothing, not even its existence can be confirmed.", "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.title": "23nd Trot '12", "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.2.body": "The alicorn amulet is a powerful force of dark magic created created by an unknown mage as their attempt to create the perfect being.", "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.3.body": "It combines the traits of all races into one powerful form, but it hard to control and addictive in nature. Anyone who uses it quickly becomes reliant on it and few attempt to remove it survive the ordeal.", From 38e2a1c035f9ef7d0c89213a42c8357e137b5835 Mon Sep 17 00:00:00 2001 From: LingVarr Date: Fri, 2 Feb 2024 22:01:54 +1100 Subject: [PATCH 02/52] Update ru_ru.json Spellbook time --- .../resources/assets/unicopia/lang/ru_ru.json | 474 +++++++++++++++++- 1 file changed, 455 insertions(+), 19 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/ru_ru.json b/src/main/resources/assets/unicopia/lang/ru_ru.json index eb31d7f4..918fd93f 100644 --- a/src/main/resources/assets/unicopia/lang/ru_ru.json +++ b/src/main/resources/assets/unicopia/lang/ru_ru.json @@ -44,8 +44,11 @@ "item.unicopia.palm_chest_boat": "Пальмовая лодка с сундуком", "item.unicopia.spellbook": "Книга заклинаний", + "item.unicopia.spectral_clock": "Спектральные часы", + "emi.category.unicopia.spellbook": "Книга заклинаний", "emi.category.unicopia.cloud_shaping": "Формоизменение", + "emi.category.unicopia.growing": "Рост", "item.unicopia.alicorn_badge": "Эмблема аликорна", "item.unicopia.unicorn_badge": "Эмблема единорога", @@ -73,6 +76,7 @@ "item.unicopia.love_bucket": "Ведро любви", "item.unicopia.love_mug": "Кружка любви", + "item.unicopia.plunder_vine": "Чёрная лоза", "item.unicopia.empty_jar": "Стеклянная банка", "item.unicopia.filled_jar": "%s в банке", "item.unicopia.rain_cloud_jar": "Дождь в банке", @@ -87,10 +91,10 @@ "item.unicopia.crystal_heart": "Кристальное сердце", "item.unicopia.crystal_shard": "Осколок кристалла", "item.unicopia.dragon_breath_scroll": "Свиток дыхания дракона", - "item.unicopia.gemstone": "Драгоценный камень", - "item.unicopia.gemstone.enchanted": "Драгоценный камень \"%s\"", - "item.unicopia.gemstone.obfuscated": "Загадочный драгоценный камень", - "item.unicopia.botched_gem": "Неудачный драгоценный камень", + "item.unicopia.gemstone": "Самоцвет", + "item.unicopia.gemstone.enchanted": "Самоцвет \"%s\"", + "item.unicopia.gemstone.obfuscated": "Загадочный самоцвет", + "item.unicopia.botched_gem": "Неудачный самоцвет", "item.unicopia.pegasus_feather": "Перо пегаса", "item.unicopia.gryphon_feather": "Перо грифона", @@ -352,58 +356,137 @@ "effect.unicopia.butter_fingers": "Растяпа", "effect.unicopia.change_race_earth": "Метаморфозы земного пони", + "effect.unicopia.change_race_unicorn": "Метаморфозы единорога", + "effect.unicopia.change_race_pegasus": "Метаморфозы пегаса", + "effect.unicopia.change_race_changeling": "Метаморфозы чейнджлинга", + "effect.unicopia.change_race_bat": "Метаморфозы бэтпони", + "effect.unicopia.change_race_kirin": "Метаморфозы кирина", + "effect.unicopia.change_race_hippogriff": "Метаморфозы гиппогрифа", + + "effect.unicopia.morph_race_earth": "Превращение в земного пони", + "effect.unicopia.morph_race_unicorn": "Превращение в единорога", + "effect.unicopia.morph_race_pegasus": "Превращение в пегаса", + "effect.unicopia.morph_race_changeling": "Превращение в чейнджлинга", + "effect.unicopia.morph_race_bat": "Превращение в бэтпони", + "effect.unicopia.morph_race_kirin": "Превращение в кирина", + "effect.unicopia.morph_race_hippogriff": "Превращение в гиппогрифа", + "item.minecraft.potion.effect.unicopia.tribe_swap_earth": "Зелье метаморфоз земного пони", "item.minecraft.splash_potion.effect.unicopia.tribe_swap_earth": "Взрывное зелье метаморфоз земного пони", "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_earth": "Туманное зелье метаморфоз земного пони", "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_earth": "Стрела метаморфоз земного пони", - "effect.unicopia.change_race_unicorn": "Метаморфозы единорога", "item.minecraft.potion.effect.unicopia.tribe_swap_unicorn": "Зелье метаморфоз единорога", "item.minecraft.splash_potion.effect.unicopia.tribe_swap_unicorn": "Взрывное зелье метаморфоз единорога", "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_unicorn": "Туманное зелье метаморфоз единорога", "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_unicorn": "Стрела метаморфоз единорога", - "effect.unicopia.change_race_pegasus": "Метаморфозы пегаса", "item.minecraft.potion.effect.unicopia.tribe_swap_pegasus": "Зелье метаморфоз пегаса", "item.minecraft.splash_potion.effect.unicopia.tribe_swap_pegasus": "Взрывное зелье метаморфоз пегаса", "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_pegasus": "Туманное зелье метаморфоз пегаса", "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_pegasus": "Стрела метаморфоз пегаса", - "effect.unicopia.change_race_changeling": "Метаморфозы чейнджлинга", "item.minecraft.potion.effect.unicopia.tribe_swap_changeling": "Зелье метаморфоз чейнджлинга", "item.minecraft.splash_potion.effect.unicopia.tribe_swap_changeling": "Взрывное зелье метаморфоз чейнджлинга", "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_changeling": "Туманное зелье метаморфоз чейнджлинга", "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_changeling": "Стрела метаморфоз чейнджлинга", - "effect.unicopia.change_race_bat": "Метаморфозы бэтпони", "item.minecraft.potion.effect.unicopia.tribe_swap_bat": "Зелье метаморфоз бэтпони", "item.minecraft.splash_potion.effect.unicopia.tribe_swap_bat": "Взрывное зелье метаморфоз бэтпони", "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_bat": "Туманное зелье метаморфоз бэтпони", "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_bat": "Стрела метаморфоз бэтпони", - "effect.unicopia.change_race_kirin": "Метаморфозы кирина", "item.minecraft.potion.effect.unicopia.tribe_swap_kirin": "Зелье метаморфоз кирина", "item.minecraft.splash_potion.effect.unicopia.tribe_swap_kirin": "Взрывное зелье метаморфоз кирина", "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_kirin": "Туманное зелье метаморфоз кирина", "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_kirin": "Стрела метаморфоз кирина", - "effect.unicopia.change_race_hippogriff": "Метаморфозы гиппогрифа", "item.minecraft.potion.effect.unicopia.tribe_swap_hippogriff": "Зелье метаморфоз гиппогрифа", "item.minecraft.splash_potion.effect.unicopia.tribe_swap_hippogriff": "Взрывное зелье метаморфоз гиппогрифа", "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_hippogriff": "Туманное зелье метаморфоз гиппогрифа", "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_hippogriff": "Стрела метаморфоз гиппогрифа", + "item.minecraft.potion.effect.unicopia.short_morph_earth": "Зелье быстрого превращения в земного пони", + "item.minecraft.splash_potion.effect.unicopia.short_morph_earth": "Взрывное зелье быстрого превращения в земного пони", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_earth": "Туманное зелье быстрого превращения в земного пони", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_earth": "Стрела быстрого превращения в земного пони", + + "item.minecraft.potion.effect.unicopia.short_morph_unicorn": "Зелье быстрого превращения в единорога", + "item.minecraft.splash_potion.effect.unicopia.short_morph_unicorn": "Взрывное зелье быстрого превращения в единорога", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_unicorn": "Туманное зелье быстрого превращения в единорога", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_unicorn": "Стрела быстрого превращения в единорога", + + "item.minecraft.potion.effect.unicopia.short_morph_pegasus": "Зелье быстрого превращения в пегаса", + "item.minecraft.splash_potion.effect.unicopia.short_morph_pegasus": "Взрывное зелье быстрого превращения в пегаса", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_pegasus": "Туманное зелье быстрого превращения в пегаса", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_pegasus": "Стрела быстрого превращения в пегаса", + + "item.minecraft.potion.effect.unicopia.short_morph_changeling": "Зелье быстрого превращения в чейнджлинга", + "item.minecraft.splash_potion.effect.unicopia.short_morph_changeling": "Взрывное зелье быстрого превращения в чейнджлинга", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_changeling": "Туманное зелье быстрого превращения в чейнджлинга", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_changeling": "Стрела быстрого превращения в чейнджлинга", + + "item.minecraft.potion.effect.unicopia.short_morph_bat": "Зелье быстрого превращения в бэтпони", + "item.minecraft.splash_potion.effect.unicopia.short_morph_bat": "Взрывное зелье быстрого превращения в бэтпони", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_bat": "Туманное зелье быстрого превращения в бэтпони", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_bat": "Стрела быстрого превращения в бэтпони", + + "item.minecraft.potion.effect.unicopia.short_morph_kirin": "Зелье быстрого превращения в кирина", + "item.minecraft.splash_potion.effect.unicopia.short_morph_kirin": "Взрывное зелье быстрого превращения в кирина", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_kirin": "Туманное зелье быстрого превращения в кирина", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_kirin": "Стрела быстрого превращения в кирина", + + "item.minecraft.potion.effect.unicopia.short_morph_hippogriff": "Зелье быстрого превращения в гиппогрифа", + "item.minecraft.splash_potion.effect.unicopia.short_morph_hippogriff": "Взрывное зелье быстрого превращения в гиппогрифа", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_hippogriff": "Туманное зелье быстрого превращения в гиппогрифа", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_hippogriff": "Стрела быстрого превращения в гиппогрифа", + + "item.minecraft.potion.effect.unicopia.long_morph_earth": "Зелье долгого превращения в земного пони", + "item.minecraft.splash_potion.effect.unicopia.long_morph_earth": "Взрывное зелье долгого превращения в земного пони", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_earth": "Туманное зелье долгого превращения в земного пони", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_earth": "Стрела долгого превращения в земного пони", + + "item.minecraft.potion.effect.unicopia.long_morph_unicorn": "Зелье долгого превращения в единорога", + "item.minecraft.splash_potion.effect.unicopia.long_morph_unicorn": "Взрывное зелье долгого превращения в единорога", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_unicorn": "Туманное зелье долгого превращения в единорога", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_unicorn": "Стрела долгого превращения в единорога", + + "item.minecraft.potion.effect.unicopia.long_morph_pegasus": "Зелье долгого превращения в пегаса", + "item.minecraft.splash_potion.effect.unicopia.long_morph_pegasus": "Взрывное зелье долгого превращения в пегаса", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_pegasus": "Туманное зелье долгого превращения в пегаса", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_pegasus": "Стрела долгого превращения в пегаса", + + "item.minecraft.potion.effect.unicopia.long_morph_changeling": "Зелье долгого превращения в чейнджлинга", + "item.minecraft.splash_potion.effect.unicopia.long_morph_changeling": "Взрывное зелье долгого превращения в чейнджлинга", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_changeling": "Туманное зелье долгого превращения в чейнджлинга", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_changeling": "Стрела долгого превращения в чейнджлинга", + + "item.minecraft.potion.effect.unicopia.long_morph_bat": "Зелье долгого превращения в бэтпони", + "item.minecraft.splash_potion.effect.unicopia.long_morph_bat": "Взрывное зелье долгого превращения в бэтпони", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_bat": "Туманное зелье долгого превращения в бэтпони", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_bat": "Стрела долгого превращения в бэтпони", + + "item.minecraft.potion.effect.unicopia.long_morph_kirin": "Зелье долгого превращения в кирина", + "item.minecraft.splash_potion.effect.unicopia.long_morph_kirin": "Взрывное зелье долгого превращения в кирина", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_kirin": "Туманное зелье долгого превращения в кирина", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_kirin": "Стрела долгого превращения в кирина", + + "item.minecraft.potion.effect.unicopia.long_morph_hippogriff": "Зелье долгого превращения в гиппогрифа", + "item.minecraft.splash_potion.effect.unicopia.long_morph_hippogriff": "Взрывное зелье долгого превращения в гиппогрифа", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_hippogriff": "Туманное зелье долгого превращения в гиппогрифа", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_hippogriff": "Стрела долгого превращения в гиппогрифа", + "potion.withChance": "Шанс 1 к %s получить %s", "potion.potency.6": "VII", "spell.unicopia.frost": "Заморозка", - "spell.unicopia.frost.lore": "Холодный на ощупь, этот драгоценный камень заморозит всё, на что он будет использован", + "spell.unicopia.frost.lore": "Холодный на ощупь, этот самоцвет заморозит всё, на что он будет использован", "spell.unicopia.hydrophobic": "Отталкивание воды", "spell.unicopia.hydrophobic.lore": "Создает защитный пузырь вокруг пользователя, который препятствует проникновению воды", "spell.unicopia.chilling_breath": "Леденящее дыхания", "spell.unicopia.chilling_breath.lore": "Изменяет способность некоторых объектов различать горячее и холодное", "spell.unicopia.scorch": "Ожог", - "spell.unicopia.scorch.lore": "Теплый на ощупь, этот драгоценный камень сжигает органические вещества", + "spell.unicopia.scorch.lore": "Теплый на ощупь, этот самоцвет сжигает органические вещества", "spell.unicopia.flame": "Пламя", "spell.unicopia.flame.lore": "Этот камень пылает магическим пламенем", "spell.unicopia.infernal": "Инферно", @@ -434,7 +517,7 @@ "spell.unicopia.siphoning.lore": "Направляет жизненную силу другого существа в заклинателя", "spell.unicopia.reveal": "Развенчание иллюзий", "spell.unicopia.reveal.lore": "Отклоняет магию чейнджлинга", - "spell.unicopia.light": "Танцующий свет", + "spell.unicopia.light": "Танцующие огни", "spell.unicopia.light.lore": "Призывает множество маленьких огоньков, которые следуют за заклинателем", "spell.unicopia.awkward": "Неудача", "spell.unicopia.awkward.lore": "Нестабильная магия", @@ -712,20 +795,373 @@ "gui.unicopia.spellbook.page.recipes": "Рецепты", "gui.unicopia.spellbook.page.recipes.empty": "0 рецептов разблокировано", "gui.unicopia.spellbook.page.mana": "Мана", + "gui.unicopia.spellbook.page.level_requirement": "Уровень: %s", "gui.unicopia.spellbook.page.requirements.entry.item": "- %1$sx %2$s", "gui.unicopia.spellbook.page.requirements.entry.trait": "- Не менее %1$sx черт %2$s", - "gui.unicopia.spellbook.page.requirements.entry.spell": "- %1$sx драгоценный камень \"%2$s\"", + "gui.unicopia.spellbook.page.requirements.entry.spell": "- %1$sx самоцвет \"%2$s\"", + + "gui.unicopia.spellbook.recipe.requires": "Требования:", + "gui.unicopia.spellbook.author1.sign_off": "По приказу принцессы", + "gui.unicopia.spellbook.author1.sign_off.b": "По приказу принцессы, так ужасно сожалея", + "gui.unicopia.spellbook.author1.name": "- Старсвирл Бородатый", + "gui.unicopia.spellbook.author2.name": "- Король Сомбра", + "gui.unicopia.spellbook.author3.name": "- Обнимаю и целую, Лулу", + "gui.unicopia.spellbook.chapter.artefacts.status.unconfirmed": "Статус: Не подтверждён", + "gui.unicopia.spellbook.chapter.artefacts.status.confirmed": "Статус: Подтверждён", + "gui.unicopia.spellbook.chapter.artefacts.status.lost": "Статус: Потерян", + "gui.unicopia.spellbook.chapter.introduction.p1.title": "Предисловие", + "gui.unicopia.spellbook.chapter.introduction.p1.body": "Тот, кто держит эту книгу, остерегайтесь того, что ищете, ибо найденное может вам не понравиться. §kHither yonder equs§r.", + "gui.unicopia.spellbook.chapter.introduction.p2.title": "Гл.1 - Магия в Эквестрии", + "gui.unicopia.spellbook.chapter.introduction.p2.body": "Эквестрия наполнена магией самых разных форм и видов. Однако после недавних событий стало очевидно, что мы не до конца понимаем всё, что связано с миром Эквестрии. Поэтому корона поручила мне исследовать магию во всех её проявлениях, чтобы мы могли использовать её и, я надеюсь, спастись от §kдискордного нападения§r.", + "gui.unicopia.spellbook.chapter.introduction.p3.title": "1-ое Мэйра 12-го", + "gui.unicopia.spellbook.chapter.introduction.p3.1.body": "Необычные камни", + "gui.unicopia.spellbook.chapter.introduction.p3.2.body": "Эти \"самоцветы\", как их называют местные жители, - обычный материал, встречающийся по всему миру. Фермерские пони постоянно откапывают их и считают местным деликатесом, но я считаю, что эти камни способны на гораздо большее, чем они сами о себе говорят.", + "gui.unicopia.spellbook.chapter.introduction.p4.title": "Самоцветы", + "gui.unicopia.spellbook.chapter.introduction.p4.1.body": "Мои исследования ещё не закончены, но, возможно, я на что-то наткнулся. Эти камни обладают высоким магическим потенциалом! Самым большим, чем я когда-либо видел!", + "gui.unicopia.spellbook.chapter.introduction.p4.2.body": "§mЛуна хочет-§r Я буду продолжать эксперименты. Скрестив копыта, я сообщу вам завтра, если что-нибудь найду.", + "gui.unicopia.spellbook.chapter.introduction.p5.title": "2-ое Мэйра 12-го", + "gui.unicopia.spellbook.chapter.introduction.p5.1.body": "Сработало! Святая §kзадница Селестии§r, это и вправду сработало!", + "gui.unicopia.spellbook.chapter.introduction.p5.2.body": "Потрясающе! Они способны на гораздо большее, чем я думал. Подумайте, какие достижения я мог бы принести в Эквестрию с ними. Освещение, отопление, охлаждение... мне больше не придется проводить лето, сидя на этом-", + "gui.unicopia.spellbook.chapter.introduction.p5.3.body": "Я забегаю вперёд. Позвольте мне объяснить...", + "gui.unicopia.spellbook.chapter.introduction.p6.title": "Создание заклинаний", + "gui.unicopia.spellbook.chapter.introduction.p6.1.body": "В начале этой книги я нарисовал гайд по размещению.", + "gui.unicopia.spellbook.chapter.introduction.p6.2.body": "Положите необработанный самоцвет в центр и поместите материалы вокруг него в отмеченные мною слоты.", + "gui.unicopia.spellbook.chapter.introduction.p6.3.body": "Каждый материал даёт разные эффекты, и их расположение рядом усиливает их влияние на самоцвет.", + "gui.unicopia.spellbook.chapter.introduction.p7.title": "3-е Мэйра 12-го", + "gui.unicopia.spellbook.chapter.introduction.p7.1.body": "Я собираюсь начать записывать комбинации заклинаний по мере их обнаружения. Некоторые из них довольно очевидны, например, самоцвет + огонь = самоцвет огня.", + "gui.unicopia.spellbook.chapter.introduction.p7.2.body": "Но некоторые из них менее очевидны. Например, какие черты добавит яйцо? Нужно много экспериментировать. О, я так взволнован!", + "gui.unicopia.spellbook.chapter.introduction.p8.title": "Неудачные самоцветы", + "gui.unicopia.spellbook.chapter.introduction.p8.1.body": "Не все комбинации работают. Огорчает ещё то, что теперь в моих покоях скапливаются все эти бесполезные камни.", + "gui.unicopia.spellbook.chapter.introduction.p8.2.body": "Я не знаю, что с ними делать. Они не съедобны (по словам местных).", + "gui.unicopia.spellbook.chapter.introduction.p8.3.body": "У них всё ещё есть черты, которыми я их наделил, так что, возможно, я смогу найти им другое применение, кроме строительства каменной крепости с Луной...", + "gui.unicopia.spellbook.chapter.introduction.p9.title": "13-ое Мэйра 12-го", + "gui.unicopia.spellbook.chapter.introduction.p9.1.body": "Извините за долгую задержку с обновлениями. Я много работал, изучая различные заклинания и определяя свой подход.", + "gui.unicopia.spellbook.chapter.introduction.p9.2.body": "Огонь становится очень интересным аспектом, учитывая, что черты для него легко доступны.", + + "gui.unicopia.spellbook.chapter.fire.p1.title": "Гл.2 - Магия огня", + "gui.unicopia.spellbook.chapter.fire.p2.title": "9-ое Пониюня 12-го", + "gui.unicopia.spellbook.chapter.fire.p2.1.body": "Это заняло больше времени, чем я ожидал, - почти месяц! Ха! Но я представляю тебе, дорогой читатель, свои находки для первой элементарной формы магии: ОГОНЬ.", + "gui.unicopia.spellbook.chapter.fire.p2.2.body": "Это рабочее название, окей?", + "gui.unicopia.spellbook.chapter.fire.scorch.1.body": "Простой и понятный, Ожог делает именно то, о чём вы подумали. Наделив самоцвет чертой огня, можно заставить его светиться и становиться горячим на ощупь.", + "gui.unicopia.spellbook.chapter.fire.scorch.2.body": "Эффект становится тем сильнее, чем больше огня вы в него загружаете, но старайтесь не перегружать его, так как он может стать неустойчивым.", + "gui.unicopia.spellbook.chapter.fire.flame.1.body": "Создаёт эффект нагревания в радиусе 3 копыт от заклинателя/снаряда.", + "gui.unicopia.spellbook.chapter.fire.flame.2.body": "Пригодится, если нужно срочно разжечь пламя или отбиться от дикого вендиго.", + "gui.unicopia.spellbook.chapter.fire.p5.title": "10-ое Пониюня 12-го", + "gui.unicopia.spellbook.chapter.fire.p5.1.body": "Прогресс?", + "gui.unicopia.spellbook.chapter.fire.p5.2.body": "Мне удалось несколько улучшить предыдущее заклинание, но всё равно чего-то не хватает. Всё очень упорядочено. Предсказуемо.", + "gui.unicopia.spellbook.chapter.fire.p5.3.body": "Луна предложила добавить больше огня, но я не хочу создавать на башне новые следы от ожогов. Упаси меня Фауст, если кто-нибудь из пони узнает, чем я занимался...", + "gui.unicopia.spellbook.chapter.fire.p6.title": "Магия огня III", + "gui.unicopia.spellbook.chapter.fire.p6.1.body": "Фокусировка магии", + "gui.unicopia.spellbook.chapter.fire.p6.2.body": "Некоторые заклинания обычно требуют огромной концентрации, чтобы их наложить, и недюжинной смекалки, чтобы управлять ими. Однако я обнаружил, что предметы, наделённые чертой фокусировки, прекрасно работают в качестве замены, когда у заклинателя её не хватает.", + "gui.unicopia.spellbook.chapter.fire.p7.title": "Магия огня III-II", + "gui.unicopia.spellbook.chapter.fire.p7.1.body": "Любые стеклянные предметы, которые вы можете найти, глаза, бутылки, всё, что имеет линзы, может быть использовано для усиления фокусировки заклинания.", + "gui.unicopia.spellbook.chapter.fire.p8.title": "Черновик 2", + "gui.unicopia.spellbook.chapter.fire.p8.1.body": "Мы сегодня ходили на рынок. Нужно было выбраться из этой башни, чем-то заняться, где-то побыть. Луна предложила зайти посмотреть, что продают на ярмарке, и я решил ей потакать.", + "gui.unicopia.spellbook.chapter.fire.p8.2.body": "Горожане всё ещё относятся к нам скептически, хотя кто их в этом винит. По крайней мере, Луна хорошо ладила с другими жеребятами.", + "gui.unicopia.spellbook.chapter.fire.fire_bolt.1.body": "Создаёт серию раскаленных снарядов для метания в цель. При попадании цель будет подожжена.", + "gui.unicopia.spellbook.chapter.fire.fire_bolt.2.body": "- Увеличение фокусировки позволит более тонко контролировать траекторию полёта снаряда.", + "gui.unicopia.spellbook.chapter.fire.fire_bolt.3.body": "- С более чем 50 фокусировки они как будто знают, где находится цель (самонаведение?).", + "gui.unicopia.spellbook.chapter.fire.p10.title": "Магия огня IV", + "gui.unicopia.spellbook.chapter.fire.p10.1.body": "Мощная магия", + "gui.unicopia.spellbook.chapter.fire.p10.2.body": "Если одни заклинания требуют фокусировки, то другие - мощи. Либо для приложения силы, либо для генерирования энергии.", + "gui.unicopia.spellbook.chapter.fire.p10.3.body": "Немногие единороги обладают врождённой силой и мощью для создания подобных заклинаний, но, к счастью, такая черта не является дефицитом в нашем окружении.", + "gui.unicopia.spellbook.chapter.fire.p11.title": "Магия огня IV-II", + "gui.unicopia.spellbook.chapter.fire.p11.1.body": "Земные элементы, камень, многие металлы и минералы, которые прочны при сжатии, будут проявлять черту прочности.", + "gui.unicopia.spellbook.chapter.fire.p11.2.body": "Электрические/проводящие элементы, которые можно использовать для питания вещей или которые светятся, также могут быть использованы для получения черты мощи.", + "gui.unicopia.spellbook.chapter.fire.p12.title": "11-ое Пониюня 12-го", + "gui.unicopia.spellbook.chapter.fire.p12.1.body": "Сегодня в дверь постучали. Луна очень хотела ответить, но мне пришлось отослать её, так как это был гонец от короны.", + "gui.unicopia.spellbook.chapter.fire.p12.2.body": "Похоже, мои исследования приобрели определенную известность. Королевским особам не терпится узнать, что я придумал.", + "gui.unicopia.spellbook.chapter.fire.p12.3.body": "Они вбили себе в голову, что могут использовать это против Запада.", + "gui.unicopia.spellbook.chapter.fire.p12.4.body": "Не дай бог, чтобы им это удалось. Я с содроганием думаю о том, что может сделать Совет, если они приложат свои копыта к моей работе.", + "gui.unicopia.spellbook.chapter.fire.p12.5.body": "Приложение", + "gui.unicopia.spellbook.chapter.fire.p12.6.body": "§mМне сказали, что корона начала давать указания, как найти другое применение. Способы чтобы...", + "gui.unicopia.spellbook.chapter.fire.p13.title": "20-ое Пониюня 12-го", + "gui.unicopia.spellbook.chapter.fire.p13.1.body": "У меня есть новости от короны. Они, похоже, пока довольны и согласились, чтобы я продолжал свои исследования зимой.", + "gui.unicopia.spellbook.chapter.fire.p13.2.body": "Боюсь, я вынужден уничтожить несколько последних записей.", + "gui.unicopia.spellbook.chapter.fire.p14.title": "21-ое Пониюня 12-го", + "gui.unicopia.spellbook.chapter.fire.p14.1.body": "Завтра я навещу командира Харрикейн. Возможно, она прольёт свет на моё затруднительное положение.", + "gui.unicopia.spellbook.chapter.fire.shield.1.body": "Наложение щитов - одно из первых занятий единорога по самообороне. Это простое и лёгкое заклинание, и оно является отличным введением в искусство заклинаний.", + "gui.unicopia.spellbook.chapter.fire.shield.2.body": "Его недостатком являются энергетические и ментальные затраты, однако мы можем свести их на нет, прикрепив его к самоцвету, как показано дальше...", + "gui.unicopia.spellbook.chapter.fire.shield.modifier.1": "+ добавить черту мощи, чтобы увеличить радиус действия.", + "gui.unicopia.spellbook.chapter.fire.p16.title": "Защита II", + "gui.unicopia.spellbook.chapter.fire.p16.1.body": "Добавив дополнительные черты, я смог слегка модифицировать щит, чтобы разрешить или запретить определенным сторонам попадать в зону действия эффекта.", + "gui.unicopia.spellbook.chapter.fire.p16.2.body": "+ добавление черты жизни --> все животные могут войти.\n+ добавление черты крови --> все монстры могут войти.\n+ добавление черты льда --> все пони могут войти.", + "gui.unicopia.spellbook.chapter.fire.p17.title": "Защита III", + "gui.unicopia.spellbook.chapter.fire.p17.1.body": "+ добавить черту щедрости, чтобы привязать это заклинание к месту, а не к себе.", + "gui.unicopia.spellbook.chapter.fire.p18.title": "Черновик: 9-ое Пониюня 12-го", + "gui.unicopia.spellbook.chapter.fire.p18.1.body": "Магия огня оказалась немного более... непредсказуемой. Каждый раз, когда я делаю успехи, она находит способ отбросить меня назад.", + "gui.unicopia.spellbook.chapter.fire.p18.2.body": "Но я не могу остановиться... Мне сказали, что ситуация на западе становится всё более ужасной. Они попросили меня ускорить темп и создать что-то, что мы сможем использовать, чтобы одержать верх над §kШтормом Чейнджлингов§r.", + + "gui.unicopia.spellbook.chapter.ice.p1.title": "Гл.1 - Магия льда", + "gui.unicopia.spellbook.chapter.ice.p2.title": "4-ое Пониюля 12-го", + "gui.unicopia.spellbook.chapter.ice.p2.1.body": "А вот это интересная штучка. Довольно простая, признаюсь, но Луна настояла, чтобы я сделал что-нибудь холодное, чтобы помочь нам справиться с этой проклятой жарой.", + "gui.unicopia.spellbook.chapter.ice.p2.2.body": "Всё, что вам нужно, - это самоцвет и что-нибудь холодное. Снежок, например.", + "gui.unicopia.spellbook.chapter.ice.frost.1.body": "Создаёт леденящий эффект в радиусе 3 копыт от заклинателя/снаряда.", + "gui.unicopia.spellbook.chapter.ice.frost.2.body": "Поглощает энергию из окружающей среды, вызывая охлаждение.", + "gui.unicopia.spellbook.chapter.ice.p4.title": "Леденящее дыхание", + "gui.unicopia.spellbook.chapter.ice.p4.1.body": "Изменяет способность некоторых объектов различать горячее и холодное.", + "gui.unicopia.spellbook.chapter.ice.p4.2.body": "Это очень слабое заклинание, но при использовании с лодкой может оказаться очень полезным, чтобы выбраться из затруднительного положения.", + "gui.unicopia.spellbook.chapter.ice.p5.title": "5-ое Пониюля 12-го", + "gui.unicopia.spellbook.chapter.ice.p5.1.body": "Прошлой ночью деревенские пони развели костёр. Я понял это по сильному запаху горящего дерева и звукам музыки.", + "gui.unicopia.spellbook.chapter.ice.p5.2.body": "Луна, благослови её сердце, настояла на том, чтобы мы сделали перерыв и присоединились к ним. Для этого ей пришлось практически оттащить меня от стола.", + "gui.unicopia.spellbook.chapter.ice.p5.3.body": "Что я могу сказать? Она - свет в моём сердце.", + "gui.unicopia.spellbook.chapter.ice.p6.title": "Костёр", + "gui.unicopia.spellbook.chapter.ice.p6.1.body": "Мы подошли к костру, и, конечно, первым делом мне в копыто сунули кружку эля. Я, конечно, не стал пить - алкоголь для меня яд. Меня бы тошнило, как мула.", + "gui.unicopia.spellbook.chapter.ice.p6.2.body": "Луне понравилось (костёр, а не эль!). Она сразу же подружилась с одной из городских кобылок, с Селли или как-то так. Они играли всю ночь.", + "gui.unicopia.spellbook.chapter.ice.p7.title": "Костёр II", + "gui.unicopia.spellbook.chapter.ice.p7.1.body": "На обратном пути Луна рассказывала мне истории, которые ей поведала подруга. В городе, как и следовало ожидать, много легенд.", + "gui.unicopia.spellbook.chapter.ice.p7.2.body": "Одна из них была о страшном старом колдуне, который жил в башне с привидениями на окраине города. Кто это был - не загадка.", + "gui.unicopia.spellbook.chapter.ice.p7.3.body": "Заклинание льда II", + "gui.unicopia.spellbook.chapter.ice.p7.4.body": "Создаёт охлаждающий эффект в радиусе 3 копыт от заклинателя/снаряда.", + "gui.unicopia.spellbook.chapter.ice.p8.title": "6-ое Пониюля 12-го", + "gui.unicopia.spellbook.chapter.ice.p8.1.body": "Прошлой ночью в деревне был странный шум. Очень странный. Я слышал крики многих пони, и, возможно, там был пожар.", + "gui.unicopia.spellbook.chapter.ice.p8.2.body": "Надеюсь, что всё в порядке.", + "gui.unicopia.spellbook.chapter.ice.light.1.body": "Соединив самоцвет огненного снаряда с объектами черт жизни и охлаждающим эффектом льда, я создал заклинание, помогающее видеть в ночи.", + "gui.unicopia.spellbook.chapter.ice.light.2.body": "Танцующие огни вызовут скопление светящихся шаров, чтобы осветить ваш путь.", + "gui.unicopia.spellbook.chapter.ice.light.modifier.1": "* Добавив больше фокусировки, вы можете увеличить продолжительность заклинания.", + "gui.unicopia.spellbook.chapter.ice.p10.title": "12-ое Пониюля 12-го", + "gui.unicopia.spellbook.chapter.ice.p10.1.body": "Прошлой ночью было ещё больше звуков, на этот раз гораздо ближе. Поведение города тоже изменилось. Многие пони, которых я вижу, обычно очень веселые, стали угрюмыми.", + "gui.unicopia.spellbook.chapter.ice.p10.2.body": "Что-то произошло, это очевидно, хотя мало кто скажет мне, что именно.", + "gui.unicopia.spellbook.chapter.ice.p11.title": "15-ое Пониюля 12-го", + "gui.unicopia.spellbook.chapter.ice.p11.1.body": "Зима уже почти наступила. Пока я пишу, за окном появляются первые хлопья снега.", + "gui.unicopia.spellbook.chapter.ice.p11.2.body": "Местные жители начали разворачивать свои зимние запасы, и хотя обычное ворчание по поводу замёрзших полей в изобилии, я могу сказать, что §kчувство тревоги§r всё ещё присутствует.", + "gui.unicopia.spellbook.chapter.ice.p12.title": "17-ое Пониюля 12-го", + "gui.unicopia.spellbook.chapter.ice.p12.1.body": "Удивительно, как быстро здесь меняется погода. В Катермуре всё так хорошо контролируется: заклинания, с помощью которых мы управляем температурой, и пегасы, помогающие с погодой, что мы даже иногда забываем, какими дикими могут быть времена года.", + "gui.unicopia.spellbook.chapter.ice.p12.2.body": "Но у земных пони нет такой роскоши. Им приходится справляться с погодой, как она приходит.", + "gui.unicopia.spellbook.chapter.ice.p13.title": "Замёрзшее озеро", + "gui.unicopia.spellbook.chapter.ice.p13.1.body": "Сегодня утром я как раз направлялся в стойло, когда проходил мимо озера у подножия холма этой башни и увидел, что оно почти полностью замёрзло. Несколько жеребят катались на нём.", + "gui.unicopia.spellbook.chapter.ice.p13.2.body": "Луна спросила, можно ли ей присоединиться к ним, но я не разрешил. Тогда я не мог сказать почему, но у меня было плохое предчувствие, будто что-то должно было произойти...", + "gui.unicopia.spellbook.chapter.ice.p14.title": "17-ое Пониюля 12-го", + "gui.unicopia.spellbook.chapter.ice.p14.1.body": "О боги принцесс. Я... я не знаю, как это описать. Мои копыта дрожат, я едва могу дышать. Мне холодно, и я не могу перестать думать о том, что произошло.", + "gui.unicopia.spellbook.chapter.ice.p14.2.body": "Я знал, что что-то не так. Я ду... знал это. Тогда я ещё не знал, что именно, но я очень рад, что не позволил Луне пойти на то озеро.", + "gui.unicopia.spellbook.chapter.ice.p15.title": "Замёрзшее озеро II", + "gui.unicopia.spellbook.chapter.ice.p15.1.body": "Дайте мне сделать небольшой шаг назад, чтобы описать, что произошло. Помните замёрзшее озеро и жеребят, которые катались по нему на коньках?", + "gui.unicopia.spellbook.chapter.ice.p15.2.body": "Ну, после этого я отправился на рынок и загляделся на клубнику в одном из ларьков - не купил ни одной, к сожалению, она была забыта в суматохе.", + "gui.unicopia.spellbook.chapter.ice.p16.title": "Замёрзшее озеро III", + "gui.unicopia.spellbook.chapter.ice.p16.1.body": "Пока я спорил с продавцом о цене, я почувствовал, что Луна дергает меня за тунику, и она спросила меня, что происходит. Я услышал галоп и увидел, что мимо нас бегут пони. Никто из них не остановился, чтобы объяснить, но я услышал несколько очень грубых слов на старопонском.", + "gui.unicopia.spellbook.chapter.ice.p16.2.body": "Они направлялись в сторону нашей башни, и я отправился за ними.", + "gui.unicopia.spellbook.chapter.ice.p16.3.body": "Я сразу же подумал: \"Пожар? Моя лаборатория в опасности?\"", + "gui.unicopia.spellbook.chapter.ice.p16.4.body": "Вот что я вам скажу: я бы хотел, чтобы это было так. То, что я обнаружил на самом деле, было намного, намного, намного хуже, и даже мысль об этом заставляет мою кровь холодеть заново.", + "gui.unicopia.spellbook.chapter.ice.p17.title": "Замёрзшее озеро IV", + "gui.unicopia.spellbook.chapter.ice.p17.1.body": "Когда мы уже подходили к озеру, я увидел, что на его берегу собралась большая толпа. На берегу были разбросаны лестницы и аварийное оборудование, и поднялся шум по поводу того, что делать.", + "gui.unicopia.spellbook.chapter.ice.p17.2.body": "Однако, подойдя ближе, я довольно быстро понял, что произошло. Лед был сломан, и озеро замерзало.", + "gui.unicopia.spellbook.chapter.ice.p17.3.body": "Я нырнул, расстегнул седельные сумки с помощью магии, достал последний из имевшихся у меня самоцветов и произнёс незаконченное заклинание, которое было в нём.", + "gui.unicopia.spellbook.chapter.ice.p17.4.body": "Воды отступили от меня, когда я галопом помчался вниз по склону, пересекая высохшее дно озера и углубляясь, чтобы поймать упавших жеребят.", + "gui.unicopia.spellbook.chapter.ice.p18.title": "Замёрзшее озеро V", + "gui.unicopia.spellbook.chapter.ice.p18.1.body": "Они замёрзли и промокли, хотя под действием заклинания вода уходила с их шерсти. Мы донесли их до берега и укрыли одеялами с горячим питьём в копытах.", + "gui.unicopia.spellbook.chapter.ice.p18.2.body": "Горожане настояли на том, чтобы мне тоже дали одеяло, хотя я не промок (и не мог).", + "gui.unicopia.spellbook.chapter.ice.p18.3.body": "Лишь много позже, когда шок начал проходить и голова начала раскалываться, я вспомнил, что нужно отменить заклинание.", + "gui.unicopia.spellbook.chapter.ice.p18.4.body": "Слава принцессам, что мы успели вовремя.", + "gui.unicopia.spellbook.chapter.ice.p19.title": "18-ое Пониюля 12-го", + "gui.unicopia.spellbook.chapter.ice.p19.1.body": "Сегодня утром жеребят не было видно, и я полагаю, что они ещё долго не подойдут к этому озеру. Ночью вода снова замёрзла и выглядела спокойной.", + "gui.unicopia.spellbook.chapter.ice.p19.2.body": "Тревожное чувство, которое я испытывал вчера, сегодня прошло, и я смог отдохнуть на его берегу вместе с Луной. Она не захотела больше купаться в этом озере, и я её не виню. Я бы тоже не стал.", + "gui.unicopia.spellbook.chapter.ice.p20.title": "Песочный замок", + "gui.unicopia.spellbook.chapter.ice.p20.1.body": "Луна начала строить замок из песка, а пока она была занята этим, я решил набросать детали своего нового заклинания.", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.1.body": "Если объединить заклинание щита и самоцвет заморозки, то результат получится... довольно странным.", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.2.body": "Я называю это отталкиванием воды, потому что оно именно так и действует: Отталкивает воду от заклинателя.", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.modifier.1": "* Добавив больше фокусировки, вы можете увеличить продолжительность заклинания.", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.modifier.2": "* Добавьте черту щедрости, чтобы привязать это заклинание к месту, а не к себе.", + + "gui.unicopia.spellbook.chapter.air.p1.title": "Гл.4 - Магия воздуха", + "gui.unicopia.spellbook.chapter.air.p2.title": "1-ое Хуфгуста 12-го", + "gui.unicopia.spellbook.chapter.air.p1.1.body": "Новый месяц, новая глава. Малышке Луне надоело сидеть в башне целый день (да и кто её винит? Мы выполняем это задание уже больше двух месяцев.)", + "gui.unicopia.spellbook.chapter.air.p1.2.body": "Поэтому в качестве маленькой радости мы решили отправиться в небольшое путешествие к водопаду Гранд Мэйрпид, чтобы навестить моего друга, командира Харрикейн.", + "gui.unicopia.spellbook.chapter.air.p1.3.body": "Командир также очень любезно предоставила мне доступ в свою библиотеку, чтобы я мог продолжить обучение. Мне не терпится узнать, что даст объединение магии единорога и пегаса.", + "gui.unicopia.spellbook.chapter.air.p3.title": "2-ое Хуфгуста 12-го", + "gui.unicopia.spellbook.chapter.air.p3.1.body": "Прошу прощения за необычную запись в приложениях за сегодня. Похоже, какой-то маленький гремлин умудрился сбежать с моим журналом.", + "gui.unicopia.spellbook.chapter.air.p4.title": "Магия воздуха I", + "gui.unicopia.spellbook.chapter.air.p4.1.body": "Магия пегасов", + "gui.unicopia.spellbook.chapter.air.p4.2.body": "Магия воздуха для пегасов - то же самое, что огонь для единорогов. Их одинаково трудно контролировать, но если огонь в первую очередь ориентирован на силу, разрушение или защиту, то воздух - на гибкость и свободу движений.", + "gui.unicopia.spellbook.chapter.air.p4.3.body": "Командир Харрикейн очень любезно дала мне несколько советов о том, как выявить эту черту в повседневных предметах.", + "gui.unicopia.spellbook.chapter.air.p4.4.body": "Всё, что связано с полётом, или произошло от существ, которые летают, или приходит сверху, может считаться источником черты воздуха.", + "gui.unicopia.spellbook.chapter.air.p4.5.body": "Например, перья.", + "gui.unicopia.spellbook.chapter.air.catapult.1.body": "Это прямое применение телекинеза единорога. Самоцвет катапульты позволяет заклинателю захватить любой блок или существо и подбросить их в воздух.", + "gui.unicopia.spellbook.chapter.air.catapult.2.body": "Используйте его ещё раз на уже брошенном предмете, чтобы оттолкнуть его.", + "gui.unicopia.spellbook.chapter.air.catapult.modifier.1": "* Можно добавить больше силы, добавив черту силы (удивительно, да?).", + "gui.unicopia.spellbook.chapter.air.bubble.1.body": "Защитное и полезное заклинание. Пузырь заключает цель в гигантский мыльный пузырь, делая её беззащитной.", + "gui.unicopia.spellbook.chapter.air.bubble.2.body": "Повторное использование лопает пузырь.", + "gui.unicopia.spellbook.chapter.air.p7.title": "8-ое Хуфгуста 12-го", + "gui.unicopia.spellbook.chapter.air.p7.1.body": "Пока Луны и командира нет дома, я решил сделать небольшую запись, чтобы зафиксировать свои находки.", + "gui.unicopia.spellbook.chapter.air.p7.2.body": "Магия пегасов - это действительно удивительный зверь. Она не похожа на нашу магию, которая изучается с жёсткими правилами и практиками.", + "gui.unicopia.spellbook.chapter.air.p8.title": "Пегасы", + "gui.unicopia.spellbook.chapter.air.p8.1.body": "Магия пегасов - это скорее чувства. Это форма искусства. Они не думают о том, что хотят сделать, это просто происходит, но всё это происходит по одному и тому же принципу.", + "gui.unicopia.spellbook.chapter.air.p9.title": "Пегасы II", + "gui.unicopia.spellbook.chapter.air.p9.1.body": "Возьмем, к примеру, их облачные дома. Я не могу прочитать ни одного заклинания, которое позволило бы мне это сделать, но если вы почувствуете, не копытами или рогом, а как следует, умом, сердцем, то обнаружите, что повсюду гудит магия.", + "gui.unicopia.spellbook.chapter.air.p9.2.body": "Облака наполнены чертами воздуха и воды, а также другими, такими как мощь, сила, жизнь, земля. Всё это черты материала, которому подражают облака.", + "gui.unicopia.spellbook.chapter.air.p10.title": "Пегасы III", + "gui.unicopia.spellbook.chapter.air.p10.1.body": "Я бы хотел изучить больше, но боюсь вмешиваться в магию, которую ещё не до конца понимаю.", + "gui.unicopia.spellbook.chapter.air.p10.2.body": "Командир Харрикейн никогда не простит мне, если я разрушу её дом в первый же день как оказался здесь.", + "gui.unicopia.spellbook.chapter.air.feather_fall.1.body": "Развивая оборонительные возможности самоцвета защиты, я попытался распространить его преимущества на других.", + "gui.unicopia.spellbook.chapter.air.feather_fall.2.body": "Этот вариант необычен своей сложностью, но в теории он должен позволить замедлить спуск себя и своих друзей.", + "gui.unicopia.spellbook.chapter.air.p12.title": "10-ое Хуфгуста 12-го", + "gui.unicopia.spellbook.chapter.air.p12.1.body": "Пошёл на ужин с командиром Харрикейн и Луной. Мы заговорили об архитектуре, и Харрикейн упомянул Таз Мэйрхолл.", + "gui.unicopia.spellbook.chapter.air.p12.2.body": "Луна подумала, что это довольно забавное название для замка. Мне пришлось напомнить ей, что не все культуры одинаковы.", + "gui.unicopia.spellbook.chapter.air.p13.title": "21-ое Хуфгуста 12-го", + "gui.unicopia.spellbook.chapter.air.p13.1.body": "Я пишу это накануне своего возвращения в §kТротхольм§r. Хотя время, проведённое в Клаудополисе, было познавательным, я с нетерпением жду возвращения в привычную обстановку и полноценного отдыха в своей собственной твердой постели.", + "gui.unicopia.spellbook.chapter.air.p13.2.body": "Но не могу сказать того же о Луне. Сейчас она сидит на моей кровати рядом со мной и дуется из-за каждой мелочи, которую я кладу в седельную сумку.", + "gui.unicopia.spellbook.chapter.air.p14.title": "Возвращение домой", + "gui.unicopia.spellbook.chapter.air.p14.1.body": "Она настаивает, чтобы мы остались еще немного, чтобы пообщаться с пегасом, с которым я видел её на днях, без сомнения.", + "gui.unicopia.spellbook.chapter.air.p15.title": "22-ое Хуфгуста 12-го", + "gui.unicopia.spellbook.chapter.air.p15.1.body": "Пока мы летим над вершинами гор, я не могу не испытывать благоговения перед красотой, которую подарила нам §kматушка Фауст§r.", + "gui.unicopia.spellbook.chapter.air.p15.2.body": "Мне пришлось всё время следить за тем, чтобы Луна не выпала, и, конечно, отвечать на вопросы о разных видах облаков. К счастью, оператор воздушного шара был рядом, чтобы помочь разобраться в тонкостях.", + "gui.unicopia.spellbook.chapter.air.p15.3.body": "Находясь здесь, над всеми нашими проблемами, я на мгновение забываю об остальном мире. Это возвращает меня в более простые времена, до...", + "gui.unicopia.spellbook.chapter.air.p15.4.body": "Конечно, вспышки взрывов на западе должны были всё испортить. Кажется, на горизонте надвигается буря. Я очень надеюсь, что это не будет плохим предзнаменованием...", + + "gui.unicopia.spellbook.chapter.dark_magic.p1.title": "Гл.5 - Арканная магия", + "gui.unicopia.spellbook.chapter.dark_magic.p2.title": "30-ое Хуфгуста 12-го", + "gui.unicopia.spellbook.chapter.dark_magic.p2.1.body": "Сегодня пришло новое письмо от короны. Похоже, ситуация на западе ухудшается, и хотя до сих пор они были довольны моей работой, теперь они давят на меня, чтобы я создал что-то более разрушительное.", + "gui.unicopia.spellbook.chapter.dark_magic.p2.2.body": "Я пытался сказать посыльному, что не мо...", + "gui.unicopia.spellbook.chapter.dark_magic.p3.title": "3-е Сенобря 12-го", + "gui.unicopia.spellbook.chapter.dark_magic.p3.1.body": "Да будет вам известно, что в мои планы никогда не входило, чтобы кто-то из пони использовал мою работу в неблаговидных целях. Я прежде всего исследователь. Мои намерения чисты, и я хочу, чтобы в этом мире царил мир.", + "gui.unicopia.spellbook.chapter.dark_magic.p4.title": "4-ое Сенобря 12-го", + "gui.unicopia.spellbook.chapter.dark_magic.p4.1.body": "Ни один обзор магии не будет полным без взгляда на другую сторону.", + "gui.unicopia.spellbook.chapter.dark_magic.p4.2.body": "Тёмная магия, или, как я буду её называть, арканная, пролегает между обычной светлой магией, которую мы обычно знаем, и более мерзкой стороной реальности.", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.1.body": "Если бы вас спросили, что является противоположностью отталкивающего заклинания, что бы вы ответили? Конечно же, заклинание притяжения!", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.2.body": "Исказив цель заклинания защиты, я смог изменить его функцию и создать заклинание, которое притягивает объекты и сущности ближе к заклинателю.", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.modifier.1": "+ 10x черт знаний, чтобы сузить область действия эффекта до предметов.", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.modifier.2": "+ добавить фокусировки для увеличения продолжительности.\n+ добавить мощи для увеличения дальности.", + "gui.unicopia.spellbook.chapter.dark_magic.p6.title": "8-ое Сенобря 12-го", + "gui.unicopia.spellbook.chapter.dark_magic.p6.1.body": "Дополнительные примечания к заклинанию притяжения", + "gui.unicopia.spellbook.chapter.dark_magic.p6.2.body": "Сегодня я застал Луну за игрой с моей сеткой для колдовства, хотя я категорически запретил ей входить в мой кабинет, когда меня там нет.", + "gui.unicopia.spellbook.chapter.dark_magic.p6.3.body": "По-видимому, это произошло из-за какого-то спора с Селли, я точно не помню, но кульминацией стало то, что Луна пробралась в кабинет, пока я выходил за хлебом.", + "gui.unicopia.spellbook.chapter.dark_magic.p7.title": "Арканное притягивание II", + "gui.unicopia.spellbook.chapter.dark_magic.p7.1.body": "Но дело не совсем в этом. Ее отругали и отправили обратно в комнату, но, убирая беспорядок, который она устроила, я заметил кое-что в куче самоцветов.", + "gui.unicopia.spellbook.chapter.dark_magic.p7.2.body": "Это трудно описать. Это явно всё ещё самоцвет притяжения, но он другой.", + "gui.unicopia.spellbook.chapter.dark_magic.p7.3.body": "У него есть черты, о которых я раньше не задумывался, и то, как он себя ведёт...", + "gui.unicopia.spellbook.chapter.dark_magic.p8.title": "Арканное притягивание II Прод.", + "gui.unicopia.spellbook.chapter.dark_magic.p8.1.body": "Ну, это я оставлю на завтра. Я всё ещё устал от всего, что произошло на этой неделе.", + "gui.unicopia.spellbook.chapter.dark_magic.p8.2.body": ">0x щедрости --> ???", + "gui.unicopia.spellbook.chapter.dark_magic.p8.3.body": ">20x черт приказа --> ???", + "gui.unicopia.spellbook.chapter.dark_magic.p9.title": "20-ое Сенобря 12-го", + "gui.unicopia.spellbook.chapter.dark_magic.p9.1.body": "Согласно договоренности, Совет прислал некоторые... дополнительные материалы, чтобы помочь в новом направлении моих исследований. Поначалу я был немного шокирован.", + "gui.unicopia.spellbook.chapter.dark_magic.p9.2.body": "Эту... штуку... что бы это ни было. Оно, скорее, было.", + "gui.unicopia.spellbook.chapter.dark_magic.p9.3.body": "Действительно ли это то, с чем мы боремся на западе?", + "gui.unicopia.spellbook.chapter.dark_magic.p10.title": "21-ое Сенобря 12-го", + "gui.unicopia.spellbook.chapter.dark_magic.p10.1.body": "Я спрятал эту... штуку. В подвал. И запер на ключ.", + "gui.unicopia.spellbook.chapter.dark_magic.p10.2.body": "Я просто не мог больше смотреть на него. Оно имеет форму пони, но также...", + "gui.unicopia.spellbook.chapter.dark_magic.p10.3.body": "Я не мог допустить, чтобы Луна увидела это. Я отправил ее провести следующие несколько ночей с Селли, пока я решаю, что с этим делать.", + "gui.unicopia.spellbook.chapter.dark_magic.p11.title": "25-ое Сенобря 12-го", + "gui.unicopia.spellbook.chapter.dark_magic.p11.1.body": "Прошу прощения за долгую задержку. Я был немного... занят.", + "gui.unicopia.spellbook.chapter.dark_magic.p11.2.body": "Я многое узнал об этих существах. Прилагаю несколько иллюстраций, сделанных так, как я мог, чтобы не смотреть на них прямо.", + "gui.unicopia.spellbook.chapter.dark_magic.p11.3.body": "Его тело чёрное и §kнасекомоподобное§r с пропорциями пони. Шерсть отсутствует.", + "gui.unicopia.spellbook.chapter.dark_magic.p11.4.body": "Магия, которую они используют, необычна. Точнее, не необычная, а неестественная. Дикая.", + "gui.unicopia.spellbook.chapter.dark_magic.p11.5.body": "Здесь определенно есть что-то, что я мог бы использовать, но я неуверен... А стоит ли?", + "gui.unicopia.spellbook.chapter.dark_magic.p11.6.body": "Боюсь, что это та грань, которую не стоит переступать.", + "gui.unicopia.spellbook.chapter.dark_magic.transformation.1.body": "Я начал с того, что просто использовал их способности. Она не сфокусирована, и её трудно контролировать. Я редко могу предсказать, что произойдет, но этот самоцвет обладает очень четкими свойствами трансмогрификации.", + "gui.unicopia.spellbook.chapter.dark_magic.transformation.2.body": "Если бросить его в любое существо, есть шанс превратить его в любое другое существо.", + "gui.unicopia.spellbook.chapter.dark_magic.reveal.1.body": "Развеивание иллюзии - это первая линия защиты от заклинаний трансформации/иллюзии.", + "gui.unicopia.spellbook.chapter.dark_magic.reveal.2.body": "Когда заклинание будет применено, оно заставит всех маскирующихся чейнджлингов, находящихся поблизости, раскрыть свою истинную форму.", + "gui.unicopia.spellbook.chapter.dark_magic.reveal.modifier.1": "* Добавьте черту силы для увеличения дальности действия.", + "gui.unicopia.spellbook.chapter.dark_magic.p14.title": "27-ое Сенобря 12-го", + "gui.unicopia.spellbook.chapter.dark_magic.p14.1.body": "Последние несколько ночей сон был... трудным.", + "gui.unicopia.spellbook.chapter.dark_magic.p14.2.body": "Я не знаю, как это описать. Луна кажется незатронутой, но каждый вечер после захода солнца я обнаруживаю, что лежу ночью и не могу заснуть. Не помогает и то, что в деревне возобновились звуки.", + "gui.unicopia.spellbook.chapter.dark_magic.p15.title": "Потерянный сон", + "gui.unicopia.spellbook.chapter.dark_magic.p15.1.body": "Прошлой ночью я обнаружил, что нахожусь в обсерватории. Воздух стал прохладным, более чем обычно для этого времени года, и за пределами того, с чем мог бороться бушующий в углу комнаты огонь.", + "gui.unicopia.spellbook.chapter.dark_magic.p15.2.body": "Комната, где я держу... моего пациента, напротив стены за моей спиной.", + "gui.unicopia.spellbook.chapter.dark_magic.p16.title": "Потерянный сон Прод.", + "gui.unicopia.spellbook.chapter.dark_magic.p16.1.body": "Я уже давно держу эту дверь закрытой, потому что время от времени могу поклясться, что слышу, как там что-то шевелится...", + "gui.unicopia.spellbook.chapter.dark_magic.p16.2.body": "Боже, я схожу с ума?", + "gui.unicopia.spellbook.chapter.dark_magic.p17.title": "29-ое Сенобря 12-го", + "gui.unicopia.spellbook.chapter.dark_magic.p17.1.body": "Чёрт, вот опять!", + "gui.unicopia.spellbook.chapter.dark_magic.p17.2.body": "Я думал, что прошлая ночь была случайностью, но я только что услышал это снова - я дрожу. Мои копыта едва удерживают эту книгу, и я с трудом пишу эти слова.", + "gui.unicopia.spellbook.chapter.dark_magic.p17.3.body": "Там что-то... Я что-то слышал. Похожее на трещание...", + "gui.unicopia.spellbook.chapter.dark_magic.p18.title": "1-ое Круптября 12-го", + "gui.unicopia.spellbook.chapter.dark_magic.p18.1.body": "Я отправился в город. Один из местных кузнецов согласился установить новый замок, один из тех тяжелых, которые не могут сломать даже земные пони.", + "gui.unicopia.spellbook.chapter.dark_magic.p18.2.body": "Боюсь, этого может быть недостаточно, но, что бы это ни было, оно явно обладает магией. Возможно, мне придется искать магическое решение проблемы бессонницы.", + "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.1.body": "Это заклинание покрывает определённую область территории, которая защищает от других заклинателей.", + "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.2.body": "Никто другой не сможет использовать магию в области действия заклинания.", + "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.modifier.1": "* Добавьте черту силы для увеличения дальности действия.", + "gui.unicopia.spellbook.chapter.dark_magic.displacement.1.body": "Использовав это заклинание, единорог может поменять своё местоположение с любым другим существом.", + "gui.unicopia.spellbook.chapter.dark_magic.p21.title": "3-е Круптября 12-го", + "gui.unicopia.spellbook.chapter.dark_magic.p21.1.body": "Замки уже установлены, и с появлением дополнительных мер защиты я чувствую себя немного спокойнее.", + "gui.unicopia.spellbook.chapter.dark_magic.p21.2.body": "Движения по ночам практически прекратились, хотя иногда мне кажется, что я их всё ещё слышу...", + "gui.unicopia.spellbook.chapter.dark_magic.p22.title": "4-ое Круп-", + "gui.unicopia.spellbook.chapter.dark_magic.mimic.1.body": "Мне удалось воспользоваться некоторыми способностями этого странного существа. Мне еще многое предстоит выяснить, но пока что я просто добавил его эссенцию в самоцвет.", + "gui.unicopia.spellbook.chapter.dark_magic.mimic.modifier.1": "* Добавив больше фокусировки, вы можете увеличить продолжительность заклинания.", + "gui.unicopia.spellbook.chapter.dark_magic.p24.1.body": "На город нахлынула волна тьмы. Ничто не стало прежним с тех пор, как появилось это забытое богами существо.", + "gui.unicopia.spellbook.chapter.dark_magic.p24.2.body": "Пони в городе стали отмечать недостаток сна, и это заметно. Только сегодня я видел бедного жеребца, который ходил в оцепенении. Под глазами мешки, щёки почти бесцветны.", + "gui.unicopia.spellbook.chapter.dark_magic.p25.1.body": "Он выглядел почти как зомби, когда выполнял все действия, не обращая на меня никакого внимания даже после того, как чуть не столкнулся со мной.", + "gui.unicopia.spellbook.chapter.dark_magic.p26.title": "Черновик", + "gui.unicopia.spellbook.chapter.dark_magic.p26.1.body": "§kЭтого недостаточно. Никогда не будет достаточно. Ползание. Я чувствую ползание. О боги, ползание не прекращается.", + "gui.unicopia.spellbook.chapter.dark_magic.p27.1.body": "Бессонница. Я не могу это вынести. Каждую ночь я лежу в своей постели и жду, когда засну.", + "gui.unicopia.spellbook.chapter.dark_magic.p27.2.body": "Я думал, что смогу остановить его, держать на расстоянии, но я всё ещё слышу его. Это существо. Холодное, бесчувственное.", + "gui.unicopia.spellbook.chapter.dark_magic.p27.3.body": "Я чувствую, что истощаюсь, когда нахожусь рядом с ним. Оно... питается мной?", + "gui.unicopia.spellbook.chapter.dark_magic.p27.4.body": "Нет, не может быть.", + "gui.unicopia.spellbook.chapter.dark_magic.p28.1.body": "Я нашёл это заклинание под старыми записями во время уборки лаборатории. Оно... простое и сложное в обращении, но оно справляется со своей задачей.", + "gui.unicopia.spellbook.chapter.dark_magic.dispel_evil.modifier.1": "* Добавьте черту силы для увеличения дальности действия.", + + "gui.unicopia.spellbook.chapter.otherworldly.p1.title": "Гл.6 - Потустороннее", + "gui.unicopia.spellbook.chapter.otherworldly.p2.title": "1-ое Круптября 12-го", + "gui.unicopia.spellbook.chapter.otherworldly.p2.1.body": "Эта глава служит исследованием миров за пределами нашего собственного и погружением в то, чего большинство единорогов обычно сторонятся.", + "gui.unicopia.spellbook.chapter.otherworldly.p2.2.body": "В этом разделе вы найдете самые мощные из мощных заклинаний, но и самые опасные. Читайте дальше на свой страх и риск, ибо это не для светлых умов.", + "gui.unicopia.spellbook.chapter.otherworldly.siphoning.1.body": "Простое заклинание, которое вытягивает жизненную силу из живого существа и использует её для оживления заклинателя.", + "gui.unicopia.spellbook.chapter.otherworldly.necromancy.1.body": "Это заклинание, воздействующее на область, обращается к потусторонним силам, чтобы призвать жизнь на службу своему хозяину.", + "gui.unicopia.spellbook.chapter.otherworldly.necromancy.2.body": "Само по себе это заклинание не слишком полезно, но в сочетании с другими способностями может стать мощным средством против §роев чейнджлингов§r.", + "gui.unicopia.spellbook.chapter.otherworldly.dark_vortex.1.body": "Погружаясь под ткань реальности, это заклинание использует глубинные арканные силы потустороннего мира, чтобы пробить брешь в реальности.", + "gui.unicopia.spellbook.chapter.otherworldly.dark_vortex.2.body": "Образовавшаяся дыра - это голодная масса, которая поглощает всех, кто к ней приближается. Она дарит огромную энергию, но питать её опасно.", + "gui.unicopia.spellbook.chapter.otherworldly.portal.1.body": "Сочетая эффекты заклинания перемещения, созданного моим предшественником, и самоцвет тёмного вихря, можно укротить его хаотичную природу.", + "gui.unicopia.spellbook.chapter.otherworldly.portal.2.body": "Заклинание арканного разлома позволяет мастеру связать два места и создать мост между ними. Всё, что попадает в один конец, появляется в другом, сохраняя свою скорость.", + "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.1.body": "Продолжая исследования способностей чейнджлингов, я усовершенствовал его мимическое заклинание, добавив немного хаоса.", + "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.2.body": "Обмен разумом распространяет действие мимики на двух личностей, фактически меняя их тела местами на ограниченное время.", + "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.3.body": "* Добавив больше фокусировки, вы можете увеличить продолжительность заклинания.", + + "gui.unicopia.spellbook.chapter.artefacts.p1.title": "Гл.7 - Артефакты", + "gui.unicopia.spellbook.chapter.artefacts.p2.title": "2-ое Мэйра 12-го", + "gui.unicopia.spellbook.chapter.artefacts.p2.1.body": "Далее следует сборник исследований некоторых объектов, представляющих интерес, выявленных в ходе моих исследований.", + "gui.unicopia.spellbook.chapter.artefacts.p2.2.body": "Не все из них дошли до конца, поскольку было доказано, что они либо чистая легенда, либо, возможно, мистификация, поэтому я не могу доверять их историям.", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.1.body": "Созданный группой единорогов давным-давно, его происхождение и нынешнее местонахождение неизвестны.", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.2.body": "В немногочисленных рассказах говорится, что это был мощный инструмент защиты и поддержки, поскольку он отводил жизненную силу от врагов в сторону заклинателя и его союзников.", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.title": "5-ое Круптября 12-го", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.3.body": "По другим сведениям, этот артефакт функционирует только тогда, когда установлен на специальном постаменте из алмазных блоков, как маяк.", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.title": "Разорванная страница", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.1.body": "§kПот§rенциальная в§kо§rз§kмож§rность для §kвыпендрёжа§r?", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.2.body": "§kАвтор не придумал что тут написать, так что идите на§r", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.3.body": "Требуемые материалы:", + "gui.unicopia.spellbook.chapter.artefacts.crystal_podium.title": "Кристальный подиум", + "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.2.body": "Это, эм, свиток который вы держите в одном копыте и что-то ещё в другом и, типо, происходит вуууш и предмет отправляется к пони.", + "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.title": "2-ое Хуфгуста 12-го", + "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.3.body": "P.S. Дядюшка Старсвирли тупица.", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.1.body": "В прошлом этот браслет использовался заклинателями для связи на больших расстояниях, но уже давно утратил своё старое применение.", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.2.body": "Единороги могут подписать этот браслет и отдать другу чтобы поделиться определенными магическими эффектами с ним.", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.title": "13-ое Мэйра 12-го", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.3.body": "Тот, кто носит подписанный вами браслет, сможет воспользоваться положительными эффектами ваших заклинаний или пропустить через себя заклинания защиты и щита.", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.4.body": "Расходы маны также делятся поровну между всеми.", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.1.body": "Командир Харрикейн сообщила мне об этом, хотя я не нашел ни одного текста, подтверждающего её утверждения.", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.2.body": "Утверждается, что амулет пегаса дарует владельцу временный полёт, как у пегаса.", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.title": "21-ое Пониюля 12-го", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.3.body": "Он предназначался в качестве помощника для первых послов единорогов в Облачные высоты, но был утерян после срыва переговоров.", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.1.body": "Предшественник магических посохов, посох Медоубрук - это вертикальная опорная конструкция, обычно используемая магами во время долгих заклинательных сессий.", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.2.body": "Он имеет извилистую форму с плотной и прочной сердцевиной, способной выдержать вес взрослого жеребца среднего роста.", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.title": "22-ое Пониюля 12-го", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.3.body": "Благодаря своей плотной структуре и горючести, этот предмет также может служить в качестве оружия и источника топлива, если того потребует ситуация.", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.4.body": "Чтобы правильно использовать посох в бою, нужно сначала взять его за узкий конец в оба копыта, а затем сделать стремительный взмах над головой с криком \"Фус Ро ДА!\".", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.1.body": "Являются магическими помощники для немагических пользователей. Магические посохи работают так же, как и рог единорога: с их помощью можно направлять и использовать магию, хранящуюся в самоцветах.", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.title": "22-ое Пониюля 12-го", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.2.body": "Не все заклинания действуют одинаково, но для которых действуют, хороший посох - незаменимый инструмент для любого начинающего мага.", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.3.body": "Самый простой способ создать их - надеть драгоценный камень на конец палки. Да, очень революционно, я знаю.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.1.body": "Могущественный артефакт, который когда-то считался источником силы короля Грогара.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.2.body": "В умелых копытах колокольчик может использоваться для передачи магической энергии от одного существа к другому.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.title": "22-ое Пониюля 12-го", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.3.body": "Предполагается, что этот артефакт был выкован из когтей Большой Медведицы в эпоху правления Дискорда, возможно, в качестве оружия против тирана.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.4.body": "По своей природе колокол обладает развращающим влиянием, которое разрушит разум любого, кто осмелится воспользоваться его силой.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.2.title": "Колокольчик Грогара II", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.5.body": "Легенда гласит, что после того, как его первый носитель, король Грогар, был доведен до безумия, колокол упрятали далеко-далеко.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.6.body": "Он находится за пределами досягаемости большинства пони, охраняемый в древнем городе непобедимым зверем.", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.1.body": "Как и о кристальном сердце, об этом артефакте мало что известно, поэтому ничего нельзя подтвердить, даже его существование.", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.title": "23-е Пониюля 12-го", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.2.body": "Амулет аликорна - это мощный источник тёмной магии, созданный неизвестным магом в попытке создать совершенное существо.", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.3.body": "Он сочетает в себе черты всех рас в одной мощной форме, но его трудно контролировать, и он вызывает привыкание. Любой, кто использует его, быстро становится зависимым от него, и лишь немногие, кто пытался избавиться от него, выдерживают это испытание.", "gui.unicopia.action.spells_cleared": "Удалены все заклинания", "gui.unicopia.action.no_spells_cleared": "У вас нет активных заклинаний", "chapter.unicopia.crafting": "Создание заклинаний", "chapter.unicopia.profile": "Профиль", - "chapter.unicopia.traits": "Исследование", + "chapter.unicopia.traits": "Исследования", "chapter.unicopia.introduction": "Введение", - "chapter.unicopia.fire_magic": "Магия Огня", - "chapter.unicopia.ice_magic": "Магия Льда", - "chapter.unicopia.air_magic": "Магия Воздуха", + "chapter.unicopia.fire_magic": "Магия огня", + "chapter.unicopia.ice_magic": "Магия льда", + "chapter.unicopia.air_magic": "Магия воздуха", "chapter.unicopia.dark_magic": "Тёмная магия", "chapter.unicopia.the_otherworldly": "Запретная магия", "chapter.unicopia.crystal_heart": "Артефакты", @@ -838,7 +1274,7 @@ "key.unicopia.hud_page_dn": "Предыдущая страница", "key.unicopia.hud_page_up": "Следующая страница", - "enchantment.unicopia.gem_finder": "Поиск драгоценных камней", + "enchantment.unicopia.gem_finder": "Поиск самоцветов", "enchantment.unicopia.padded": "Мягкость", "enchantment.unicopia.clingy": "Цепление", "enchantment.unicopia.repulsion": "Отталкивание", From 8454ccedd71742bc27aeb5401bfe412b16bad0dc Mon Sep 17 00:00:00 2001 From: LingVarr <104311317+LingVarr@users.noreply.github.com> Date: Sat, 3 Feb 2024 13:07:02 +1100 Subject: [PATCH 03/52] Update en_us.json --- src/main/resources/assets/unicopia/lang/en_us.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index 9c8f426f..182a7b57 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -817,7 +817,7 @@ "gui.unicopia.spellbook.chapter.introduction.p3.1.body": "Unusual Rocks", "gui.unicopia.spellbook.chapter.introduction.p3.2.body": "These 'Gemstones' as the locals call them are a common material found around the world. Farm-Ponies dig them up all the time and consider it a local delicacy, but I believe these stones are capable of a lot more than they let on.", "gui.unicopia.spellbook.chapter.introduction.p4.title": "Gemstones", - "gui.unicopia.spellbook.chapter.introduction.p4.1.body": "My research is still incomplete but I may have stumbled upon something. These stones have high magical potential! More than I've ever seen before!", + "gui.unicopia.spellbook.chapter.introduction.p4.1.body": "My research is still incomplete but I may have stumbled upon something. These stones have high magical potentia! More than I've ever seen before!", "gui.unicopia.spellbook.chapter.introduction.p4.2.body": "§mLuna wants-§r I'm going to keep experimenting. Hooves-crossed, I'll update you tomorrow if I find anything.", "gui.unicopia.spellbook.chapter.introduction.p5.title": "2nd Mare '12", "gui.unicopia.spellbook.chapter.introduction.p5.1.body": "It worked! Holy §kCelestia's ass-cheeks'§r it actually worked!", @@ -836,7 +836,7 @@ "gui.unicopia.spellbook.chapter.introduction.p8.3.body": "They do still have the traits I gave them, so maybe I can find a use other than building a rock-fort with little Luna...", "gui.unicopia.spellbook.chapter.introduction.p9.title": "13th Mare '12", "gui.unicopia.spellbook.chapter.introduction.p9.1.body": "Sorry for the long delay in updates. I've been hard at work researching different spells and deciding my approach.", - "gui.unicopia.spellbook.chapter.introduction.p9.2.body": "Fire becomes a very interesting aspect, what with traits for it being readily available.", + "gui.unicopia.spellbook.chapter.introduction.p9.2.body": "Fire is becoming a very interesting aspect, what with traits for it being readily available.", "gui.unicopia.spellbook.chapter.fire.p1.title": "Ch.2 Fire Magic", "gui.unicopia.spellbook.chapter.fire.p2.title": "9th Jum '12", From 26fc8f98236d51c4fede1ab11e19231fbffeda27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lumi=C3=A8re=20=C3=89lev=C3=A9?= <88174309+PoneyClairDeLune@users.noreply.github.com> Date: Sat, 3 Feb 2024 10:10:02 +0000 Subject: [PATCH 04/52] Prepare a new file for French translations. --- .../resources/assets/unicopia/lang/fr_fr.json | 1658 +++++++++++++++++ 1 file changed, 1658 insertions(+) create mode 100644 src/main/resources/assets/unicopia/lang/fr_fr.json diff --git a/src/main/resources/assets/unicopia/lang/fr_fr.json b/src/main/resources/assets/unicopia/lang/fr_fr.json new file mode 100644 index 00000000..90e2a220 --- /dev/null +++ b/src/main/resources/assets/unicopia/lang/fr_fr.json @@ -0,0 +1,1658 @@ +{ + + "block.unicopia.bed.not_safe": "You may not rest here, there are enemies nearby", + "block.unicopia.bed.not_tired": "You do not feel tired right now", + "block.unicopia.bed.no_sleep.nocturnal": "You can only sleep in the day or during thunderstorms", + "sleep.not_possible.nocturnal": "No amount of rest can pass this day", + "sleep.skipping_day": "Sleeping through this day", + + "ability.unicopia.empty_hooves": "I need to find a jar", + "ability.unicopia.indoors": "I can't see the sky from here", + "ability.unicopia.too_low": "I need to get higher up", + "ability.unicopia.clear_skies": "The skies already look pretty clear", + "ability.unicopia.too_calm.1": "I need to get angrier...", + "ability.unicopia.too_calm.2": "I don't feel angry...", + "ability.unicopia.too_calm.3": "Bruce made it look easier than this...", + "ability.unicopia.too_calm.4": "Celestia give me strength...", + + "itemGroup.unicopia.items": "Unicopia", + "itemGroup.unicopia.foraging": "Unicopia - Foraging", + "itemGroup.unicopia.earth_pony": "Unicopia - Ponyville", + "itemGroup.unicopia.unicorn": "Unicopia - Canterlot", + "itemGroup.unicopia.pegasus": "Unicopia - Cloudsdale", + "itemGroup.unicopia.bat_pony": "Unicopia - Hollow Shades", + "itemGroup.unicopia.sea_pony": "Unicopia - From The Depths", + "itemGroup.unicopia.changeling": "Unicopia - Cheese Cliffs", + + "item.unicopia.friendship_bracelet": "Bangle of Comradery", + "item.unicopia.friendship_bracelet.issuer": "Signed by %s", + "item.unicopia.friendship_bracelet.glowing": "Glowing", + + "item.unicopia.oak_basket": "Oak Basket", + "item.unicopia.spruce_basket": "Spruce Basket", + "item.unicopia.birch_basket": "Birch Basket", + "item.unicopia.jungle_basket": "Jungle Basket", + "item.unicopia.acacia_basket": "Acacia Basket", + "item.unicopia.cherry_basket": "Cherry Basket", + "item.unicopia.dark_oak_basket": "Dark Oak Basket", + "item.unicopia.mangrove_basket": "Mangrove Basket", + "item.unicopia.bamboo_basket": "Bamboo Basket", + "item.unicopia.palm_basket": "Palm Basket", + "item.unicopia.giant_balloon": "Giant Balloon", + + "item.unicopia.palm_boat": "Palm Boat", + "item.unicopia.palm_chest_boat": "Palm Boat with Chest", + + "item.unicopia.spellbook": "Spellbook", + "item.unicopia.spectral_clock": "Spectral Clock", + + "emi.category.unicopia.spellbook": "Spellbook", + "emi.category.unicopia.cloud_shaping": "Shaping", + "emi.category.unicopia.growing": "Growing", + + "item.unicopia.alicorn_badge": "Alicorn Emblem", + "item.unicopia.unicorn_badge": "Unicorn Emblem", + "item.unicopia.pegasus_badge": "Pegasus Emblem", + "item.unicopia.earth_badge": "Earth Pony Emblem", + "item.unicopia.changeling_badge": "Changeling Emblem", + "item.unicopia.bat_badge": "Bat Pony Emblem", + "item.unicopia.kirin_badge": "Kirin Emblem", + "item.unicopia.hippogriff_badge": "Hippogriff Emblem", + + "item.unicopia.butterfly_spawn_egg": "Butterfly Spawn Egg", + "item.unicopia.butterfly": "Butterfly", + "item.unicopia.loot_bug_spawn_egg": "Loot Bug Spawn Egg", + "item.unicopia.loot_bug": "Loot bug", + + "item.unicopia.green_apple": "Granny Smith Apple", + "item.unicopia.sweet_apple": "Sweet Apple Acres Apple", + "item.unicopia.sour_apple": "Sour Apple", + "item.unicopia.rotten_apple": "Rotten Apple", + "item.unicopia.cooked_zap_apple": "Cooked Zap Apple", + "item.unicopia.zap_apple": "Zap Apple", + "item.unicopia.zap_bulb": "Unripened Zap Apple", + + "item.unicopia.love_bottle": "Bottle o' Love", + "item.unicopia.love_bucket": "Love Bucket", + "item.unicopia.love_mug": "Mug o' Love", + + "item.unicopia.plunder_vine": "Plunder Vine", + "item.unicopia.empty_jar": "Glass Jar", + "item.unicopia.filled_jar": "%s in a Jar", + "item.unicopia.rain_cloud_jar": "Rain in a Jar", + "item.unicopia.storm_cloud_jar": "Storm in a Jar", + "item.unicopia.lightning_jar": "Lightning in a Jar", + "item.unicopia.zap_apple_jam_jar": "Zap Apple Jam", + + "item.unicopia.toast": "Toast", + "item.unicopia.burned_toast": "Burned Toast", + "item.unicopia.jam_toast": "Toast with Zap Apple Jam", + + "item.unicopia.crystal_heart": "Crystal Heart", + "item.unicopia.crystal_shard": "Crystal Shard", + "item.unicopia.dragon_breath_scroll": "Dragon's Breath Scroll", + "item.unicopia.gemstone": "Gemstone", + "item.unicopia.gemstone.enchanted": "%s Gem", + "item.unicopia.gemstone.obfuscated": "Mysterious Gem", + "item.unicopia.botched_gem": "Botched Gem", + + "item.unicopia.pegasus_feather": "Pegasus Feather", + "item.unicopia.gryphon_feather": "Gryphon Feather", + "item.unicopia.golden_feather": "Golden Feather", + "item.unicopia.golden_wing": "Golden Wing", + + "item.unicopia.mug": "Mug", + "item.unicopia.cider": "Cider", + "item.unicopia.juice": "Juice", + "item.unicopia.burned_juice": "Burned Juice", + + "item.unicopia.mango": "Mango", + "item.unicopia.banana": "Banana", + "item.unicopia.pineapple": "Pineapple", + "item.unicopia.pineapple_crown": "Pineapple Crown", + "item.unicopia.sunglasses": "Sunglasses", + "item.unicopia.broken_sunglasses": "Broken Sunglasses", + + "item.unicopia.carapace": "Carapace", + + "item.unicopia.pebbles": "Pebbles", + "item.unicopia.rock": "Rock", + "item.unicopia.weird_rock": "Weird Rock", + "item.unicopia.tom": "Tom", + "item.unicopia.rock_stew": "Rock Stew", + "item.unicopia.rock_candy": "Rock Candy", + "item.unicopia.salt_cube": "Salt Cube", + "item.unicopia.pinecone": "Pinecone", + "item.unicopia.acorn": "Acorn", + "item.unicopia.green_apple_seeds": "Granny Smith Apple Seeds", + "item.unicopia.sweet_apple_seeds": "Sweet Apple Seeds", + "item.unicopia.sour_apple_seeds": "Sour Apple Seeds", + "item.unicopia.golden_oak_seeds": "Golden Oak Seeds", + "item.unicopia.apple_pie_hoof": "Apple Pie with a Hoofprint", + "item.unicopia.apple_pie_slice": "Slice Of Apple Pie", + "item.unicopia.candied_apple": "Candied Apple", + + "item.unicopia.oats": "Oats", + "item.unicopia.imported_oats": "Fancy Imported Oats", + "item.unicopia.oatmeal": "Oatmeal", + "item.unicopia.oat_seeds": "Oat Seeds", + "item.unicopia.daffodil_daisy_sandwich": "Daffodil Daisy Sandwich", + "item.unicopia.hay_burger": "Hay Burger", + "item.unicopia.hay_fries": "Hay Fries", + "item.unicopia.crispy_hay_fries": "Crispy Hay Fries", + "item.unicopia.horse_shoe_fries": "Horse Shoe Fries", + "item.unicopia.wheat_worms": "Wheat Worms", + "item.unicopia.muffin": "Muffin", + + "item.unicopia.pegasus_amulet": "Wings of Icarus", + "item.unicopia.pegasus_amulet.lore": "Grants temporary flight to whoever wears it", + "item.unicopia.amulet.energy": "Energy: %d / %d", + + "item.unicopia.alicorn_amulet": "Alicorn Amulet", + "item.unicopia.alicorn_amulet.lore": "Time worn: %d", + + "item.unicopia.pearl_necklace": "Pearl Necklace", + "item.unicopia.pearl_necklace.lore": "Gives underwater abilities to the wearer", + "item.unicopia.clam_shell": "Clam Shell", + "item.unicopia.scallop_shell": "Scallop Shell", + "item.unicopia.turret_shell": "Turret Shell", + "item.unicopia.shelly": "Shelly", + + "item.unicopia.horse_shoe.accuracy": "Accuracy: %d%%", + "item.unicopia.horse_shoe.speed": "Speed: %d", + "item.unicopia.iron_horse_shoe": "Iron Horse Shoe", + "item.unicopia.golden_horse_shoe": "Golden Horse Shoe", + "item.unicopia.copper_horse_shoe": "Copper Horse Shoe", + "item.unicopia.netherite_horse_shoe": "Netherite Horse Shoe", + + "item.unicopia.broken_alicorn_amulet": "Broken Alicorn Amulet", + "item.unicopia.unicorn_amulet": "Unicorn Amulet", + "item.unicopia.unicorn_amulet.lore": "Grants magical abilities to whoever wears it", + + "item.unicopia.grogars_bell": "Grogar's Bell", + "item.unicopia.grogars_bell.charges": "Charges: %d / %d", + "item.unicopia.magic_staff": "Magic Staff", + "item.unicopia.magic_staff.enchanted": "%s of %s", + "item.unicopia.magic_staff.charges": "Charges: %d / %d", + "item.unicopia.meadowbrooks_staff": "Meadowbrook's Staff", + "item.unicopia.meadowbrooks_staff.lore": "A Heavy Stick", + + "item.unicopia.wooden_polearm": "Wooden Polearm", + "item.unicopia.stone_polearm": "Stone Polearm", + "item.unicopia.iron_polearm": "Iron Polearm", + "item.unicopia.golden_polearm": "Golden Polearm", + "item.unicopia.diamond_polearm": "Diamond Polearm", + "item.unicopia.netherite_polearm": "Netherite Polearm", + + "item.unicopia.music_disc_pet": "Music Disc", + "item.unicopia.music_disc_pet.desc": "Danial Ingram - pet", + "item.unicopia.music_disc_popular": "Music Disc", + "item.unicopia.music_disc_popular.desc": "Danial Ingram - popular", + "item.unicopia.music_disc_crusade": "Music Disc", + "item.unicopia.music_disc_crusade.desc": "Danial Ingram - crusade", + "item.unicopia.music_disc_funk": "Music Disc", + "item.unicopia.music_disc_funk.desc": "funk, just funk", + + "item.unicopia.cloud_lump": "Cloud Lump", + "item.unicopia.light_gray_bed_sheets": "Light Gray Bed Sheets", + "item.unicopia.gray_bed_sheets": "Gray Bed Sheets", + "item.unicopia.black_bed_sheets": "Black Bed Sheets", + "item.unicopia.brown_bed_sheets": "Brown Bed Sheets", + "item.unicopia.red_bed_sheets": "Red Bed Sheets", + "item.unicopia.orange_bed_sheets": "Orange Bed Sheets", + "item.unicopia.yellow_bed_sheets": "Yellow Bed Sheets", + "item.unicopia.lime_bed_sheets": "Lime Bed Sheets", + "item.unicopia.green_bed_sheets": "Green Bed Sheets", + "item.unicopia.cyan_bed_sheets": "Cyan Bed Sheets", + "item.unicopia.light_blue_bed_sheets": "Light Blue Bed Sheets", + "item.unicopia.blue_bed_sheets": "Blue Bed Sheets", + "item.unicopia.purple_bed_sheets": "Purple Bed Sheets", + "item.unicopia.magenta_bed_sheets": "Magenta Bed Sheets", + "item.unicopia.pink_bed_sheets": "Pink Bed Sheets", + "item.unicopia.apple_bed_sheets": "Apple Patterned Bed Sheets", + "item.unicopia.barred_bed_sheets": "Bar Patterned Bed Sheets", + "item.unicopia.checkered_bed_sheets": "Checker Patterned Bed Sheets", + "item.unicopia.kelp_bed_sheets": "Kelp Bed Sheets", + "item.unicopia.rainbow_bed_sheets": "Rainbow Patterned Bed Sheets", + "item.unicopia.rainbow_bpw_bed_sheets": "BPW Rainbow Patterned Bed Sheets", + "item.unicopia.rainbow_bpy_bed_sheets": "BPY Rainbow Patterned Bed Sheets", + "item.unicopia.rainbow_pbg_bed_sheets": "PGB Rainbow Patterned Bed Sheets", + "item.unicopia.rainbow_pwr_bed_sheets": "PWR Rainbow Patterned Bed Sheets", + + "block.unicopia.rocks": "Rocks", + "block.unicopia.plunder_vine": "Plunder Vine", + "block.unicopia.plunder_vine_bud": "Plunder Vine Bud", + "block.unicopia.bananas": "Bananas", + "block.unicopia.zapling": "Zapling", + "block.unicopia.zap_log": "Zap Apple Log", + "block.unicopia.zap_wood": "Zap Apple Wood", + "block.unicopia.stripped_zap_log": "Stripped Zap Apple Log", + "block.unicopia.stripped_zap_wood": "Stripped Zap Apple Wood", + "block.unicopia.zap_leaves": "Zap Apple Leaves", + "block.unicopia.flowering_zap_leaves": "Flowering Zap Apple Leaves", + "block.unicopia.zap_apple": "Zap Apple", + "block.unicopia.zap_bulb": "Unripened Zap Apple", + "block.unicopia.palm_sapling": "Palm Sapling", + "block.unicopia.palm_log": "Palm Log", + "block.unicopia.palm_wood": "Palm Wood", + "block.unicopia.palm_planks": "Palm Planks", + "block.unicopia.palm_stairs": "Palm Stairs", + "block.unicopia.palm_pressure_plate": "Palm Pressure Plate", + "block.unicopia.palm_fence": "Palm Fence", + "block.unicopia.palm_fence_gate": "Palm Fence Gate", + "block.unicopia.palm_button": "Palm Button", + "block.unicopia.palm_slab": "Palm Slab", + "block.unicopia.stripped_palm_log": "Stripped Palm Log", + "block.unicopia.stripped_palm_wood": "Stripped Palm Wood", + "block.unicopia.palm_leaves": "Palm Leaves", + "block.unicopia.palm_door": "Palm Door", + "block.unicopia.palm_trapdoor": "Palm Trapdoor", + "block.unicopia.palm_sign": "Palm Sign", + "block.unicopia.palm_hanging_sign": "Palm Hanging Sign", + "block.unicopia.apple_pie": "Apple Pie", + "block.unicopia.weather_vane": "Weather Vane", + "block.unicopia.curing_joke": "Curing Joke", + "block.unicopia.gold_root": "Gold Root", + "block.unicopia.golden_oak_sprout": "Golden Oak Sprout", + "block.unicopia.golden_oak_sapling": "Golden Oak Sapling", + "block.unicopia.golden_oak_leaves": "Golden Oak Leaves", + "block.unicopia.golden_oak_log": "Golden Oak Log", + "block.unicopia.mango": "Mango", + "block.unicopia.mango_leaves": "Mango Leaves", + "block.unicopia.mango_sapling": "Mango Sapling", + "block.unicopia.pineapple": "Pineapple Plant", + + "block.unicopia.clam_shell": "Clam Shell", + "block.unicopia.scallop_shell": "Scallop Shell", + "block.unicopia.turret_shell": "Turret Shell", + + "block.unicopia.green_apple_leaves": "Granny Smith Leaves", + "block.unicopia.green_apple_sapling": "Granny Smith Sapling", + "block.unicopia.green_apple_sprout": "Granny Smith Sprout", + "block.unicopia.sweet_apple_leaves": "Sweet Apple Leaves", + "block.unicopia.sweet_apple_sapling": "Sweet Apple Sapling", + "block.unicopia.sweet_apple_sprout": "Sweet Apple Sprout", + "block.unicopia.sour_apple_leaves": "Sour Apple Leaves", + "block.unicopia.sour_apple_sapling": "Sour Apple Sapling", + "block.unicopia.sour_apple_sprout": "Sour Apple Sprout", + + "block.unicopia.surface_chitin": "Surface Chitin", + "block.unicopia.mysterious_egg": "Mysterious Egg", + "block.unicopia.hive": "Hive", + "block.unicopia.slime_pustule": "Slime Pustule", + "block.unicopia.chitin": "Chitin", + "block.unicopia.chitin_spikes": "Chitin Spikes", + "block.unicopia.chiselled_chitin": "Chiselled Chitin", + "block.unicopia.chiselled_chitin_hull": "Chiselled Chitin Hull", + "block.unicopia.chiselled_chitin_slab": "Chiselled Chitin Slab", + "block.unicopia.chiselled_chitin_stairs": "Chiselled Chitin Stairs", + + "block.unicopia.shaping_bench": "Shaping Bench", + "block.unicopia.cloud": "Cloud", + "block.unicopia.cloud_slab": "Cloud Slab", + "block.unicopia.cloud_stairs": "Cloud Stairs", + "block.unicopia.compacted_cloud": "Cloud", + "block.unicopia.soggy_cloud": "Soggy Cloud", + "block.unicopia.soggy_cloud_slab": "Soggy Cloud Slab", + "block.unicopia.soggy_cloud_stairs": "Soggy Cloud Stairs", + "block.unicopia.cloud_planks": "Cloud Planks", + "block.unicopia.cloud_plank_slab": "Cloud Plank Slab", + "block.unicopia.cloud_plank_stairs": "Cloud Plank Stairs", + "block.unicopia.cloud_bricks": "Cloud Bricks", + "block.unicopia.cloud_brick_slab": "Cloud Brick Slab", + "block.unicopia.cloud_brick_stairs": "Cloud Brick Stairs", + "block.unicopia.carved_cloud": "Carved Cloud", + "block.unicopia.compacted_cloud_bricks": "Cloud Bricks", + "block.unicopia.compacted_cloud_planks": "Cloud Planks", + "block.unicopia.unstable_cloud": "Unstable Cloud", + "block.unicopia.dense_cloud": "Dense Cloud", + "block.unicopia.dense_cloud_slab": "Dense Cloud Slab", + "block.unicopia.dense_cloud_stairs": "Dense Cloud Stairs", + "block.unicopia.compacted_dense_cloud": "Dense Cloud", + "block.unicopia.etched_cloud": "Etched Cloud", + "block.unicopia.etched_cloud_slab": "Etched Cloud Slab", + "block.unicopia.etched_cloud_stairs": "Etched Cloud Stairs", + "block.unicopia.compacted_etched_cloud": "Cloud Etched Cloud", + "block.unicopia.cloud_pillar": "Cloud Pillar", + "block.unicopia.cloth_bed": "Fancy Cloth Bed", + "block.unicopia.cloud_bed": "Cloud Bed", + "block.unicopia.cloud_chest": "Cloudsdale Chest", + "block.unicopia.cloud_chest.double": "Large Cloudsdale Chest", + "block.unicopia.cloud_door": "Cloud Door", + "block.unicopia.crystal_door": "Crystal Door", + "block.unicopia.stable_door": "Stable Door", + "block.unicopia.dark_oak_stable_door": "Wooden Stable Door", + + "block.unicopia.oats": "Oats", + "block.unicopia.oats_stem": "Oats", + "block.unicopia.oats_crown": "Oats", + + "entity.unicopia.butterfly": "Butterfly", + "entity.unicopia.twittermite": "Twittermite", + "entity.unicopia.cast_spell": "Cast Spell", + "entity.unicopia.cast_spell.by": "a spell cast by %s", + "entity.unicopia.spellbook": "Spellbook", + "entity.unicopia.air_balloon": "Hot Air Balloon", + "entity.unicopia.sombra": "King Sombra", + "entity.unicopia.sombra.taunt": "That's not going to work on me!", + "entity.unicopia.storm_cloud": "Storm Cloud", + "entity.unicopia.crystal_shards": "Crystal Shards", + "entity.unicopia.ignominious_vine": "Ignominious Vine", + "entity.unicopia.ignominious_bulb": "Ignominious Bulb", + + "player.reachDistance": "Reach Distance", + "player.miningSpeed": "Mining Speed", + "player.gravityModifier": "Gravity", + + "unicopia.effect.tribe.stage.initial": "It appears to have no effect.", + "unicopia.effect.tribe.stage.crawling": "You feel the skin crawling on your back.", + "unicopia.effect.tribe.stage.determination": "As your bones realign you are filled by determination.", + "unicopia.effect.tribe.stage.resurection": "Knowing you will return to this world as a %s", + + "effect.unicopia.food_poisoning": "Food Poisoning", + "effect.unicopia.sun_blindness": "Sun Blindness", + "effect.unicopia.corrupt_influence": "Corrupt Influence", + "effect.unicopia.paralysis": "Paralysis", + "effect.unicopia.butter_fingers": "Butterfingers", + + "effect.unicopia.change_race_earth": "Earth Pony Metamorphosis", + "effect.unicopia.change_race_unicorn": "Unicorn Metamorphosis", + "effect.unicopia.change_race_pegasus": "Pegasus Metamorphosis", + "effect.unicopia.change_race_changeling": "Changeling Metamorphosis", + "effect.unicopia.change_race_bat": "Bat Pony Metamorphosis", + "effect.unicopia.change_race_kirin": "Kirin Metamorphosis", + "effect.unicopia.change_race_hippogriff": "Hippogriff Metamorphosis", + + "effect.unicopia.morph_race_earth": "Earth Pony Transformation", + "effect.unicopia.morph_race_unicorn": "Unicorn Transformation", + "effect.unicopia.morph_race_pegasus": "Pegasus Transformation", + "effect.unicopia.morph_race_changeling": "Changeling Transformation", + "effect.unicopia.morph_race_bat": "Bat Pony Transformation", + "effect.unicopia.morph_race_kirin": "Kirin Transformation", + "effect.unicopia.morph_race_hippogriff": "Hippogriff Transformation", + + "item.minecraft.potion.effect.unicopia.tribe_swap_earth": "Potion of Earth Pony Metamorphosis", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_earth": "Splash Potion of Earth Pony Metamorphosis", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_earth": "Lingering Potion of Earth Pony Metamorphosis", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_earth": "Arrow of Earth Pony Metamorphosis", + + "item.minecraft.potion.effect.unicopia.tribe_swap_unicorn": "Potion of Unicorn Metamorphosis", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_unicorn": "Splash Potion of Unicorn Metamorphosis", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_unicorn": "Lingering Potion of Unicorn Metamorphosis", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_unicorn": "Arrow of Unicorn Metamorphosis", + + "item.minecraft.potion.effect.unicopia.tribe_swap_pegasus": "Potion of Pegasus Metamorphosis", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_pegasus": "Splash Potion of Pegasus Metamorphosis", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_pegasus": "Lingering Potion of Pegasus Metamorphosis", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_pegasus": "Arrow of Pegasus Metamorphosis", + + "item.minecraft.potion.effect.unicopia.tribe_swap_changeling": "Potion of Changeling Metamorphosis", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_changeling": "Splash Potion of Changeling Metamorphosis", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_changeling": "Lingering Potion of Changeling Metamorphosis", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_changeling": "Arrow of Changeling Metamorphosis", + + "item.minecraft.potion.effect.unicopia.tribe_swap_bat": "Potion of Bat Pony Metamorphosis", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_bat": "Splash Potion of Bat Pony Metamorphosis", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_bat": "Lingering Potion of Bat Pony Metamorphosis", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_bat": "Arrow of Bat Pony Metamorphosis", + + "item.minecraft.potion.effect.unicopia.tribe_swap_kirin": "Potion of Kirin Metamorphosis", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_kirin": "Splash Potion of Kirin Metamorphosis", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_kirin": "Lingering Potion of Kirin Metamorphosis", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_kirin": "Arrow of Kirin Metamorphosis", + + "item.minecraft.potion.effect.unicopia.tribe_swap_hippogriff": "Potion of Hippogriff Metamorphosis", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_hippogriff": "Splash Potion of Hippogriff Metamorphosis", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_hippogriff": "Lingering Potion of Hippogriff Metamorphosis", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_hippogriff": "Arrow of Hippogriff Metamorphosis", + + "item.minecraft.potion.effect.unicopia.short_morph_earth": "Potion of Earth Pony Short Transformation", + "item.minecraft.splash_potion.effect.unicopia.short_morph_earth": "Splash Potion of Earth Pony Short Transformation", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_earth": "Lingering Potion of Earth Pony Short Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_earth": "Arrow of Earth Pony Short Transformation", + + "item.minecraft.potion.effect.unicopia.short_morph_unicorn": "Potion of Unicorn Short Transformation", + "item.minecraft.splash_potion.effect.unicopia.short_morph_unicorn": "Splash Potion of Unicorn Short Transformation", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_unicorn": "Lingering Potion of Unicorn Short Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_unicorn": "Arrow of Unicorn Short Transformation", + + "item.minecraft.potion.effect.unicopia.short_morph_pegasus": "Potion of Pegasus Short Transformation", + "item.minecraft.splash_potion.effect.unicopia.short_morph_pegasus": "Splash Potion of Pegasus Short Transformation", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_pegasus": "Lingering Potion of Pegasus Short Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_pegasus": "Arrow of Pegasus Short Transformation", + + "item.minecraft.potion.effect.unicopia.short_morph_changeling": "Potion of Changeling Short Transformation", + "item.minecraft.splash_potion.effect.unicopia.short_morph_changeling": "Splash Potion of Changeling Short Transformation", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_changeling": "Lingering Potion of Changeling Short Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_changeling": "Arrow of Changeling Short Transformation", + + "item.minecraft.potion.effect.unicopia.short_morph_bat": "Potion of Bat Pony Short Transformation", + "item.minecraft.splash_potion.effect.unicopia.short_morph_bat": "Splash Potion of Bat Pony Short Transformation", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_bat": "Lingering Potion of Bat Pony Short Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_bat": "Arrow of Bat Pony Short Transformation", + + "item.minecraft.potion.effect.unicopia.short_morph_kirin": "Potion of Kirin Short Transformation", + "item.minecraft.splash_potion.effect.unicopia.short_morph_kirin": "Splash Potion of Kirin Short Transformation", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_kirin": "Lingering Potion of Kirin Short Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_kirin": "Arrow of Kirin Short Transformation", + + "item.minecraft.potion.effect.unicopia.short_morph_hippogriff": "Potion of Hippogriff Short Transformation", + "item.minecraft.splash_potion.effect.unicopia.short_morph_hippogriff": "Splash Potion of Hippogriff Short Transformation", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_hippogriff": "Lingering Potion of Hippogriff Short Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_hippogriff": "Arrow of Hippogriff Short Transformation", + + "item.minecraft.potion.effect.unicopia.long_morph_earth": "Potion of Earth Pony Long Transformation", + "item.minecraft.splash_potion.effect.unicopia.long_morph_earth": "Splash Potion of Earth Pony Long Transformation", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_earth": "Lingering Potion of Earth Pony Long Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_earth": "Arrow of Earth Pony Long Transformation", + + "item.minecraft.potion.effect.unicopia.long_morph_unicorn": "Potion of Unicorn Long Transformation", + "item.minecraft.splash_potion.effect.unicopia.long_morph_unicorn": "Splash Potion of Unicorn Long Transformation", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_unicorn": "Lingering Potion of Unicorn Long Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_unicorn": "Arrow of Unicorn Long Transformation", + + "item.minecraft.potion.effect.unicopia.long_morph_pegasus": "Potion of Pegasus Long Transformation", + "item.minecraft.splash_potion.effect.unicopia.long_morph_pegasus": "Splash Potion of Pegasus Long Transformation", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_pegasus": "Lingering Potion of Pegasus Long Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_pegasus": "Arrow of Pegasus Long Transformation", + + "item.minecraft.potion.effect.unicopia.long_morph_changeling": "Potion of Changeling Long Transformation", + "item.minecraft.splash_potion.effect.unicopia.long_morph_changeling": "Splash Potion of Changeling Long Transformation", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_changeling": "Lingering Potion of Changeling Long Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_changeling": "Arrow of Changeling Long Transformation", + + "item.minecraft.potion.effect.unicopia.long_morph_bat": "Potion of Bat Pony Long Transformation", + "item.minecraft.splash_potion.effect.unicopia.long_morph_bat": "Splash Potion of Bat Pony Long Transformation", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_bat": "Lingering Potion of Bat Pony Long Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_bat": "Arrow of Bat Pony Long Transformation", + + "item.minecraft.potion.effect.unicopia.long_morph_kirin": "Potion of Kirin Long Transformation", + "item.minecraft.splash_potion.effect.unicopia.long_morph_kirin": "Splash Potion of Kirin Long Transformation", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_kirin": "Lingering Potion of Kirin Long Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_kirin": "Arrow of Kirin Long Transformation", + + "item.minecraft.potion.effect.unicopia.long_morph_hippogriff": "Potion of Hippogriff Long Transformation", + "item.minecraft.splash_potion.effect.unicopia.long_morph_hippogriff": "Splash Potion of Hippogriff Long Transformation", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_hippogriff": "Lingering Potion of Hippogriff Long Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_hippogriff": "Arrow of Hippogriff Long Transformation", + + "potion.withChance": "1 in %s chance of %s", + "potion.potency.6": "VII", + + "spell.unicopia.frost": "Frost", + "spell.unicopia.frost.lore": "Chilling to the touch, this gem will freeze whatever it is used on", + "spell.unicopia.hydrophobic": "Repel Water", + "spell.unicopia.hydrophobic.lore": "Creates a protective bubble around the user that prevents water from entering", + "spell.unicopia.chilling_breath": "Chilling Breath", + "spell.unicopia.chilling_breath.lore": "Alters the ability of certain objects to distenguish between hot and cold", + "spell.unicopia.scorch": "Scorching", + "spell.unicopia.scorch.lore": "Warm to the touch, this gem will burn organic matter", + "spell.unicopia.flame": "Flame", + "spell.unicopia.flame.lore": "This gem burns hot with a magical flame", + "spell.unicopia.infernal": "Inferno", + "spell.unicopia.infernal.lore": "Conjures the very essence of the nether to infest this world", + "spell.unicopia.fire_bolt": "Fire Bolt", + "spell.unicopia.fire_bolt.lore": "Produces several burning projectiles", + "spell.unicopia.shield": "Protection", + "spell.unicopia.shield.lore": "Casts a protective shield around the user", + "spell.unicopia.bubble": "Bubble", + "spell.unicopia.bubble.lore": "Traps any creature it hits in a soap bubble", + "spell.unicopia.arcane_protection": "Arcane Protections", + "spell.unicopia.arcane_protection.lore": "Creates a protective shroud over an area in which no other spells can be cast", + "spell.unicopia.vortex": "Arcane Attraction", + "spell.unicopia.vortex.lore": "Creates a magnetic force that pulls in other targets", + "spell.unicopia.dark_vortex": "Dark Vortex", + "spell.unicopia.dark_vortex.lore": "Creates a black hole from which nothing can escape", + "spell.unicopia.mimic": "Mimic", + "spell.unicopia.mimic.lore": "Temporarily changes the caster's appearance to look like another entity or player", + "spell.unicopia.mind_swap": "Mind Swap", + "spell.unicopia.mind_swap.lore": "Temporarily swaps the caster's mind into the body of another entity or player", + "spell.unicopia.displacement": "Displacement", + "spell.unicopia.displacement.lore": "Swaps the caster's location with that of another entity", + "spell.unicopia.portal": "Arcane Rift", + "spell.unicopia.portal.lore": "Connects two points in space for fast travel between", + "spell.unicopia.necromancy": "Necromancy", + "spell.unicopia.necromancy.lore": "Summons undead minions from beyond the grave", + "spell.unicopia.siphoning": "Life Sapping", + "spell.unicopia.siphoning.lore": "Channels other creature's life force into the caster", + "spell.unicopia.reveal": "Dispell Illusion", + "spell.unicopia.reveal.lore": "Negates shapeshifting magic", + "spell.unicopia.light": "Dancing Lights", + "spell.unicopia.light.lore": "Summons multiple small lights to follow the caster", + "spell.unicopia.awkward": "Botched", + "spell.unicopia.awkward.lore": "Unstable magics", + "spell.unicopia.transformation": "Transmutation", + "spell.unicopia.transformation.lore": "Transforms the target into something else", + "spell.unicopia.feather_fall": "Feather Fall", + "spell.unicopia.feather_fall.lore": "Slows the descent of the caster and surrounding allies", + "spell.unicopia.catapult": "Catapult", + "spell.unicopia.catapult.lore": "Grabs a nearby block or entity and throws it into the air", + "spell.unicopia.dispel_evil": "Dispel Evil", + "spell.unicopia.dispel_evil.lore": "Casts away any nearby unearthly forces", + + "trait.unicopia.strength.name": "Strength", + "trait.unicopia.strength.description": "Imparts physical strength or enhances endurance.\nSpells with more of the strength trait hit harder and last longer.", + "trait.unicopia.focus.name": "Focus", + "trait.unicopia.focus.description": "Narrows a spell to focus its energy more effectively.\nAdding the focus trait to spells will decrease the cost of its effects whilst extending its range to more targets in cases of multi-target spells.", + "trait.unicopia.knowledge.name": "Knowledge", + "trait.unicopia.knowledge.description": "A mechanical harvest born of machinery and technology.\nSome spells require a little...ingenuity.", + "trait.unicopia.power.name": "Power", + "trait.unicopia.power.description": "Force for force's sake.\nExtends or ehanced a spell's natural duration.", + "trait.unicopia.blood.name": "Blood", + "trait.unicopia.blood.description": "Blood for the blood god", + "trait.unicopia.water.name": "Water", + "trait.unicopia.water.description": "Embodies the first natural element. Counter to the Element of Fire.", + "trait.unicopia.earth.name": "Earth", + "trait.unicopia.earth.description": "Embodies the second natural element. An Earthly energy inherent to all things derived from below the ground.", + "trait.unicopia.fire.name": "Fire", + "trait.unicopia.fire.description": "Embodies the third natural element. Complemented by the Element of Air, adds a destructive spark to your spells.", + "trait.unicopia.air.name": "Air", + "trait.unicopia.air.description": "Embodies the fourth natural element.", + "trait.unicopia.ice.name": "Ice", + "trait.unicopia.ice.description": "A chilling touch. Complementary to the Element of Water.", + "trait.unicopia.darkness.name": "Darkness", + "trait.unicopia.darkness.description": "Beware the dark, for it can lead to abilities some might say are unnatural.", + "trait.unicopia.order.name": "Harmony", + "trait.unicopia.order.description": "Counter-balance to chaos.", + "trait.unicopia.chaos.name": "Chaos", + "trait.unicopia.chaos.description": "Unpredicatable in nature, uncontrollable in captivity.", + "trait.unicopia.famine.name": "Famine", + "trait.unicopia.famine.description": "You are consumed by an overwhelming hunger. A hunger for power.", + "trait.unicopia.happiness.name": "Laughter", + "trait.unicopia.happiness.description": "Complemented by the Element of Harmony, wants nothing more than to bring happiness into this world.", + "trait.unicopia.kindness.name": "Kindness", + "trait.unicopia.kindness.description": "Complemented by the Element of Harmony and the Element of Laughter, wants nothing more than to bring happiness into this world.", + "trait.unicopia.generosity.name": "Generosity", + "trait.unicopia.generosity.description": "Causes a spell to favor others over the caster.\nCan be used to increase range and power, but to the detriment to the caster.\n\nComplemented by the Element of Harmony and the Element of Kindness.\nSpells with this trait are better suited to lending aid to those in need.", + "trait.unicopia.rot.name": "Rot", + "trait.unicopia.rot.description": "Death and destruction enter this world. All will die, all must die. It has been written and so shall it be.", + "trait.unicopia.life.name": "Life", + "trait.unicopia.life.description": "Ambodies the energy that resides within all living beings.", + "trait.unicopia.poison.name": "Poison", + "trait.unicopia.poison.description": "A deadly dart kill a beast.", + + "unicopia.diet.information": "Diet Information:", + "unicopia.diet.side_effects": "Side-Effects:", + "unicopia.diet.not_edible": "Item is not edible", + "unicopia.diet.base_multiplier": "Base Multiplier: %s%%", + "unicopia.diet.hunger.detailed": "Hunger gained: %s of %s (%s%%)", + "unicopia.diet.saturation.detailed": "Saturation gained: %s (%s%%)", + "unicopia.diet.hunger": "Hunger Ratio: %s%%", + "unicopia.diet.saturation": "Saturation Ratio: %s%%", + + "tag.unicopia.food_types.rotten_meat": "Rotting Meat", + "tag.unicopia.food_types.raw_meat": "Fresh Meat", + "tag.unicopia.food_types.cooked_meat": "Prepared Meat", + "tag.unicopia.food_types.raw_fish": "Fresh Fish", + "tag.unicopia.food_types.cooked_fish": "Prepared Fish", + "tag.unicopia.food_types.raw_insect": "Bugs & Insects", + "tag.unicopia.food_types.cooked_insect": "Cooked Bugs & Insects", + "tag.unicopia.food_types.love": "Love", + "tag.unicopia.food_types.rocks": "Rocks", + "tag.unicopia.food_types.pinecone": "Nuts & Seeds", + "tag.unicopia.food_types.bat_ponys_delight": "Bat Pony Treats", + "tag.unicopia.food_types.cooked_sea_vegitables": "Prepared Fish Food", + "tag.unicopia.food_types.raw_sea_vegitables": "Fresh Fish Food", + "tag.unicopia.food_types.shells": "Sea Shells", + "tag.unicopia.food_types.shelly": "Sea Shells", + "tag.unicopia.food_types.candy": "Candy", + "tag.unicopia.food_types.desserts": "Desserts", + "tag.unicopia.food_types.fruits_and_vegetables": "Fruits & Vegetables", + "tag.unicopia.food_types.drinks": "Drinks", + + "tag.unicopia.food_types.forage_edible_filling": "Bulky Plant Matter", + "tag.unicopia.food_types.forage_edible": "Plant Matter", + "tag.unicopia.food_types.forage_nauseating": "Nauseating", + "tag.unicopia.food_types.forage_prickly": "Prickly", + "tag.unicopia.food_types.forage_risky": "Unsafe", + "tag.unicopia.food_types.forage_strengthening": "Strength Enhancing", + "tag.unicopia.food_types.forage_severely_prickly": "Very Prickly", + "tag.unicopia.food_types.forage_severely_nauseating": "Sickening", + "tag.unicopia.food_types.forage_radioactive": "Glowy", + "tag.unicopia.food_types.forage_dangerous": "Dangerous", + "tag.unicopia.food_types.forage_blinding": "Toxic", + + "toxicity.safe.name": "Safe", + "toxicity.mild.name": "Mildly Toxic", + "toxicity.fair.name": "Fairly Toxic", + "toxicity.severe.name": "Toxic", + "toxicity.lethal.name": "Lethal", + + "affliction.unicopia.empty": "No Effect", + "affliction.unicopia.healing": "Gain %s%% health", + "affliction.unicopia.cure_love_sickness": "Cure Love Sickness", + "affliction.unicopia.lose_hunger": "Lose %s%% hunger", + + "ability.unicopia.shoot": "Shoot Magic", + "ability.unicopia.shoot.with_spell": "Shoot %s", + "ability.unicopia.shoot.with_spell.active": "Shooting %s", + "ability.unicopia.shoot.with_spell.hand": "Shooting %s from hand", + "ability.unicopia.shoot.with_spell.replacing": "Replace %s with %s", + "ability.unicopia.cast": "Cast Spell", + "ability.unicopia.cast.with_spell": "Cast %s", + "ability.unicopia.cast.with_spell.active": "Casting %s", + "ability.unicopia.cast.with_spell.hand": "Casting %s from hand", + "ability.unicopia.cast.with_spell.replacing": "Replace %s with %s", + "ability.unicopia.kirin_cast": "Cast Spell", + "ability.unicopia.kirin_cast.with_spell": "Cast %s", + "ability.unicopia.kirin_cast.with_spell.active": "Casting %s", + "ability.unicopia.kirin_cast.with_spell.hand": "Casting %s from hand", + "ability.unicopia.kirin_cast.with_spell.replacing": "Replace %s with %s", + "ability.unicopia.dispell": "Dispell Magic", + "ability.unicopia.teleport": "Teleport", + "ability.unicopia.teleport.far": "Teleport (Far)", + "ability.unicopia.teleport_group": "Group Teleport", + "ability.unicopia.teleport_group.far": "Group Teleport (Far)", + "ability.unicopia.grow": "Nourish Earth", + "ability.unicopia.stomp": "Ground Pound", + "ability.unicopia.kick": "Crushing Blow", + "ability.unicopia.hug": "Hug", + "ability.unicopia.pummel": "Devestating Smash", + "ability.unicopia.carry": "Pickup/Drop Passenger", + "ability.unicopia.toggle_flight": "Take-off/Land", + "ability.unicopia.hang": "Cling to Ceiling", + "ability.unicopia.eee": "Screech", + "ability.unicopia.time_control": "Control Sun / Moon", + "ability.unicopia.feed": "Siphon Love", + "ability.unicopia.capture_cloud": "Bust Cloud", + "ability.unicopia.disguise": "Change Form", + "ability.unicopia.rainboom": "Sonic Rainboom", + "ability.unicopia.rage": "Rage", + "ability.unicopia.nirik_blast": "Nirik Blast", + "ability.unicopia.screech": "Screech", + "ability.unicopia.peck": "Peck/Squawk", + "ability.unicopia.peck.block.fled": "The block has fled", + "ability.unicopia.peck.block.unfased": "The block is unfazed by your threats", + "ability.unicopia.dash": "Flying Dash", + "ability.unicopia.change_form": "Change Form", + "ability.unicopia.sonar_pulse": "Sonar Pulse", + + "gui.unicopia.trait.label": "Element of %s", + "gui.unicopia.trait.group": "\n %s", + "gui.unicopia.trait.corruption": "\n %s corruption", + + "gui.unicopia.dispell_screen.cancel": "Press ESC to cancel", + "gui.unicopia.dispell_screen.spell_type": "Spell Type: %s", + "gui.unicopia.dispell_screen.affinity": "Affinity: %s", + "gui.unicopia.dispell_screen.time_left": "Time Left: %s", + "gui.unicopia.dispell_screen.discard": "[Click to Discard]", + + "gui.unicopia": "Unicopia...", + "gui.unicopia.page_num": "%d of %d", + + "respawn.reason.joined_new_tribe": "%1$s was reborn as a %2$s", + + "gui.unicopia.tribe_selection.respawn": "You have died.", + "gui.unicopia.tribe_selection.respawn.journey": "But the end is not all, for at the end of every end is another beginning.", + "gui.unicopia.tribe_selection.respawn.choice": "Choose wisely, for the choice you make now will change the world around you and the paths you may take.", + "gui.unicopia.tribe_selection.welcome": "Select Your Tribe", + "gui.unicopia.tribe_selection.welcome.journey": "A journey into magic and adventure awaits, traveller! But before you go, you must select your path.", + "gui.unicopia.tribe_selection.welcome.choice": "Choose wisely, for the choice you make now will change the world around you and the paths you may take.", + "gui.unicopia.tribe_selection.preference": "Your current preferred tribe is set to %s.", + "gui.unicopia.tribe_selection.options": "Available Tribes:", + "gui.unicopia.tribe_selection.options.disabled": "Option Unavailable", + + "gui.unicopia.tribe_selection.describe.unicopia.earth": "Join the Earth Tribe", + "gui.unicopia.tribe_selection.describe.unicopia.unicorn": "Join the Unicorn Tribe, master the arcane arts", + "gui.unicopia.tribe_selection.describe.unicopia.pegasus": "Join the Pegasus Tribe, soar with the Wonderbolts", + "gui.unicopia.tribe_selection.describe.unicopia.bat": "Join the Bat Tribe, become the darkest night", + "gui.unicopia.tribe_selection.describe.unicopia.kirin": "Join the Kirin's Village, take the vow of silence", + "gui.unicopia.tribe_selection.describe.unicopia.hippogriff": "Join Hippogriff Tribe, screech at your neighbors", + "gui.unicopia.tribe_selection.describe.unicopia.changeling": "Join the Changeling Hive, your Queen demands it", + + "gui.unicopia.tribe_selection.confirm": "You have selected %s", + "gui.unicopia.tribe_selection.confirm.goods": "%s enjoy the following perks:", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.human": " - Are omnivores and can eat all types of food except for love", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.human": " - Opposable thumbs", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.human": " - Walking upright", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.earth": " - Stronger knockback and resistance to magic", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.earth": " - Have extra weight makes them effective against magic and brute force", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.earth": " - A special connection to the earth that makes farming 10,000% more effective!", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.earth": " - Has powerful punches, kicks, and stomps that they can use to defend or attack their environment", + "gui.unicopia.tribe_selection.confirm.goods.5.unicopia.earth": " - Is the only one that can hug creepers and survive", + "gui.unicopia.tribe_selection.confirm.goods.6.unicopia.earth": " - Can eat rocks", + "gui.unicopia.tribe_selection.confirm.goods.7.unicopia.earth": " - Cute floppy pony ears", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.unicorn": " - Teleportation and magic spells", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.unicorn": " - Research and craft magical artefacts that enhance their abilities", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.unicorn": " - Can use magic to detect or reveal nearby changelings", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.unicorn": " - Have pointy sticks on their heads", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.pegasus": " - Flight and the ability to train to build endurace", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.pegasus": " - Use stored mana to dash in short bursts or build it up to perform a powerful rainboom", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.pegasus": " - Moves faster and takes less fall damage", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.pegasus": " - Can interact directly with cloud items and blocks", + "gui.unicopia.tribe_selection.confirm.goods.5.unicopia.pegasus": " - Can eat vegetables and certain types of fish", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.bat": " - Flight and the ability to train to build endurance", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.bat": " - Sees better in the night", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.bat": " - Able to cling to the underside of blocks", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.bat": " - Has a terrifying, yet adorable, but still slightly annoying screech", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.changeling": " - Able to fly and hover in place", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.changeling": " - Shapeshift and morph into nearly anyone or anyling", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.changeling": " - Sticks to walls and can climb over almost enything", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.changeling": " - Is carnivorous. Can eat anything that doesn't make them sick", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.kirin": " - Immune to all types of fire damage", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.kirin": " - Can unlock a rage ability by taking damage", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.kirin": " - Is silent in their default state, and can move freely around the warden", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.kirin": " - Can eat fruits and vegetables, red meats, and some foraged items normally toxic to other races", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.hippogriff": " - Flight and the ability to train to build endurance", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.hippogriff": " - Can dash whilst flying", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.hippogriff": " - Has a sharp and noisy beak for screeching and pecking", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.hippogriff": " - Can eat raw and cooked fish, cooked meat", + "gui.unicopia.tribe_selection.confirm.goods.5.unicopia.hippogriff": " - Heals extra hearts when eating pinecones", + "gui.unicopia.tribe_selection.confirm.goods.6.unicopia.hippogriff": " - Loves stairs", + + "gui.unicopia.tribe_selection.confirm.bads": "but they...", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.human": " - Have no magical abilities what-so-ever", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.human": " - Needs an Elytra to fly", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.human": " - Must grow food the old fashioned way, through hard work and manual labour", + "gui.unicopia.tribe_selection.confirm.bads.4.unicopia.human": " - No floppy ears", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.earth": " - Cannot fly", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.earth": " - Are weak to certain types of magic", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.earth": " - Can only eat plants and vegetables", + "gui.unicopia.tribe_selection.confirm.bads.4.unicopia.earth": " - Heavier and moves slower than the other ponies", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.unicorn": " - Cannot fly", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.unicorn": " - Are weak to brute force attacks", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.unicorn": " - Can only eat plants and vegetables", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.pegasus": " - Light weight makes them the weakest to brute force", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.pegasus": " - Must rest between flights to regain their strength", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.pegasus": " - Cannot use magic without aid from others", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.bat": " - Light weight makes them weak to brute force attacks", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.bat": " - Must rest between flights to regain their strength", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.bat": " - Is sometimes scared of even themselves", + "gui.unicopia.tribe_selection.confirm.bads.4.unicopia.bat": " - Is carnivorous. Can eat raw and cooked meat, or sustain themselved purely on stolen love.", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.changeling": " - Are always starving", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.changeling": " - Requires love, collected from ponies or other hostile mobs to subsidise their diet", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.changeling": " - Becomes sick from eating most regular food and must harvest love to hasten a cure", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.kirin": " - Are no longer quiet whilst raging", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.kirin": " - Has a tendency to burn things, especially when close to raging", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.kirin": " - Lighter than other ponies, and might take increased knockback", + "gui.unicopia.tribe_selection.confirm.bads.4.unicopia.kirin": " - Doesn't like water", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.hippogriff": " - Weak to brute force attacks", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.hippogriff": " - Cannot interact with clouds", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.hippogriff": " - Must rest between flights to regain their strength", + "gui.unicopia.tribe_selection.confirm.bads.4.unicopia.hippogriff": " - Has a bird brain", + + "gui.unicopia.tribe_selection.join": "Join Tribe", + "gui.unicopia.tribe_selection.cancel": "Go Back", + + "gui.unicopia.spellbook.empty_spell_slot": "Empty Spell Slot", + "gui.unicopia.spellbook.page.inventory": "Inventory", + "gui.unicopia.spellbook.page.recipes": "Recipes", + "gui.unicopia.spellbook.page.recipes.empty": "0 Recipes Unlocked", + "gui.unicopia.spellbook.page.mana": "Mana", + "gui.unicopia.spellbook.page.level_requirement": "Level: %s", + "gui.unicopia.spellbook.page.requirements.entry.item": "- %1$sx %2$s", + "gui.unicopia.spellbook.page.requirements.entry.trait": "- At least %1$sx %2$s trait", + "gui.unicopia.spellbook.page.requirements.entry.spell": "- %1$sx %2$s gem", + + "gui.unicopia.spellbook.recipe.requires": "Requires:", + "gui.unicopia.spellbook.author1.sign_off": "At the princess' behest", + "gui.unicopia.spellbook.author1.sign_off.b": "At the princess' behest, so dreadfully sorry", + "gui.unicopia.spellbook.author1.name": "- Starswirl the Bearded", + "gui.unicopia.spellbook.author2.name": "- Lord Sombra", + "gui.unicopia.spellbook.author3.name": "- XOXOX Lulu", + "gui.unicopia.spellbook.chapter.artefacts.status.unconfirmed": "Status: Unconfirmed", + "gui.unicopia.spellbook.chapter.artefacts.status.confirmed": "Status: Confirmed", + "gui.unicopia.spellbook.chapter.artefacts.status.lost": "Status: Lost", + "gui.unicopia.spellbook.chapter.introduction.p1.title": "Preface", + "gui.unicopia.spellbook.chapter.introduction.p1.body": "To whomever holds this tome, beware what you seek for you might not like what you find. §kHither yonder equs§r.", + "gui.unicopia.spellbook.chapter.introduction.p2.title": "Ch.1 Magic in Equestria", + "gui.unicopia.spellbook.chapter.introduction.p2.body": "Equestria is filled with magic of all different shapes and forms. Following recent events, however, it's has become plainly obvious that we do not fully understand all that there is about the world of Equestria. That is why the crown has tasked me with researching Magic in all of its forms, so we might utilise it and, I hope, save ourselves from the §kdiscordic assault§r.", + "gui.unicopia.spellbook.chapter.introduction.p3.title": "1st Mare '12", + "gui.unicopia.spellbook.chapter.introduction.p3.1.body": "Unusual Rocks", + "gui.unicopia.spellbook.chapter.introduction.p3.2.body": "These 'Gemstones' as the locals call them are a common material found around the world. Farm-Ponies dig them up all the time and consider it a local delicacy, but I believe these stones are capable of a lot more than they let on.", + "gui.unicopia.spellbook.chapter.introduction.p4.title": "Gemstones", + "gui.unicopia.spellbook.chapter.introduction.p4.1.body": "My research is still incomplete but I may have stumbled upon something. These stones have high magical potentia! More than I've ever seen before!", + "gui.unicopia.spellbook.chapter.introduction.p4.2.body": "§mLuna wants-§r I'm going to keep experimenting. Hooves-crossed, I'll update you tomorrow if I find anything.", + "gui.unicopia.spellbook.chapter.introduction.p5.title": "2nd Mare '12", + "gui.unicopia.spellbook.chapter.introduction.p5.1.body": "It worked! Holy §kCelestia's ass-cheeks'§r it actually worked!", + "gui.unicopia.spellbook.chapter.introduction.p5.2.body": "This is amazing! These can do so much more than I could have ever imagined. Think of the advances I could bring to Equestria. Gem-powered lighting, heating, cooling, I'd no longer have to spend summer sitting on this-", + "gui.unicopia.spellbook.chapter.introduction.p5.3.body": "I'm getting ahead of myself. Let me explain...", + "gui.unicopia.spellbook.chapter.introduction.p6.title": "Spellcrafting", + "gui.unicopia.spellbook.chapter.introduction.p6.1.body": "I drew a guide at the start of this book to help with the placement.", + "gui.unicopia.spellbook.chapter.introduction.p6.2.body": "Put a raw gem-it mustn't have any spells already-in the middle and place materials around it in the slots I marked.", + "gui.unicopia.spellbook.chapter.introduction.p6.3.body": "Each material gives different effects and putting them closer enhances their influence on the gem.", + "gui.unicopia.spellbook.chapter.introduction.p7.title": "3rd Mare '12", + "gui.unicopia.spellbook.chapter.introduction.p7.1.body": "I'm going to start documenting spell combinations as I find them. Some of them are pretty obvious, like gem + fire = fire gem", + "gui.unicopia.spellbook.chapter.introduction.p7.2.body": "But some are less clear. For instance, what traits would an egg add? Much experimenting is needed. Oh, I'm giddy with excitement!", + "gui.unicopia.spellbook.chapter.introduction.p8.title": "Botched Gems", + "gui.unicopia.spellbook.chapter.introduction.p8.1.body": "Not every combination works. What's dissapointing is now I have all these useless stones piling up in my chambers.", + "gui.unicopia.spellbook.chapter.introduction.p8.2.body": "I don't know what to do with them. They're not edible. At least the locals don't think so.", + "gui.unicopia.spellbook.chapter.introduction.p8.3.body": "They do still have the traits I gave them, so maybe I can find a use other than building a rock-fort with little Luna...", + "gui.unicopia.spellbook.chapter.introduction.p9.title": "13th Mare '12", + "gui.unicopia.spellbook.chapter.introduction.p9.1.body": "Sorry for the long delay in updates. I've been hard at work researching different spells and desciding my approach.", + "gui.unicopia.spellbook.chapter.introduction.p9.2.body": "Fire is becomg a very interesting aspect, what with traits for it being readily available.", + + "gui.unicopia.spellbook.chapter.fire.p1.title": "Ch.2 Fire Magic", + "gui.unicopia.spellbook.chapter.fire.p2.title": "9th Jum '12", + "gui.unicopia.spellbook.chapter.fire.p2.1.body": "It took me longer than I anticipated, nearly a month! Hah! But I present to you, dear reader, my findings for the first elementary form of magic: FIRE.", + "gui.unicopia.spellbook.chapter.fire.p2.2.body": "It's a working title, okay?", + "gui.unicopia.spellbook.chapter.fire.scorch.1.body": "Simple and to the point, Scorch does exactly what you'd think. By embuing a gem with the fire trait, one can indute it to glow and become hot to the touch.", + "gui.unicopia.spellbook.chapter.fire.scorch.2.body": "The effect becomes stronger the more fire you load it with, but take care not to overload it, as it may become volatile.", + "gui.unicopia.spellbook.chapter.fire.flame.1.body": "Creates a heating affect up to a radius of 3 hooves from any surfaces it touches.", + "gui.unicopia.spellbook.chapter.fire.flame.2.body": "Useful when one needs a flame in a hurry or to fend off a wild wendigo.", + "gui.unicopia.spellbook.chapter.fire.p5.title": "10th Jum '12", + "gui.unicopia.spellbook.chapter.fire.p5.1.body": "Progress?", + "gui.unicopia.spellbook.chapter.fire.p5.2.body": "I've managed to improve the previous spell somewhat, but there is still something lacking. It's all very orderly. Predicatable.", + "gui.unicopia.spellbook.chapter.fire.p5.3.body": "Luna has suggested adding more fire, but I'm weary to create more scorch marks on the tower. Faust save me if anypony were to find out what I've been doing...", + "gui.unicopia.spellbook.chapter.fire.p6.title": "Fire Magic III", + "gui.unicopia.spellbook.chapter.fire.p6.1.body": "Focusing Magic", + "gui.unicopia.spellbook.chapter.fire.p6.2.body": "Some spells normally take a great amount of focus to cast, and a steady wit to control, However I've found objects embued with the focusing trait work wonderfully as a substitute for when the caster is lacking.", + "gui.unicopia.spellbook.chapter.fire.p7.title": "Fire Magic III-II", + "gui.unicopia.spellbook.chapter.fire.p7.1.body": "Any glass objects you can find, eyes, bottles, whatever incorporates a lense can be used to embue focus on a spell.", + "gui.unicopia.spellbook.chapter.fire.p8.title": "Scrap 2", + "gui.unicopia.spellbook.chapter.fire.p8.1.body": "We went to the market today. Had to get out of that tower, do something, be somewhere. Luna suggested we go in to see what they were selling for the fair so I decided to indulge her.", + "gui.unicopia.spellbook.chapter.fire.p8.2.body": "The townsfolk are still rather skeptical of us, though who's to blame them. Luna was getting along well with the other foals, at least.", + "gui.unicopia.spellbook.chapter.fire.fire_bolt.1.body": "Creates a series of heated projectiles to fling at a target. Upon impact the target will be set alight.", + "gui.unicopia.spellbook.chapter.fire.fire_bolt.2.body": "- Increase focus will allow finer grained control of the projectile's trajectory.", + "gui.unicopia.spellbook.chapter.fire.fire_bolt.3.body": "- With over 50 focus it's almost like they know where the target is (homing?).", + "gui.unicopia.spellbook.chapter.fire.p10.title": "Fire Magic IV", + "gui.unicopia.spellbook.chapter.fire.p10.1.body": "Powerful Magic", + "gui.unicopia.spellbook.chapter.fire.p10.2.body": "Where some spells take focus, others require power. Either to exert a force, or to generate energy in some form.", + "gui.unicopia.spellbook.chapter.fire.p10.3.body": "There are few unicorns that have the inherent strength and power to cast spells of these kinds, but luckily such a trait is not in short supply around us.", + "gui.unicopia.spellbook.chapter.fire.p11.title": "Fire Magic IV-II", + "gui.unicopia.spellbook.chapter.fire.p11.1.body": "Earthly elements, stone, many metals and minerals, that are strong under compression will exhibit the strength trait.", + "gui.unicopia.spellbook.chapter.fire.p11.2.body": "Electrical/Conductive elements that can be used to power things, or that glow can also be used to obtain the power trait.", + "gui.unicopia.spellbook.chapter.fire.p12.title": "11th Jum '12", + "gui.unicopia.spellbook.chapter.fire.p12.1.body": "Got a knock at the door today. Luna was very eager to answer it but I had to send her away as it was a messenger from the crown.", + "gui.unicopia.spellbook.chapter.fire.p12.2.body": "My research has garnered a certain bit of notoriety, it appears. The royals are very eager to see what I have concocted.", + "gui.unicopia.spellbook.chapter.fire.p12.3.body": "They've gotten it in their heads that they can use it against the West.", + "gui.unicopia.spellbook.chapter.fire.p12.4.body": "Gods forbid they succeed. I shudder to think what the council might do if they got their hooves on my work.", + "gui.unicopia.spellbook.chapter.fire.p12.5.body": "Addendum", + "gui.unicopia.spellbook.chapter.fire.p12.6.body": "§mI am told the crown has started giving directions to find other uses. Ways to...", + "gui.unicopia.spellbook.chapter.fire.p13.title": "20th Jum '12", + "gui.unicopia.spellbook.chapter.fire.p13.1.body": "I have word from the crown. They appear satisfied, for now, and have agreed to let my continue my research as I have into the winter.", + "gui.unicopia.spellbook.chapter.fire.p13.2.body": "I am under duress to destroy the last several entries, I'm afraid.", + "gui.unicopia.spellbook.chapter.fire.p14.title": "21st Jum '12", + "gui.unicopia.spellbook.chapter.fire.p14.1.body": "I shall visit §kCommander Hurricane§r tomorrow. Perhaps she may shed light onto my predicament.", + "gui.unicopia.spellbook.chapter.fire.shield.1.body": "Casting shields are one of the first things every unicorn learns in self-defense. It's simple and easy to cast, and is an excellent introduction to incanting.", + "gui.unicopia.spellbook.chapter.fire.shield.2.body": "Its disadvantage is the energy and mental cost, however we can negate both by attaching it to a gem as per follows...", + "gui.unicopia.spellbook.chapter.fire.shield.modifier.1": "+ add power trait to increase effect range", + "gui.unicopia.spellbook.chapter.fire.p16.title": "Protection II", + "gui.unicopia.spellbook.chapter.fire.p16.1.body": "By adding extra traits, I was able to slightly modify the shield to allow or deny certain parties into the effect range.", + "gui.unicopia.spellbook.chapter.fire.p16.2.body": "+ add life trait --> all animals may enter\n+ add blood trait --> all monsters may enter\n+ add ice trait --> all ponies may enter", + "gui.unicopia.spellbook.chapter.fire.p17.title": "Protection III", + "gui.unicopia.spellbook.chapter.fire.p17.1.body": "+ add genorosity trait to attach the spell to a location rather than yourself", + "gui.unicopia.spellbook.chapter.fire.p18.title": "Scrap: 9th Jum '12", + "gui.unicopia.spellbook.chapter.fire.p18.1.body": "Fire magic has proven to a be a little more... unpredictable than anticipated. Every time I feel like I'm making progress it finds a way to set me back.", + "gui.unicopia.spellbook.chapter.fire.p18.2.body": "I can't stop now, though...I'm told the situation in the west is growing dire. They have asked me to pick up the pace and produce something we can use to get the upper hoof against the §kChangeling Storm§r.", + + "gui.unicopia.spellbook.chapter.ice.p1.title": "Ch.3 Ice Magic", + "gui.unicopia.spellbook.chapter.ice.p2.title": "4th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p2.1.body": "This is an interesting one. Rather simple, I admit, but Luna insisted I make something cold to help us deal with this darn heat.", + "gui.unicopia.spellbook.chapter.ice.p2.2.body": "All you need is a gem and something cold. Like a snowball.", + "gui.unicopia.spellbook.chapter.ice.frost.1.body": "Creates a chilling affect up to a radius of 3 hooves from any surfaces it touches.", + "gui.unicopia.spellbook.chapter.ice.frost.2.body": "Will sap energy out of the immediate environment causing a phase change.", + "gui.unicopia.spellbook.chapter.ice.p4.title": "Chilling Breath", + "gui.unicopia.spellbook.chapter.ice.p4.1.body": "Alters the ability of certain objects to distenguish between hot and cold.", + "gui.unicopia.spellbook.chapter.ice.p4.2.body": "This is a very weak spell, but when used with a boat can be exceedingly useful to get out of a sticky stituation.", + "gui.unicopia.spellbook.chapter.ice.p5.title": "5th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p5.1.body": "The village-ponies had a bonfire last night. I could tell by the strong smell of burning wood and the sound of music.", + "gui.unicopia.spellbook.chapter.ice.p5.2.body": "Luna, bless her heart, insisted that we take a break to join them. She had to practically drag me away from my desk to do it.", + "gui.unicopia.spellbook.chapter.ice.p5.3.body": "What can I say? She's a light in my heart.", + "gui.unicopia.spellbook.chapter.ice.p6.title": "Bonfire", + "gui.unicopia.spellbook.chapter.ice.p6.1.body": "We arrived at the bonfire, and of course the first thing they had was a mug of ale in my hoof. I didn't drink it, of course-alcohol is a poison to me. I'd be sick as a mule.", + "gui.unicopia.spellbook.chapter.ice.p6.2.body": "Luna enjoyed it-the bonfire, not the ale!-though. She made immediate friends with one of the town's fillies, Celly or something. They played the whole night.", + "gui.unicopia.spellbook.chapter.ice.p7.title": "Bonfire II", + "gui.unicopia.spellbook.chapter.ice.p7.1.body": "On the way back Luna was telling me of the stories her friend told her. The town has a lot of legends, as to be expected.", + "gui.unicopia.spellbook.chapter.ice.p7.2.body": "One of them was about a scary old warlock who lived in a haunted tower at the edge of town. There's no mystery who that was about.", + "gui.unicopia.spellbook.chapter.ice.p7.3.body": "Ice Spell II", + "gui.unicopia.spellbook.chapter.ice.p7.4.body": "Creates a cooling affect up to a radius of 3 hooves from any surfaces it touches.", + "gui.unicopia.spellbook.chapter.ice.p8.title": "6th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p8.1.body": "There was a strange noise in the village last night. Very strange. I heard a lot ponies shouting and there may have been a fire.", + "gui.unicopia.spellbook.chapter.ice.p8.2.body": "I hope everything is okay.", + "gui.unicopia.spellbook.chapter.ice.light.1.body": "By combining a fire bolt gem with a splash of life and the chilling effect of ice I've created a spell to help with seeing in the night.", + "gui.unicopia.spellbook.chapter.ice.light.2.body": "Dancing Lights will summon a cluster of glowing orbs to illuminate your path.", + "gui.unicopia.spellbook.chapter.ice.light.modifier.1": "* By adding more focus you can extend the duration of the spell", + "gui.unicopia.spellbook.chapter.ice.p10.title": "12th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p10.1.body": "There were more noises last night, this time a lot closer. The town's dimeaner has also changed. A lot of the ponies I see that are normally very cheerful have become sullen.", + "gui.unicopia.spellbook.chapter.ice.p10.2.body": "Something has happened, that much is obvious, though few will tell me what.", + "gui.unicopia.spellbook.chapter.ice.p11.title": "15th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p11.1.body": "Winter is nearly upon us now. I just saw the earliest flakes of snow outside this window as I write.", + "gui.unicopia.spellbook.chapter.ice.p11.2.body": "The locals have begun their winter unwrapping and though the usual grumblings about frozen fields abound, I can tell there is still §ka sense of uneasyness§r.", + "gui.unicopia.spellbook.chapter.ice.p12.title": "17th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p12.1.body": "It's rather surprising how quickly the weather starts to change around here. Everything in Catermoore is so very well controlled, with the spells we use to manage temperature and the pegasi assisting with the weather, we sometimes forget what wild seasons can be like.", + "gui.unicopia.spellbook.chapter.ice.p12.2.body": "But these Earth Ponies don't ave any of those luxuries. They have to deal with the weather as it comes.", + "gui.unicopia.spellbook.chapter.ice.p13.title": "Frozen Lake", + "gui.unicopia.spellbook.chapter.ice.p13.1.body": "Just this morning I was on the way to the stall when I passed the lake at the foot of this tower's hill and saw it was nearly completely frozen over. A few colts had taken to scating across it.", + "gui.unicopia.spellbook.chapter.ice.p13.2.body": "Luna asked if she could join them, but I didn't allow it. I couldn't say why at the time, but I had a bad feeling, like something was going to happen...", + "gui.unicopia.spellbook.chapter.ice.p14.title": "17th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p14.1.body": "Oh gods, of princesses. I. I don't know how to describe this. My hooves are shaking, I can barely breeze. I'm freezing cold and I can't stop thinking about what happened.", + "gui.unicopia.spellbook.chapter.ice.p14.2.body": "I knew there was something wrong. I b---knew it. I didn't know what it was at the time, but I'm extremely glad I didn't let Luna scate on that lake.", + "gui.unicopia.spellbook.chapter.ice.p15.title": "Frozen Lake II", + "gui.unicopia.spellbook.chapter.ice.p15.1.body": "Let me take a step back a bit to describe what happened. Do you remember the frozen lake and those colts that were skating on it?", + "gui.unicopia.spellbook.chapter.ice.p15.2.body": "Well, after that I went on to the market and I was looking at the strawberries in one of the stalls--Didn't get any, sadly they were forgotten in the confusion.", + "gui.unicopia.spellbook.chapter.ice.p16.title": "Frozen Lake III", + "gui.unicopia.spellbook.chapter.ice.p16.1.body": "Whilst I was debating the vendor about the price, I felt Luna tugging on my tunic and she asked me what was going on. I heard galloping and I saw ponies running by us. None of them stopped to explain, but I heard some very gruff words in old ponish.", + "gui.unicopia.spellbook.chapter.ice.p16.2.body": "They were heading in the direction of our tower so I set off after them.", + "gui.unicopia.spellbook.chapter.ice.p16.3.body": "My immediate thoughts were 'was it a fire'? Was my lab in danger?", + "gui.unicopia.spellbook.chapter.ice.p16.4.body": "I tell you what, I wish that were the case. What I actually found was much, much, worse, and even thinking of it makes my blood run cold anew.", + "gui.unicopia.spellbook.chapter.ice.p17.title": "Frozen Lake IV", + "gui.unicopia.spellbook.chapter.ice.p17.1.body": "When we were getting near the lake from earlier, I saw a large crowd growing along its banks. Ladders and emergency equipment were out and scattered on the shoreline and a loud uproar had erupted about what to do.", + "gui.unicopia.spellbook.chapter.ice.p17.2.body": "Getting closer, though, I realised what had happened soon enough--and I made a beeline for for the water-- The ice was broken and the lake was freezing cold.", + "gui.unicopia.spellbook.chapter.ice.p17.3.body": "I jumped in anyway, pulling my saddlebags open with my magic, and grabbed the last of the gems i had with my and cast the unfinished spell it had inside.", + "gui.unicopia.spellbook.chapter.ice.p17.4.body": "The waters receded away from me as I galloped down the slop and across the drying lake bed and dove to catch the colts that had fallen in.", + "gui.unicopia.spellbook.chapter.ice.p18.title": "Frozen Lake V", + "gui.unicopia.spellbook.chapter.ice.p18.1.body": "They were freezing and wet, even as the spell's effects worked to pull the water away from their coats, we carred them up to the shore and got them covered in blankets with hot drinks in their hooves.", + "gui.unicopia.spellbook.chapter.ice.p18.2.body": "The townponies insisted on giving me a blanket of my own, even though I hadn't - couldn't have- gotten wet.", + "gui.unicopia.spellbook.chapter.ice.p18.3.body": "It was only much later, when the shock began to wear of and I was feeling my head start to pound that I remembered to cancel the spell.", + "gui.unicopia.spellbook.chapter.ice.p18.4.body": "Thank the princesses we got there in time.", + "gui.unicopia.spellbook.chapter.ice.p19.title": "18th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p19.1.body": "No sign of the colts this morning, I assume they won't be coming near this lake for a long while. The water had frozen again in the night and looked peaceful.", + "gui.unicopia.spellbook.chapter.ice.p19.2.body": "The unseasy feeling I had yesterday was gone today so I was able to relax on its banks with Luna. She didn't want to swim in this lake any more, and I don't blame her. I wouldn't either.", + "gui.unicopia.spellbook.chapter.ice.p20.title": "Sandcastle", + "gui.unicopia.spellbook.chapter.ice.p20.1.body": "Luna started a sand castle, and whilst she was busy with that I decided to sketch out the details of my new spell.", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.1.body": "By combining the abilities of a shield spell with that of the frost gem, the results are... Admittedly strange.", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.2.body": "I'm calling this water repulsion because it does just that: It pushes water away from the caster.", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.modifier.1": "* By adding more focus you can extend the duration of the spell", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.modifier.2": "* Add the generosity trait to tie this spell to a location rather than a user", + + "gui.unicopia.spellbook.chapter.air.p1.title": "Ch.4 Air Magic", + "gui.unicopia.spellbook.chapter.air.p2.title": "1st Hoof '12", + "gui.unicopia.spellbook.chapter.air.p1.1.body": "A new month, a new chapter. Little Luna was getting bored of sitting in the tower all day (and who's to blame her? We've been on this assignment for over two months at this point).", + "gui.unicopia.spellbook.chapter.air.p1.2.body": "So as a little treat, we've decided to go on a little trip to the Grand Marepid Falls to visit my friend, Commander Hurricane.", + "gui.unicopia.spellbook.chapter.air.p1.3.body": "The Commander has also very graciously allowed me access to her library to continue my studies. I'm excited to see what combining unicorn and pegasus magics might bring.", + "gui.unicopia.spellbook.chapter.air.p3.title": "2nd Hoof '12", + "gui.unicopia.spellbook.chapter.air.p3.1.body": "Apologies for the, um, unusual entry in the appendices for today. It appears some little gremlin managed to obscond with my journal.", + "gui.unicopia.spellbook.chapter.air.p4.title": "Air Magic I", + "gui.unicopia.spellbook.chapter.air.p4.1.body": "Pegasus Magic", + "gui.unicopia.spellbook.chapter.air.p4.2.body": "Air magic is to pegasi like fire is to unicorns. They're both equally hard to control but where fire is primarily focused around force, destruction, or protection, air is all about flexibility and free motion.", + "gui.unicopia.spellbook.chapter.air.p4.3.body": "Command Hurricane has very kindly given me some tips on how to identify this trait in everyday objects.", + "gui.unicopia.spellbook.chapter.air.p4.4.body": "Anything relating to flight, or that originated from creatures that fly, or that comes from up above can be considered a source of the air trait.", + "gui.unicopia.spellbook.chapter.air.p4.5.body": "Eg. Feathers.", + "gui.unicopia.spellbook.chapter.air.catapult.1.body": "This is a straightforward application of a unicorn's telekineses. The catapult gem allows a caster to grab any block or creature and fling them into the air.", + "gui.unicopia.spellbook.chapter.air.catapult.2.body": "Use it again on something already thrown to push it away from you.", + "gui.unicopia.spellbook.chapter.air.catapult.modifier.1": "* One can add apply more force by adding the strength trait", + "gui.unicopia.spellbook.chapter.air.bubble.1.body": "A defensive and utility spell. Bubble will trap the target in a giant soap bubble, rendering them defensless.", + "gui.unicopia.spellbook.chapter.air.bubble.2.body": "Use it again will pop the bubble.", + "gui.unicopia.spellbook.chapter.air.p7.title": "8th Hoof '12", + "gui.unicopia.spellbook.chapter.air.p7.1.body": "I thought I would take a short moment to write down an entry to record my findings whilst Luna and The Commander are out.", + "gui.unicopia.spellbook.chapter.air.p7.2.body": "Pegasi magic really is a fascinating beast. It's not like our magic, which is more of a study, with rigid rules and practices.", + "gui.unicopia.spellbook.chapter.air.p8.title": "Pegasi", + "gui.unicopia.spellbook.chapter.air.p8.1.body": "Pegasus magic is more about feeling. It's an art form. They don't think about what they want to do, it just happens, but it all still follows the same principle.", + "gui.unicopia.spellbook.chapter.air.p9.title": "Pegasi II", + "gui.unicopia.spellbook.chapter.air.p9.1.body": "Take for example their cloud homes. There are no spells I can read that would let me do this, but if you feel, not with your hooves or your horn, but properly, with your mind, your heart, you will find magic buzzing all throughout.", + "gui.unicopia.spellbook.chapter.air.p9.2.body": "Clouds are teeming with the air and water trait, but also others, like power, strength, life, earth. All traits of the material the clouds are mimicking.", + "gui.unicopia.spellbook.chapter.air.p10.title": "Pegasi III", + "gui.unicopia.spellbook.chapter.air.p10.1.body": "I wish I could study this further, but I'm afraid to interfere in this magic I don't yet fully understand.", + "gui.unicopia.spellbook.chapter.air.p10.2.body": "Commander Hurricane may never forgive me if I destroy her home the first time I'm here.", + "gui.unicopia.spellbook.chapter.air.feather_fall.1.body": "Expanding on the defensive capabilities of the protection gem, I've attempted to extend its advantages to party members.", + "gui.unicopia.spellbook.chapter.air.feather_fall.2.body": "This one is unusual because of its complexity, but in theory it should allow one to slow their own and friends' descent.", + "gui.unicopia.spellbook.chapter.air.p12.title": "10th Hoof '12", + "gui.unicopia.spellbook.chapter.air.p12.1.body": "Went to dinner with Commander Huricane and Luna. We got to talking about architecture and Hurricane mentioned the Taz Marehall.", + "gui.unicopia.spellbook.chapter.air.p12.2.body": "Luna thought it was a rather funny name of a castle. I had to remind her that not all cultures are the same.", + "gui.unicopia.spellbook.chapter.air.p13.title": "21st Hoof '12", + "gui.unicopia.spellbook.chapter.air.p13.1.body": "I'm writing this on the eve of my return to §kTrotholm§r. Though my time in Cloudopolis has been elightening, I look forward to a return to the familiar surroundings and a proper rest in my own solid bed.", + "gui.unicopia.spellbook.chapter.air.p13.2.body": "I cannot say the same for Luna, though. She is currently sitting on my bed beside me pouting over every little thing she sees me put into my saddlebag.", + "gui.unicopia.spellbook.chapter.air.p14.title": "Returning Home", + "gui.unicopia.spellbook.chapter.air.p14.1.body": "She keeps insisting that we stay a little longer §mto hang out with that pegasus colt I saw her with the other day, no doubt", + "gui.unicopia.spellbook.chapter.air.p15.title": "22nd Hoof '12", + "gui.unicopia.spellbook.chapter.air.p15.1.body": "As we're flying above the mountain tops, I can't help but feel in awe the beauty that §kMother Faust§r has given us.", + "gui.unicopia.spellbook.chapter.air.p15.2.body": "I had to spend the whole time keeping Luna from falling out, and of course answering questions about all the different kinds of clouds. Thankfully, the balloon operator was there to help with the subtleties.", + "gui.unicopia.spellbook.chapter.air.p15.3.body": "Being out here, above all of our troubles, really makes me forget the rest of the world for a moment. It takes me back to a simpler time, before the--", + "gui.unicopia.spellbook.chapter.air.p15.4.body": "Of course the flashes of explosions to the west has to ruin it all. There appears to be a storm on the horizon. I certainly hope it not to be a bad omen...", + + "gui.unicopia.spellbook.chapter.dark_magic.p1.title": "Ch.5 The Arcane", + "gui.unicopia.spellbook.chapter.dark_magic.p2.title": "30th Hoof '12", + "gui.unicopia.spellbook.chapter.dark_magic.p2.1.body": "A new communication from the crown today. The situation seems to be worsening in the west and though they've been satisfied with my work until now, they are putting pressure on me to produce something more destructive.", + "gui.unicopia.spellbook.chapter.dark_magic.p2.2.body": "I tried to tell the messenger that I couldn't-", + "gui.unicopia.spellbook.chapter.dark_magic.p3.title": "3rd Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p3.1.body": "Let it be known that it was never my intention that anypony use my work for nefarious purposes. I am a researcher, above and beyond all else. My intentions are pure, and my wants are nothing more than this world to be at peace.", + "gui.unicopia.spellbook.chapter.dark_magic.p4.title": "4th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p4.1.body": "No review of magic is ever complete without a glimpse into the other side.", + "gui.unicopia.spellbook.chapter.dark_magic.p4.2.body": "Dark magic, or as I'm going to refer to it as The Arcane are tip-toeing the line between the normal light magic we normally know and the more nefarious side of reality.", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.1.body": "If someone were to ask you 'what is the opposite of a repulsion spell, what would you say? An attraction spell, of course!", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.2.body": "By twisting the purpose of the protection spell, I've been able to reverse its function to create a spell that pulls objects and entities closer to the caster.", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.modifier.1": "+ 10x knowledge to narrow the effect's range to items", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.modifier.2": "+ add focus trait to increase duration\n+ add power trait to increase range", + "gui.unicopia.spellbook.chapter.dark_magic.p6.title": "8th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p6.1.body": "Additional Notes for the Attraction Spell", + "gui.unicopia.spellbook.chapter.dark_magic.p6.2.body": "I caught Luna playing with my spellcrafting grid today, even though I expressly forbid her from entering my study when I'm not there.", + "gui.unicopia.spellbook.chapter.dark_magic.p6.3.body": "Apparently it was over some dispute with Celly, I don't really remember, but it culminated in Luna sneaking into the study whilst I was out to get some bread.", + "gui.unicopia.spellbook.chapter.dark_magic.p7.title": "Arcane Attraction II", + "gui.unicopia.spellbook.chapter.dark_magic.p7.1.body": "This isn't really about that, though. She's been scolded and sent back to her room, however as I was cleaning up the mess she'd made I noticed something in the piles of gems.", + "gui.unicopia.spellbook.chapter.dark_magic.p7.2.body": "It's hard to describe, really. This is still distincly an attraction gem, but it's different.", + "gui.unicopia.spellbook.chapter.dark_magic.p7.3.body": "It has traits I hadn't considered before, and the way it behaves... ", + "gui.unicopia.spellbook.chapter.dark_magic.p8.title": "Arcane Attraction II Cont.", + "gui.unicopia.spellbook.chapter.dark_magic.p8.1.body": "Well I'll leave that up to tomorrow. I'm still tired from everything that's happened this week.", + "gui.unicopia.spellbook.chapter.dark_magic.p8.2.body": ">0 generosity --> ??", + "gui.unicopia.spellbook.chapter.dark_magic.p8.3.body": ">20 order trait --> ???", + "gui.unicopia.spellbook.chapter.dark_magic.p9.title": "20th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p9.1.body": "As per their agreement, the council have sent certain...supplimental materials to aid in the new direction my research is taking. I was a little shocked at first.", + "gui.unicopia.spellbook.chapter.dark_magic.p9.2.body": "This... thing... Whatever it is. Was, rather.", + "gui.unicopia.spellbook.chapter.dark_magic.p9.3.body": "Is this really what we're fighting in the west?", + "gui.unicopia.spellbook.chapter.dark_magic.p10.title": "21st Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p10.1.body": "I've put the... thing. In the basement. Locked the door.", + "gui.unicopia.spellbook.chapter.dark_magic.p10.2.body": "I just couldn't stand looking at it any longer. It's vaguely pony-shaped, but also...", + "gui.unicopia.spellbook.chapter.dark_magic.p10.3.body": "I couldn't well let Luna see it. I've sent her out to spend the next few nights with Celly whilst I sort out what to do with this.", + "gui.unicopia.spellbook.chapter.dark_magic.p11.title": "25th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p11.1.body": "I'm sorry for the long delays. Things have been... busy.", + "gui.unicopia.spellbook.chapter.dark_magic.p11.2.body": "I've learned a lot about these creatures. Attached are some illustrations, done best I could so I wouldn't have to look at the thing directly.", + "gui.unicopia.spellbook.chapter.dark_magic.p11.3.body": "Its body is black and vaguely §kinsect-like§r with ponish proportions. It has no fur.", + "gui.unicopia.spellbook.chapter.dark_magic.p11.4.body": "The magic they use is unusual. Not unusual, like what I've been studying. It's unnatural. Wild.", + "gui.unicopia.spellbook.chapter.dark_magic.p11.5.body": "There is definitely something I might be able to harness here, but I shudder... Should I?", + "gui.unicopia.spellbook.chapter.dark_magic.p11.6.body": "I fear that this may be a line that shouldn't be crossed.", + "gui.unicopia.spellbook.chapter.dark_magic.transformation.1.body": "I've begun by simply harnessing their ability. It's unfocused and hard to control. I can rarely predict what is going to happen, but this gem has very clear transmodrification properties.", + "gui.unicopia.spellbook.chapter.dark_magic.transformation.2.body": "Throwing this at any creature has the chance to transform it into any other creature.", + "gui.unicopia.spellbook.chapter.dark_magic.reveal.1.body": "Dispell Illusion is the first line of defense against transformation/illusion spells.", + "gui.unicopia.spellbook.chapter.dark_magic.reveal.2.body": "When cast it will force any nearby disguised changelings in its range to reveal their true form.", + "gui.unicopia.spellbook.chapter.dark_magic.reveal.modifier.1": "* Increase range by adding the power trait", + "gui.unicopia.spellbook.chapter.dark_magic.p14.title": "27th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p14.1.body": "Sleep the last few nights has become... elusive.", + "gui.unicopia.spellbook.chapter.dark_magic.p14.2.body": "I don't know how to describe it, really. Luna appears unaffected, but every night after the sun goes down I find myself lying awake at night unable to sleep. It doesn't help that that sounds in the village have resumed.", + "gui.unicopia.spellbook.chapter.dark_magic.p15.title": "Lost Sleep", + "gui.unicopia.spellbook.chapter.dark_magic.p15.1.body": "Last night, especially, I found myself pacing in the observatory. The air became chill, more than is normal for this time of year, and beyond anything that raging fire in corner of the room could combat.", + "gui.unicopia.spellbook.chapter.dark_magic.p15.2.body": "The room where I keep the--my patient opposite the wall behind me.", + "gui.unicopia.spellbook.chapter.dark_magic.p16.title": "Lost Sleep Cont.", + "gui.unicopia.spellbook.chapter.dark_magic.p16.1.body": "I've long since taken to keeping that door locked because every so often I could swear I heard something moving in there...", + "gui.unicopia.spellbook.chapter.dark_magic.p16.2.body": "Gods, am I going crazy?", + "gui.unicopia.spellbook.chapter.dark_magic.p17.title": "29th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p17.1.body": "Bits, there it is again!", + "gui.unicopia.spellbook.chapter.dark_magic.p17.2.body": "I thought last night was a fluke, but I just heard it again--I'm shaking. My hooves, I can barely hold this book as I struggle to pen these words.", + "gui.unicopia.spellbook.chapter.dark_magic.p17.3.body": "There's something--I heard something. Like a chittering--", + "gui.unicopia.spellbook.chapter.dark_magic.p18.title": "1st Croptober '12", + "gui.unicopia.spellbook.chapter.dark_magic.p18.1.body": "I made a call into town. One of the local blacksmiths have agreed to install a new lock, one of the heavy kind that not even earth ponies can bust.", + "gui.unicopia.spellbook.chapter.dark_magic.p18.2.body": "I fear it may not be enough, though, it--whatever it is, clearly has magic. I may be forced to research a magical solution to my insomnia.", + "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.1.body": "This spell will create a magical shroud that can be used to protect from other spellcasters.", + "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.2.body": "No one else will be able to use magic within its radius.", + "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.modifier.1": "* Increase range by adding the power trait", + "gui.unicopia.spellbook.chapter.dark_magic.displacement.1.body": "By casting this spell, a unicorn is able to swap their location with any other creature.", + "gui.unicopia.spellbook.chapter.dark_magic.p21.title": "3rd Croptober '12", + "gui.unicopia.spellbook.chapter.dark_magic.p21.1.body": "The locks have been installed, and with the addition of some extra wardings, I'm feeling a little more at ease.", + "gui.unicopia.spellbook.chapter.dark_magic.p21.2.body": "The motions at night have all but stopped, though I feel like I can almost hear it at times...", + "gui.unicopia.spellbook.chapter.dark_magic.p22.title": "4th Cropt-", + "gui.unicopia.spellbook.chapter.dark_magic.mimic.1.body": "I've been able to tap into some of this strange creature's abilities. There's still a lot to figure out here, but for now I've merely distilled its essense into a gem.", + "gui.unicopia.spellbook.chapter.dark_magic.mimic.modifier.1": "* Add the focus trait to increase the effect's duration", + "gui.unicopia.spellbook.chapter.dark_magic.p24.1.body": "There's been a wave of darkness that has come over the town. Nothing's been the same since that gods-forsaken creature arrived.", + "gui.unicopia.spellbook.chapter.dark_magic.p24.2.body": "Ponies in town have begun remarking on lack of sleep, and it's showing. Just today I saw a poor stallion walking around in a daze. Bags under his eyes, barely any colour in his cheeks.", + "gui.unicopia.spellbook.chapter.dark_magic.p25.1.body": "He looked almost like a zombie the way he went through the motions, not really paying any attention even after he nearly ran into me.", + "gui.unicopia.spellbook.chapter.dark_magic.p26.title": "Scrap", + "gui.unicopia.spellbook.chapter.dark_magic.p26.1.body": "§kIt's not enough. Never enough. Crawling. I feel crawling. Oh gods the crawling won't stop.", + "gui.unicopia.spellbook.chapter.dark_magic.p27.1.body": "The insomnia. I can't take it. I lie in my bed every night waiting to go to sleep.", + "gui.unicopia.spellbook.chapter.dark_magic.p27.2.body": "I thought I could stop it, keep it at bay, but I still hear it. That creature. Cold, unfeeling.", + "gui.unicopia.spellbook.chapter.dark_magic.p27.3.body": "I feel myself being drained any time I'm around it. Is it... feeding on me?", + "gui.unicopia.spellbook.chapter.dark_magic.p27.4.body": "No, it couldn't be.", + "gui.unicopia.spellbook.chapter.dark_magic.p28.1.body": "I found this incantation under some old notes whilst clearing out the lab. It's... simplistic and hard to manage, but it gets the job done.", + "gui.unicopia.spellbook.chapter.dark_magic.dispel_evil.modifier.1": "* Add the power trait to increase the effect's range", + + "gui.unicopia.spellbook.chapter.otherworldly.p1.title": "Ch.6 The Beyond", + "gui.unicopia.spellbook.chapter.otherworldly.p2.title": "2nd Croptober '12", + "gui.unicopia.spellbook.chapter.otherworldly.p2.1.body": "This chapter serves as an exploration of the worlds beyond our own and a delving into what most unicorns would normally shy away from.", + "gui.unicopia.spellbook.chapter.otherworldly.p2.2.body": "In this section can be found the most powerful of the powerful spells, but also the most danger. Read further at your own peril, as this is not for the light of mind.", + "gui.unicopia.spellbook.chapter.otherworldly.siphoning.1.body": "A simple spell that siphons life force out of a living entity and uses it to revitalise the caster.", + "gui.unicopia.spellbook.chapter.otherworldly.necromancy.1.body": "This area effect spell taps into the great beyond to summon life to serve its master.", + "gui.unicopia.spellbook.chapter.otherworldly.necromancy.2.body": "This spell is not very useful when used on its own, but combined with other traits may become a powerful tool against the §kChangeling Swarms§r.", + "gui.unicopia.spellbook.chapter.otherworldly.dark_vortex.1.body": "Dipping below the fabric of reality, this spell taps into the deep arcane powers of the beyond to punch a hole in reality.", + "gui.unicopia.spellbook.chapter.otherworldly.dark_vortex.2.body": "The resulting hole is a hungry mass that consumes all who approach. It grants massive energy, but feed it at your peril.", + "gui.unicopia.spellbook.chapter.otherworldly.portal.1.body": "Combining the effects of the displacement spell created by my predecessor and the dark vortex gem, one is able to tame its chaotic nature.", + "gui.unicopia.spellbook.chapter.otherworldly.portal.2.body": "The arcane rift spell allows the caster to link two locations together to create a bridge across the ether. Anything that enters one end will appear at the other maintaining its velocity.", + "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.1.body": "Continuing my predecessor's research into the abilities of the Changeling Spawn, I have enhanced his mimic spell by adding a chaotic twist.", + "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.2.body": "Mind Swap extends the effects of mimic to cover two individuals, in effect swapping their bodies for a limited time.", + "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.3.body": "* Add the focus trait to increase the effect's duration", + + "gui.unicopia.spellbook.chapter.artefacts.p1.title": "Ch.7 Artefacts", + "gui.unicopia.spellbook.chapter.artefacts.p2.title": "2nd Mare '12", + "gui.unicopia.spellbook.chapter.artefacts.p2.1.body": "What follows is a compendium of research into certain objects of interest identified through my research.", + "gui.unicopia.spellbook.chapter.artefacts.p2.2.body": "Not all of these have gotten anywhere, as they have been proven to either be pure legend, or perhaps a hoax, so I cannot put stock into their stories.", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.1.body": "Crafted by a group of unicorns long ago, its origin and current location is unknown.", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.2.body": "What few accounts exist claim it was a powerful tool of protection and support, as it would funnel life force from enemies towards the caster and their allies.", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.title": "5th Mare '12", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.3.body": "Other accounts say that this artefact only functions when mounted on a specific pedestal of diamond blocks, like a beacon.", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.title": "Torn Page", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.1.body": "§kaaa§rential c§ka§rr§kaaa§rnial purpose§kaaa§r?", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.2.body": "§kAasa sasa fwefsd q43rgfd wqklmsdfl as, klasn.§r", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.3.body": "Building Materials:", + "gui.unicopia.spellbook.chapter.artefacts.crystal_podium.title": "Crystal Podium", + "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.2.body": "It's, um a scroll that you write somepony's name on it and you hold it in one hoof and something in the other hoof and, like, um it goes whooosh and the item is sent to that pony.", + "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.title": "2nd Hoof '12", + "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.3.body": "P.S. Uncle Starswirly is a dunderhead.", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.1.body": "Used in the past by spellcasters to communicate over long distances, this band has long since lost its old use.", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.2.body": "Unicorns who sign and hand out this band can use it to share certain magic effects with their friends.", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.title": "13th Mare '12", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.3.body": "Anyone wearing a bangle you have signed will be able to benefit from the positive effects of your spells, or will be allowed through protection and shield spells.", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.4.body": "Mana costs are also shared equally between all nearby members.", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.1.body": "Commander Hurricane informed me of this, though I've found little texts to back up his claims.", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.2.body": "The Pegasus Amulet is claimed to grant the wearer temporary flight, like a pegasus.", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.title": "21st Trot '12", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.3.body": "It was intended as an aide for early unicorn ambassadors to Cloud Heights, but was lost after negotiations broke down.", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.1.body": "A precursor to magic staffs, the meadwobrook's staff is an upright support structure commonly used by warlocks during long incantation sessions.", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.2.body": "It features a twisting and mottled shape with a dense and sturdy core capable of supporting the weight of an average-sized, adult male.", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.title": "22nd Trot '12", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.3.body": "Due to its dense structure and flamability, this object also serves a secondary purpose as an offensive weapon and fuel source should the situation demand.", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.4.body": "To use correctly in combat, one must begin by gripping the staff by the narrow end in both hands, followed by a swift swing from above one's head whilst yelling 'Fus Roh DAH!'", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.1.body": "Magical aides for non-magical users. Magic staffs work in a similar way to a unicorns horn in that they can be used to channel and harness the innate magic stored within gems.", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.title": "22nd Trot '12", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.2.body": "Not all spells work in the same way, but for those that do, a good staff is an essential tool for any beginner magi.", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.3.body": "The simplest way to create these is to put a gem on the end of a stick. Yes, very revolutionary, I know.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.1.body": "A powerful artifact once thought to be the source of King Grogar's power.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.2.body": "In skilled hooves, the bell may be used to transfer magical energy from one being to another.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.title": "22nd Trot '12", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.3.body": "It's theorised this artifact was forged from the claws of an Ursa Major during the era of Discord's reign, possibly as a weapon against the tyrant.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.4.body": "By its nature, the bell a corrupting influence inherent to it that will destroy the minds of anyone who dares weird its power.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.2.title": "Grogar's Bell II", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.5.body": "Legend says that after its first bearer, King Grogar, was driven to madness, the bell was stowed far away.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.6.body": "beyond most ponies' grasp, guarded inside an ancient city by an unbeatable beast.", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.1.body": "Like the crystal heart, little is known of this artefact and thus nothing, not even its existance can be confirmed.", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.title": "23nd Trot '12", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.2.body": "The alicorn amulet is a powerful force of dark magic created created by an unknown mage as their attempt to create the perfect being.", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.3.body": "It combines the traits of all races into one powerful form, but it hard to control and addictive in nature. Anyone who uses it quickly becomes reliant on it and few attempt to remove it survive the ordeal.", + + "gui.unicopia.action.spells_cleared": "Removed all spells", + "gui.unicopia.action.no_spells_cleared": "You have no active spells", + + "chapter.unicopia.crafting": "Spell Crafting", + "chapter.unicopia.profile": "Profile", + "chapter.unicopia.traits": "Research", + "chapter.unicopia.introduction": "Introduction", + "chapter.unicopia.fire_magic": "Fire Magic", + "chapter.unicopia.ice_magic": "Ice Magic", + "chapter.unicopia.air_magic": "Air Magic", + "chapter.unicopia.dark_magic": "Dark Magic", + "chapter.unicopia.the_otherworldly": "Forbidden Magic", + "chapter.unicopia.crystal_heart": "Artifacts", + + "experience.unicopia.pure.magical_kindergartner": "New Blood", + "experience.unicopia.impure.magical_kindergartner": "Impure", + "experience.unicopia.tainted.magical_kindergartner": "Misguided", + "experience.unicopia.twisted.magical_kindergartner": "Twisted", + "experience.unicopia.corrupt.magical_kindergartner": "Filly Fiend", + "experience.unicopia.monstrous.magical_kindergartner": "Evil Foal", + + "experience.unicopia.pure.friendship_student": "Friendship Student", + "experience.unicopia.impure.friendship_student": "Wayward Soul", + "experience.unicopia.tainted.friendship_student": "Misguided Soul", + "experience.unicopia.twisted.friendship_student": "Lost Soul", + "experience.unicopia.corrupt.friendship_student": "Fiendish Friendship Student", + "experience.unicopia.monstrous.friendship_student": "Monstrous Soul", + + "experience.unicopia.pure.senior_friendship_student": "Promising Friendship Student", + "experience.unicopia.impure.senior_friendship_student": "Dissapointing Friendship Student", + "experience.unicopia.tainted.senior_friendship_student": "Misguided Friendship Student", + "experience.unicopia.twisted.senior_friendship_student": "Band Influence", + "experience.unicopia.corrupt.senior_friendship_student": "Fiendish Friend", + "experience.unicopia.monstrous.senior_friendship_student": "Learning Cultist", + + "experience.unicopia.pure.junior_mage": "Junior Mage", + "experience.unicopia.impure.junior_mage": "Wayward Junior Mage", + "experience.unicopia.tainted.junior_mage": "Misguided Junior Mage", + "experience.unicopia.twisted.junior_mage": "Fiendish Junior Mage", + "experience.unicopia.corrupt.junior_mage": "Junior Anti-Mage", + "experience.unicopia.monstrous.junior_mage": "Junior Cultist", + + "experience.unicopia.pure.mage": "Mage", + "experience.unicopia.impure.mage": "Wayward Mage", + "experience.unicopia.tainted.mage": "Misguided Mage", + "experience.unicopia.twisted.mage": "Fiendish Mage", + "experience.unicopia.corrupt.mage": "Anti-Mage", + "experience.unicopia.monstrous.mage": "Cultist", + + "experience.unicopia.pure.archmage": "Archmage", + "experience.unicopia.impure.archmage": "Wayward Archmage", + "experience.unicopia.tainted.archmage": "Misguided Archmage", + "experience.unicopia.twisted.archmage": "Fiendish Archmage", + "experience.unicopia.corrupt.archmage": "Anti-Archmage", + "experience.unicopia.monstrous.archmage": "Experienced Cultist", + + "experience.unicopia.pure.archmagus": "Archmagus", + "experience.unicopia.impure.archmagus": "Wayward Archmagus", + "experience.unicopia.tainted.archmagus": "Misguided Archmagus", + "experience.unicopia.twisted.archmagus": "Fiendish Archmagus", + "experience.unicopia.corrupt.archmagus": "Anti-Archmagus", + "experience.unicopia.monstrous.archmagus": "Senior Cultist", + + "experience.unicopia.pure.senior_archmagus": "Senior Archmagus", + "experience.unicopia.impure.senior_archmagus": "Wayward Senior Archmagus", + "experience.unicopia.tainted.senior_archmagus": "Misguided Senior Archmagus", + "experience.unicopia.twisted.senior_archmagus": "Fiendish Senior Archmagus", + "experience.unicopia.corrupt.senior_archmagus": "Senior Anti-Archmagus", + "experience.unicopia.monstrous.senior_archmagus": "Cult Leader", + + "experience.unicopia.pure.ascended_senior_archmagus": "Ascended Senior Archmagus", + "experience.unicopia.impure.ascended_senior_archmagus": "Struggling Senior Archmagus", + "experience.unicopia.tainted.ascended_senior_archmagus": "Falling Senior Archmagus", + "experience.unicopia.twisted.ascended_senior_archmagus": "Fallen Senior Archmagus", + "experience.unicopia.corrupt.ascended_senior_archmagus": "Shadowy Senior Anti-Archmagus", + "experience.unicopia.monstrous.ascended_senior_archmagus": "Dark Cult Leader", + + "experience.unicopia.pure.demi_god": "Aspiring Princess", + "experience.unicopia.impure.demi_god": "Impure Aspiring Princess", + "experience.unicopia.tainted.demi_god": "Struggling Aspiring Princess", + "experience.unicopia.twisted.demi_god": "Fallen Princess", + "experience.unicopia.corrupt.demi_god": "Ascendent Dark Lord", + "experience.unicopia.monstrous.demi_god": "Rising Dark Master", + + "experience.unicopia.pure.arch_demi_god": "Promising Princess", + "experience.unicopia.impure.arch_demi_god": "Impure Princess", + "experience.unicopia.tainted.arch_demi_god": "Struggling Princess", + "experience.unicopia.twisted.arch_demi_god": "Fallen Demi-God", + "experience.unicopia.corrupt.arch_demi_god": "Dark Demi-God", + "experience.unicopia.monstrous.arch_demi_god": "Dark Master", + + "experience.unicopia.pure.alicorn_princess": "Alicorn Princess", + "experience.unicopia.impure.alicorn_princess": "Impure Alicorn Princess", + "experience.unicopia.tainted.alicorn_princess": "Tainted Alicorn Princess", + "experience.unicopia.twisted.alicorn_princess": "Fallen Alicorn Princess", + "experience.unicopia.corrupt.alicorn_princess": "Shadowy Alicorn Lord", + "experience.unicopia.monstrous.alicorn_princess": "Dark Alicorn Lord", + + "experience.unicopia.pure.polycorn_princess": "Polycorn Princess", + "experience.unicopia.impure.polycorn_princess": "Impure Polycorn Princess", + "experience.unicopia.tainted.polycorn_princess": "Tainted Polycorn Princess", + "experience.unicopia.twisted.polycorn_princess": "Fallen Polycorn Princess", + "experience.unicopia.corrupt.polycorn_princess": "Shadowy Polycorn King", + "experience.unicopia.monstrous.polycorn_princess": "Dark Polycorn King", + + "experience.unicopia.pure.faustian_legend": "Hero of Legend", + "experience.unicopia.impure.faustian_legend": "Legendary", + "experience.unicopia.tainted.faustian_legend": "Storied Figure of Distant Descent", + "experience.unicopia.twisted.faustian_legend": "Dark Figure of Lore", + "experience.unicopia.corrupt.faustian_legend": "The Old God", + "experience.unicopia.monstrous.faustian_legend": "Otherworldly Terror", + + "unicopia.category.name": "Pony Abilities", + + "key.unicopia.primary": "Primary Ability", + "key.unicopia.secondary": "Secondary Ability", + "key.unicopia.tertiary": "Tertiary Ability", + "key.unicopia.passive": "Passive Ability", + + "key.unicopia.hud_page_dn": "Hud Previous Page", + "key.unicopia.hud_page_up": "Hud Next Page", + + "enchantment.unicopia.gem_finder": "Gem Finder", + "enchantment.unicopia.padded": "Padded", + "enchantment.unicopia.clingy": "Clings", + "enchantment.unicopia.repulsion": "Repulsion", + "enchantment.unicopia.heavy": "Heavy", + "enchantment.unicopia.herds": "Herds", + "enchantment.unicopia.want_it_need_it": "Want It Need It", + "enchantment.unicopia.poisoned_joke": "Poisoned Joke", + "enchantment.unicopia.stressed": "Stressed", + "enchantment.unicopia.heart_bound": "Heart Bound", + "enchantment.unicopia.consumption": "Consumption", + + "commands.race.success.self": "Set own race to %1$s", + "commands.race.success": "%1$s changed race to %2$s", + "commands.race.success.other": "Changed %1$s's race to %2$s", + "commands.race.usage": "/race [player]", + "commands.race.list": "The available races are:", + "commands.race.permission": "Selected Race is not permitted by your current server", + "commands.race.fail": "\"%s\" is not a recognised Race", + + "commands.skyangle.get": "The current angle of the sun is %sdeg", + "commands.skyangle.set": "Changed sky angle to %sdeg", + + "commands.race.tell.self": "You are a ", + "commands.race.tell.self.alt": "You are an ", + "commands.race.tell.other": "%s is a ", + "commands.race.tell.other.alt": "%s is an ", + + "commands.racelist.illegal": "The default race %s cannot be used with this command.", + "commands.racelist.allowed": "Added %1$s to the whitelist.", + "commands.racelist.allowed.failed": "%1$s is already whitelisted.", + + "commands.racelist.disallowed": "Removed %1$s from the whitelist.", + "commands.racelist.disallowed.failed": "%1$s is not on the whitelist.", + + "commands.worldtribe.success.get": "Default race for all new players is currently set to: %s", + "commands.worldtribe.success.set": "Set default race for new players is now set to: %s", + + "commands.disguise.usage": "/disguise [nbt]", + "commands.disguise.notfound": "The entity id '%s' does not exist.", + "commands.disguise.removed": "Your disguise has been removed.", + "commands.disguise.removed.self": "Removed own disguise.", + "commands.disguise.removed.other": "Removed %s's disguise.", + "commands.disguise.success": "You are now disguised as %s", + "commands.disguise.success.self": "Set own disguise to %s", + "commands.disguise.success.other": "%s changed their disguise to %s", + + "commands.gravity.get": "Your gravity is %f", + "commands.gravity.get.other": "%s has a gravity of %f", + "commands.gravity.set": "Your gravity has been updated to %f", + "commands.gravity.set.self": "Set own gravity to %f", + "commands.gravity.set.other": "Set %s's gravity to %f", + + "unicopia.options.title": "Unicopia Options", + "unicopia.options.ignore_mine_lp": "Ignore Mine Little Pony", + "unicopia.options.ignore_mine_lp.missing": "* Mine Little Pony is not installed", + "unicopia.options.ignore_mine_lp.detected": "* Your detected race is %s", + "unicopia.options.ignore_mine_lp.undetected": "* We will not use your detected race", + "unicopia.options.preferred_race": "Preferred Race: %s", + "unicopia.options.whitelist": "Enable Whitelist", + "unicopia.options.whitelist.race": "Allow %ss", + "unicopia.options.whitelist.details": "* Select the races you wish to allow", + "unicopia.options.cheats": "Enable Cheats", + "unicopia.options.client": "Client Settings", + "unicopia.options.world": "World Settings", + "unicopia.options.world.default_race": "Default Race: %s", + "unicopia.options.lan": "Multiplayer (LAN) Settings", + + "command.unicopia.config.add": "[Config] Added %s to property %s", + "command.unicopia.config.remove": "[Config] Removed %s from property %s", + "command.unicopia.config.list": "[Config] Property (%s) contains (%s) entries: ", + "command.unicopia.config.clear": "[Config] Cleared all values from property %s", + + "unicopia.race.unset": "Unset", + "unicopia.race.unset.alt": "Unset", + "unicopia.race.human": "Human", + "unicopia.race.human.alt": "Humans", + "unicopia.race.earth": "Earth Pony", + "unicopia.race.earth.alt": "Earth Ponies", + "unicopia.race.unicorn": "Unicorn", + "unicopia.race.unicorn.alt": "Unicorns", + "unicopia.race.pegasus": "Pegasus", + "unicopia.race.pegasus.alt": "Pegasi", + "unicopia.race.alicorn": "Alicorn", + "unicopia.race.alicorn.alt": "Alicorns", + "unicopia.race.changeling": "Changeling", + "unicopia.race.changeling.alt": "Changelings", + "unicopia.race.bat": "Bat Pony", + "unicopia.race.bat.alt": "Bat Ponies", + "unicopia.race.kirin": "Kirin", + "unicopia.race.kirin.alt": "Kirins", + "unicopia.race.hippogriff": "Hippogriff", + "unicopia.race.hippogriff.alt": "Hippogriffs", + "unicopia.race.seapony": "Sea Pony", + "unicopia.race.seapony.alt": "Sea Ponies", + + "death.attack.unicopia.generic.and_also": "%1$s and %2$s", + "death.attack.unicopia.generic.whilst_flying": "%1$s whilst flying", + "death.attack.unicopia.tribe_swap": "%1$s was reborn into a different tribe", + "death.attack.unicopia.tribe_swap.self": "%1$s was doomed themselved to be reborn into a different tribe", + "death.attack.unicopia.tribe_swap.player": "%1$s was doomed to be reborn into a different tribe by %2$s", + "death.attack.unicopia.sun": "%1$s stared into the sun", + "death.attack.unicopia.sun.self": "%1$s stared into the sun", + "death.attack.unicopia.sun.player": "%1$s stared into the sun whilst fighting %2$s", + "death.attack.unicopia.sunlight": "%1$s was burned by the sun", + "death.attack.unicopia.sunlight.self": "%1$s was burned by the sun", + "death.attack.unicopia.sunlight.player": "%1$s was burned by the sun whilst fighting %2$s", + "death.attack.unicopia.petrified": "%1$s turned to stone", + "death.attack.unicopia.petrified.self": "%1$s turned to stone", + "death.attack.unicopia.petrified.player": "%1$s turned to stone whilst fighting %2$s", + "death.attack.unicopia.magical_exhaustion": "%1$s exhausted themselves", + "death.attack.unicopia.magical_exhaustion.self": "%1$s exhausted themselves", + "death.attack.unicopia.magical_exhaustion.player": "%1$s exhausted themselves whilst fighting %2$s", + "death.attack.unicopia.alicorn_amulet": "%1$s was driven insane", + "death.attack.unicopia.alicorn_amulet.self": "%1$s drove themselves insane", + "death.attack.unicopia.alicorn_amulet.player": "%1$s went insane whilst fighting %2$s", + "death.attack.unicopia.darkness": "%1$s went missing", + "death.attack.unicopia.darkness.self": "%1$s went missing", + "death.attack.unicopia.darkness.player": "%1$s went missing whilst fighting %2$s", + "death.attack.unicopia.love_draining": "%1$s was drained of all love", + "death.attack.unicopia.love_draining.self": "%1$s expelled all of their own love", + "death.attack.unicopia.love_draining.player": "%2$s drained %1$s of all their love", + "death.attack.unicopia.life_draining": "%1$s was sucked dry", + "death.attack.unicopia.life_draining.self": "%1$s was killed by their own spell", + "death.attack.unicopia.life_draining.player": "%1$s was killed by a spell cast by %2$s", + "death.attack.unicopia.bat_screech": "%1$s was spooked", + "death.attack.unicopia.bat_screech.self": "%1$s spooked themselves", + "death.attack.unicopia.bat_screech.player": "%2$s spooked %1$s", + "death.attack.unicopia.bat_screech.item": "%1$s was spooked by %2$s using %3$s", + "death.attack.unicopia.gravity_well_recoil": "%1$s turned into spaghetti", + "death.attack.unicopia.gravity_well_recoil.player": "%1$s turned into spaghetti by a spell cast by %2$s", + "death.attack.unicopia.gravity_well_recoil.item": "%1$s turned into spaghetti by a spell cast by %2$s using %3$s", + "death.attack.unicopia.gravity_well_recoil.self": "%1$s cast a spell that turned them into spaghetti", + "death.attack.unicopia.smash": "%1$s was crushed under hoof", + "death.attack.unicopia.smash.self": "%1$s got themselves crushed under a hoof", + "death.attack.unicopia.smash.player": "%1$s was crushed by %2$s", + "death.attack.unicopia.zap": "%1$s bit into a Zap Apple", + "death.attack.unicopia.zap.self": "%1$s bit into a Zap Apple", + "death.attack.unicopia.zap.player": "%1$s bit into a Zap Apple whilst fighting %2$s", + "death.attack.unicopia.paradox": "%1$s imploded", + "death.attack.unicopia.paradox.self": "%1$s imploded themselves", + "death.attack.unicopia.paradox.player": "%1$s imploded with some help from %2$s", + "death.attack.unicopia.food_poisoning": "%1$s died of food poisoning", + "death.attack.unicopia.food_poisoning.self": "%1$s died of food poisoning", + "death.attack.unicopia.food_poisoning.player": "%2$s poisoned %1$s to death", + "death.attack.unicopia.black_hole": "%1$s was sucked into a black hole", + "death.attack.unicopia.black_hole.self": "%1$s was sucked into a black hole", + "death.attack.unicopia.black_hole.player": "%1$s got sucked into %2$s's black hole", + "death.attack.unicopia.kick": "%1$s was kicked really hard", + "death.attack.unicopia.kick.self": "%1$s kicked themselves really hard", + "death.attack.unicopia.kick.player": "%2$s kicked %1$s really hard", + "death.attack.unicopia.steamroller": "%1$s was flattened", + "death.attack.unicopia.steamroller.self": "%1$s was flattened", + "death.attack.unicopia.steamroller.player": "%2$s steamrolled %1$s", + "death.attack.unicopia.stalagmite.pegasus": "%1$s tried to perch on a stalagmite", + "death.attack.unicopia.stalagmite.pegasus.player": "%1$s flew into a stalagmite whilst fighting %2$s", + "death.attack.unicopia.rock": "%1$s was pummeled", + "death.attack.unicopia.rock.self": "%1$s was pummeled", + "death.attack.unicopia.rock.item": "%1$s was pummelled by %2$s using %3$s", + "death.attack.unicopia.rock.player": "%1$s was pummelled by %2$s", + "death.attack.unicopia.horseshoe": "%1$s went ding", + "death.attack.unicopia.horseshoe.self": "%1$s dinged himself", + "death.attack.unicopia.horseshoe.item": "%1$s was dinged by %2$s using %3$s", + "death.attack.unicopia.horseshoe.player": "%1$s was dinged by %2$s", + + "death.fell.accident.ladder.pegasus": "%1$s forgot they could fly and fell off a ladder", + "death.fell.accident.vines.pegasus": "%1$s forgot they could fly and fell off some vines", + "death.fell.accident.weeping_vines.pegasus": "%1$s forgot they could fly and fell off some weeping vines", + "death.fell.accident.twisting_vines.pegasus": "%1$s forgot they could fly and fell off some twisting vines", + "death.fell.accident.scaffolding.pegasus": "%1$s forgot they could fly and fell off scaffolding", + "death.fell.accident.other_climbable.pegasus": "%1$s forgot they could fly and fell while climbing", + "death.fell.accident.generic.pegasus": "%1$s forgot they could fly", + "death.fell.accident.pegasus": "%1$s forgot they could fly", + "death.fell.accident.water": "%1$s got their wings wet", + + "painting.unicopia.hurricane.title": "Hurricane", + "painting.unicopia.hurricane.author": "Pegasus Tribe", + "painting.unicopia.platinum.title": "Platinum", + "painting.unicopia.platinum.author": "Unicorn Tribe", + "painting.unicopia.pudding.title": "Pudding", + "painting.unicopia.pudding.author": "Earth Pony Tribe", + "painting.unicopia.equestria.title": "Equestrian Flag", + "painting.unicopia.equestria.author": "Unicopia", + "painting.unicopia.terra.title": "Terra", + "painting.unicopia.terra.author": "Earth Pony Tribe", + "painting.unicopia.blossom.title": "Blossom", + "painting.unicopia.blossom.author": "Chancellor Pudding Head", + "painting.unicopia.shadow.title": "Shadow", + "painting.unicopia.shadow.author": "Nightmare Moon", + "painting.unicopia.bloom.title": "Bloom", + "painting.unicopia.bloom.author": "CMC", + "painting.unicopia.chicken.title": "Chicken", + "painting.unicopia.chicken.author": "CMC", + "painting.unicopia.bells.title": "Bells", + "painting.unicopia.bells.author": "CMC", + "painting.unicopia.crystal.title": "Crystals", + "painting.unicopia.crystal.author": "King Sombra", + "painting.unicopia.harmony.title": "Harmony", + "painting.unicopia.harmony.author": "Unicopia", + "painting.unicopia.lunar.title": "Lunar", + "painting.unicopia.lunar.author": "Bat Pony Tribe", + "painting.unicopia.solar.title": "Solar", + "painting.unicopia.solar.author": "Royal Guard", + "painting.unicopia.equality.title": "Equality", + "painting.unicopia.equality.author": "Starlight Glimmer", + + "unicopia.subtitle.flap_wings": "Wing flaps", + "unicopia.subtitle.dash": "Pony Dashes", + "unicopia.subtitle.wind_rush": "Wind gusts", + "unicopia.subtitle.insects": "Insects Scurrying", + "unicopia.subtitle.changeling_buzz": "Drone buzzing", + "unicopia.subtitle.batpony_eeee": "Batpony Screeches", + "unicopia.subtitle.sonar": "Sonar Pulses", + "unicopia.subtitle.changeling.transform": "Changeling transforms", + "unicopia.subtitle.screech": "Hippogriff Screeches", + "unicopia.subtitle.pegasus.molt": "Pegasus loses feather", + "unicopia.subtitle.unicorn.teleport": "Magic pops", + "unicopia.subtitle.player.wololo": "Wololo!", + "unicopia.subtitle.entity.player.whistle": "Player whistles", + "unicopia.subtitle.entity.player.kick": "Player kicks", + "unicopia.subtitle.magic_aura": "Magic humming", + "unicopia.subtitle.player.rebound": "Player Bounces Off Wall", + "unicopia.subtitle.screech": "Player Screeches", + "unicopia.subtitle.ears_ringing": "Ears ringing", + "unicopia.subtitle.heartbeat": "Heart beats", + "unicopia.subtitle.entity.artefact.ambient": "Magic hums", + "unicopia.subtitle.entity.butterfly.hurt": "Butterfly hurts", + "unicopia.subtitle.entity.twittermite.ambient": "Twittermite squeaks", + "unicopia.subtitle.entity.twittermite.death": "Twittermite dies", + "unicopia.subtitle.entity.twittermite.hurt": "Twittermite hurts", + "unicopia.subtitle.entity.jar.throw": "Jar thrown", + "unicopia.subtitle.entity.crystal_heart.activate": "Crystal heart activates", + "unicopia.subtitle.entity.crystal_heart.deactivate": "Crystal heart deactivates", + "unicopia.subtitle.entity.sombra.ambient": "Evil Laughter", + "unicopia.subtitle.entity.sombra.laugh": "King Sombra Laughs", + "unicopia.subtitle.entity.sombra.snicker": "King Sombra Snickers", + "unicopia.subtitle.item.amulet.charging": "Amulet charges", + "unicopia.subtitle.item.amulet.recharge": "Amulet recharged", + "unicopia.subtitle.item.icarus_wings.resonate": "Icarus wings resonate", + "unicopia.subtitle.item.icarus_wings.corrupted": "Icarus wings corrupted", + "unicopia.subtitle.item.icarus_wings.warn": "Icarus wings breaking", + "unicopia.subtitle.item.icarus_wings.break": "Icarus wings breaks", + "unicopia.subtitle.item.alicorn_amulet.curse": "Alicorn Amulet curse begins", + "unicopia.subtitle.item.alicorn_amulet.ambient": "Alicorn Amulet ambient", + "unicopia.subtitle.item.apple.rot": "Apple rots", + "unicopia.subtitle.item.bracelet.sign": "Bracelet signed", + "unicopia.subtitle.block.chitin.ambience": "Scuttering", + "unicopia.subtitle.block.slime_pustule.pop": "Slime Pustule Burts", + "unicopia.subtitle.spell.cast.fail": "Spellcast fails", + "unicopia.subtitle.spell.cast.success": "Spell casts", + "unicopia.subtitle.spell.cast.shoot": "Unicorn shoots", + "unicopia.subtitle.spell.illusion.disperse": "Changeling reveals", + "unicopia.subtitle.spell.fire.shoot.bolt": "Firebolt fires", + "unicopia.subtitle.spell.shield.projectile.burn": "Arrow burns", + "unicopia.subtitle.spell.transform.transmute.entity": "Magic pops", + + "advancements.unicopia.root.title": "Unicopia", + "advancements.unicopia.root.description": "A world of magic and adventure", + "advancements.unicopia.praise_the_sun.title": "Praise the Sun!", + "advancements.unicopia.praise_the_sun.description": "Experience Celestia's unbridled glory", + "advancements.unicopia.cool_potato.title": "Cool Potato", + "advancements.unicopia.cool_potato.description": "Protect your eyes from the sun", + "advancements.unicopia.baked_bads.title": "Baked Bads", + "advancements.unicopia.baked_bads.description": "Bake a delicious muffin", + "advancements.unicopia.mid_flight_interruption.title": "Mid-Flight Interruption", + "advancements.unicopia.mid_flight_interruption.description": "Get struck by lightning whilst flying in a storm", + "advancements.unicopia.lightning_bug.title": "Lightning Bug", + "advancements.unicopia.lightning_bug.description": "Attract 10 lightning strikes", + "advancements.unicopia.jar.title": "Oh wow. What's this?", + "advancements.unicopia.jar.description": "Find an empty jar", + "advancements.unicopia.gotcha.title": "Got'cha!", + "advancements.unicopia.gotcha.description": "Capture a storm", + "advancements.unicopia.trick_apple.title": "Apple of Discord", + "advancements.unicopia.trick_apple.description": "Find your first zap apple", + "advancements.unicopia.feed_trick_apple.title": "Here, Try This", + "advancements.unicopia.feed_trick_apple.description": "Feed a zap apple to a mob", + "advancements.unicopia.eat_trick_apple.title": "Crunchy", + "advancements.unicopia.eat_trick_apple.description": "Bite into a zap apple", + "advancements.unicopia.eat_pinecone.title": "Desperation", + "advancements.unicopia.eat_pinecone.description": "Eat a pinecone", + "advancements.unicopia.imported_oats.title": "Delicious As They Are Expensive", + "advancements.unicopia.imported_oats.description": "Send or receive fancy imported oats", + + "advancements.unicopia.experimental.title": "You Can't Take It With You", + "advancements.unicopia.experimental.description": "Enchant a tool with Consumption", + "advancements.unicopia.xp_miner.title": "XP Miner", + "advancements.unicopia.xp_miner.description": "Use consumption to dig up some experience", + + "advancements.unicopia.hearts_stronger_than_horses.title": "Hearts Stronger Than Horses", + "advancements.unicopia.hearts_stronger_than_horses.description": "Enchant a tool with Heart Bound", + "advancements.unicopia.soulmate.title": "You Can Keep it With You", + "advancements.unicopia.soulmate.description": "Die whilst holding a heart-bound item", + + "advancements.unicopia.burn_juice.title": "That doesn't seem right", + "advancements.unicopia.burn_juice.description": "Burn the juice", + "advancements.unicopia.apple_route.title": "Apple, Apple, Apple", + "advancements.unicopia.apple_route.description": "Start your journey towards the apple of legend", + "advancements.unicopia.juice.title": "Refreshing", + "advancements.unicopia.juice.description": "Finally a use for all these apples", + "advancements.unicopia.toast.title": "He's Crispy and delicious!", + "advancements.unicopia.toast.description": "Make a toasted companion", + "advancements.unicopia.burn_toast.title": "Toasty NOOOOOOO!", + "advancements.unicopia.burn_toast.description": "Burn Toasty", + "advancements.unicopia.lucky.title": "As seen on TV", + "advancements.unicopia.lucky.description": "Make some lucky horse shoe fries", + "advancements.unicopia.sweet_apple_acres.title": "Sweet Apple Acres", + "advancements.unicopia.sweet_apple_acres.description": "Obtain one of every apple", + "advancements.unicopia.brew_cider.title": "Applejack's Finest", + "advancements.unicopia.brew_cider.description": "Brew some cider", + "advancements.unicopia.travelling_in_style.title": "Travelling in Style", + "advancements.unicopia.travelling_in_style.description": "Ride a hot air balloon", + + "advancements.unicopia.night_route.title": "Children of The Night", + "advancements.unicopia.night_route.description": "Walk the path of the night", + "advancements.unicopia.screech_twenty_mobs.title": "Terror From The Skies", + "advancements.unicopia.screech_twenty_mobs.description": "Rain down terror on at least 20 mobs at once", + "advancements.unicopia.screech_self.title": "Jeepers!", + "advancements.unicopia.screech_self.description": "Be so terrifying that you even scared your self a little", + "advancements.unicopia.extra_spooky.title": "Extra Spooky", + "advancements.unicopia.extra_spooky.description": "Spook a mob so hard it drops a brick", + + "advancements.unicopia.sweet_sweet_revenge.title": "Sweet Sweet Revenge", + "advancements.unicopia.sweet_sweet_revenge.description": "Get Celestia back for burning your eyes", + "advancements.unicopia.blasphemy.title": "Blasphemy!", + "advancements.unicopia.blasphemy.description": "Ding Celestia on the noggin. Oops!", + + "advancements.unicopia.earth_route.title": "Path of the Pony", + "advancements.unicopia.earth_route.description": "Join the Apple Clan", + "advancements.unicopia.sticks_and_stones.title": "Sticks and Stones", + "advancements.unicopia.sticks_and_stones.description": "Kill a mob by throwing rocks at it", + "advancements.unicopia.dead_ringer.title": "Dead Ringer", + "advancements.unicopia.dead_ringer.description": "Kill a mob with a horseshoe", + "advancements.unicopia.born_on_a_rock_farm.title": "Born on a Rock Farm", + "advancements.unicopia.born_on_a_rock_farm.description": "Successfully farm your first rock", + "advancements.unicopia.thats_unusual.title": "That's Unusual", + "advancements.unicopia.thats_unusual.description": "But what does it do?", + + "advancements.unicopia.sky_route.title": "Path of the Pegasus", + "advancements.unicopia.sky_route.description": "Join the Clousdale Pegasi", + "advancements.unicopia.molting_season_1.title": "Molting Season", + "advancements.unicopia.molting_season_1.description": "Drop a feather whilst flying", + "advancements.unicopia.molting_season_2.title": "Molting Season 2", + "advancements.unicopia.molting_season_2.description": "Drop 5 feathers whilst flying", + "advancements.unicopia.molting_season_3.title": "Molting Season 3", + "advancements.unicopia.molting_season_3.description": "Drop 15 feathers whilst flying", + "advancements.unicopia.rainbow_crash.title": "Dammit, Rainbow", + "advancements.unicopia.rainbow_crash.description": "Wage war on the evil glass window nation", + "advancements.unicopia.second_wind.title": "Second Wind", + "advancements.unicopia.second_wind.description": "Fly through the pain", + "advancements.unicopia.deter_phantom.title": "What Flies Around", + "advancements.unicopia.deter_phantom.description": "Get up there and give those phantoms a taste of their own medicine", + + "advancements.unicopia.magical_route.title": "Horn of the Unicorn", + "advancements.unicopia.magical_route.description": "Delve into the world of glitter and rainbows", + + "advancements.unicopia.books.title": "Books!", + "advancements.unicopia.books.description": "This is MY spellbook and I'm going to READ it!", + "advancements.unicopia.tempted.title": "Tempting...", + "advancements.unicopia.tempted.description": "Put on the alicorn amulet", + "advancements.unicopia.hello_darkness_my_old_friend.title": "Hello Darkness...", + "advancements.unicopia.hello_darkness_my_old_friend.description": "Delve further into the powers of the dark side", + "advancements.unicopia.a_falling_wizard.title": "A Falling Wizard", + "advancements.unicopia.a_falling_wizard.description": "A unicorn tried to perform an unsuccessful flying spell", + + "advancements.unicopia.split_the_sea.title": "Who are you? Moses?", + "advancements.unicopia.split_the_sea.description": "Use magic to displace over 100 blocks of water in one go", + "advancements.unicopia.save_the_day.title": "Save the Day", + "advancements.unicopia.save_the_day.description": "Defeat King Sombra once and for all", + "advancements.unicopia.ascension.title": "Ascension", + "advancements.unicopia.ascension.description": "Complete Sombra's Work", + "advancements.unicopia.doctor_sombrero.title": "Doctor Sombrero", + "advancements.unicopia.doctor_sombrero.description": "That's not mare-iachi!", + "advancements.unicopia.crystaline.title": "Crystaline", + "advancements.unicopia.crystaline.description": "Collect some crystal shards", + "advancements.unicopia.power_up_heart.title": "Power of Love", + "advancements.unicopia.power_up_heart.description": "Power up a Crystal Heart", + "advancements.unicopia.love_is_power.title": "Love is Power", + "advancements.unicopia.love_is_power.description": "Banish King Sombra with a crystal heart", + + "unicopia.toast.discoveries.title": "New Discoveries!", + "unicopia.toast.discoveries.description": "Check your spellbook" +} From ae730ce8fca6ff19473276a984fb55fb51794732 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lumi=C3=A8re=20=C3=89lev=C3=A9?= <88174309+PoneyClairDeLune@users.noreply.github.com> Date: Sat, 3 Feb 2024 10:31:05 +0000 Subject: [PATCH 05/52] Some French translations. --- .../resources/assets/unicopia/lang/fr_fr.json | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/fr_fr.json b/src/main/resources/assets/unicopia/lang/fr_fr.json index 90e2a220..ff5debb9 100644 --- a/src/main/resources/assets/unicopia/lang/fr_fr.json +++ b/src/main/resources/assets/unicopia/lang/fr_fr.json @@ -1,43 +1,43 @@ { - "block.unicopia.bed.not_safe": "You may not rest here, there are enemies nearby", - "block.unicopia.bed.not_tired": "You do not feel tired right now", - "block.unicopia.bed.no_sleep.nocturnal": "You can only sleep in the day or during thunderstorms", - "sleep.not_possible.nocturnal": "No amount of rest can pass this day", - "sleep.skipping_day": "Sleeping through this day", + "block.unicopia.bed.not_safe": "Vous ne pouvez pas vous reposer ici, les ennemis sont proches", + "block.unicopia.bed.not_tired": "Tu ne te sens pas fatigué en ce moment", + "block.unicopia.bed.no_sleep.nocturnal": "Vous ne pouvez dormir que dans la journée, ou dans les orages", + "sleep.not_possible.nocturnal": "Vous ne pouvez pas dormir pour sauter ce jour", + "sleep.skipping_day": "Le jour passe", - "ability.unicopia.empty_hooves": "I need to find a jar", - "ability.unicopia.indoors": "I can't see the sky from here", - "ability.unicopia.too_low": "I need to get higher up", - "ability.unicopia.clear_skies": "The skies already look pretty clear", - "ability.unicopia.too_calm.1": "I need to get angrier...", - "ability.unicopia.too_calm.2": "I don't feel angry...", - "ability.unicopia.too_calm.3": "Bruce made it look easier than this...", - "ability.unicopia.too_calm.4": "Celestia give me strength...", + "ability.unicopia.empty_hooves": "J'ai besoin de trouver un pot", + "ability.unicopia.indoors": "J ne peux pas voir le ciel d'ici", + "ability.unicopia.too_low": "J'ai besoin de voler plus haut", + "ability.unicopia.clear_skies": "Le ciel a déjà été dégagé", + "ability.unicopia.too_calm.1": "J'ai besoin d'être plus en colère ...", + "ability.unicopia.too_calm.2": "Je ne me sens en colère ...", + "ability.unicopia.too_calm.3": "Bruce l'a rendu plus facile que ça ...", + "ability.unicopia.too_calm.4": "Donnez-moi la force, Celestia ...", "itemGroup.unicopia.items": "Unicopia", - "itemGroup.unicopia.foraging": "Unicopia - Foraging", + "itemGroup.unicopia.foraging": "Unicopia - Fourrage", "itemGroup.unicopia.earth_pony": "Unicopia - Ponyville", "itemGroup.unicopia.unicorn": "Unicopia - Canterlot", "itemGroup.unicopia.pegasus": "Unicopia - Cloudsdale", "itemGroup.unicopia.bat_pony": "Unicopia - Hollow Shades", - "itemGroup.unicopia.sea_pony": "Unicopia - From The Depths", + "itemGroup.unicopia.sea_pony": "Unicopia - De L'Abîme", "itemGroup.unicopia.changeling": "Unicopia - Cheese Cliffs", - "item.unicopia.friendship_bracelet": "Bangle of Comradery", - "item.unicopia.friendship_bracelet.issuer": "Signed by %s", - "item.unicopia.friendship_bracelet.glowing": "Glowing", + "item.unicopia.friendship_bracelet": "Bracelet d'amitié", + "item.unicopia.friendship_bracelet.issuer": "Signé par %s", + "item.unicopia.friendship_bracelet.glowing": "Brillant", - "item.unicopia.oak_basket": "Oak Basket", - "item.unicopia.spruce_basket": "Spruce Basket", - "item.unicopia.birch_basket": "Birch Basket", - "item.unicopia.jungle_basket": "Jungle Basket", - "item.unicopia.acacia_basket": "Acacia Basket", - "item.unicopia.cherry_basket": "Cherry Basket", - "item.unicopia.dark_oak_basket": "Dark Oak Basket", - "item.unicopia.mangrove_basket": "Mangrove Basket", - "item.unicopia.bamboo_basket": "Bamboo Basket", - "item.unicopia.palm_basket": "Palm Basket", + "item.unicopia.oak_basket": "Pânier en chêne", + "item.unicopia.spruce_basket": "Pânier en épinette", + "item.unicopia.birch_basket": "Pânier en bouleau", + "item.unicopia.jungle_basket": "Pânier en acajou", + "item.unicopia.acacia_basket": "Pânier en acacia", + "item.unicopia.cherry_basket": "Pânier en cerisier", + "item.unicopia.dark_oak_basket": "Pânier en chêne noir", + "item.unicopia.mangrove_basket": "Pânier en palétuvier", + "item.unicopia.bamboo_basket": "Pânier en bambou", + "item.unicopia.palm_basket": "Pânier en palmier", "item.unicopia.giant_balloon": "Giant Balloon", "item.unicopia.palm_boat": "Palm Boat", From b356d1f888373dad1afde30597a25c48507ff439 Mon Sep 17 00:00:00 2001 From: Sprinkled Frosting Date: Sat, 3 Feb 2024 11:28:00 +0000 Subject: [PATCH 06/52] =?UTF-8?q?=E6=AD=A3=E9=AB=94=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E5=AF=A6=E9=A9=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/assets/unicopia/lang/zh_tw.json | 1658 +++++++++++++++++ 1 file changed, 1658 insertions(+) create mode 100644 src/main/resources/assets/unicopia/lang/zh_tw.json diff --git a/src/main/resources/assets/unicopia/lang/zh_tw.json b/src/main/resources/assets/unicopia/lang/zh_tw.json new file mode 100644 index 00000000..f1e08d37 --- /dev/null +++ b/src/main/resources/assets/unicopia/lang/zh_tw.json @@ -0,0 +1,1658 @@ +{ + + "block.unicopia.bed.not_safe": "你不能在此休息,附近有敵人遊蕩", + "block.unicopia.bed.not_tired": "你現在並不睏", + "block.unicopia.bed.no_sleep.nocturnal": "你只能在白天或雷暴期間休息", + "sleep.not_possible.nocturnal": "你無法跳過這一天", + "sleep.skipping_day": "這一天將在睡夢中度過", + + "ability.unicopia.empty_hooves": "我需要找到一個罐子", + "ability.unicopia.indoors": "我在這裏看不到天空", + "ability.unicopia.too_low": "我需要飛得更高", + "ability.unicopia.clear_skies": "天空看起來已經很晴朗了", + "ability.unicopia.too_calm.1": "我需要更加憤怒……", + "ability.unicopia.too_calm.2": "我並不感到憤怒……", + "ability.unicopia.too_calm.3": "李小龍讓這看着好輕鬆啊……", + "ability.unicopia.too_calm.4": "塞蕾斯蒂亞公主,請賜予我力量……", + + "itemGroup.unicopia.items": "Unicopia", + "itemGroup.unicopia.foraging": "Unicopia - 覓食", + "itemGroup.unicopia.earth_pony": "Unicopia - 小馬鎮", + "itemGroup.unicopia.unicorn": "Unicopia - 坎特拉", + "itemGroup.unicopia.pegasus": "Unicopia - 雲中城", + "itemGroup.unicopia.bat_pony": "Unicopia - 林蔭鎮", + "itemGroup.unicopia.sea_pony": "Unicopia - 來自深淵", + "itemGroup.unicopia.changeling": "Unicopia - 幻形峭壁", + + "item.unicopia.friendship_bracelet": "友誼手鐲", + "item.unicopia.friendship_bracelet.issuer": "由 %s 簽名", + "item.unicopia.friendship_bracelet.glowing": "正在發光", + + "item.unicopia.oak_basket": "橡木籃", + "item.unicopia.spruce_basket": "雲杉木籃", + "item.unicopia.birch_basket": "白樺木籃", + "item.unicopia.jungle_basket": "叢林木籃", + "item.unicopia.acacia_basket": "金合歡木籃", + "item.unicopia.cherry_basket": "櫻花木籃", + "item.unicopia.dark_oak_basket": "深色橡木籃", + "item.unicopia.mangrove_basket": "紅木籃", + "item.unicopia.bamboo_basket": "竹籃", + "item.unicopia.palm_basket": "棕櫚木籃", + "item.unicopia.giant_balloon": "大氣球", + + "item.unicopia.palm_boat": "棕櫚木船", + "item.unicopia.palm_chest_boat": "儲物棕櫚木船", + + "item.unicopia.spellbook": "咒語書", + "item.unicopia.spectral_clock": "光譜鍾", + + "emi.category.unicopia.spellbook": "咒語書", + "emi.category.unicopia.cloud_shaping": "塑型", + "emi.category.unicopia.growing": "生長", + + "item.unicopia.alicorn_badge": "天角徽章", + "item.unicopia.unicorn_badge": "獨角徽章", + "item.unicopia.pegasus_badge": "飛馬徽章", + "item.unicopia.earth_badge": "陸馬徽章", + "item.unicopia.changeling_badge": "幻形徽章", + "item.unicopia.bat_badge": "夜騏徽章", + "item.unicopia.kirin_badge": "麒麟徽章", + "item.unicopia.hippogriff_badge": "駿鷹徽章", + + "item.unicopia.butterfly_spawn_egg": "蝴蝶 生成蛋", + "item.unicopia.butterfly": "蝴蝶", + "item.unicopia.loot_bug_spawn_egg": "掠奪蟲 生成蛋", + "item.unicopia.loot_bug": "掠奪蟲", + + "item.unicopia.green_apple": "婆婆蘋果", + "item.unicopia.sweet_apple": "香甜蘋果", + "item.unicopia.sour_apple": "酸蘋果", + "item.unicopia.rotten_apple": "爛蘋果", + "item.unicopia.cooked_zap_apple": "熟彩虹蘋果", + "item.unicopia.zap_apple": "彩虹蘋果", + "item.unicopia.zap_bulb": "生彩虹蘋果", + + "item.unicopia.love_bottle": "一瓶愛", + "item.unicopia.love_bucket": "一桶愛", + "item.unicopia.love_mug": "一杯愛", + + "item.unicopia.plunder_vine": "掠奪藤蔓", + "item.unicopia.empty_jar": "玻璃罐", + "item.unicopia.filled_jar": "%s罐", + "item.unicopia.rain_cloud_jar": "雨罐", + "item.unicopia.storm_cloud_jar": "暴雨罐", + "item.unicopia.lightning_jar": "雷電罐", + "item.unicopia.zap_apple_jam_jar": "彩虹蘋果醬罐", + + "item.unicopia.toast": "烤麪包片", + "item.unicopia.burned_toast": "烤糊麪包片", + "item.unicopia.jam_toast": "彩虹蘋果醬烤麪包片", + + "item.unicopia.crystal_heart": "水晶之心", + "item.unicopia.crystal_shard": "水晶碎片", + "item.unicopia.dragon_breath_scroll": "龍息卷軸", + "item.unicopia.gemstone": "水晶石", + "item.unicopia.gemstone.enchanted": "%s水晶石", + "item.unicopia.gemstone.obfuscated": "神祕水晶石", + "item.unicopia.botched_gem": "毀損水晶石", + + "item.unicopia.pegasus_feather": "飛馬羽毛", + "item.unicopia.gryphon_feather": "獅鷲羽毛", + "item.unicopia.golden_feather": "金羽毛", + "item.unicopia.golden_wing": "金翅膀", + + "item.unicopia.mug": "馬克杯", + "item.unicopia.cider": "蘋果酒", + "item.unicopia.juice": "蘋果汁", + "item.unicopia.burned_juice": "糊蘋果汁", + + "item.unicopia.mango": "芒果", + "item.unicopia.banana": "香蕉", + "item.unicopia.pineapple": "鳳梨", + "item.unicopia.pineapple_crown": "鳳梨冠", + "item.unicopia.sunglasses": "太陽鏡", + "item.unicopia.broken_sunglasses": "毀損太陽鏡", + + "item.unicopia.carapace": "甲殼", + + "item.unicopia.pebbles": "卵石", + "item.unicopia.rock": "岩石", + "item.unicopia.weird_rock": "怪異岩", + "item.unicopia.tom": "湯姆", + "item.unicopia.rock_stew": "燉石湯", + "item.unicopia.rock_candy": "岩石糖", + "item.unicopia.salt_cube": "鹽塊", + "item.unicopia.pinecone": "松果", + "item.unicopia.acorn": "橡實", + "item.unicopia.green_apple_seeds": "婆婆蘋果種子", + "item.unicopia.sweet_apple_seeds": "香甜蘋果種子", + "item.unicopia.sour_apple_seeds": "算蘋果種子", + "item.unicopia.golden_oak_seeds": "金橡樹種子", + "item.unicopia.apple_pie_hoof": "帶蹄印的蘋果餡餅", + "item.unicopia.apple_pie_slice": "蘋果餡餅塊", + "item.unicopia.candied_apple": "糖蘋果", + + "item.unicopia.oats": "燕麥", + "item.unicopia.imported_oats": "高檔進口燕麥", + "item.unicopia.oatmeal": "燕麥片", + "item.unicopia.oat_seeds": "燕麥種子", + "item.unicopia.daffodil_daisy_sandwich": "水仙雛菊三明治", + "item.unicopia.hay_burger": "乾草堡", + "item.unicopia.hay_fries": "炸乾草", + "item.unicopia.crispy_hay_fries": "酥脆炸乾草", + "item.unicopia.horse_shoe_fries": "蹄鐵狀炸乾草", + "item.unicopia.wheat_worms": "小麥蟲", + "item.unicopia.muffin": "鬆餅", + + "item.unicopia.pegasus_amulet": "飛馬護符", + "item.unicopia.pegasus_amulet.lore": "讓穿戴者短暫擁有飛行能力", + "item.unicopia.amulet.energy": "能量:%d / %d", + + "item.unicopia.alicorn_amulet": "天角護符", + "item.unicopia.alicorn_amulet.lore": "穿戴時間:%d", + + "item.unicopia.pearl_necklace": "珍珠項鍊", + "item.unicopia.pearl_necklace.lore": "讓穿戴者擁有水下能力", + "item.unicopia.clam_shell": "蛤殼", + "item.unicopia.scallop_shell": "貝殼", + "item.unicopia.turret_shell": "塔殼", + "item.unicopia.shelly": "小殼", + + "item.unicopia.horse_shoe.accuracy": "精準度:%d%%", + "item.unicopia.horse_shoe.speed": "速度:%d", + "item.unicopia.iron_horse_shoe": "鐵蹄鐵", + "item.unicopia.golden_horse_shoe": "金蹄鐵", + "item.unicopia.copper_horse_shoe": "銅蹄鐵", + "item.unicopia.netherite_horse_shoe": "地獄合金蹄鐵", + + "item.unicopia.broken_alicorn_amulet": "毀損天角護符", + "item.unicopia.unicorn_amulet": "獨角護符", + "item.unicopia.unicorn_amulet.lore": "讓穿戴者暫時擁有魔法能力", + + "item.unicopia.grogars_bell": "格羅迦之鈴", + "item.unicopia.grogars_bell.charges": "能量:%d / %d", + "item.unicopia.magic_staff": "魔杖", + "item.unicopia.magic_staff.enchanted": "%s之%s", + "item.unicopia.magic_staff.charges": "能量:%d / %d", + "item.unicopia.meadowbrooks_staff": "草甸青溪的魔杖", + "item.unicopia.meadowbrooks_staff.lore": "一根很重的魔杖", + + "item.unicopia.wooden_polearm": "木長槍", + "item.unicopia.stone_polearm": "石長槍", + "item.unicopia.iron_polearm": "鐵長槍", + "item.unicopia.golden_polearm": "金長槍", + "item.unicopia.diamond_polearm": "鑽石長槍", + "item.unicopia.netherite_polearm": "地獄長槍", + + "item.unicopia.music_disc_pet": "唱片", + "item.unicopia.music_disc_pet.desc": "Danial Ingram - pet", + "item.unicopia.music_disc_popular": "唱片", + "item.unicopia.music_disc_popular.desc": "Danial Ingram - popular", + "item.unicopia.music_disc_crusade": "唱片", + "item.unicopia.music_disc_crusade.desc": "Danial Ingram - crusade", + "item.unicopia.music_disc_funk": "唱片", + "item.unicopia.music_disc_funk.desc": "Death by Glamour", + + "item.unicopia.cloud_lump": "雲塊", + "item.unicopia.light_gray_bed_sheets": "淡灰被單", + "item.unicopia.gray_bed_sheets": "灰色被單", + "item.unicopia.black_bed_sheets": "黑色被單", + "item.unicopia.brown_bed_sheets": "棕色被單", + "item.unicopia.red_bed_sheets": "紅色被單", + "item.unicopia.orange_bed_sheets": "橘色被單", + "item.unicopia.yellow_bed_sheets": "黃色被單", + "item.unicopia.lime_bed_sheets": "淺綠被單", + "item.unicopia.green_bed_sheets": "綠色被單", + "item.unicopia.cyan_bed_sheets": "青色被單", + "item.unicopia.light_blue_bed_sheets": "淺藍被單", + "item.unicopia.blue_bed_sheets": "藍色被單", + "item.unicopia.purple_bed_sheets": "紫色被單", + "item.unicopia.magenta_bed_sheets": "紫紅被單", + "item.unicopia.pink_bed_sheets": "粉紅被單", + "item.unicopia.apple_bed_sheets": "蘋果圖案被單", + "item.unicopia.barred_bed_sheets": "條紋被單", + "item.unicopia.checkered_bed_sheets": "棋盤紋被單", + "item.unicopia.kelp_bed_sheets": "海帶被單", + "item.unicopia.rainbow_bed_sheets": "彩虹紋被單", + "item.unicopia.rainbow_bpw_bed_sheets": "藍粉白被單", + "item.unicopia.rainbow_bpy_bed_sheets": "藍粉黃被單", + "item.unicopia.rainbow_pbg_bed_sheets": "粉綠藍被單", + "item.unicopia.rainbow_pwr_bed_sheets": "粉白紅被單", + + "block.unicopia.rocks": "岩石", + "block.unicopia.plunder_vine": "掠奪藤蔓", + "block.unicopia.plunder_vine_bud": "掠奪藤蔓芽", + "block.unicopia.bananas": "香蕉", + "block.unicopia.zapling": "彩虹蘋果苗", + "block.unicopia.zap_log": "彩虹蘋果原木", + "block.unicopia.zap_wood": "Zap Apple Wood", + "block.unicopia.stripped_zap_log": "Stripped Zap Apple Log", + "block.unicopia.stripped_zap_wood": "Stripped Zap Apple Wood", + "block.unicopia.zap_leaves": "Zap Apple Leaves", + "block.unicopia.flowering_zap_leaves": "Flowering Zap Apple Leaves", + "block.unicopia.zap_apple": "Zap Apple", + "block.unicopia.zap_bulb": "Unripened Zap Apple", + "block.unicopia.palm_sapling": "Palm Sapling", + "block.unicopia.palm_log": "Palm Log", + "block.unicopia.palm_wood": "Palm Wood", + "block.unicopia.palm_planks": "Palm Planks", + "block.unicopia.palm_stairs": "Palm Stairs", + "block.unicopia.palm_pressure_plate": "Palm Pressure Plate", + "block.unicopia.palm_fence": "Palm Fence", + "block.unicopia.palm_fence_gate": "Palm Fence Gate", + "block.unicopia.palm_button": "Palm Button", + "block.unicopia.palm_slab": "Palm Slab", + "block.unicopia.stripped_palm_log": "Stripped Palm Log", + "block.unicopia.stripped_palm_wood": "Stripped Palm Wood", + "block.unicopia.palm_leaves": "Palm Leaves", + "block.unicopia.palm_door": "Palm Door", + "block.unicopia.palm_trapdoor": "Palm Trapdoor", + "block.unicopia.palm_sign": "Palm Sign", + "block.unicopia.palm_hanging_sign": "Palm Hanging Sign", + "block.unicopia.apple_pie": "Apple Pie", + "block.unicopia.weather_vane": "Weather Vane", + "block.unicopia.curing_joke": "Curing Joke", + "block.unicopia.gold_root": "Gold Root", + "block.unicopia.golden_oak_sprout": "Golden Oak Sprout", + "block.unicopia.golden_oak_sapling": "Golden Oak Sapling", + "block.unicopia.golden_oak_leaves": "Golden Oak Leaves", + "block.unicopia.golden_oak_log": "Golden Oak Log", + "block.unicopia.mango": "Mango", + "block.unicopia.mango_leaves": "Mango Leaves", + "block.unicopia.mango_sapling": "Mango Sapling", + "block.unicopia.pineapple": "Pineapple Plant", + + "block.unicopia.clam_shell": "Clam Shell", + "block.unicopia.scallop_shell": "Scallop Shell", + "block.unicopia.turret_shell": "Turret Shell", + + "block.unicopia.green_apple_leaves": "Granny Smith Leaves", + "block.unicopia.green_apple_sapling": "Granny Smith Sapling", + "block.unicopia.green_apple_sprout": "Granny Smith Sprout", + "block.unicopia.sweet_apple_leaves": "Sweet Apple Leaves", + "block.unicopia.sweet_apple_sapling": "Sweet Apple Sapling", + "block.unicopia.sweet_apple_sprout": "Sweet Apple Sprout", + "block.unicopia.sour_apple_leaves": "Sour Apple Leaves", + "block.unicopia.sour_apple_sapling": "Sour Apple Sapling", + "block.unicopia.sour_apple_sprout": "Sour Apple Sprout", + + "block.unicopia.surface_chitin": "Surface Chitin", + "block.unicopia.mysterious_egg": "Mysterious Egg", + "block.unicopia.hive": "Hive", + "block.unicopia.slime_pustule": "Slime Pustule", + "block.unicopia.chitin": "Chitin", + "block.unicopia.chitin_spikes": "Chitin Spikes", + "block.unicopia.chiselled_chitin": "Chiselled Chitin", + "block.unicopia.chiselled_chitin_hull": "Chiselled Chitin Hull", + "block.unicopia.chiselled_chitin_slab": "Chiselled Chitin Slab", + "block.unicopia.chiselled_chitin_stairs": "Chiselled Chitin Stairs", + + "block.unicopia.shaping_bench": "Shaping Bench", + "block.unicopia.cloud": "Cloud", + "block.unicopia.cloud_slab": "Cloud Slab", + "block.unicopia.cloud_stairs": "Cloud Stairs", + "block.unicopia.compacted_cloud": "Cloud", + "block.unicopia.soggy_cloud": "Soggy Cloud", + "block.unicopia.soggy_cloud_slab": "Soggy Cloud Slab", + "block.unicopia.soggy_cloud_stairs": "Soggy Cloud Stairs", + "block.unicopia.cloud_planks": "Cloud Planks", + "block.unicopia.cloud_plank_slab": "Cloud Plank Slab", + "block.unicopia.cloud_plank_stairs": "Cloud Plank Stairs", + "block.unicopia.cloud_bricks": "Cloud Bricks", + "block.unicopia.cloud_brick_slab": "Cloud Brick Slab", + "block.unicopia.cloud_brick_stairs": "Cloud Brick Stairs", + "block.unicopia.carved_cloud": "Carved Cloud", + "block.unicopia.compacted_cloud_bricks": "Cloud Bricks", + "block.unicopia.compacted_cloud_planks": "Cloud Planks", + "block.unicopia.unstable_cloud": "Unstable Cloud", + "block.unicopia.dense_cloud": "Dense Cloud", + "block.unicopia.dense_cloud_slab": "Dense Cloud Slab", + "block.unicopia.dense_cloud_stairs": "Dense Cloud Stairs", + "block.unicopia.compacted_dense_cloud": "Dense Cloud", + "block.unicopia.etched_cloud": "Etched Cloud", + "block.unicopia.etched_cloud_slab": "Etched Cloud Slab", + "block.unicopia.etched_cloud_stairs": "Etched Cloud Stairs", + "block.unicopia.compacted_etched_cloud": "Cloud Etched Cloud", + "block.unicopia.cloud_pillar": "Cloud Pillar", + "block.unicopia.cloth_bed": "Fancy Cloth Bed", + "block.unicopia.cloud_bed": "Cloud Bed", + "block.unicopia.cloud_chest": "Cloudsdale Chest", + "block.unicopia.cloud_chest.double": "Large Cloudsdale Chest", + "block.unicopia.cloud_door": "Cloud Door", + "block.unicopia.crystal_door": "Crystal Door", + "block.unicopia.stable_door": "Stable Door", + "block.unicopia.dark_oak_stable_door": "Wooden Stable Door", + + "block.unicopia.oats": "Oats", + "block.unicopia.oats_stem": "Oats", + "block.unicopia.oats_crown": "Oats", + + "entity.unicopia.butterfly": "Butterfly", + "entity.unicopia.twittermite": "Twittermite", + "entity.unicopia.cast_spell": "Cast Spell", + "entity.unicopia.cast_spell.by": "a spell cast by %s", + "entity.unicopia.spellbook": "Spellbook", + "entity.unicopia.air_balloon": "Hot Air Balloon", + "entity.unicopia.sombra": "King Sombra", + "entity.unicopia.sombra.taunt": "That's not going to work on me!", + "entity.unicopia.storm_cloud": "Storm Cloud", + "entity.unicopia.crystal_shards": "Crystal Shards", + "entity.unicopia.ignominious_vine": "Ignominious Vine", + "entity.unicopia.ignominious_bulb": "Ignominious Bulb", + + "player.reachDistance": "Reach Distance", + "player.miningSpeed": "Mining Speed", + "player.gravityModifier": "Gravity", + + "unicopia.effect.tribe.stage.initial": "It appears to have no effect.", + "unicopia.effect.tribe.stage.crawling": "You feel the skin crawling on your back.", + "unicopia.effect.tribe.stage.determination": "As your bones realign you are filled by determination.", + "unicopia.effect.tribe.stage.resurection": "Knowing you will return to this world as a %s", + + "effect.unicopia.food_poisoning": "Food Poisoning", + "effect.unicopia.sun_blindness": "Sun Blindness", + "effect.unicopia.corrupt_influence": "Corrupt Influence", + "effect.unicopia.paralysis": "Paralysis", + "effect.unicopia.butter_fingers": "Butterfingers", + + "effect.unicopia.change_race_earth": "Earth Pony Metamorphosis", + "effect.unicopia.change_race_unicorn": "Unicorn Metamorphosis", + "effect.unicopia.change_race_pegasus": "Pegasus Metamorphosis", + "effect.unicopia.change_race_changeling": "Changeling Metamorphosis", + "effect.unicopia.change_race_bat": "Bat Pony Metamorphosis", + "effect.unicopia.change_race_kirin": "Kirin Metamorphosis", + "effect.unicopia.change_race_hippogriff": "Hippogriff Metamorphosis", + + "effect.unicopia.morph_race_earth": "Earth Pony Transformation", + "effect.unicopia.morph_race_unicorn": "Unicorn Transformation", + "effect.unicopia.morph_race_pegasus": "Pegasus Transformation", + "effect.unicopia.morph_race_changeling": "Changeling Transformation", + "effect.unicopia.morph_race_bat": "Bat Pony Transformation", + "effect.unicopia.morph_race_kirin": "Kirin Transformation", + "effect.unicopia.morph_race_hippogriff": "Hippogriff Transformation", + + "item.minecraft.potion.effect.unicopia.tribe_swap_earth": "Potion of Earth Pony Metamorphosis", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_earth": "Splash Potion of Earth Pony Metamorphosis", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_earth": "Lingering Potion of Earth Pony Metamorphosis", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_earth": "Arrow of Earth Pony Metamorphosis", + + "item.minecraft.potion.effect.unicopia.tribe_swap_unicorn": "Potion of Unicorn Metamorphosis", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_unicorn": "Splash Potion of Unicorn Metamorphosis", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_unicorn": "Lingering Potion of Unicorn Metamorphosis", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_unicorn": "Arrow of Unicorn Metamorphosis", + + "item.minecraft.potion.effect.unicopia.tribe_swap_pegasus": "Potion of Pegasus Metamorphosis", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_pegasus": "Splash Potion of Pegasus Metamorphosis", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_pegasus": "Lingering Potion of Pegasus Metamorphosis", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_pegasus": "Arrow of Pegasus Metamorphosis", + + "item.minecraft.potion.effect.unicopia.tribe_swap_changeling": "Potion of Changeling Metamorphosis", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_changeling": "Splash Potion of Changeling Metamorphosis", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_changeling": "Lingering Potion of Changeling Metamorphosis", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_changeling": "Arrow of Changeling Metamorphosis", + + "item.minecraft.potion.effect.unicopia.tribe_swap_bat": "Potion of Bat Pony Metamorphosis", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_bat": "Splash Potion of Bat Pony Metamorphosis", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_bat": "Lingering Potion of Bat Pony Metamorphosis", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_bat": "Arrow of Bat Pony Metamorphosis", + + "item.minecraft.potion.effect.unicopia.tribe_swap_kirin": "Potion of Kirin Metamorphosis", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_kirin": "Splash Potion of Kirin Metamorphosis", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_kirin": "Lingering Potion of Kirin Metamorphosis", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_kirin": "Arrow of Kirin Metamorphosis", + + "item.minecraft.potion.effect.unicopia.tribe_swap_hippogriff": "Potion of Hippogriff Metamorphosis", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_hippogriff": "Splash Potion of Hippogriff Metamorphosis", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_hippogriff": "Lingering Potion of Hippogriff Metamorphosis", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_hippogriff": "Arrow of Hippogriff Metamorphosis", + + "item.minecraft.potion.effect.unicopia.short_morph_earth": "Potion of Earth Pony Short Transformation", + "item.minecraft.splash_potion.effect.unicopia.short_morph_earth": "Splash Potion of Earth Pony Short Transformation", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_earth": "Lingering Potion of Earth Pony Short Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_earth": "Arrow of Earth Pony Short Transformation", + + "item.minecraft.potion.effect.unicopia.short_morph_unicorn": "Potion of Unicorn Short Transformation", + "item.minecraft.splash_potion.effect.unicopia.short_morph_unicorn": "Splash Potion of Unicorn Short Transformation", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_unicorn": "Lingering Potion of Unicorn Short Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_unicorn": "Arrow of Unicorn Short Transformation", + + "item.minecraft.potion.effect.unicopia.short_morph_pegasus": "Potion of Pegasus Short Transformation", + "item.minecraft.splash_potion.effect.unicopia.short_morph_pegasus": "Splash Potion of Pegasus Short Transformation", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_pegasus": "Lingering Potion of Pegasus Short Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_pegasus": "Arrow of Pegasus Short Transformation", + + "item.minecraft.potion.effect.unicopia.short_morph_changeling": "Potion of Changeling Short Transformation", + "item.minecraft.splash_potion.effect.unicopia.short_morph_changeling": "Splash Potion of Changeling Short Transformation", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_changeling": "Lingering Potion of Changeling Short Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_changeling": "Arrow of Changeling Short Transformation", + + "item.minecraft.potion.effect.unicopia.short_morph_bat": "Potion of Bat Pony Short Transformation", + "item.minecraft.splash_potion.effect.unicopia.short_morph_bat": "Splash Potion of Bat Pony Short Transformation", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_bat": "Lingering Potion of Bat Pony Short Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_bat": "Arrow of Bat Pony Short Transformation", + + "item.minecraft.potion.effect.unicopia.short_morph_kirin": "Potion of Kirin Short Transformation", + "item.minecraft.splash_potion.effect.unicopia.short_morph_kirin": "Splash Potion of Kirin Short Transformation", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_kirin": "Lingering Potion of Kirin Short Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_kirin": "Arrow of Kirin Short Transformation", + + "item.minecraft.potion.effect.unicopia.short_morph_hippogriff": "Potion of Hippogriff Short Transformation", + "item.minecraft.splash_potion.effect.unicopia.short_morph_hippogriff": "Splash Potion of Hippogriff Short Transformation", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_hippogriff": "Lingering Potion of Hippogriff Short Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_hippogriff": "Arrow of Hippogriff Short Transformation", + + "item.minecraft.potion.effect.unicopia.long_morph_earth": "Potion of Earth Pony Long Transformation", + "item.minecraft.splash_potion.effect.unicopia.long_morph_earth": "Splash Potion of Earth Pony Long Transformation", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_earth": "Lingering Potion of Earth Pony Long Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_earth": "Arrow of Earth Pony Long Transformation", + + "item.minecraft.potion.effect.unicopia.long_morph_unicorn": "Potion of Unicorn Long Transformation", + "item.minecraft.splash_potion.effect.unicopia.long_morph_unicorn": "Splash Potion of Unicorn Long Transformation", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_unicorn": "Lingering Potion of Unicorn Long Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_unicorn": "Arrow of Unicorn Long Transformation", + + "item.minecraft.potion.effect.unicopia.long_morph_pegasus": "Potion of Pegasus Long Transformation", + "item.minecraft.splash_potion.effect.unicopia.long_morph_pegasus": "Splash Potion of Pegasus Long Transformation", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_pegasus": "Lingering Potion of Pegasus Long Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_pegasus": "Arrow of Pegasus Long Transformation", + + "item.minecraft.potion.effect.unicopia.long_morph_changeling": "Potion of Changeling Long Transformation", + "item.minecraft.splash_potion.effect.unicopia.long_morph_changeling": "Splash Potion of Changeling Long Transformation", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_changeling": "Lingering Potion of Changeling Long Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_changeling": "Arrow of Changeling Long Transformation", + + "item.minecraft.potion.effect.unicopia.long_morph_bat": "Potion of Bat Pony Long Transformation", + "item.minecraft.splash_potion.effect.unicopia.long_morph_bat": "Splash Potion of Bat Pony Long Transformation", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_bat": "Lingering Potion of Bat Pony Long Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_bat": "Arrow of Bat Pony Long Transformation", + + "item.minecraft.potion.effect.unicopia.long_morph_kirin": "Potion of Kirin Long Transformation", + "item.minecraft.splash_potion.effect.unicopia.long_morph_kirin": "Splash Potion of Kirin Long Transformation", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_kirin": "Lingering Potion of Kirin Long Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_kirin": "Arrow of Kirin Long Transformation", + + "item.minecraft.potion.effect.unicopia.long_morph_hippogriff": "Potion of Hippogriff Long Transformation", + "item.minecraft.splash_potion.effect.unicopia.long_morph_hippogriff": "Splash Potion of Hippogriff Long Transformation", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_hippogriff": "Lingering Potion of Hippogriff Long Transformation", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_hippogriff": "Arrow of Hippogriff Long Transformation", + + "potion.withChance": "1 in %s chance of %s", + "potion.potency.6": "VII", + + "spell.unicopia.frost": "Frost", + "spell.unicopia.frost.lore": "Chilling to the touch, this gem will freeze whatever it is used on", + "spell.unicopia.hydrophobic": "Repel Water", + "spell.unicopia.hydrophobic.lore": "Creates a protective bubble around the user that prevents water from entering", + "spell.unicopia.chilling_breath": "Chilling Breath", + "spell.unicopia.chilling_breath.lore": "Alters the ability of certain objects to distenguish between hot and cold", + "spell.unicopia.scorch": "Scorching", + "spell.unicopia.scorch.lore": "Warm to the touch, this gem will burn organic matter", + "spell.unicopia.flame": "Flame", + "spell.unicopia.flame.lore": "This gem burns hot with a magical flame", + "spell.unicopia.infernal": "Inferno", + "spell.unicopia.infernal.lore": "Conjures the very essence of the nether to infest this world", + "spell.unicopia.fire_bolt": "Fire Bolt", + "spell.unicopia.fire_bolt.lore": "Produces several burning projectiles", + "spell.unicopia.shield": "Protection", + "spell.unicopia.shield.lore": "Casts a protective shield around the user", + "spell.unicopia.bubble": "Bubble", + "spell.unicopia.bubble.lore": "Traps any creature it hits in a soap bubble", + "spell.unicopia.arcane_protection": "Arcane Protections", + "spell.unicopia.arcane_protection.lore": "Creates a protective shroud over an area in which no other spells can be cast", + "spell.unicopia.vortex": "Arcane Attraction", + "spell.unicopia.vortex.lore": "Creates a magnetic force that pulls in other targets", + "spell.unicopia.dark_vortex": "Dark Vortex", + "spell.unicopia.dark_vortex.lore": "Creates a black hole from which nothing can escape", + "spell.unicopia.mimic": "Mimic", + "spell.unicopia.mimic.lore": "Temporarily changes the caster's appearance to look like another entity or player", + "spell.unicopia.mind_swap": "Mind Swap", + "spell.unicopia.mind_swap.lore": "Temporarily swaps the caster's mind into the body of another entity or player", + "spell.unicopia.displacement": "Displacement", + "spell.unicopia.displacement.lore": "Swaps the caster's location with that of another entity", + "spell.unicopia.portal": "Arcane Rift", + "spell.unicopia.portal.lore": "Connects two points in space for fast travel between", + "spell.unicopia.necromancy": "Necromancy", + "spell.unicopia.necromancy.lore": "Summons undead minions from beyond the grave", + "spell.unicopia.siphoning": "Life Sapping", + "spell.unicopia.siphoning.lore": "Channels other creature's life force into the caster", + "spell.unicopia.reveal": "Dispell Illusion", + "spell.unicopia.reveal.lore": "Negates shapeshifting magic", + "spell.unicopia.light": "Dancing Lights", + "spell.unicopia.light.lore": "Summons multiple small lights to follow the caster", + "spell.unicopia.awkward": "Botched", + "spell.unicopia.awkward.lore": "Unstable magics", + "spell.unicopia.transformation": "Transmutation", + "spell.unicopia.transformation.lore": "Transforms the target into something else", + "spell.unicopia.feather_fall": "Feather Fall", + "spell.unicopia.feather_fall.lore": "Slows the descent of the caster and surrounding allies", + "spell.unicopia.catapult": "Catapult", + "spell.unicopia.catapult.lore": "Grabs a nearby block or entity and throws it into the air", + "spell.unicopia.dispel_evil": "Dispel Evil", + "spell.unicopia.dispel_evil.lore": "Casts away any nearby unearthly forces", + + "trait.unicopia.strength.name": "Strength", + "trait.unicopia.strength.description": "Imparts physical strength or enhances endurance.\nSpells with more of the strength trait hit harder and last longer.", + "trait.unicopia.focus.name": "Focus", + "trait.unicopia.focus.description": "Narrows a spell to focus its energy more effectively.\nAdding the focus trait to spells will decrease the cost of its effects whilst extending its range to more targets in cases of multi-target spells.", + "trait.unicopia.knowledge.name": "Knowledge", + "trait.unicopia.knowledge.description": "A mechanical harvest born of machinery and technology.\nSome spells require a little...ingenuity.", + "trait.unicopia.power.name": "Power", + "trait.unicopia.power.description": "Force for force's sake.\nExtends or ehanced a spell's natural duration.", + "trait.unicopia.blood.name": "Blood", + "trait.unicopia.blood.description": "Blood for the blood god", + "trait.unicopia.water.name": "Water", + "trait.unicopia.water.description": "Embodies the first natural element. Counter to the Element of Fire.", + "trait.unicopia.earth.name": "Earth", + "trait.unicopia.earth.description": "Embodies the second natural element. An Earthly energy inherent to all things derived from below the ground.", + "trait.unicopia.fire.name": "Fire", + "trait.unicopia.fire.description": "Embodies the third natural element. Complemented by the Element of Air, adds a destructive spark to your spells.", + "trait.unicopia.air.name": "Air", + "trait.unicopia.air.description": "Embodies the fourth natural element.", + "trait.unicopia.ice.name": "Ice", + "trait.unicopia.ice.description": "A chilling touch. Complementary to the Element of Water.", + "trait.unicopia.darkness.name": "Darkness", + "trait.unicopia.darkness.description": "Beware the dark, for it can lead to abilities some might say are unnatural.", + "trait.unicopia.order.name": "Harmony", + "trait.unicopia.order.description": "Counter-balance to chaos.", + "trait.unicopia.chaos.name": "Chaos", + "trait.unicopia.chaos.description": "Unpredicatable in nature, uncontrollable in captivity.", + "trait.unicopia.famine.name": "Famine", + "trait.unicopia.famine.description": "You are consumed by an overwhelming hunger. A hunger for power.", + "trait.unicopia.happiness.name": "Laughter", + "trait.unicopia.happiness.description": "Complemented by the Element of Harmony, wants nothing more than to bring happiness into this world.", + "trait.unicopia.kindness.name": "Kindness", + "trait.unicopia.kindness.description": "Complemented by the Element of Harmony and the Element of Laughter, wants nothing more than to bring happiness into this world.", + "trait.unicopia.generosity.name": "Generosity", + "trait.unicopia.generosity.description": "Causes a spell to favor others over the caster.\nCan be used to increase range and power, but to the detriment to the caster.\n\nComplemented by the Element of Harmony and the Element of Kindness.\nSpells with this trait are better suited to lending aid to those in need.", + "trait.unicopia.rot.name": "Rot", + "trait.unicopia.rot.description": "Death and destruction enter this world. All will die, all must die. It has been written and so shall it be.", + "trait.unicopia.life.name": "Life", + "trait.unicopia.life.description": "Ambodies the energy that resides within all living beings.", + "trait.unicopia.poison.name": "Poison", + "trait.unicopia.poison.description": "A deadly dart kill a beast.", + + "unicopia.diet.information": "Diet Information:", + "unicopia.diet.side_effects": "Side-Effects:", + "unicopia.diet.not_edible": "Item is not edible", + "unicopia.diet.base_multiplier": "Base Multiplier: %s%%", + "unicopia.diet.hunger.detailed": "Hunger gained: %s of %s (%s%%)", + "unicopia.diet.saturation.detailed": "Saturation gained: %s (%s%%)", + "unicopia.diet.hunger": "Hunger Ratio: %s%%", + "unicopia.diet.saturation": "Saturation Ratio: %s%%", + + "tag.unicopia.food_types.rotten_meat": "Rotting Meat", + "tag.unicopia.food_types.raw_meat": "Fresh Meat", + "tag.unicopia.food_types.cooked_meat": "Prepared Meat", + "tag.unicopia.food_types.raw_fish": "Fresh Fish", + "tag.unicopia.food_types.cooked_fish": "Prepared Fish", + "tag.unicopia.food_types.raw_insect": "Bugs & Insects", + "tag.unicopia.food_types.cooked_insect": "Cooked Bugs & Insects", + "tag.unicopia.food_types.love": "Love", + "tag.unicopia.food_types.rocks": "Rocks", + "tag.unicopia.food_types.pinecone": "Nuts & Seeds", + "tag.unicopia.food_types.bat_ponys_delight": "Bat Pony Treats", + "tag.unicopia.food_types.cooked_sea_vegitables": "Prepared Fish Food", + "tag.unicopia.food_types.raw_sea_vegitables": "Fresh Fish Food", + "tag.unicopia.food_types.shells": "Sea Shells", + "tag.unicopia.food_types.shelly": "Sea Shells", + "tag.unicopia.food_types.candy": "Candy", + "tag.unicopia.food_types.desserts": "Desserts", + "tag.unicopia.food_types.fruits_and_vegetables": "Fruits & Vegetables", + "tag.unicopia.food_types.drinks": "Drinks", + + "tag.unicopia.food_types.forage_edible_filling": "Bulky Plant Matter", + "tag.unicopia.food_types.forage_edible": "Plant Matter", + "tag.unicopia.food_types.forage_nauseating": "Nauseating", + "tag.unicopia.food_types.forage_prickly": "Prickly", + "tag.unicopia.food_types.forage_risky": "Unsafe", + "tag.unicopia.food_types.forage_strengthening": "Strength Enhancing", + "tag.unicopia.food_types.forage_severely_prickly": "Very Prickly", + "tag.unicopia.food_types.forage_severely_nauseating": "Sickening", + "tag.unicopia.food_types.forage_radioactive": "Glowy", + "tag.unicopia.food_types.forage_dangerous": "Dangerous", + "tag.unicopia.food_types.forage_blinding": "Toxic", + + "toxicity.safe.name": "Safe", + "toxicity.mild.name": "Mildly Toxic", + "toxicity.fair.name": "Fairly Toxic", + "toxicity.severe.name": "Toxic", + "toxicity.lethal.name": "Lethal", + + "affliction.unicopia.empty": "No Effect", + "affliction.unicopia.healing": "Gain %s%% health", + "affliction.unicopia.cure_love_sickness": "Cure Love Sickness", + "affliction.unicopia.lose_hunger": "Lose %s%% hunger", + + "ability.unicopia.shoot": "Shoot Magic", + "ability.unicopia.shoot.with_spell": "Shoot %s", + "ability.unicopia.shoot.with_spell.active": "Shooting %s", + "ability.unicopia.shoot.with_spell.hand": "Shooting %s from hand", + "ability.unicopia.shoot.with_spell.replacing": "Replace %s with %s", + "ability.unicopia.cast": "Cast Spell", + "ability.unicopia.cast.with_spell": "Cast %s", + "ability.unicopia.cast.with_spell.active": "Casting %s", + "ability.unicopia.cast.with_spell.hand": "Casting %s from hand", + "ability.unicopia.cast.with_spell.replacing": "Replace %s with %s", + "ability.unicopia.kirin_cast": "Cast Spell", + "ability.unicopia.kirin_cast.with_spell": "Cast %s", + "ability.unicopia.kirin_cast.with_spell.active": "Casting %s", + "ability.unicopia.kirin_cast.with_spell.hand": "Casting %s from hand", + "ability.unicopia.kirin_cast.with_spell.replacing": "Replace %s with %s", + "ability.unicopia.dispell": "Dispell Magic", + "ability.unicopia.teleport": "Teleport", + "ability.unicopia.teleport.far": "Teleport (Far)", + "ability.unicopia.teleport_group": "Group Teleport", + "ability.unicopia.teleport_group.far": "Group Teleport (Far)", + "ability.unicopia.grow": "Nourish Earth", + "ability.unicopia.stomp": "Ground Pound", + "ability.unicopia.kick": "Crushing Blow", + "ability.unicopia.hug": "Hug", + "ability.unicopia.pummel": "Devestating Smash", + "ability.unicopia.carry": "Pickup/Drop Passenger", + "ability.unicopia.toggle_flight": "Take-off/Land", + "ability.unicopia.hang": "Cling to Ceiling", + "ability.unicopia.eee": "Screech", + "ability.unicopia.time_control": "Control Sun / Moon", + "ability.unicopia.feed": "Siphon Love", + "ability.unicopia.capture_cloud": "Bust Cloud", + "ability.unicopia.disguise": "Change Form", + "ability.unicopia.rainboom": "Sonic Rainboom", + "ability.unicopia.rage": "Rage", + "ability.unicopia.nirik_blast": "Nirik Blast", + "ability.unicopia.screech": "Screech", + "ability.unicopia.peck": "Peck/Squawk", + "ability.unicopia.peck.block.fled": "The block has fled", + "ability.unicopia.peck.block.unfased": "The block is unfazed by your threats", + "ability.unicopia.dash": "Flying Dash", + "ability.unicopia.change_form": "Change Form", + "ability.unicopia.sonar_pulse": "Sonar Pulse", + + "gui.unicopia.trait.label": "Element of %s", + "gui.unicopia.trait.group": "\n %s", + "gui.unicopia.trait.corruption": "\n %s corruption", + + "gui.unicopia.dispell_screen.cancel": "Press ESC to cancel", + "gui.unicopia.dispell_screen.spell_type": "Spell Type: %s", + "gui.unicopia.dispell_screen.affinity": "Affinity: %s", + "gui.unicopia.dispell_screen.time_left": "Time Left: %s", + "gui.unicopia.dispell_screen.discard": "[Click to Discard]", + + "gui.unicopia": "Unicopia...", + "gui.unicopia.page_num": "%d of %d", + + "respawn.reason.joined_new_tribe": "%1$s was reborn as a %2$s", + + "gui.unicopia.tribe_selection.respawn": "You have died.", + "gui.unicopia.tribe_selection.respawn.journey": "But the end is not all, for at the end of every end is another beginning.", + "gui.unicopia.tribe_selection.respawn.choice": "Choose wisely, for the choice you make now will change the world around you and the paths you may take.", + "gui.unicopia.tribe_selection.welcome": "Select Your Tribe", + "gui.unicopia.tribe_selection.welcome.journey": "A journey into magic and adventure awaits, traveller! But before you go, you must select your path.", + "gui.unicopia.tribe_selection.welcome.choice": "Choose wisely, for the choice you make now will change the world around you and the paths you may take.", + "gui.unicopia.tribe_selection.preference": "Your current preferred tribe is set to %s.", + "gui.unicopia.tribe_selection.options": "Available Tribes:", + "gui.unicopia.tribe_selection.options.disabled": "Option Unavailable", + + "gui.unicopia.tribe_selection.describe.unicopia.earth": "Join the Earth Tribe", + "gui.unicopia.tribe_selection.describe.unicopia.unicorn": "Join the Unicorn Tribe, master the arcane arts", + "gui.unicopia.tribe_selection.describe.unicopia.pegasus": "Join the Pegasus Tribe, soar with the Wonderbolts", + "gui.unicopia.tribe_selection.describe.unicopia.bat": "Join the Bat Tribe, become the darkest night", + "gui.unicopia.tribe_selection.describe.unicopia.kirin": "Join the Kirin's Village, take the vow of silence", + "gui.unicopia.tribe_selection.describe.unicopia.hippogriff": "Join Hippogriff Tribe, screech at your neighbors", + "gui.unicopia.tribe_selection.describe.unicopia.changeling": "Join the Changeling Hive, your Queen demands it", + + "gui.unicopia.tribe_selection.confirm": "You have selected %s", + "gui.unicopia.tribe_selection.confirm.goods": "%s enjoy the following perks:", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.human": " - Are omnivores and can eat all types of food except for love", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.human": " - Opposable thumbs", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.human": " - Walking upright", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.earth": " - Stronger knockback and resistance to magic", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.earth": " - Have extra weight makes them effective against magic and brute force", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.earth": " - A special connection to the earth that makes farming 10,000% more effective!", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.earth": " - Has powerful punches, kicks, and stomps that they can use to defend or attack their environment", + "gui.unicopia.tribe_selection.confirm.goods.5.unicopia.earth": " - Is the only one that can hug creepers and survive", + "gui.unicopia.tribe_selection.confirm.goods.6.unicopia.earth": " - Can eat rocks", + "gui.unicopia.tribe_selection.confirm.goods.7.unicopia.earth": " - Cute floppy pony ears", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.unicorn": " - Teleportation and magic spells", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.unicorn": " - Research and craft magical artefacts that enhance their abilities", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.unicorn": " - Can use magic to detect or reveal nearby changelings", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.unicorn": " - Have pointy sticks on their heads", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.pegasus": " - Flight and the ability to train to build endurace", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.pegasus": " - Use stored mana to dash in short bursts or build it up to perform a powerful rainboom", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.pegasus": " - Moves faster and takes less fall damage", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.pegasus": " - Can interact directly with cloud items and blocks", + "gui.unicopia.tribe_selection.confirm.goods.5.unicopia.pegasus": " - Can eat vegetables and certain types of fish", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.bat": " - Flight and the ability to train to build endurance", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.bat": " - Sees better in the night", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.bat": " - Able to cling to the underside of blocks", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.bat": " - Has a terrifying, yet adorable, but still slightly annoying screech", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.changeling": " - Able to fly and hover in place", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.changeling": " - Shapeshift and morph into nearly anyone or anyling", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.changeling": " - Sticks to walls and can climb over almost enything", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.changeling": " - Is carnivorous. Can eat anything that doesn't make them sick", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.kirin": " - Immune to all types of fire damage", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.kirin": " - Can unlock a rage ability by taking damage", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.kirin": " - Is silent in their default state, and can move freely around the warden", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.kirin": " - Can eat fruits and vegetables, red meats, and some foraged items normally toxic to other races", + + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.hippogriff": " - Flight and the ability to train to build endurance", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.hippogriff": " - Can dash whilst flying", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.hippogriff": " - Has a sharp and noisy beak for screeching and pecking", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.hippogriff": " - Can eat raw and cooked fish, cooked meat", + "gui.unicopia.tribe_selection.confirm.goods.5.unicopia.hippogriff": " - Heals extra hearts when eating pinecones", + "gui.unicopia.tribe_selection.confirm.goods.6.unicopia.hippogriff": " - Loves stairs", + + "gui.unicopia.tribe_selection.confirm.bads": "but they...", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.human": " - Have no magical abilities what-so-ever", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.human": " - Needs an Elytra to fly", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.human": " - Must grow food the old fashioned way, through hard work and manual labour", + "gui.unicopia.tribe_selection.confirm.bads.4.unicopia.human": " - No floppy ears", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.earth": " - Cannot fly", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.earth": " - Are weak to certain types of magic", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.earth": " - Can only eat plants and vegetables", + "gui.unicopia.tribe_selection.confirm.bads.4.unicopia.earth": " - Heavier and moves slower than the other ponies", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.unicorn": " - Cannot fly", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.unicorn": " - Are weak to brute force attacks", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.unicorn": " - Can only eat plants and vegetables", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.pegasus": " - Light weight makes them the weakest to brute force", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.pegasus": " - Must rest between flights to regain their strength", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.pegasus": " - Cannot use magic without aid from others", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.bat": " - Light weight makes them weak to brute force attacks", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.bat": " - Must rest between flights to regain their strength", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.bat": " - Is sometimes scared of even themselves", + "gui.unicopia.tribe_selection.confirm.bads.4.unicopia.bat": " - Is carnivorous. Can eat raw and cooked meat, or sustain themselved purely on stolen love.", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.changeling": " - Are always starving", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.changeling": " - Requires love, collected from ponies or other hostile mobs to subsidise their diet", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.changeling": " - Becomes sick from eating most regular food and must harvest love to hasten a cure", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.kirin": " - Are no longer quiet whilst raging", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.kirin": " - Has a tendency to burn things, especially when close to raging", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.kirin": " - Lighter than other ponies, and might take increased knockback", + "gui.unicopia.tribe_selection.confirm.bads.4.unicopia.kirin": " - Doesn't like water", + + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.hippogriff": " - Weak to brute force attacks", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.hippogriff": " - Cannot interact with clouds", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.hippogriff": " - Must rest between flights to regain their strength", + "gui.unicopia.tribe_selection.confirm.bads.4.unicopia.hippogriff": " - Has a bird brain", + + "gui.unicopia.tribe_selection.join": "Join Tribe", + "gui.unicopia.tribe_selection.cancel": "Go Back", + + "gui.unicopia.spellbook.empty_spell_slot": "Empty Spell Slot", + "gui.unicopia.spellbook.page.inventory": "Inventory", + "gui.unicopia.spellbook.page.recipes": "Recipes", + "gui.unicopia.spellbook.page.recipes.empty": "0 Recipes Unlocked", + "gui.unicopia.spellbook.page.mana": "Mana", + "gui.unicopia.spellbook.page.level_requirement": "Level: %s", + "gui.unicopia.spellbook.page.requirements.entry.item": "- %1$sx %2$s", + "gui.unicopia.spellbook.page.requirements.entry.trait": "- At least %1$sx %2$s trait", + "gui.unicopia.spellbook.page.requirements.entry.spell": "- %1$sx %2$s gem", + + "gui.unicopia.spellbook.recipe.requires": "Requires:", + "gui.unicopia.spellbook.author1.sign_off": "At the princess' behest", + "gui.unicopia.spellbook.author1.sign_off.b": "At the princess' behest, so dreadfully sorry", + "gui.unicopia.spellbook.author1.name": "- Starswirl the Bearded", + "gui.unicopia.spellbook.author2.name": "- Lord Sombra", + "gui.unicopia.spellbook.author3.name": "- XOXOX Lulu", + "gui.unicopia.spellbook.chapter.artefacts.status.unconfirmed": "Status: Unconfirmed", + "gui.unicopia.spellbook.chapter.artefacts.status.confirmed": "Status: Confirmed", + "gui.unicopia.spellbook.chapter.artefacts.status.lost": "Status: Lost", + "gui.unicopia.spellbook.chapter.introduction.p1.title": "Preface", + "gui.unicopia.spellbook.chapter.introduction.p1.body": "To whomever holds this tome, beware what you seek for you might not like what you find. §kHither yonder equs§r.", + "gui.unicopia.spellbook.chapter.introduction.p2.title": "Ch.1 Magic in Equestria", + "gui.unicopia.spellbook.chapter.introduction.p2.body": "Equestria is filled with magic of all different shapes and forms. Following recent events, however, it's has become plainly obvious that we do not fully understand all that there is about the world of Equestria. That is why the crown has tasked me with researching Magic in all of its forms, so we might utilise it and, I hope, save ourselves from the §kdiscordic assault§r.", + "gui.unicopia.spellbook.chapter.introduction.p3.title": "1st Mare '12", + "gui.unicopia.spellbook.chapter.introduction.p3.1.body": "Unusual Rocks", + "gui.unicopia.spellbook.chapter.introduction.p3.2.body": "These 'Gemstones' as the locals call them are a common material found around the world. Farm-Ponies dig them up all the time and consider it a local delicacy, but I believe these stones are capable of a lot more than they let on.", + "gui.unicopia.spellbook.chapter.introduction.p4.title": "Gemstones", + "gui.unicopia.spellbook.chapter.introduction.p4.1.body": "My research is still incomplete but I may have stumbled upon something. These stones have high magical potentia! More than I've ever seen before!", + "gui.unicopia.spellbook.chapter.introduction.p4.2.body": "§mLuna wants-§r I'm going to keep experimenting. Hooves-crossed, I'll update you tomorrow if I find anything.", + "gui.unicopia.spellbook.chapter.introduction.p5.title": "2nd Mare '12", + "gui.unicopia.spellbook.chapter.introduction.p5.1.body": "It worked! Holy §kCelestia's ass-cheeks'§r it actually worked!", + "gui.unicopia.spellbook.chapter.introduction.p5.2.body": "This is amazing! These can do so much more than I could have ever imagined. Think of the advances I could bring to Equestria. Gem-powered lighting, heating, cooling, I'd no longer have to spend summer sitting on this-", + "gui.unicopia.spellbook.chapter.introduction.p5.3.body": "I'm getting ahead of myself. Let me explain...", + "gui.unicopia.spellbook.chapter.introduction.p6.title": "Spellcrafting", + "gui.unicopia.spellbook.chapter.introduction.p6.1.body": "I drew a guide at the start of this book to help with the placement.", + "gui.unicopia.spellbook.chapter.introduction.p6.2.body": "Put a raw gem-it mustn't have any spells already-in the middle and place materials around it in the slots I marked.", + "gui.unicopia.spellbook.chapter.introduction.p6.3.body": "Each material gives different effects and putting them closer enhances their influence on the gem.", + "gui.unicopia.spellbook.chapter.introduction.p7.title": "3rd Mare '12", + "gui.unicopia.spellbook.chapter.introduction.p7.1.body": "I'm going to start documenting spell combinations as I find them. Some of them are pretty obvious, like gem + fire = fire gem", + "gui.unicopia.spellbook.chapter.introduction.p7.2.body": "But some are less clear. For instance, what traits would an egg add? Much experimenting is needed. Oh, I'm giddy with excitement!", + "gui.unicopia.spellbook.chapter.introduction.p8.title": "Botched Gems", + "gui.unicopia.spellbook.chapter.introduction.p8.1.body": "Not every combination works. What's dissapointing is now I have all these useless stones piling up in my chambers.", + "gui.unicopia.spellbook.chapter.introduction.p8.2.body": "I don't know what to do with them. They're not edible. At least the locals don't think so.", + "gui.unicopia.spellbook.chapter.introduction.p8.3.body": "They do still have the traits I gave them, so maybe I can find a use other than building a rock-fort with little Luna...", + "gui.unicopia.spellbook.chapter.introduction.p9.title": "13th Mare '12", + "gui.unicopia.spellbook.chapter.introduction.p9.1.body": "Sorry for the long delay in updates. I've been hard at work researching different spells and desciding my approach.", + "gui.unicopia.spellbook.chapter.introduction.p9.2.body": "Fire is becomg a very interesting aspect, what with traits for it being readily available.", + + "gui.unicopia.spellbook.chapter.fire.p1.title": "Ch.2 Fire Magic", + "gui.unicopia.spellbook.chapter.fire.p2.title": "9th Jum '12", + "gui.unicopia.spellbook.chapter.fire.p2.1.body": "It took me longer than I anticipated, nearly a month! Hah! But I present to you, dear reader, my findings for the first elementary form of magic: FIRE.", + "gui.unicopia.spellbook.chapter.fire.p2.2.body": "It's a working title, okay?", + "gui.unicopia.spellbook.chapter.fire.scorch.1.body": "Simple and to the point, Scorch does exactly what you'd think. By embuing a gem with the fire trait, one can indute it to glow and become hot to the touch.", + "gui.unicopia.spellbook.chapter.fire.scorch.2.body": "The effect becomes stronger the more fire you load it with, but take care not to overload it, as it may become volatile.", + "gui.unicopia.spellbook.chapter.fire.flame.1.body": "Creates a heating affect up to a radius of 3 hooves from any surfaces it touches.", + "gui.unicopia.spellbook.chapter.fire.flame.2.body": "Useful when one needs a flame in a hurry or to fend off a wild wendigo.", + "gui.unicopia.spellbook.chapter.fire.p5.title": "10th Jum '12", + "gui.unicopia.spellbook.chapter.fire.p5.1.body": "Progress?", + "gui.unicopia.spellbook.chapter.fire.p5.2.body": "I've managed to improve the previous spell somewhat, but there is still something lacking. It's all very orderly. Predicatable.", + "gui.unicopia.spellbook.chapter.fire.p5.3.body": "Luna has suggested adding more fire, but I'm weary to create more scorch marks on the tower. Faust save me if anypony were to find out what I've been doing...", + "gui.unicopia.spellbook.chapter.fire.p6.title": "Fire Magic III", + "gui.unicopia.spellbook.chapter.fire.p6.1.body": "Focusing Magic", + "gui.unicopia.spellbook.chapter.fire.p6.2.body": "Some spells normally take a great amount of focus to cast, and a steady wit to control, However I've found objects embued with the focusing trait work wonderfully as a substitute for when the caster is lacking.", + "gui.unicopia.spellbook.chapter.fire.p7.title": "Fire Magic III-II", + "gui.unicopia.spellbook.chapter.fire.p7.1.body": "Any glass objects you can find, eyes, bottles, whatever incorporates a lense can be used to embue focus on a spell.", + "gui.unicopia.spellbook.chapter.fire.p8.title": "Scrap 2", + "gui.unicopia.spellbook.chapter.fire.p8.1.body": "We went to the market today. Had to get out of that tower, do something, be somewhere. Luna suggested we go in to see what they were selling for the fair so I decided to indulge her.", + "gui.unicopia.spellbook.chapter.fire.p8.2.body": "The townsfolk are still rather skeptical of us, though who's to blame them. Luna was getting along well with the other foals, at least.", + "gui.unicopia.spellbook.chapter.fire.fire_bolt.1.body": "Creates a series of heated projectiles to fling at a target. Upon impact the target will be set alight.", + "gui.unicopia.spellbook.chapter.fire.fire_bolt.2.body": "- Increase focus will allow finer grained control of the projectile's trajectory.", + "gui.unicopia.spellbook.chapter.fire.fire_bolt.3.body": "- With over 50 focus it's almost like they know where the target is (homing?).", + "gui.unicopia.spellbook.chapter.fire.p10.title": "Fire Magic IV", + "gui.unicopia.spellbook.chapter.fire.p10.1.body": "Powerful Magic", + "gui.unicopia.spellbook.chapter.fire.p10.2.body": "Where some spells take focus, others require power. Either to exert a force, or to generate energy in some form.", + "gui.unicopia.spellbook.chapter.fire.p10.3.body": "There are few unicorns that have the inherent strength and power to cast spells of these kinds, but luckily such a trait is not in short supply around us.", + "gui.unicopia.spellbook.chapter.fire.p11.title": "Fire Magic IV-II", + "gui.unicopia.spellbook.chapter.fire.p11.1.body": "Earthly elements, stone, many metals and minerals, that are strong under compression will exhibit the strength trait.", + "gui.unicopia.spellbook.chapter.fire.p11.2.body": "Electrical/Conductive elements that can be used to power things, or that glow can also be used to obtain the power trait.", + "gui.unicopia.spellbook.chapter.fire.p12.title": "11th Jum '12", + "gui.unicopia.spellbook.chapter.fire.p12.1.body": "Got a knock at the door today. Luna was very eager to answer it but I had to send her away as it was a messenger from the crown.", + "gui.unicopia.spellbook.chapter.fire.p12.2.body": "My research has garnered a certain bit of notoriety, it appears. The royals are very eager to see what I have concocted.", + "gui.unicopia.spellbook.chapter.fire.p12.3.body": "They've gotten it in their heads that they can use it against the West.", + "gui.unicopia.spellbook.chapter.fire.p12.4.body": "Gods forbid they succeed. I shudder to think what the council might do if they got their hooves on my work.", + "gui.unicopia.spellbook.chapter.fire.p12.5.body": "Addendum", + "gui.unicopia.spellbook.chapter.fire.p12.6.body": "§mI am told the crown has started giving directions to find other uses. Ways to...", + "gui.unicopia.spellbook.chapter.fire.p13.title": "20th Jum '12", + "gui.unicopia.spellbook.chapter.fire.p13.1.body": "I have word from the crown. They appear satisfied, for now, and have agreed to let my continue my research as I have into the winter.", + "gui.unicopia.spellbook.chapter.fire.p13.2.body": "I am under duress to destroy the last several entries, I'm afraid.", + "gui.unicopia.spellbook.chapter.fire.p14.title": "21st Jum '12", + "gui.unicopia.spellbook.chapter.fire.p14.1.body": "I shall visit §kCommander Hurricane§r tomorrow. Perhaps she may shed light onto my predicament.", + "gui.unicopia.spellbook.chapter.fire.shield.1.body": "Casting shields are one of the first things every unicorn learns in self-defense. It's simple and easy to cast, and is an excellent introduction to incanting.", + "gui.unicopia.spellbook.chapter.fire.shield.2.body": "Its disadvantage is the energy and mental cost, however we can negate both by attaching it to a gem as per follows...", + "gui.unicopia.spellbook.chapter.fire.shield.modifier.1": "+ add power trait to increase effect range", + "gui.unicopia.spellbook.chapter.fire.p16.title": "Protection II", + "gui.unicopia.spellbook.chapter.fire.p16.1.body": "By adding extra traits, I was able to slightly modify the shield to allow or deny certain parties into the effect range.", + "gui.unicopia.spellbook.chapter.fire.p16.2.body": "+ add life trait --> all animals may enter\n+ add blood trait --> all monsters may enter\n+ add ice trait --> all ponies may enter", + "gui.unicopia.spellbook.chapter.fire.p17.title": "Protection III", + "gui.unicopia.spellbook.chapter.fire.p17.1.body": "+ add genorosity trait to attach the spell to a location rather than yourself", + "gui.unicopia.spellbook.chapter.fire.p18.title": "Scrap: 9th Jum '12", + "gui.unicopia.spellbook.chapter.fire.p18.1.body": "Fire magic has proven to a be a little more... unpredictable than anticipated. Every time I feel like I'm making progress it finds a way to set me back.", + "gui.unicopia.spellbook.chapter.fire.p18.2.body": "I can't stop now, though...I'm told the situation in the west is growing dire. They have asked me to pick up the pace and produce something we can use to get the upper hoof against the §kChangeling Storm§r.", + + "gui.unicopia.spellbook.chapter.ice.p1.title": "Ch.3 Ice Magic", + "gui.unicopia.spellbook.chapter.ice.p2.title": "4th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p2.1.body": "This is an interesting one. Rather simple, I admit, but Luna insisted I make something cold to help us deal with this darn heat.", + "gui.unicopia.spellbook.chapter.ice.p2.2.body": "All you need is a gem and something cold. Like a snowball.", + "gui.unicopia.spellbook.chapter.ice.frost.1.body": "Creates a chilling affect up to a radius of 3 hooves from any surfaces it touches.", + "gui.unicopia.spellbook.chapter.ice.frost.2.body": "Will sap energy out of the immediate environment causing a phase change.", + "gui.unicopia.spellbook.chapter.ice.p4.title": "Chilling Breath", + "gui.unicopia.spellbook.chapter.ice.p4.1.body": "Alters the ability of certain objects to distenguish between hot and cold.", + "gui.unicopia.spellbook.chapter.ice.p4.2.body": "This is a very weak spell, but when used with a boat can be exceedingly useful to get out of a sticky stituation.", + "gui.unicopia.spellbook.chapter.ice.p5.title": "5th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p5.1.body": "The village-ponies had a bonfire last night. I could tell by the strong smell of burning wood and the sound of music.", + "gui.unicopia.spellbook.chapter.ice.p5.2.body": "Luna, bless her heart, insisted that we take a break to join them. She had to practically drag me away from my desk to do it.", + "gui.unicopia.spellbook.chapter.ice.p5.3.body": "What can I say? She's a light in my heart.", + "gui.unicopia.spellbook.chapter.ice.p6.title": "Bonfire", + "gui.unicopia.spellbook.chapter.ice.p6.1.body": "We arrived at the bonfire, and of course the first thing they had was a mug of ale in my hoof. I didn't drink it, of course-alcohol is a poison to me. I'd be sick as a mule.", + "gui.unicopia.spellbook.chapter.ice.p6.2.body": "Luna enjoyed it-the bonfire, not the ale!-though. She made immediate friends with one of the town's fillies, Celly or something. They played the whole night.", + "gui.unicopia.spellbook.chapter.ice.p7.title": "Bonfire II", + "gui.unicopia.spellbook.chapter.ice.p7.1.body": "On the way back Luna was telling me of the stories her friend told her. The town has a lot of legends, as to be expected.", + "gui.unicopia.spellbook.chapter.ice.p7.2.body": "One of them was about a scary old warlock who lived in a haunted tower at the edge of town. There's no mystery who that was about.", + "gui.unicopia.spellbook.chapter.ice.p7.3.body": "Ice Spell II", + "gui.unicopia.spellbook.chapter.ice.p7.4.body": "Creates a cooling affect up to a radius of 3 hooves from any surfaces it touches.", + "gui.unicopia.spellbook.chapter.ice.p8.title": "6th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p8.1.body": "There was a strange noise in the village last night. Very strange. I heard a lot ponies shouting and there may have been a fire.", + "gui.unicopia.spellbook.chapter.ice.p8.2.body": "I hope everything is okay.", + "gui.unicopia.spellbook.chapter.ice.light.1.body": "By combining a fire bolt gem with a splash of life and the chilling effect of ice I've created a spell to help with seeing in the night.", + "gui.unicopia.spellbook.chapter.ice.light.2.body": "Dancing Lights will summon a cluster of glowing orbs to illuminate your path.", + "gui.unicopia.spellbook.chapter.ice.light.modifier.1": "* By adding more focus you can extend the duration of the spell", + "gui.unicopia.spellbook.chapter.ice.p10.title": "12th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p10.1.body": "There were more noises last night, this time a lot closer. The town's dimeaner has also changed. A lot of the ponies I see that are normally very cheerful have become sullen.", + "gui.unicopia.spellbook.chapter.ice.p10.2.body": "Something has happened, that much is obvious, though few will tell me what.", + "gui.unicopia.spellbook.chapter.ice.p11.title": "15th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p11.1.body": "Winter is nearly upon us now. I just saw the earliest flakes of snow outside this window as I write.", + "gui.unicopia.spellbook.chapter.ice.p11.2.body": "The locals have begun their winter unwrapping and though the usual grumblings about frozen fields abound, I can tell there is still §ka sense of uneasyness§r.", + "gui.unicopia.spellbook.chapter.ice.p12.title": "17th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p12.1.body": "It's rather surprising how quickly the weather starts to change around here. Everything in Catermoore is so very well controlled, with the spells we use to manage temperature and the pegasi assisting with the weather, we sometimes forget what wild seasons can be like.", + "gui.unicopia.spellbook.chapter.ice.p12.2.body": "But these Earth Ponies don't ave any of those luxuries. They have to deal with the weather as it comes.", + "gui.unicopia.spellbook.chapter.ice.p13.title": "Frozen Lake", + "gui.unicopia.spellbook.chapter.ice.p13.1.body": "Just this morning I was on the way to the stall when I passed the lake at the foot of this tower's hill and saw it was nearly completely frozen over. A few colts had taken to scating across it.", + "gui.unicopia.spellbook.chapter.ice.p13.2.body": "Luna asked if she could join them, but I didn't allow it. I couldn't say why at the time, but I had a bad feeling, like something was going to happen...", + "gui.unicopia.spellbook.chapter.ice.p14.title": "17th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p14.1.body": "Oh gods, of princesses. I. I don't know how to describe this. My hooves are shaking, I can barely breeze. I'm freezing cold and I can't stop thinking about what happened.", + "gui.unicopia.spellbook.chapter.ice.p14.2.body": "I knew there was something wrong. I b---knew it. I didn't know what it was at the time, but I'm extremely glad I didn't let Luna scate on that lake.", + "gui.unicopia.spellbook.chapter.ice.p15.title": "Frozen Lake II", + "gui.unicopia.spellbook.chapter.ice.p15.1.body": "Let me take a step back a bit to describe what happened. Do you remember the frozen lake and those colts that were skating on it?", + "gui.unicopia.spellbook.chapter.ice.p15.2.body": "Well, after that I went on to the market and I was looking at the strawberries in one of the stalls--Didn't get any, sadly they were forgotten in the confusion.", + "gui.unicopia.spellbook.chapter.ice.p16.title": "Frozen Lake III", + "gui.unicopia.spellbook.chapter.ice.p16.1.body": "Whilst I was debating the vendor about the price, I felt Luna tugging on my tunic and she asked me what was going on. I heard galloping and I saw ponies running by us. None of them stopped to explain, but I heard some very gruff words in old ponish.", + "gui.unicopia.spellbook.chapter.ice.p16.2.body": "They were heading in the direction of our tower so I set off after them.", + "gui.unicopia.spellbook.chapter.ice.p16.3.body": "My immediate thoughts were 'was it a fire'? Was my lab in danger?", + "gui.unicopia.spellbook.chapter.ice.p16.4.body": "I tell you what, I wish that were the case. What I actually found was much, much, worse, and even thinking of it makes my blood run cold anew.", + "gui.unicopia.spellbook.chapter.ice.p17.title": "Frozen Lake IV", + "gui.unicopia.spellbook.chapter.ice.p17.1.body": "When we were getting near the lake from earlier, I saw a large crowd growing along its banks. Ladders and emergency equipment were out and scattered on the shoreline and a loud uproar had erupted about what to do.", + "gui.unicopia.spellbook.chapter.ice.p17.2.body": "Getting closer, though, I realised what had happened soon enough--and I made a beeline for for the water-- The ice was broken and the lake was freezing cold.", + "gui.unicopia.spellbook.chapter.ice.p17.3.body": "I jumped in anyway, pulling my saddlebags open with my magic, and grabbed the last of the gems i had with my and cast the unfinished spell it had inside.", + "gui.unicopia.spellbook.chapter.ice.p17.4.body": "The waters receded away from me as I galloped down the slop and across the drying lake bed and dove to catch the colts that had fallen in.", + "gui.unicopia.spellbook.chapter.ice.p18.title": "Frozen Lake V", + "gui.unicopia.spellbook.chapter.ice.p18.1.body": "They were freezing and wet, even as the spell's effects worked to pull the water away from their coats, we carred them up to the shore and got them covered in blankets with hot drinks in their hooves.", + "gui.unicopia.spellbook.chapter.ice.p18.2.body": "The townponies insisted on giving me a blanket of my own, even though I hadn't - couldn't have- gotten wet.", + "gui.unicopia.spellbook.chapter.ice.p18.3.body": "It was only much later, when the shock began to wear of and I was feeling my head start to pound that I remembered to cancel the spell.", + "gui.unicopia.spellbook.chapter.ice.p18.4.body": "Thank the princesses we got there in time.", + "gui.unicopia.spellbook.chapter.ice.p19.title": "18th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p19.1.body": "No sign of the colts this morning, I assume they won't be coming near this lake for a long while. The water had frozen again in the night and looked peaceful.", + "gui.unicopia.spellbook.chapter.ice.p19.2.body": "The unseasy feeling I had yesterday was gone today so I was able to relax on its banks with Luna. She didn't want to swim in this lake any more, and I don't blame her. I wouldn't either.", + "gui.unicopia.spellbook.chapter.ice.p20.title": "Sandcastle", + "gui.unicopia.spellbook.chapter.ice.p20.1.body": "Luna started a sand castle, and whilst she was busy with that I decided to sketch out the details of my new spell.", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.1.body": "By combining the abilities of a shield spell with that of the frost gem, the results are... Admittedly strange.", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.2.body": "I'm calling this water repulsion because it does just that: It pushes water away from the caster.", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.modifier.1": "* By adding more focus you can extend the duration of the spell", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.modifier.2": "* Add the generosity trait to tie this spell to a location rather than a user", + + "gui.unicopia.spellbook.chapter.air.p1.title": "Ch.4 Air Magic", + "gui.unicopia.spellbook.chapter.air.p2.title": "1st Hoof '12", + "gui.unicopia.spellbook.chapter.air.p1.1.body": "A new month, a new chapter. Little Luna was getting bored of sitting in the tower all day (and who's to blame her? We've been on this assignment for over two months at this point).", + "gui.unicopia.spellbook.chapter.air.p1.2.body": "So as a little treat, we've decided to go on a little trip to the Grand Marepid Falls to visit my friend, Commander Hurricane.", + "gui.unicopia.spellbook.chapter.air.p1.3.body": "The Commander has also very graciously allowed me access to her library to continue my studies. I'm excited to see what combining unicorn and pegasus magics might bring.", + "gui.unicopia.spellbook.chapter.air.p3.title": "2nd Hoof '12", + "gui.unicopia.spellbook.chapter.air.p3.1.body": "Apologies for the, um, unusual entry in the appendices for today. It appears some little gremlin managed to obscond with my journal.", + "gui.unicopia.spellbook.chapter.air.p4.title": "Air Magic I", + "gui.unicopia.spellbook.chapter.air.p4.1.body": "Pegasus Magic", + "gui.unicopia.spellbook.chapter.air.p4.2.body": "Air magic is to pegasi like fire is to unicorns. They're both equally hard to control but where fire is primarily focused around force, destruction, or protection, air is all about flexibility and free motion.", + "gui.unicopia.spellbook.chapter.air.p4.3.body": "Command Hurricane has very kindly given me some tips on how to identify this trait in everyday objects.", + "gui.unicopia.spellbook.chapter.air.p4.4.body": "Anything relating to flight, or that originated from creatures that fly, or that comes from up above can be considered a source of the air trait.", + "gui.unicopia.spellbook.chapter.air.p4.5.body": "Eg. Feathers.", + "gui.unicopia.spellbook.chapter.air.catapult.1.body": "This is a straightforward application of a unicorn's telekineses. The catapult gem allows a caster to grab any block or creature and fling them into the air.", + "gui.unicopia.spellbook.chapter.air.catapult.2.body": "Use it again on something already thrown to push it away from you.", + "gui.unicopia.spellbook.chapter.air.catapult.modifier.1": "* One can add apply more force by adding the strength trait", + "gui.unicopia.spellbook.chapter.air.bubble.1.body": "A defensive and utility spell. Bubble will trap the target in a giant soap bubble, rendering them defensless.", + "gui.unicopia.spellbook.chapter.air.bubble.2.body": "Use it again will pop the bubble.", + "gui.unicopia.spellbook.chapter.air.p7.title": "8th Hoof '12", + "gui.unicopia.spellbook.chapter.air.p7.1.body": "I thought I would take a short moment to write down an entry to record my findings whilst Luna and The Commander are out.", + "gui.unicopia.spellbook.chapter.air.p7.2.body": "Pegasi magic really is a fascinating beast. It's not like our magic, which is more of a study, with rigid rules and practices.", + "gui.unicopia.spellbook.chapter.air.p8.title": "Pegasi", + "gui.unicopia.spellbook.chapter.air.p8.1.body": "Pegasus magic is more about feeling. It's an art form. They don't think about what they want to do, it just happens, but it all still follows the same principle.", + "gui.unicopia.spellbook.chapter.air.p9.title": "Pegasi II", + "gui.unicopia.spellbook.chapter.air.p9.1.body": "Take for example their cloud homes. There are no spells I can read that would let me do this, but if you feel, not with your hooves or your horn, but properly, with your mind, your heart, you will find magic buzzing all throughout.", + "gui.unicopia.spellbook.chapter.air.p9.2.body": "Clouds are teeming with the air and water trait, but also others, like power, strength, life, earth. All traits of the material the clouds are mimicking.", + "gui.unicopia.spellbook.chapter.air.p10.title": "Pegasi III", + "gui.unicopia.spellbook.chapter.air.p10.1.body": "I wish I could study this further, but I'm afraid to interfere in this magic I don't yet fully understand.", + "gui.unicopia.spellbook.chapter.air.p10.2.body": "Commander Hurricane may never forgive me if I destroy her home the first time I'm here.", + "gui.unicopia.spellbook.chapter.air.feather_fall.1.body": "Expanding on the defensive capabilities of the protection gem, I've attempted to extend its advantages to party members.", + "gui.unicopia.spellbook.chapter.air.feather_fall.2.body": "This one is unusual because of its complexity, but in theory it should allow one to slow their own and friends' descent.", + "gui.unicopia.spellbook.chapter.air.p12.title": "10th Hoof '12", + "gui.unicopia.spellbook.chapter.air.p12.1.body": "Went to dinner with Commander Huricane and Luna. We got to talking about architecture and Hurricane mentioned the Taz Marehall.", + "gui.unicopia.spellbook.chapter.air.p12.2.body": "Luna thought it was a rather funny name of a castle. I had to remind her that not all cultures are the same.", + "gui.unicopia.spellbook.chapter.air.p13.title": "21st Hoof '12", + "gui.unicopia.spellbook.chapter.air.p13.1.body": "I'm writing this on the eve of my return to §kTrotholm§r. Though my time in Cloudopolis has been elightening, I look forward to a return to the familiar surroundings and a proper rest in my own solid bed.", + "gui.unicopia.spellbook.chapter.air.p13.2.body": "I cannot say the same for Luna, though. She is currently sitting on my bed beside me pouting over every little thing she sees me put into my saddlebag.", + "gui.unicopia.spellbook.chapter.air.p14.title": "Returning Home", + "gui.unicopia.spellbook.chapter.air.p14.1.body": "She keeps insisting that we stay a little longer §mto hang out with that pegasus colt I saw her with the other day, no doubt", + "gui.unicopia.spellbook.chapter.air.p15.title": "22nd Hoof '12", + "gui.unicopia.spellbook.chapter.air.p15.1.body": "As we're flying above the mountain tops, I can't help but feel in awe the beauty that §kMother Faust§r has given us.", + "gui.unicopia.spellbook.chapter.air.p15.2.body": "I had to spend the whole time keeping Luna from falling out, and of course answering questions about all the different kinds of clouds. Thankfully, the balloon operator was there to help with the subtleties.", + "gui.unicopia.spellbook.chapter.air.p15.3.body": "Being out here, above all of our troubles, really makes me forget the rest of the world for a moment. It takes me back to a simpler time, before the--", + "gui.unicopia.spellbook.chapter.air.p15.4.body": "Of course the flashes of explosions to the west has to ruin it all. There appears to be a storm on the horizon. I certainly hope it not to be a bad omen...", + + "gui.unicopia.spellbook.chapter.dark_magic.p1.title": "Ch.5 The Arcane", + "gui.unicopia.spellbook.chapter.dark_magic.p2.title": "30th Hoof '12", + "gui.unicopia.spellbook.chapter.dark_magic.p2.1.body": "A new communication from the crown today. The situation seems to be worsening in the west and though they've been satisfied with my work until now, they are putting pressure on me to produce something more destructive.", + "gui.unicopia.spellbook.chapter.dark_magic.p2.2.body": "I tried to tell the messenger that I couldn't-", + "gui.unicopia.spellbook.chapter.dark_magic.p3.title": "3rd Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p3.1.body": "Let it be known that it was never my intention that anypony use my work for nefarious purposes. I am a researcher, above and beyond all else. My intentions are pure, and my wants are nothing more than this world to be at peace.", + "gui.unicopia.spellbook.chapter.dark_magic.p4.title": "4th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p4.1.body": "No review of magic is ever complete without a glimpse into the other side.", + "gui.unicopia.spellbook.chapter.dark_magic.p4.2.body": "Dark magic, or as I'm going to refer to it as The Arcane are tip-toeing the line between the normal light magic we normally know and the more nefarious side of reality.", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.1.body": "If someone were to ask you 'what is the opposite of a repulsion spell, what would you say? An attraction spell, of course!", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.2.body": "By twisting the purpose of the protection spell, I've been able to reverse its function to create a spell that pulls objects and entities closer to the caster.", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.modifier.1": "+ 10x knowledge to narrow the effect's range to items", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.modifier.2": "+ add focus trait to increase duration\n+ add power trait to increase range", + "gui.unicopia.spellbook.chapter.dark_magic.p6.title": "8th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p6.1.body": "Additional Notes for the Attraction Spell", + "gui.unicopia.spellbook.chapter.dark_magic.p6.2.body": "I caught Luna playing with my spellcrafting grid today, even though I expressly forbid her from entering my study when I'm not there.", + "gui.unicopia.spellbook.chapter.dark_magic.p6.3.body": "Apparently it was over some dispute with Celly, I don't really remember, but it culminated in Luna sneaking into the study whilst I was out to get some bread.", + "gui.unicopia.spellbook.chapter.dark_magic.p7.title": "Arcane Attraction II", + "gui.unicopia.spellbook.chapter.dark_magic.p7.1.body": "This isn't really about that, though. She's been scolded and sent back to her room, however as I was cleaning up the mess she'd made I noticed something in the piles of gems.", + "gui.unicopia.spellbook.chapter.dark_magic.p7.2.body": "It's hard to describe, really. This is still distincly an attraction gem, but it's different.", + "gui.unicopia.spellbook.chapter.dark_magic.p7.3.body": "It has traits I hadn't considered before, and the way it behaves... ", + "gui.unicopia.spellbook.chapter.dark_magic.p8.title": "Arcane Attraction II Cont.", + "gui.unicopia.spellbook.chapter.dark_magic.p8.1.body": "Well I'll leave that up to tomorrow. I'm still tired from everything that's happened this week.", + "gui.unicopia.spellbook.chapter.dark_magic.p8.2.body": ">0 generosity --> ??", + "gui.unicopia.spellbook.chapter.dark_magic.p8.3.body": ">20 order trait --> ???", + "gui.unicopia.spellbook.chapter.dark_magic.p9.title": "20th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p9.1.body": "As per their agreement, the council have sent certain...supplimental materials to aid in the new direction my research is taking. I was a little shocked at first.", + "gui.unicopia.spellbook.chapter.dark_magic.p9.2.body": "This... thing... Whatever it is. Was, rather.", + "gui.unicopia.spellbook.chapter.dark_magic.p9.3.body": "Is this really what we're fighting in the west?", + "gui.unicopia.spellbook.chapter.dark_magic.p10.title": "21st Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p10.1.body": "I've put the... thing. In the basement. Locked the door.", + "gui.unicopia.spellbook.chapter.dark_magic.p10.2.body": "I just couldn't stand looking at it any longer. It's vaguely pony-shaped, but also...", + "gui.unicopia.spellbook.chapter.dark_magic.p10.3.body": "I couldn't well let Luna see it. I've sent her out to spend the next few nights with Celly whilst I sort out what to do with this.", + "gui.unicopia.spellbook.chapter.dark_magic.p11.title": "25th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p11.1.body": "I'm sorry for the long delays. Things have been... busy.", + "gui.unicopia.spellbook.chapter.dark_magic.p11.2.body": "I've learned a lot about these creatures. Attached are some illustrations, done best I could so I wouldn't have to look at the thing directly.", + "gui.unicopia.spellbook.chapter.dark_magic.p11.3.body": "Its body is black and vaguely §kinsect-like§r with ponish proportions. It has no fur.", + "gui.unicopia.spellbook.chapter.dark_magic.p11.4.body": "The magic they use is unusual. Not unusual, like what I've been studying. It's unnatural. Wild.", + "gui.unicopia.spellbook.chapter.dark_magic.p11.5.body": "There is definitely something I might be able to harness here, but I shudder... Should I?", + "gui.unicopia.spellbook.chapter.dark_magic.p11.6.body": "I fear that this may be a line that shouldn't be crossed.", + "gui.unicopia.spellbook.chapter.dark_magic.transformation.1.body": "I've begun by simply harnessing their ability. It's unfocused and hard to control. I can rarely predict what is going to happen, but this gem has very clear transmodrification properties.", + "gui.unicopia.spellbook.chapter.dark_magic.transformation.2.body": "Throwing this at any creature has the chance to transform it into any other creature.", + "gui.unicopia.spellbook.chapter.dark_magic.reveal.1.body": "Dispell Illusion is the first line of defense against transformation/illusion spells.", + "gui.unicopia.spellbook.chapter.dark_magic.reveal.2.body": "When cast it will force any nearby disguised changelings in its range to reveal their true form.", + "gui.unicopia.spellbook.chapter.dark_magic.reveal.modifier.1": "* Increase range by adding the power trait", + "gui.unicopia.spellbook.chapter.dark_magic.p14.title": "27th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p14.1.body": "Sleep the last few nights has become... elusive.", + "gui.unicopia.spellbook.chapter.dark_magic.p14.2.body": "I don't know how to describe it, really. Luna appears unaffected, but every night after the sun goes down I find myself lying awake at night unable to sleep. It doesn't help that that sounds in the village have resumed.", + "gui.unicopia.spellbook.chapter.dark_magic.p15.title": "Lost Sleep", + "gui.unicopia.spellbook.chapter.dark_magic.p15.1.body": "Last night, especially, I found myself pacing in the observatory. The air became chill, more than is normal for this time of year, and beyond anything that raging fire in corner of the room could combat.", + "gui.unicopia.spellbook.chapter.dark_magic.p15.2.body": "The room where I keep the--my patient opposite the wall behind me.", + "gui.unicopia.spellbook.chapter.dark_magic.p16.title": "Lost Sleep Cont.", + "gui.unicopia.spellbook.chapter.dark_magic.p16.1.body": "I've long since taken to keeping that door locked because every so often I could swear I heard something moving in there...", + "gui.unicopia.spellbook.chapter.dark_magic.p16.2.body": "Gods, am I going crazy?", + "gui.unicopia.spellbook.chapter.dark_magic.p17.title": "29th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p17.1.body": "Bits, there it is again!", + "gui.unicopia.spellbook.chapter.dark_magic.p17.2.body": "I thought last night was a fluke, but I just heard it again--I'm shaking. My hooves, I can barely hold this book as I struggle to pen these words.", + "gui.unicopia.spellbook.chapter.dark_magic.p17.3.body": "There's something--I heard something. Like a chittering--", + "gui.unicopia.spellbook.chapter.dark_magic.p18.title": "1st Croptober '12", + "gui.unicopia.spellbook.chapter.dark_magic.p18.1.body": "I made a call into town. One of the local blacksmiths have agreed to install a new lock, one of the heavy kind that not even earth ponies can bust.", + "gui.unicopia.spellbook.chapter.dark_magic.p18.2.body": "I fear it may not be enough, though, it--whatever it is, clearly has magic. I may be forced to research a magical solution to my insomnia.", + "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.1.body": "This spell will create a magical shroud that can be used to protect from other spellcasters.", + "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.2.body": "No one else will be able to use magic within its radius.", + "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.modifier.1": "* Increase range by adding the power trait", + "gui.unicopia.spellbook.chapter.dark_magic.displacement.1.body": "By casting this spell, a unicorn is able to swap their location with any other creature.", + "gui.unicopia.spellbook.chapter.dark_magic.p21.title": "3rd Croptober '12", + "gui.unicopia.spellbook.chapter.dark_magic.p21.1.body": "The locks have been installed, and with the addition of some extra wardings, I'm feeling a little more at ease.", + "gui.unicopia.spellbook.chapter.dark_magic.p21.2.body": "The motions at night have all but stopped, though I feel like I can almost hear it at times...", + "gui.unicopia.spellbook.chapter.dark_magic.p22.title": "4th Cropt-", + "gui.unicopia.spellbook.chapter.dark_magic.mimic.1.body": "I've been able to tap into some of this strange creature's abilities. There's still a lot to figure out here, but for now I've merely distilled its essense into a gem.", + "gui.unicopia.spellbook.chapter.dark_magic.mimic.modifier.1": "* Add the focus trait to increase the effect's duration", + "gui.unicopia.spellbook.chapter.dark_magic.p24.1.body": "There's been a wave of darkness that has come over the town. Nothing's been the same since that gods-forsaken creature arrived.", + "gui.unicopia.spellbook.chapter.dark_magic.p24.2.body": "Ponies in town have begun remarking on lack of sleep, and it's showing. Just today I saw a poor stallion walking around in a daze. Bags under his eyes, barely any colour in his cheeks.", + "gui.unicopia.spellbook.chapter.dark_magic.p25.1.body": "He looked almost like a zombie the way he went through the motions, not really paying any attention even after he nearly ran into me.", + "gui.unicopia.spellbook.chapter.dark_magic.p26.title": "Scrap", + "gui.unicopia.spellbook.chapter.dark_magic.p26.1.body": "§kIt's not enough. Never enough. Crawling. I feel crawling. Oh gods the crawling won't stop.", + "gui.unicopia.spellbook.chapter.dark_magic.p27.1.body": "The insomnia. I can't take it. I lie in my bed every night waiting to go to sleep.", + "gui.unicopia.spellbook.chapter.dark_magic.p27.2.body": "I thought I could stop it, keep it at bay, but I still hear it. That creature. Cold, unfeeling.", + "gui.unicopia.spellbook.chapter.dark_magic.p27.3.body": "I feel myself being drained any time I'm around it. Is it... feeding on me?", + "gui.unicopia.spellbook.chapter.dark_magic.p27.4.body": "No, it couldn't be.", + "gui.unicopia.spellbook.chapter.dark_magic.p28.1.body": "I found this incantation under some old notes whilst clearing out the lab. It's... simplistic and hard to manage, but it gets the job done.", + "gui.unicopia.spellbook.chapter.dark_magic.dispel_evil.modifier.1": "* Add the power trait to increase the effect's range", + + "gui.unicopia.spellbook.chapter.otherworldly.p1.title": "Ch.6 The Beyond", + "gui.unicopia.spellbook.chapter.otherworldly.p2.title": "2nd Croptober '12", + "gui.unicopia.spellbook.chapter.otherworldly.p2.1.body": "This chapter serves as an exploration of the worlds beyond our own and a delving into what most unicorns would normally shy away from.", + "gui.unicopia.spellbook.chapter.otherworldly.p2.2.body": "In this section can be found the most powerful of the powerful spells, but also the most danger. Read further at your own peril, as this is not for the light of mind.", + "gui.unicopia.spellbook.chapter.otherworldly.siphoning.1.body": "A simple spell that siphons life force out of a living entity and uses it to revitalise the caster.", + "gui.unicopia.spellbook.chapter.otherworldly.necromancy.1.body": "This area effect spell taps into the great beyond to summon life to serve its master.", + "gui.unicopia.spellbook.chapter.otherworldly.necromancy.2.body": "This spell is not very useful when used on its own, but combined with other traits may become a powerful tool against the §kChangeling Swarms§r.", + "gui.unicopia.spellbook.chapter.otherworldly.dark_vortex.1.body": "Dipping below the fabric of reality, this spell taps into the deep arcane powers of the beyond to punch a hole in reality.", + "gui.unicopia.spellbook.chapter.otherworldly.dark_vortex.2.body": "The resulting hole is a hungry mass that consumes all who approach. It grants massive energy, but feed it at your peril.", + "gui.unicopia.spellbook.chapter.otherworldly.portal.1.body": "Combining the effects of the displacement spell created by my predecessor and the dark vortex gem, one is able to tame its chaotic nature.", + "gui.unicopia.spellbook.chapter.otherworldly.portal.2.body": "The arcane rift spell allows the caster to link two locations together to create a bridge across the ether. Anything that enters one end will appear at the other maintaining its velocity.", + "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.1.body": "Continuing my predecessor's research into the abilities of the Changeling Spawn, I have enhanced his mimic spell by adding a chaotic twist.", + "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.2.body": "Mind Swap extends the effects of mimic to cover two individuals, in effect swapping their bodies for a limited time.", + "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.3.body": "* Add the focus trait to increase the effect's duration", + + "gui.unicopia.spellbook.chapter.artefacts.p1.title": "Ch.7 Artefacts", + "gui.unicopia.spellbook.chapter.artefacts.p2.title": "2nd Mare '12", + "gui.unicopia.spellbook.chapter.artefacts.p2.1.body": "What follows is a compendium of research into certain objects of interest identified through my research.", + "gui.unicopia.spellbook.chapter.artefacts.p2.2.body": "Not all of these have gotten anywhere, as they have been proven to either be pure legend, or perhaps a hoax, so I cannot put stock into their stories.", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.1.body": "Crafted by a group of unicorns long ago, its origin and current location is unknown.", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.2.body": "What few accounts exist claim it was a powerful tool of protection and support, as it would funnel life force from enemies towards the caster and their allies.", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.title": "5th Mare '12", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.3.body": "Other accounts say that this artefact only functions when mounted on a specific pedestal of diamond blocks, like a beacon.", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.title": "Torn Page", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.1.body": "§kaaa§rential c§ka§rr§kaaa§rnial purpose§kaaa§r?", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.2.body": "§kAasa sasa fwefsd q43rgfd wqklmsdfl as, klasn.§r", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.3.body": "Building Materials:", + "gui.unicopia.spellbook.chapter.artefacts.crystal_podium.title": "Crystal Podium", + "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.2.body": "It's, um a scroll that you write somepony's name on it and you hold it in one hoof and something in the other hoof and, like, um it goes whooosh and the item is sent to that pony.", + "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.title": "2nd Hoof '12", + "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.3.body": "P.S. Uncle Starswirly is a dunderhead.", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.1.body": "Used in the past by spellcasters to communicate over long distances, this band has long since lost its old use.", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.2.body": "Unicorns who sign and hand out this band can use it to share certain magic effects with their friends.", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.title": "13th Mare '12", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.3.body": "Anyone wearing a bangle you have signed will be able to benefit from the positive effects of your spells, or will be allowed through protection and shield spells.", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.4.body": "Mana costs are also shared equally between all nearby members.", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.1.body": "Commander Hurricane informed me of this, though I've found little texts to back up his claims.", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.2.body": "The Pegasus Amulet is claimed to grant the wearer temporary flight, like a pegasus.", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.title": "21st Trot '12", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.3.body": "It was intended as an aide for early unicorn ambassadors to Cloud Heights, but was lost after negotiations broke down.", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.1.body": "A precursor to magic staffs, the meadwobrook's staff is an upright support structure commonly used by warlocks during long incantation sessions.", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.2.body": "It features a twisting and mottled shape with a dense and sturdy core capable of supporting the weight of an average-sized, adult male.", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.title": "22nd Trot '12", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.3.body": "Due to its dense structure and flamability, this object also serves a secondary purpose as an offensive weapon and fuel source should the situation demand.", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.4.body": "To use correctly in combat, one must begin by gripping the staff by the narrow end in both hands, followed by a swift swing from above one's head whilst yelling 'Fus Roh DAH!'", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.1.body": "Magical aides for non-magical users. Magic staffs work in a similar way to a unicorns horn in that they can be used to channel and harness the innate magic stored within gems.", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.title": "22nd Trot '12", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.2.body": "Not all spells work in the same way, but for those that do, a good staff is an essential tool for any beginner magi.", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.3.body": "The simplest way to create these is to put a gem on the end of a stick. Yes, very revolutionary, I know.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.1.body": "A powerful artifact once thought to be the source of King Grogar's power.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.2.body": "In skilled hooves, the bell may be used to transfer magical energy from one being to another.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.title": "22nd Trot '12", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.3.body": "It's theorised this artifact was forged from the claws of an Ursa Major during the era of Discord's reign, possibly as a weapon against the tyrant.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.4.body": "By its nature, the bell a corrupting influence inherent to it that will destroy the minds of anyone who dares weird its power.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.2.title": "Grogar's Bell II", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.5.body": "Legend says that after its first bearer, King Grogar, was driven to madness, the bell was stowed far away.", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.6.body": "beyond most ponies' grasp, guarded inside an ancient city by an unbeatable beast.", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.1.body": "Like the crystal heart, little is known of this artefact and thus nothing, not even its existance can be confirmed.", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.title": "23nd Trot '12", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.2.body": "The alicorn amulet is a powerful force of dark magic created created by an unknown mage as their attempt to create the perfect being.", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.3.body": "It combines the traits of all races into one powerful form, but it hard to control and addictive in nature. Anyone who uses it quickly becomes reliant on it and few attempt to remove it survive the ordeal.", + + "gui.unicopia.action.spells_cleared": "Removed all spells", + "gui.unicopia.action.no_spells_cleared": "You have no active spells", + + "chapter.unicopia.crafting": "Spell Crafting", + "chapter.unicopia.profile": "Profile", + "chapter.unicopia.traits": "Research", + "chapter.unicopia.introduction": "Introduction", + "chapter.unicopia.fire_magic": "Fire Magic", + "chapter.unicopia.ice_magic": "Ice Magic", + "chapter.unicopia.air_magic": "Air Magic", + "chapter.unicopia.dark_magic": "Dark Magic", + "chapter.unicopia.the_otherworldly": "Forbidden Magic", + "chapter.unicopia.crystal_heart": "Artifacts", + + "experience.unicopia.pure.magical_kindergartner": "New Blood", + "experience.unicopia.impure.magical_kindergartner": "Impure", + "experience.unicopia.tainted.magical_kindergartner": "Misguided", + "experience.unicopia.twisted.magical_kindergartner": "Twisted", + "experience.unicopia.corrupt.magical_kindergartner": "Filly Fiend", + "experience.unicopia.monstrous.magical_kindergartner": "Evil Foal", + + "experience.unicopia.pure.friendship_student": "Friendship Student", + "experience.unicopia.impure.friendship_student": "Wayward Soul", + "experience.unicopia.tainted.friendship_student": "Misguided Soul", + "experience.unicopia.twisted.friendship_student": "Lost Soul", + "experience.unicopia.corrupt.friendship_student": "Fiendish Friendship Student", + "experience.unicopia.monstrous.friendship_student": "Monstrous Soul", + + "experience.unicopia.pure.senior_friendship_student": "Promising Friendship Student", + "experience.unicopia.impure.senior_friendship_student": "Dissapointing Friendship Student", + "experience.unicopia.tainted.senior_friendship_student": "Misguided Friendship Student", + "experience.unicopia.twisted.senior_friendship_student": "Band Influence", + "experience.unicopia.corrupt.senior_friendship_student": "Fiendish Friend", + "experience.unicopia.monstrous.senior_friendship_student": "Learning Cultist", + + "experience.unicopia.pure.junior_mage": "Junior Mage", + "experience.unicopia.impure.junior_mage": "Wayward Junior Mage", + "experience.unicopia.tainted.junior_mage": "Misguided Junior Mage", + "experience.unicopia.twisted.junior_mage": "Fiendish Junior Mage", + "experience.unicopia.corrupt.junior_mage": "Junior Anti-Mage", + "experience.unicopia.monstrous.junior_mage": "Junior Cultist", + + "experience.unicopia.pure.mage": "Mage", + "experience.unicopia.impure.mage": "Wayward Mage", + "experience.unicopia.tainted.mage": "Misguided Mage", + "experience.unicopia.twisted.mage": "Fiendish Mage", + "experience.unicopia.corrupt.mage": "Anti-Mage", + "experience.unicopia.monstrous.mage": "Cultist", + + "experience.unicopia.pure.archmage": "Archmage", + "experience.unicopia.impure.archmage": "Wayward Archmage", + "experience.unicopia.tainted.archmage": "Misguided Archmage", + "experience.unicopia.twisted.archmage": "Fiendish Archmage", + "experience.unicopia.corrupt.archmage": "Anti-Archmage", + "experience.unicopia.monstrous.archmage": "Experienced Cultist", + + "experience.unicopia.pure.archmagus": "Archmagus", + "experience.unicopia.impure.archmagus": "Wayward Archmagus", + "experience.unicopia.tainted.archmagus": "Misguided Archmagus", + "experience.unicopia.twisted.archmagus": "Fiendish Archmagus", + "experience.unicopia.corrupt.archmagus": "Anti-Archmagus", + "experience.unicopia.monstrous.archmagus": "Senior Cultist", + + "experience.unicopia.pure.senior_archmagus": "Senior Archmagus", + "experience.unicopia.impure.senior_archmagus": "Wayward Senior Archmagus", + "experience.unicopia.tainted.senior_archmagus": "Misguided Senior Archmagus", + "experience.unicopia.twisted.senior_archmagus": "Fiendish Senior Archmagus", + "experience.unicopia.corrupt.senior_archmagus": "Senior Anti-Archmagus", + "experience.unicopia.monstrous.senior_archmagus": "Cult Leader", + + "experience.unicopia.pure.ascended_senior_archmagus": "Ascended Senior Archmagus", + "experience.unicopia.impure.ascended_senior_archmagus": "Struggling Senior Archmagus", + "experience.unicopia.tainted.ascended_senior_archmagus": "Falling Senior Archmagus", + "experience.unicopia.twisted.ascended_senior_archmagus": "Fallen Senior Archmagus", + "experience.unicopia.corrupt.ascended_senior_archmagus": "Shadowy Senior Anti-Archmagus", + "experience.unicopia.monstrous.ascended_senior_archmagus": "Dark Cult Leader", + + "experience.unicopia.pure.demi_god": "Aspiring Princess", + "experience.unicopia.impure.demi_god": "Impure Aspiring Princess", + "experience.unicopia.tainted.demi_god": "Struggling Aspiring Princess", + "experience.unicopia.twisted.demi_god": "Fallen Princess", + "experience.unicopia.corrupt.demi_god": "Ascendent Dark Lord", + "experience.unicopia.monstrous.demi_god": "Rising Dark Master", + + "experience.unicopia.pure.arch_demi_god": "Promising Princess", + "experience.unicopia.impure.arch_demi_god": "Impure Princess", + "experience.unicopia.tainted.arch_demi_god": "Struggling Princess", + "experience.unicopia.twisted.arch_demi_god": "Fallen Demi-God", + "experience.unicopia.corrupt.arch_demi_god": "Dark Demi-God", + "experience.unicopia.monstrous.arch_demi_god": "Dark Master", + + "experience.unicopia.pure.alicorn_princess": "Alicorn Princess", + "experience.unicopia.impure.alicorn_princess": "Impure Alicorn Princess", + "experience.unicopia.tainted.alicorn_princess": "Tainted Alicorn Princess", + "experience.unicopia.twisted.alicorn_princess": "Fallen Alicorn Princess", + "experience.unicopia.corrupt.alicorn_princess": "Shadowy Alicorn Lord", + "experience.unicopia.monstrous.alicorn_princess": "Dark Alicorn Lord", + + "experience.unicopia.pure.polycorn_princess": "Polycorn Princess", + "experience.unicopia.impure.polycorn_princess": "Impure Polycorn Princess", + "experience.unicopia.tainted.polycorn_princess": "Tainted Polycorn Princess", + "experience.unicopia.twisted.polycorn_princess": "Fallen Polycorn Princess", + "experience.unicopia.corrupt.polycorn_princess": "Shadowy Polycorn King", + "experience.unicopia.monstrous.polycorn_princess": "Dark Polycorn King", + + "experience.unicopia.pure.faustian_legend": "Hero of Legend", + "experience.unicopia.impure.faustian_legend": "Legendary", + "experience.unicopia.tainted.faustian_legend": "Storied Figure of Distant Descent", + "experience.unicopia.twisted.faustian_legend": "Dark Figure of Lore", + "experience.unicopia.corrupt.faustian_legend": "The Old God", + "experience.unicopia.monstrous.faustian_legend": "Otherworldly Terror", + + "unicopia.category.name": "Pony Abilities", + + "key.unicopia.primary": "Primary Ability", + "key.unicopia.secondary": "Secondary Ability", + "key.unicopia.tertiary": "Tertiary Ability", + "key.unicopia.passive": "Passive Ability", + + "key.unicopia.hud_page_dn": "Hud Previous Page", + "key.unicopia.hud_page_up": "Hud Next Page", + + "enchantment.unicopia.gem_finder": "Gem Finder", + "enchantment.unicopia.padded": "Padded", + "enchantment.unicopia.clingy": "Clings", + "enchantment.unicopia.repulsion": "Repulsion", + "enchantment.unicopia.heavy": "Heavy", + "enchantment.unicopia.herds": "Herds", + "enchantment.unicopia.want_it_need_it": "Want It Need It", + "enchantment.unicopia.poisoned_joke": "Poisoned Joke", + "enchantment.unicopia.stressed": "Stressed", + "enchantment.unicopia.heart_bound": "Heart Bound", + "enchantment.unicopia.consumption": "Consumption", + + "commands.race.success.self": "Set own race to %1$s", + "commands.race.success": "%1$s changed race to %2$s", + "commands.race.success.other": "Changed %1$s's race to %2$s", + "commands.race.usage": "/race [player]", + "commands.race.list": "The available races are:", + "commands.race.permission": "Selected Race is not permitted by your current server", + "commands.race.fail": "\"%s\" is not a recognised Race", + + "commands.skyangle.get": "The current angle of the sun is %sdeg", + "commands.skyangle.set": "Changed sky angle to %sdeg", + + "commands.race.tell.self": "You are a ", + "commands.race.tell.self.alt": "You are an ", + "commands.race.tell.other": "%s is a ", + "commands.race.tell.other.alt": "%s is an ", + + "commands.racelist.illegal": "The default race %s cannot be used with this command.", + "commands.racelist.allowed": "Added %1$s to the whitelist.", + "commands.racelist.allowed.failed": "%1$s is already whitelisted.", + + "commands.racelist.disallowed": "Removed %1$s from the whitelist.", + "commands.racelist.disallowed.failed": "%1$s is not on the whitelist.", + + "commands.worldtribe.success.get": "Default race for all new players is currently set to: %s", + "commands.worldtribe.success.set": "Set default race for new players is now set to: %s", + + "commands.disguise.usage": "/disguise [nbt]", + "commands.disguise.notfound": "The entity id '%s' does not exist.", + "commands.disguise.removed": "Your disguise has been removed.", + "commands.disguise.removed.self": "Removed own disguise.", + "commands.disguise.removed.other": "Removed %s's disguise.", + "commands.disguise.success": "You are now disguised as %s", + "commands.disguise.success.self": "Set own disguise to %s", + "commands.disguise.success.other": "%s changed their disguise to %s", + + "commands.gravity.get": "Your gravity is %f", + "commands.gravity.get.other": "%s has a gravity of %f", + "commands.gravity.set": "Your gravity has been updated to %f", + "commands.gravity.set.self": "Set own gravity to %f", + "commands.gravity.set.other": "Set %s's gravity to %f", + + "unicopia.options.title": "Unicopia Options", + "unicopia.options.ignore_mine_lp": "Ignore Mine Little Pony", + "unicopia.options.ignore_mine_lp.missing": "* Mine Little Pony is not installed", + "unicopia.options.ignore_mine_lp.detected": "* Your detected race is %s", + "unicopia.options.ignore_mine_lp.undetected": "* We will not use your detected race", + "unicopia.options.preferred_race": "Preferred Race: %s", + "unicopia.options.whitelist": "Enable Whitelist", + "unicopia.options.whitelist.race": "Allow %ss", + "unicopia.options.whitelist.details": "* Select the races you wish to allow", + "unicopia.options.cheats": "Enable Cheats", + "unicopia.options.client": "Client Settings", + "unicopia.options.world": "World Settings", + "unicopia.options.world.default_race": "Default Race: %s", + "unicopia.options.lan": "Multiplayer (LAN) Settings", + + "command.unicopia.config.add": "[Config] Added %s to property %s", + "command.unicopia.config.remove": "[Config] Removed %s from property %s", + "command.unicopia.config.list": "[Config] Property (%s) contains (%s) entries: ", + "command.unicopia.config.clear": "[Config] Cleared all values from property %s", + + "unicopia.race.unset": "Unset", + "unicopia.race.unset.alt": "Unset", + "unicopia.race.human": "Human", + "unicopia.race.human.alt": "Humans", + "unicopia.race.earth": "Earth Pony", + "unicopia.race.earth.alt": "Earth Ponies", + "unicopia.race.unicorn": "Unicorn", + "unicopia.race.unicorn.alt": "Unicorns", + "unicopia.race.pegasus": "Pegasus", + "unicopia.race.pegasus.alt": "Pegasi", + "unicopia.race.alicorn": "Alicorn", + "unicopia.race.alicorn.alt": "Alicorns", + "unicopia.race.changeling": "Changeling", + "unicopia.race.changeling.alt": "Changelings", + "unicopia.race.bat": "Bat Pony", + "unicopia.race.bat.alt": "Bat Ponies", + "unicopia.race.kirin": "Kirin", + "unicopia.race.kirin.alt": "Kirins", + "unicopia.race.hippogriff": "Hippogriff", + "unicopia.race.hippogriff.alt": "Hippogriffs", + "unicopia.race.seapony": "Sea Pony", + "unicopia.race.seapony.alt": "Sea Ponies", + + "death.attack.unicopia.generic.and_also": "%1$s and %2$s", + "death.attack.unicopia.generic.whilst_flying": "%1$s whilst flying", + "death.attack.unicopia.tribe_swap": "%1$s was reborn into a different tribe", + "death.attack.unicopia.tribe_swap.self": "%1$s was doomed themselved to be reborn into a different tribe", + "death.attack.unicopia.tribe_swap.player": "%1$s was doomed to be reborn into a different tribe by %2$s", + "death.attack.unicopia.sun": "%1$s stared into the sun", + "death.attack.unicopia.sun.self": "%1$s stared into the sun", + "death.attack.unicopia.sun.player": "%1$s stared into the sun whilst fighting %2$s", + "death.attack.unicopia.sunlight": "%1$s was burned by the sun", + "death.attack.unicopia.sunlight.self": "%1$s was burned by the sun", + "death.attack.unicopia.sunlight.player": "%1$s was burned by the sun whilst fighting %2$s", + "death.attack.unicopia.petrified": "%1$s turned to stone", + "death.attack.unicopia.petrified.self": "%1$s turned to stone", + "death.attack.unicopia.petrified.player": "%1$s turned to stone whilst fighting %2$s", + "death.attack.unicopia.magical_exhaustion": "%1$s exhausted themselves", + "death.attack.unicopia.magical_exhaustion.self": "%1$s exhausted themselves", + "death.attack.unicopia.magical_exhaustion.player": "%1$s exhausted themselves whilst fighting %2$s", + "death.attack.unicopia.alicorn_amulet": "%1$s was driven insane", + "death.attack.unicopia.alicorn_amulet.self": "%1$s drove themselves insane", + "death.attack.unicopia.alicorn_amulet.player": "%1$s went insane whilst fighting %2$s", + "death.attack.unicopia.darkness": "%1$s went missing", + "death.attack.unicopia.darkness.self": "%1$s went missing", + "death.attack.unicopia.darkness.player": "%1$s went missing whilst fighting %2$s", + "death.attack.unicopia.love_draining": "%1$s was drained of all love", + "death.attack.unicopia.love_draining.self": "%1$s expelled all of their own love", + "death.attack.unicopia.love_draining.player": "%2$s drained %1$s of all their love", + "death.attack.unicopia.life_draining": "%1$s was sucked dry", + "death.attack.unicopia.life_draining.self": "%1$s was killed by their own spell", + "death.attack.unicopia.life_draining.player": "%1$s was killed by a spell cast by %2$s", + "death.attack.unicopia.bat_screech": "%1$s was spooked", + "death.attack.unicopia.bat_screech.self": "%1$s spooked themselves", + "death.attack.unicopia.bat_screech.player": "%2$s spooked %1$s", + "death.attack.unicopia.bat_screech.item": "%1$s was spooked by %2$s using %3$s", + "death.attack.unicopia.gravity_well_recoil": "%1$s turned into spaghetti", + "death.attack.unicopia.gravity_well_recoil.player": "%1$s turned into spaghetti by a spell cast by %2$s", + "death.attack.unicopia.gravity_well_recoil.item": "%1$s turned into spaghetti by a spell cast by %2$s using %3$s", + "death.attack.unicopia.gravity_well_recoil.self": "%1$s cast a spell that turned them into spaghetti", + "death.attack.unicopia.smash": "%1$s was crushed under hoof", + "death.attack.unicopia.smash.self": "%1$s got themselves crushed under a hoof", + "death.attack.unicopia.smash.player": "%1$s was crushed by %2$s", + "death.attack.unicopia.zap": "%1$s bit into a Zap Apple", + "death.attack.unicopia.zap.self": "%1$s bit into a Zap Apple", + "death.attack.unicopia.zap.player": "%1$s bit into a Zap Apple whilst fighting %2$s", + "death.attack.unicopia.paradox": "%1$s imploded", + "death.attack.unicopia.paradox.self": "%1$s imploded themselves", + "death.attack.unicopia.paradox.player": "%1$s imploded with some help from %2$s", + "death.attack.unicopia.food_poisoning": "%1$s died of food poisoning", + "death.attack.unicopia.food_poisoning.self": "%1$s died of food poisoning", + "death.attack.unicopia.food_poisoning.player": "%2$s poisoned %1$s to death", + "death.attack.unicopia.black_hole": "%1$s was sucked into a black hole", + "death.attack.unicopia.black_hole.self": "%1$s was sucked into a black hole", + "death.attack.unicopia.black_hole.player": "%1$s got sucked into %2$s's black hole", + "death.attack.unicopia.kick": "%1$s was kicked really hard", + "death.attack.unicopia.kick.self": "%1$s kicked themselves really hard", + "death.attack.unicopia.kick.player": "%2$s kicked %1$s really hard", + "death.attack.unicopia.steamroller": "%1$s was flattened", + "death.attack.unicopia.steamroller.self": "%1$s was flattened", + "death.attack.unicopia.steamroller.player": "%2$s steamrolled %1$s", + "death.attack.unicopia.stalagmite.pegasus": "%1$s tried to perch on a stalagmite", + "death.attack.unicopia.stalagmite.pegasus.player": "%1$s flew into a stalagmite whilst fighting %2$s", + "death.attack.unicopia.rock": "%1$s was pummeled", + "death.attack.unicopia.rock.self": "%1$s was pummeled", + "death.attack.unicopia.rock.item": "%1$s was pummelled by %2$s using %3$s", + "death.attack.unicopia.rock.player": "%1$s was pummelled by %2$s", + "death.attack.unicopia.horseshoe": "%1$s went ding", + "death.attack.unicopia.horseshoe.self": "%1$s dinged himself", + "death.attack.unicopia.horseshoe.item": "%1$s was dinged by %2$s using %3$s", + "death.attack.unicopia.horseshoe.player": "%1$s was dinged by %2$s", + + "death.fell.accident.ladder.pegasus": "%1$s forgot they could fly and fell off a ladder", + "death.fell.accident.vines.pegasus": "%1$s forgot they could fly and fell off some vines", + "death.fell.accident.weeping_vines.pegasus": "%1$s forgot they could fly and fell off some weeping vines", + "death.fell.accident.twisting_vines.pegasus": "%1$s forgot they could fly and fell off some twisting vines", + "death.fell.accident.scaffolding.pegasus": "%1$s forgot they could fly and fell off scaffolding", + "death.fell.accident.other_climbable.pegasus": "%1$s forgot they could fly and fell while climbing", + "death.fell.accident.generic.pegasus": "%1$s forgot they could fly", + "death.fell.accident.pegasus": "%1$s forgot they could fly", + "death.fell.accident.water": "%1$s got their wings wet", + + "painting.unicopia.hurricane.title": "Hurricane", + "painting.unicopia.hurricane.author": "Pegasus Tribe", + "painting.unicopia.platinum.title": "Platinum", + "painting.unicopia.platinum.author": "Unicorn Tribe", + "painting.unicopia.pudding.title": "Pudding", + "painting.unicopia.pudding.author": "Earth Pony Tribe", + "painting.unicopia.equestria.title": "Equestrian Flag", + "painting.unicopia.equestria.author": "Unicopia", + "painting.unicopia.terra.title": "Terra", + "painting.unicopia.terra.author": "Earth Pony Tribe", + "painting.unicopia.blossom.title": "Blossom", + "painting.unicopia.blossom.author": "Chancellor Pudding Head", + "painting.unicopia.shadow.title": "Shadow", + "painting.unicopia.shadow.author": "Nightmare Moon", + "painting.unicopia.bloom.title": "Bloom", + "painting.unicopia.bloom.author": "CMC", + "painting.unicopia.chicken.title": "Chicken", + "painting.unicopia.chicken.author": "CMC", + "painting.unicopia.bells.title": "Bells", + "painting.unicopia.bells.author": "CMC", + "painting.unicopia.crystal.title": "Crystals", + "painting.unicopia.crystal.author": "King Sombra", + "painting.unicopia.harmony.title": "Harmony", + "painting.unicopia.harmony.author": "Unicopia", + "painting.unicopia.lunar.title": "Lunar", + "painting.unicopia.lunar.author": "Bat Pony Tribe", + "painting.unicopia.solar.title": "Solar", + "painting.unicopia.solar.author": "Royal Guard", + "painting.unicopia.equality.title": "Equality", + "painting.unicopia.equality.author": "Starlight Glimmer", + + "unicopia.subtitle.flap_wings": "Wing flaps", + "unicopia.subtitle.dash": "Pony Dashes", + "unicopia.subtitle.wind_rush": "Wind gusts", + "unicopia.subtitle.insects": "Insects Scurrying", + "unicopia.subtitle.changeling_buzz": "Drone buzzing", + "unicopia.subtitle.batpony_eeee": "Batpony Screeches", + "unicopia.subtitle.sonar": "Sonar Pulses", + "unicopia.subtitle.changeling.transform": "Changeling transforms", + "unicopia.subtitle.screech": "Hippogriff Screeches", + "unicopia.subtitle.pegasus.molt": "Pegasus loses feather", + "unicopia.subtitle.unicorn.teleport": "Magic pops", + "unicopia.subtitle.player.wololo": "Wololo!", + "unicopia.subtitle.entity.player.whistle": "Player whistles", + "unicopia.subtitle.entity.player.kick": "Player kicks", + "unicopia.subtitle.magic_aura": "Magic humming", + "unicopia.subtitle.player.rebound": "Player Bounces Off Wall", + "unicopia.subtitle.screech": "Player Screeches", + "unicopia.subtitle.ears_ringing": "Ears ringing", + "unicopia.subtitle.heartbeat": "Heart beats", + "unicopia.subtitle.entity.artefact.ambient": "Magic hums", + "unicopia.subtitle.entity.butterfly.hurt": "Butterfly hurts", + "unicopia.subtitle.entity.twittermite.ambient": "Twittermite squeaks", + "unicopia.subtitle.entity.twittermite.death": "Twittermite dies", + "unicopia.subtitle.entity.twittermite.hurt": "Twittermite hurts", + "unicopia.subtitle.entity.jar.throw": "Jar thrown", + "unicopia.subtitle.entity.crystal_heart.activate": "Crystal heart activates", + "unicopia.subtitle.entity.crystal_heart.deactivate": "Crystal heart deactivates", + "unicopia.subtitle.entity.sombra.ambient": "Evil Laughter", + "unicopia.subtitle.entity.sombra.laugh": "King Sombra Laughs", + "unicopia.subtitle.entity.sombra.snicker": "King Sombra Snickers", + "unicopia.subtitle.item.amulet.charging": "Amulet charges", + "unicopia.subtitle.item.amulet.recharge": "Amulet recharged", + "unicopia.subtitle.item.icarus_wings.resonate": "Icarus wings resonate", + "unicopia.subtitle.item.icarus_wings.corrupted": "Icarus wings corrupted", + "unicopia.subtitle.item.icarus_wings.warn": "Icarus wings breaking", + "unicopia.subtitle.item.icarus_wings.break": "Icarus wings breaks", + "unicopia.subtitle.item.alicorn_amulet.curse": "Alicorn Amulet curse begins", + "unicopia.subtitle.item.alicorn_amulet.ambient": "Alicorn Amulet ambient", + "unicopia.subtitle.item.apple.rot": "Apple rots", + "unicopia.subtitle.item.bracelet.sign": "Bracelet signed", + "unicopia.subtitle.block.chitin.ambience": "Scuttering", + "unicopia.subtitle.block.slime_pustule.pop": "Slime Pustule Burts", + "unicopia.subtitle.spell.cast.fail": "Spellcast fails", + "unicopia.subtitle.spell.cast.success": "Spell casts", + "unicopia.subtitle.spell.cast.shoot": "Unicorn shoots", + "unicopia.subtitle.spell.illusion.disperse": "Changeling reveals", + "unicopia.subtitle.spell.fire.shoot.bolt": "Firebolt fires", + "unicopia.subtitle.spell.shield.projectile.burn": "Arrow burns", + "unicopia.subtitle.spell.transform.transmute.entity": "Magic pops", + + "advancements.unicopia.root.title": "Unicopia", + "advancements.unicopia.root.description": "A world of magic and adventure", + "advancements.unicopia.praise_the_sun.title": "Praise the Sun!", + "advancements.unicopia.praise_the_sun.description": "Experience Celestia's unbridled glory", + "advancements.unicopia.cool_potato.title": "Cool Potato", + "advancements.unicopia.cool_potato.description": "Protect your eyes from the sun", + "advancements.unicopia.baked_bads.title": "Baked Bads", + "advancements.unicopia.baked_bads.description": "Bake a delicious muffin", + "advancements.unicopia.mid_flight_interruption.title": "Mid-Flight Interruption", + "advancements.unicopia.mid_flight_interruption.description": "Get struck by lightning whilst flying in a storm", + "advancements.unicopia.lightning_bug.title": "Lightning Bug", + "advancements.unicopia.lightning_bug.description": "Attract 10 lightning strikes", + "advancements.unicopia.jar.title": "Oh wow. What's this?", + "advancements.unicopia.jar.description": "Find an empty jar", + "advancements.unicopia.gotcha.title": "Got'cha!", + "advancements.unicopia.gotcha.description": "Capture a storm", + "advancements.unicopia.trick_apple.title": "Apple of Discord", + "advancements.unicopia.trick_apple.description": "Find your first zap apple", + "advancements.unicopia.feed_trick_apple.title": "Here, Try This", + "advancements.unicopia.feed_trick_apple.description": "Feed a zap apple to a mob", + "advancements.unicopia.eat_trick_apple.title": "Crunchy", + "advancements.unicopia.eat_trick_apple.description": "Bite into a zap apple", + "advancements.unicopia.eat_pinecone.title": "Desperation", + "advancements.unicopia.eat_pinecone.description": "Eat a pinecone", + "advancements.unicopia.imported_oats.title": "Delicious As They Are Expensive", + "advancements.unicopia.imported_oats.description": "Send or receive fancy imported oats", + + "advancements.unicopia.experimental.title": "You Can't Take It With You", + "advancements.unicopia.experimental.description": "Enchant a tool with Consumption", + "advancements.unicopia.xp_miner.title": "XP Miner", + "advancements.unicopia.xp_miner.description": "Use consumption to dig up some experience", + + "advancements.unicopia.hearts_stronger_than_horses.title": "Hearts Stronger Than Horses", + "advancements.unicopia.hearts_stronger_than_horses.description": "Enchant a tool with Heart Bound", + "advancements.unicopia.soulmate.title": "You Can Keep it With You", + "advancements.unicopia.soulmate.description": "Die whilst holding a heart-bound item", + + "advancements.unicopia.burn_juice.title": "That doesn't seem right", + "advancements.unicopia.burn_juice.description": "Burn the juice", + "advancements.unicopia.apple_route.title": "Apple, Apple, Apple", + "advancements.unicopia.apple_route.description": "Start your journey towards the apple of legend", + "advancements.unicopia.juice.title": "Refreshing", + "advancements.unicopia.juice.description": "Finally a use for all these apples", + "advancements.unicopia.toast.title": "He's Crispy and delicious!", + "advancements.unicopia.toast.description": "Make a toasted companion", + "advancements.unicopia.burn_toast.title": "Toasty NOOOOOOO!", + "advancements.unicopia.burn_toast.description": "Burn Toasty", + "advancements.unicopia.lucky.title": "As seen on TV", + "advancements.unicopia.lucky.description": "Make some lucky horse shoe fries", + "advancements.unicopia.sweet_apple_acres.title": "Sweet Apple Acres", + "advancements.unicopia.sweet_apple_acres.description": "Obtain one of every apple", + "advancements.unicopia.brew_cider.title": "Applejack's Finest", + "advancements.unicopia.brew_cider.description": "Brew some cider", + "advancements.unicopia.travelling_in_style.title": "Travelling in Style", + "advancements.unicopia.travelling_in_style.description": "Ride a hot air balloon", + + "advancements.unicopia.night_route.title": "Children of The Night", + "advancements.unicopia.night_route.description": "Walk the path of the night", + "advancements.unicopia.screech_twenty_mobs.title": "Terror From The Skies", + "advancements.unicopia.screech_twenty_mobs.description": "Rain down terror on at least 20 mobs at once", + "advancements.unicopia.screech_self.title": "Jeepers!", + "advancements.unicopia.screech_self.description": "Be so terrifying that you even scared your self a little", + "advancements.unicopia.extra_spooky.title": "Extra Spooky", + "advancements.unicopia.extra_spooky.description": "Spook a mob so hard it drops a brick", + + "advancements.unicopia.sweet_sweet_revenge.title": "Sweet Sweet Revenge", + "advancements.unicopia.sweet_sweet_revenge.description": "Get Celestia back for burning your eyes", + "advancements.unicopia.blasphemy.title": "Blasphemy!", + "advancements.unicopia.blasphemy.description": "Ding Celestia on the noggin. Oops!", + + "advancements.unicopia.earth_route.title": "Path of the Pony", + "advancements.unicopia.earth_route.description": "Join the Apple Clan", + "advancements.unicopia.sticks_and_stones.title": "Sticks and Stones", + "advancements.unicopia.sticks_and_stones.description": "Kill a mob by throwing rocks at it", + "advancements.unicopia.dead_ringer.title": "Dead Ringer", + "advancements.unicopia.dead_ringer.description": "Kill a mob with a horseshoe", + "advancements.unicopia.born_on_a_rock_farm.title": "Born on a Rock Farm", + "advancements.unicopia.born_on_a_rock_farm.description": "Successfully farm your first rock", + "advancements.unicopia.thats_unusual.title": "That's Unusual", + "advancements.unicopia.thats_unusual.description": "But what does it do?", + + "advancements.unicopia.sky_route.title": "Path of the Pegasus", + "advancements.unicopia.sky_route.description": "Join the Clousdale Pegasi", + "advancements.unicopia.molting_season_1.title": "Molting Season", + "advancements.unicopia.molting_season_1.description": "Drop a feather whilst flying", + "advancements.unicopia.molting_season_2.title": "Molting Season 2", + "advancements.unicopia.molting_season_2.description": "Drop 5 feathers whilst flying", + "advancements.unicopia.molting_season_3.title": "Molting Season 3", + "advancements.unicopia.molting_season_3.description": "Drop 15 feathers whilst flying", + "advancements.unicopia.rainbow_crash.title": "Dammit, Rainbow", + "advancements.unicopia.rainbow_crash.description": "Wage war on the evil glass window nation", + "advancements.unicopia.second_wind.title": "Second Wind", + "advancements.unicopia.second_wind.description": "Fly through the pain", + "advancements.unicopia.deter_phantom.title": "What Flies Around", + "advancements.unicopia.deter_phantom.description": "Get up there and give those phantoms a taste of their own medicine", + + "advancements.unicopia.magical_route.title": "Horn of the Unicorn", + "advancements.unicopia.magical_route.description": "Delve into the world of glitter and rainbows", + + "advancements.unicopia.books.title": "Books!", + "advancements.unicopia.books.description": "This is MY spellbook and I'm going to READ it!", + "advancements.unicopia.tempted.title": "Tempting...", + "advancements.unicopia.tempted.description": "Put on the alicorn amulet", + "advancements.unicopia.hello_darkness_my_old_friend.title": "Hello Darkness...", + "advancements.unicopia.hello_darkness_my_old_friend.description": "Delve further into the powers of the dark side", + "advancements.unicopia.a_falling_wizard.title": "A Falling Wizard", + "advancements.unicopia.a_falling_wizard.description": "A unicorn tried to perform an unsuccessful flying spell", + + "advancements.unicopia.split_the_sea.title": "Who are you? Moses?", + "advancements.unicopia.split_the_sea.description": "Use magic to displace over 100 blocks of water in one go", + "advancements.unicopia.save_the_day.title": "Save the Day", + "advancements.unicopia.save_the_day.description": "Defeat King Sombra once and for all", + "advancements.unicopia.ascension.title": "Ascension", + "advancements.unicopia.ascension.description": "Complete Sombra's Work", + "advancements.unicopia.doctor_sombrero.title": "Doctor Sombrero", + "advancements.unicopia.doctor_sombrero.description": "That's not mare-iachi!", + "advancements.unicopia.crystaline.title": "Crystaline", + "advancements.unicopia.crystaline.description": "Collect some crystal shards", + "advancements.unicopia.power_up_heart.title": "Power of Love", + "advancements.unicopia.power_up_heart.description": "Power up a Crystal Heart", + "advancements.unicopia.love_is_power.title": "Love is Power", + "advancements.unicopia.love_is_power.description": "Banish King Sombra with a crystal heart", + + "unicopia.toast.discoveries.title": "New Discoveries!", + "unicopia.toast.discoveries.description": "Check your spellbook" +} From da42cadad04fe107f05279a8039df9da5e831022 Mon Sep 17 00:00:00 2001 From: Sprinkled Frosting Date: Sat, 3 Feb 2024 12:15:29 +0000 Subject: [PATCH 07/52] =?UTF-8?q?=E8=97=A5=E6=B0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/assets/unicopia/lang/zh_tw.json | 444 +++++++++--------- 1 file changed, 222 insertions(+), 222 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/zh_tw.json b/src/main/resources/assets/unicopia/lang/zh_tw.json index f1e08d37..cb5a3893 100644 --- a/src/main/resources/assets/unicopia/lang/zh_tw.json +++ b/src/main/resources/assets/unicopia/lang/zh_tw.json @@ -32,7 +32,7 @@ "item.unicopia.spruce_basket": "雲杉木籃", "item.unicopia.birch_basket": "白樺木籃", "item.unicopia.jungle_basket": "叢林木籃", - "item.unicopia.acacia_basket": "金合歡木籃", + "item.unicopia.acacia_basket": "相思木籃", "item.unicopia.cherry_basket": "櫻花木籃", "item.unicopia.dark_oak_basket": "深色橡木籃", "item.unicopia.mangrove_basket": "紅木籃", @@ -47,7 +47,7 @@ "item.unicopia.spectral_clock": "光譜鍾", "emi.category.unicopia.spellbook": "咒語書", - "emi.category.unicopia.cloud_shaping": "塑型", + "emi.category.unicopia.cloud_shaping": "塑形", "emi.category.unicopia.growing": "生長", "item.unicopia.alicorn_badge": "天角徽章", @@ -225,258 +225,258 @@ "block.unicopia.bananas": "香蕉", "block.unicopia.zapling": "彩虹蘋果苗", "block.unicopia.zap_log": "彩虹蘋果原木", - "block.unicopia.zap_wood": "Zap Apple Wood", - "block.unicopia.stripped_zap_log": "Stripped Zap Apple Log", - "block.unicopia.stripped_zap_wood": "Stripped Zap Apple Wood", - "block.unicopia.zap_leaves": "Zap Apple Leaves", - "block.unicopia.flowering_zap_leaves": "Flowering Zap Apple Leaves", - "block.unicopia.zap_apple": "Zap Apple", - "block.unicopia.zap_bulb": "Unripened Zap Apple", - "block.unicopia.palm_sapling": "Palm Sapling", - "block.unicopia.palm_log": "Palm Log", - "block.unicopia.palm_wood": "Palm Wood", - "block.unicopia.palm_planks": "Palm Planks", - "block.unicopia.palm_stairs": "Palm Stairs", - "block.unicopia.palm_pressure_plate": "Palm Pressure Plate", - "block.unicopia.palm_fence": "Palm Fence", - "block.unicopia.palm_fence_gate": "Palm Fence Gate", - "block.unicopia.palm_button": "Palm Button", - "block.unicopia.palm_slab": "Palm Slab", - "block.unicopia.stripped_palm_log": "Stripped Palm Log", - "block.unicopia.stripped_palm_wood": "Stripped Palm Wood", - "block.unicopia.palm_leaves": "Palm Leaves", - "block.unicopia.palm_door": "Palm Door", - "block.unicopia.palm_trapdoor": "Palm Trapdoor", - "block.unicopia.palm_sign": "Palm Sign", - "block.unicopia.palm_hanging_sign": "Palm Hanging Sign", - "block.unicopia.apple_pie": "Apple Pie", - "block.unicopia.weather_vane": "Weather Vane", - "block.unicopia.curing_joke": "Curing Joke", - "block.unicopia.gold_root": "Gold Root", - "block.unicopia.golden_oak_sprout": "Golden Oak Sprout", - "block.unicopia.golden_oak_sapling": "Golden Oak Sapling", - "block.unicopia.golden_oak_leaves": "Golden Oak Leaves", - "block.unicopia.golden_oak_log": "Golden Oak Log", - "block.unicopia.mango": "Mango", - "block.unicopia.mango_leaves": "Mango Leaves", - "block.unicopia.mango_sapling": "Mango Sapling", - "block.unicopia.pineapple": "Pineapple Plant", + "block.unicopia.zap_wood": "彩虹蘋果木塊", + "block.unicopia.stripped_zap_log": "剝皮彩虹蘋果原木", + "block.unicopia.stripped_zap_wood": "剝皮彩虹蘋果木塊", + "block.unicopia.zap_leaves": "彩虹蘋果樹葉", + "block.unicopia.flowering_zap_leaves": "開花彩虹蘋果樹葉", + "block.unicopia.zap_apple": "彩虹蘋果", + "block.unicopia.zap_bulb": "生彩虹蘋果", + "block.unicopia.palm_sapling": "棕櫚苗", + "block.unicopia.palm_log": "棕櫚原木", + "block.unicopia.palm_wood": "棕櫚木塊", + "block.unicopia.palm_planks": "棕櫚木材", + "block.unicopia.palm_stairs": "棕櫚階梯", + "block.unicopia.palm_pressure_plate": "棕櫚壓力板", + "block.unicopia.palm_fence": "棕櫚柵欄", + "block.unicopia.palm_fence_gate": "棕櫚柵欄門", + "block.unicopia.palm_button": "棕櫚按鈕", + "block.unicopia.palm_slab": "棕櫚半磚", + "block.unicopia.stripped_palm_log": "剝皮棕櫚原木", + "block.unicopia.stripped_palm_wood": "剝皮棕櫚木塊", + "block.unicopia.palm_leaves": "棕櫚樹葉", + "block.unicopia.palm_door": "棕櫚木門", + "block.unicopia.palm_trapdoor": "棕櫚地板門", + "block.unicopia.palm_sign": "棕櫚告示牌", + "block.unicopia.palm_hanging_sign": "棕櫚掛牌", + "block.unicopia.apple_pie": "蘋果餡餅", + "block.unicopia.weather_vane": "風信標", + "block.unicopia.curing_joke": "釀製中毒笑草", + "block.unicopia.gold_root": "金橡樹根", + "block.unicopia.golden_oak_sprout": "金橡樹芽", + "block.unicopia.golden_oak_sapling": "金橡樹苗", + "block.unicopia.golden_oak_leaves": "金橡樹葉", + "block.unicopia.golden_oak_log": "金橡樹原木", + "block.unicopia.mango": "芒果", + "block.unicopia.mango_leaves": "芒果葉", + "block.unicopia.mango_sapling": "芒果葉", + "block.unicopia.pineapple": "鳳梨株", - "block.unicopia.clam_shell": "Clam Shell", - "block.unicopia.scallop_shell": "Scallop Shell", - "block.unicopia.turret_shell": "Turret Shell", + "block.unicopia.clam_shell": "蛤殼", + "block.unicopia.scallop_shell": "貝殼", + "block.unicopia.turret_shell": "塔殼", - "block.unicopia.green_apple_leaves": "Granny Smith Leaves", - "block.unicopia.green_apple_sapling": "Granny Smith Sapling", - "block.unicopia.green_apple_sprout": "Granny Smith Sprout", - "block.unicopia.sweet_apple_leaves": "Sweet Apple Leaves", - "block.unicopia.sweet_apple_sapling": "Sweet Apple Sapling", - "block.unicopia.sweet_apple_sprout": "Sweet Apple Sprout", - "block.unicopia.sour_apple_leaves": "Sour Apple Leaves", - "block.unicopia.sour_apple_sapling": "Sour Apple Sapling", - "block.unicopia.sour_apple_sprout": "Sour Apple Sprout", + "block.unicopia.green_apple_leaves": "婆婆蘋果樹葉", + "block.unicopia.green_apple_sapling": "婆婆蘋果苗", + "block.unicopia.green_apple_sprout": "婆婆蘋果芽", + "block.unicopia.sweet_apple_leaves": "香甜蘋果樹葉", + "block.unicopia.sweet_apple_sapling": "香甜蘋果苗", + "block.unicopia.sweet_apple_sprout": "香甜蘋果芽", + "block.unicopia.sour_apple_leaves": "酸蘋果樹葉", + "block.unicopia.sour_apple_sapling": "酸蘋果苗", + "block.unicopia.sour_apple_sprout": "酸蘋果芽", - "block.unicopia.surface_chitin": "Surface Chitin", - "block.unicopia.mysterious_egg": "Mysterious Egg", - "block.unicopia.hive": "Hive", - "block.unicopia.slime_pustule": "Slime Pustule", - "block.unicopia.chitin": "Chitin", - "block.unicopia.chitin_spikes": "Chitin Spikes", - "block.unicopia.chiselled_chitin": "Chiselled Chitin", - "block.unicopia.chiselled_chitin_hull": "Chiselled Chitin Hull", - "block.unicopia.chiselled_chitin_slab": "Chiselled Chitin Slab", - "block.unicopia.chiselled_chitin_stairs": "Chiselled Chitin Stairs", + "block.unicopia.surface_chitin": "表殼", + "block.unicopia.mysterious_egg": "神祕卵", + "block.unicopia.hive": "蟲巢", + "block.unicopia.slime_pustule": "粘液膿皰", + "block.unicopia.chitin": "外殼", + "block.unicopia.chitin_spikes": "殼刺", + "block.unicopia.chiselled_chitin": "浮雕外殼", + "block.unicopia.chiselled_chitin_hull": "浮雕殼腔", + "block.unicopia.chiselled_chitin_slab": "浮雕外殼半磚", + "block.unicopia.chiselled_chitin_stairs": "浮雕外殼階梯", - "block.unicopia.shaping_bench": "Shaping Bench", - "block.unicopia.cloud": "Cloud", - "block.unicopia.cloud_slab": "Cloud Slab", - "block.unicopia.cloud_stairs": "Cloud Stairs", - "block.unicopia.compacted_cloud": "Cloud", - "block.unicopia.soggy_cloud": "Soggy Cloud", - "block.unicopia.soggy_cloud_slab": "Soggy Cloud Slab", - "block.unicopia.soggy_cloud_stairs": "Soggy Cloud Stairs", - "block.unicopia.cloud_planks": "Cloud Planks", - "block.unicopia.cloud_plank_slab": "Cloud Plank Slab", - "block.unicopia.cloud_plank_stairs": "Cloud Plank Stairs", - "block.unicopia.cloud_bricks": "Cloud Bricks", - "block.unicopia.cloud_brick_slab": "Cloud Brick Slab", - "block.unicopia.cloud_brick_stairs": "Cloud Brick Stairs", - "block.unicopia.carved_cloud": "Carved Cloud", - "block.unicopia.compacted_cloud_bricks": "Cloud Bricks", - "block.unicopia.compacted_cloud_planks": "Cloud Planks", - "block.unicopia.unstable_cloud": "Unstable Cloud", - "block.unicopia.dense_cloud": "Dense Cloud", - "block.unicopia.dense_cloud_slab": "Dense Cloud Slab", - "block.unicopia.dense_cloud_stairs": "Dense Cloud Stairs", - "block.unicopia.compacted_dense_cloud": "Dense Cloud", - "block.unicopia.etched_cloud": "Etched Cloud", - "block.unicopia.etched_cloud_slab": "Etched Cloud Slab", - "block.unicopia.etched_cloud_stairs": "Etched Cloud Stairs", - "block.unicopia.compacted_etched_cloud": "Cloud Etched Cloud", - "block.unicopia.cloud_pillar": "Cloud Pillar", - "block.unicopia.cloth_bed": "Fancy Cloth Bed", - "block.unicopia.cloud_bed": "Cloud Bed", - "block.unicopia.cloud_chest": "Cloudsdale Chest", - "block.unicopia.cloud_chest.double": "Large Cloudsdale Chest", - "block.unicopia.cloud_door": "Cloud Door", - "block.unicopia.crystal_door": "Crystal Door", - "block.unicopia.stable_door": "Stable Door", - "block.unicopia.dark_oak_stable_door": "Wooden Stable Door", + "block.unicopia.shaping_bench": "塑形桌", + "block.unicopia.cloud": "雲朵", + "block.unicopia.cloud_slab": "雲朵半磚", + "block.unicopia.cloud_stairs": "雲朵階梯", + "block.unicopia.compacted_cloud": "緊實雲朵", + "block.unicopia.soggy_cloud": "潮溼雲朵", + "block.unicopia.soggy_cloud_slab": "潮溼雲朵半磚", + "block.unicopia.soggy_cloud_stairs": "潮溼雲朵階梯", + "block.unicopia.cloud_planks": "雲材", + "block.unicopia.cloud_plank_slab": "雲材半磚", + "block.unicopia.cloud_plank_stairs": "雲材階梯", + "block.unicopia.cloud_bricks": "雲磚", + "block.unicopia.cloud_brick_slab": "雲磚半磚", + "block.unicopia.cloud_brick_stairs": "雲磚階梯", + "block.unicopia.carved_cloud": "雕雲", + "block.unicopia.compacted_cloud_bricks": "緊實雲磚", + "block.unicopia.compacted_cloud_planks": "緊實雲材", + "block.unicopia.unstable_cloud": "不穩定雲朵", + "block.unicopia.dense_cloud": "密雲", + "block.unicopia.dense_cloud_slab": "密雲半磚", + "block.unicopia.dense_cloud_stairs": "密雲階梯", + "block.unicopia.compacted_dense_cloud": "緊實密雲", + "block.unicopia.etched_cloud": "蝕刻雲", + "block.unicopia.etched_cloud_slab": "蝕刻雲半磚", + "block.unicopia.etched_cloud_stairs": "蝕刻雲階梯", + "block.unicopia.compacted_etched_cloud": "緊實蝕刻雲", + "block.unicopia.cloud_pillar": "雲柱", + "block.unicopia.cloth_bed": "高級布床", + "block.unicopia.cloud_bed": "雲床", + "block.unicopia.cloud_chest": "雲箱", + "block.unicopia.cloud_chest.double": "大型雲箱", + "block.unicopia.cloud_door": "雲門", + "block.unicopia.crystal_door": "水晶門", + "block.unicopia.stable_door": "穩定門", + "block.unicopia.dark_oak_stable_door": "深色橡木穩定門", - "block.unicopia.oats": "Oats", - "block.unicopia.oats_stem": "Oats", - "block.unicopia.oats_crown": "Oats", + "block.unicopia.oats": "燕麥", + "block.unicopia.oats_stem": "燕麥稈", + "block.unicopia.oats_crown": "燕麥冠", - "entity.unicopia.butterfly": "Butterfly", - "entity.unicopia.twittermite": "Twittermite", - "entity.unicopia.cast_spell": "Cast Spell", - "entity.unicopia.cast_spell.by": "a spell cast by %s", - "entity.unicopia.spellbook": "Spellbook", - "entity.unicopia.air_balloon": "Hot Air Balloon", - "entity.unicopia.sombra": "King Sombra", - "entity.unicopia.sombra.taunt": "That's not going to work on me!", - "entity.unicopia.storm_cloud": "Storm Cloud", - "entity.unicopia.crystal_shards": "Crystal Shards", - "entity.unicopia.ignominious_vine": "Ignominious Vine", - "entity.unicopia.ignominious_bulb": "Ignominious Bulb", + "entity.unicopia.butterfly": "蝴蝶", + "entity.unicopia.twittermite": "雷光蟲", + "entity.unicopia.cast_spell": "施咒", + "entity.unicopia.cast_spell.by": "由%s施咒", + "entity.unicopia.spellbook": "咒語書", + "entity.unicopia.air_balloon": "熱氣球", + "entity.unicopia.sombra": "黑晶王", + "entity.unicopia.sombra.taunt": "那可是對我沒用的!", + "entity.unicopia.storm_cloud": "暴雨雲", + "entity.unicopia.crystal_shards": "水晶碎片", + "entity.unicopia.ignominious_vine": "恥蔓", + "entity.unicopia.ignominious_bulb": "恥蔓芽", - "player.reachDistance": "Reach Distance", - "player.miningSpeed": "Mining Speed", - "player.gravityModifier": "Gravity", + "player.reachDistance": "觸及距離", + "player.miningSpeed": "挖掘速度", + "player.gravityModifier": "重力", "unicopia.effect.tribe.stage.initial": "It appears to have no effect.", "unicopia.effect.tribe.stage.crawling": "You feel the skin crawling on your back.", "unicopia.effect.tribe.stage.determination": "As your bones realign you are filled by determination.", "unicopia.effect.tribe.stage.resurection": "Knowing you will return to this world as a %s", - "effect.unicopia.food_poisoning": "Food Poisoning", - "effect.unicopia.sun_blindness": "Sun Blindness", - "effect.unicopia.corrupt_influence": "Corrupt Influence", - "effect.unicopia.paralysis": "Paralysis", - "effect.unicopia.butter_fingers": "Butterfingers", + "effect.unicopia.food_poisoning": "食物中毒", + "effect.unicopia.sun_blindness": "日光致盲", + "effect.unicopia.corrupt_influence": "腐蝕影響", + "effect.unicopia.paralysis": "癱瘓", + "effect.unicopia.butter_fingers": "滑手", - "effect.unicopia.change_race_earth": "Earth Pony Metamorphosis", - "effect.unicopia.change_race_unicorn": "Unicorn Metamorphosis", - "effect.unicopia.change_race_pegasus": "Pegasus Metamorphosis", - "effect.unicopia.change_race_changeling": "Changeling Metamorphosis", - "effect.unicopia.change_race_bat": "Bat Pony Metamorphosis", - "effect.unicopia.change_race_kirin": "Kirin Metamorphosis", - "effect.unicopia.change_race_hippogriff": "Hippogriff Metamorphosis", + "effect.unicopia.change_race_earth": "陸馬轉生", + "effect.unicopia.change_race_unicorn": "獨角轉生", + "effect.unicopia.change_race_pegasus": "飛馬轉生", + "effect.unicopia.change_race_changeling": "幻形靈轉生", + "effect.unicopia.change_race_bat": "夜騏轉生", + "effect.unicopia.change_race_kirin": "麒麟轉生", + "effect.unicopia.change_race_hippogriff": "駿鷹轉生", - "effect.unicopia.morph_race_earth": "Earth Pony Transformation", - "effect.unicopia.morph_race_unicorn": "Unicorn Transformation", - "effect.unicopia.morph_race_pegasus": "Pegasus Transformation", - "effect.unicopia.morph_race_changeling": "Changeling Transformation", - "effect.unicopia.morph_race_bat": "Bat Pony Transformation", - "effect.unicopia.morph_race_kirin": "Kirin Transformation", - "effect.unicopia.morph_race_hippogriff": "Hippogriff Transformation", + "effect.unicopia.morph_race_earth": "陸馬轉變", + "effect.unicopia.morph_race_unicorn": "獨角轉變", + "effect.unicopia.morph_race_pegasus": "飛馬轉變", + "effect.unicopia.morph_race_changeling": "幻形靈轉變", + "effect.unicopia.morph_race_bat": "夜騏轉變", + "effect.unicopia.morph_race_kirin": "麒麟轉變", + "effect.unicopia.morph_race_hippogriff": "駿鷹轉變", - "item.minecraft.potion.effect.unicopia.tribe_swap_earth": "Potion of Earth Pony Metamorphosis", - "item.minecraft.splash_potion.effect.unicopia.tribe_swap_earth": "Splash Potion of Earth Pony Metamorphosis", - "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_earth": "Lingering Potion of Earth Pony Metamorphosis", - "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_earth": "Arrow of Earth Pony Metamorphosis", + "item.minecraft.potion.effect.unicopia.tribe_swap_earth": "陸馬轉生藥水", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_earth": "陸馬轉生噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_earth": "陸馬轉生滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_earth": "陸馬轉生藥箭", - "item.minecraft.potion.effect.unicopia.tribe_swap_unicorn": "Potion of Unicorn Metamorphosis", - "item.minecraft.splash_potion.effect.unicopia.tribe_swap_unicorn": "Splash Potion of Unicorn Metamorphosis", - "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_unicorn": "Lingering Potion of Unicorn Metamorphosis", - "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_unicorn": "Arrow of Unicorn Metamorphosis", + "item.minecraft.potion.effect.unicopia.tribe_swap_unicorn": "獨角轉生藥水", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_unicorn": "獨角轉生噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_unicorn": "獨角轉生滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_unicorn": "獨角轉生藥箭", - "item.minecraft.potion.effect.unicopia.tribe_swap_pegasus": "Potion of Pegasus Metamorphosis", - "item.minecraft.splash_potion.effect.unicopia.tribe_swap_pegasus": "Splash Potion of Pegasus Metamorphosis", - "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_pegasus": "Lingering Potion of Pegasus Metamorphosis", - "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_pegasus": "Arrow of Pegasus Metamorphosis", + "item.minecraft.potion.effect.unicopia.tribe_swap_pegasus": "飛馬轉生藥水", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_pegasus": "飛馬轉生噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_pegasus": "飛馬轉生滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_pegasus": "飛馬轉生藥箭", - "item.minecraft.potion.effect.unicopia.tribe_swap_changeling": "Potion of Changeling Metamorphosis", - "item.minecraft.splash_potion.effect.unicopia.tribe_swap_changeling": "Splash Potion of Changeling Metamorphosis", - "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_changeling": "Lingering Potion of Changeling Metamorphosis", - "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_changeling": "Arrow of Changeling Metamorphosis", + "item.minecraft.potion.effect.unicopia.tribe_swap_changeling": "幻形靈轉生藥水", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_changeling": "幻形靈轉生噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_changeling": "幻形靈轉生滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_changeling": "幻形靈轉生藥箭", - "item.minecraft.potion.effect.unicopia.tribe_swap_bat": "Potion of Bat Pony Metamorphosis", - "item.minecraft.splash_potion.effect.unicopia.tribe_swap_bat": "Splash Potion of Bat Pony Metamorphosis", - "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_bat": "Lingering Potion of Bat Pony Metamorphosis", - "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_bat": "Arrow of Bat Pony Metamorphosis", + "item.minecraft.potion.effect.unicopia.tribe_swap_bat": "夜騏轉生藥水", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_bat": "夜騏轉生噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_bat": "夜騏轉生滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_bat": "夜騏轉生藥箭", - "item.minecraft.potion.effect.unicopia.tribe_swap_kirin": "Potion of Kirin Metamorphosis", - "item.minecraft.splash_potion.effect.unicopia.tribe_swap_kirin": "Splash Potion of Kirin Metamorphosis", - "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_kirin": "Lingering Potion of Kirin Metamorphosis", - "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_kirin": "Arrow of Kirin Metamorphosis", + "item.minecraft.potion.effect.unicopia.tribe_swap_kirin": "麒麟轉生藥水", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_kirin": "麒麟轉生噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_kirin": "麒麟轉生滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_kirin": "麒麟轉生藥箭", - "item.minecraft.potion.effect.unicopia.tribe_swap_hippogriff": "Potion of Hippogriff Metamorphosis", - "item.minecraft.splash_potion.effect.unicopia.tribe_swap_hippogriff": "Splash Potion of Hippogriff Metamorphosis", - "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_hippogriff": "Lingering Potion of Hippogriff Metamorphosis", - "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_hippogriff": "Arrow of Hippogriff Metamorphosis", + "item.minecraft.potion.effect.unicopia.tribe_swap_hippogriff": "駿鷹轉生藥水", + "item.minecraft.splash_potion.effect.unicopia.tribe_swap_hippogriff": "駿鷹轉生噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_hippogriff": "駿鷹轉生滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_hippogriff": "駿鷹轉生藥箭", - "item.minecraft.potion.effect.unicopia.short_morph_earth": "Potion of Earth Pony Short Transformation", - "item.minecraft.splash_potion.effect.unicopia.short_morph_earth": "Splash Potion of Earth Pony Short Transformation", - "item.minecraft.lingering_potion.effect.unicopia.short_morph_earth": "Lingering Potion of Earth Pony Short Transformation", - "item.minecraft.tipped_arrow.effect.unicopia.short_morph_earth": "Arrow of Earth Pony Short Transformation", + "item.minecraft.potion.effect.unicopia.short_morph_earth": "陸馬臨時轉變藥水", + "item.minecraft.splash_potion.effect.unicopia.short_morph_earth": "陸馬臨時轉變噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_earth": "陸馬臨時轉變滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_earth": "陸馬臨時轉變藥箭", - "item.minecraft.potion.effect.unicopia.short_morph_unicorn": "Potion of Unicorn Short Transformation", - "item.minecraft.splash_potion.effect.unicopia.short_morph_unicorn": "Splash Potion of Unicorn Short Transformation", - "item.minecraft.lingering_potion.effect.unicopia.short_morph_unicorn": "Lingering Potion of Unicorn Short Transformation", - "item.minecraft.tipped_arrow.effect.unicopia.short_morph_unicorn": "Arrow of Unicorn Short Transformation", + "item.minecraft.potion.effect.unicopia.short_morph_unicorn": "獨角臨時轉變藥水", + "item.minecraft.splash_potion.effect.unicopia.short_morph_unicorn": "獨角臨時轉變噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_unicorn": "獨角臨時轉變滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_unicorn": "獨角臨時轉變藥箭", - "item.minecraft.potion.effect.unicopia.short_morph_pegasus": "Potion of Pegasus Short Transformation", - "item.minecraft.splash_potion.effect.unicopia.short_morph_pegasus": "Splash Potion of Pegasus Short Transformation", - "item.minecraft.lingering_potion.effect.unicopia.short_morph_pegasus": "Lingering Potion of Pegasus Short Transformation", - "item.minecraft.tipped_arrow.effect.unicopia.short_morph_pegasus": "Arrow of Pegasus Short Transformation", + "item.minecraft.potion.effect.unicopia.short_morph_pegasus": "飛馬臨時轉變藥水", + "item.minecraft.splash_potion.effect.unicopia.short_morph_pegasus": "飛馬臨時轉變噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_pegasus": "飛馬臨時轉變滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_pegasus": "飛馬臨時轉變藥箭", - "item.minecraft.potion.effect.unicopia.short_morph_changeling": "Potion of Changeling Short Transformation", - "item.minecraft.splash_potion.effect.unicopia.short_morph_changeling": "Splash Potion of Changeling Short Transformation", - "item.minecraft.lingering_potion.effect.unicopia.short_morph_changeling": "Lingering Potion of Changeling Short Transformation", - "item.minecraft.tipped_arrow.effect.unicopia.short_morph_changeling": "Arrow of Changeling Short Transformation", + "item.minecraft.potion.effect.unicopia.short_morph_changeling": "幻形靈臨時轉變藥水", + "item.minecraft.splash_potion.effect.unicopia.short_morph_changeling": "幻形靈臨時轉變噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_changeling": "幻形靈臨時轉變滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_changeling": "幻形靈臨時轉變藥箭", - "item.minecraft.potion.effect.unicopia.short_morph_bat": "Potion of Bat Pony Short Transformation", - "item.minecraft.splash_potion.effect.unicopia.short_morph_bat": "Splash Potion of Bat Pony Short Transformation", - "item.minecraft.lingering_potion.effect.unicopia.short_morph_bat": "Lingering Potion of Bat Pony Short Transformation", - "item.minecraft.tipped_arrow.effect.unicopia.short_morph_bat": "Arrow of Bat Pony Short Transformation", + "item.minecraft.potion.effect.unicopia.short_morph_bat": "夜騏臨時轉變藥水", + "item.minecraft.splash_potion.effect.unicopia.short_morph_bat": "夜騏臨時轉變噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_bat": "夜騏臨時轉變滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_bat": "夜騏臨時轉變藥箭", - "item.minecraft.potion.effect.unicopia.short_morph_kirin": "Potion of Kirin Short Transformation", - "item.minecraft.splash_potion.effect.unicopia.short_morph_kirin": "Splash Potion of Kirin Short Transformation", - "item.minecraft.lingering_potion.effect.unicopia.short_morph_kirin": "Lingering Potion of Kirin Short Transformation", - "item.minecraft.tipped_arrow.effect.unicopia.short_morph_kirin": "Arrow of Kirin Short Transformation", + "item.minecraft.potion.effect.unicopia.short_morph_kirin": "麒麟臨時轉變藥水", + "item.minecraft.splash_potion.effect.unicopia.short_morph_kirin": "麒麟臨時轉變噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_kirin": "麒麟臨時轉變滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_kirin": "麒麟臨時轉變藥箭", - "item.minecraft.potion.effect.unicopia.short_morph_hippogriff": "Potion of Hippogriff Short Transformation", - "item.minecraft.splash_potion.effect.unicopia.short_morph_hippogriff": "Splash Potion of Hippogriff Short Transformation", - "item.minecraft.lingering_potion.effect.unicopia.short_morph_hippogriff": "Lingering Potion of Hippogriff Short Transformation", - "item.minecraft.tipped_arrow.effect.unicopia.short_morph_hippogriff": "Arrow of Hippogriff Short Transformation", + "item.minecraft.potion.effect.unicopia.short_morph_hippogriff": "駿鷹臨時轉變藥水", + "item.minecraft.splash_potion.effect.unicopia.short_morph_hippogriff": "駿鷹臨時轉變噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_hippogriff": "駿鷹臨時轉變滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_hippogriff": "駿鷹臨時轉變藥箭", - "item.minecraft.potion.effect.unicopia.long_morph_earth": "Potion of Earth Pony Long Transformation", - "item.minecraft.splash_potion.effect.unicopia.long_morph_earth": "Splash Potion of Earth Pony Long Transformation", - "item.minecraft.lingering_potion.effect.unicopia.long_morph_earth": "Lingering Potion of Earth Pony Long Transformation", - "item.minecraft.tipped_arrow.effect.unicopia.long_morph_earth": "Arrow of Earth Pony Long Transformation", + "item.minecraft.potion.effect.unicopia.long_morph_earth": "陸馬長效轉變藥水", + "item.minecraft.splash_potion.effect.unicopia.long_morph_earth": "陸馬長效轉變噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_earth": "陸馬長效轉變滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_earth": "陸馬長效轉變藥箭", - "item.minecraft.potion.effect.unicopia.long_morph_unicorn": "Potion of Unicorn Long Transformation", - "item.minecraft.splash_potion.effect.unicopia.long_morph_unicorn": "Splash Potion of Unicorn Long Transformation", - "item.minecraft.lingering_potion.effect.unicopia.long_morph_unicorn": "Lingering Potion of Unicorn Long Transformation", - "item.minecraft.tipped_arrow.effect.unicopia.long_morph_unicorn": "Arrow of Unicorn Long Transformation", + "item.minecraft.potion.effect.unicopia.long_morph_unicorn": "獨角長效轉變藥水", + "item.minecraft.splash_potion.effect.unicopia.long_morph_unicorn": "獨角長效轉變噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_unicorn": "獨角長效轉變滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_unicorn": "獨角長效轉變藥箭", - "item.minecraft.potion.effect.unicopia.long_morph_pegasus": "Potion of Pegasus Long Transformation", - "item.minecraft.splash_potion.effect.unicopia.long_morph_pegasus": "Splash Potion of Pegasus Long Transformation", - "item.minecraft.lingering_potion.effect.unicopia.long_morph_pegasus": "Lingering Potion of Pegasus Long Transformation", - "item.minecraft.tipped_arrow.effect.unicopia.long_morph_pegasus": "Arrow of Pegasus Long Transformation", + "item.minecraft.potion.effect.unicopia.long_morph_pegasus": "飛馬長效轉變藥水", + "item.minecraft.splash_potion.effect.unicopia.long_morph_pegasus": "飛馬長效轉變噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_pegasus": "飛馬長效轉變滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_pegasus": "飛馬長效轉變藥箭", - "item.minecraft.potion.effect.unicopia.long_morph_changeling": "Potion of Changeling Long Transformation", - "item.minecraft.splash_potion.effect.unicopia.long_morph_changeling": "Splash Potion of Changeling Long Transformation", - "item.minecraft.lingering_potion.effect.unicopia.long_morph_changeling": "Lingering Potion of Changeling Long Transformation", - "item.minecraft.tipped_arrow.effect.unicopia.long_morph_changeling": "Arrow of Changeling Long Transformation", + "item.minecraft.potion.effect.unicopia.long_morph_changeling": "幻形靈長效轉變藥水", + "item.minecraft.splash_potion.effect.unicopia.long_morph_changeling": "幻形靈長效轉變噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_changeling": "幻形靈長效轉變滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_changeling": "幻形靈長效轉變藥箭", - "item.minecraft.potion.effect.unicopia.long_morph_bat": "Potion of Bat Pony Long Transformation", - "item.minecraft.splash_potion.effect.unicopia.long_morph_bat": "Splash Potion of Bat Pony Long Transformation", - "item.minecraft.lingering_potion.effect.unicopia.long_morph_bat": "Lingering Potion of Bat Pony Long Transformation", - "item.minecraft.tipped_arrow.effect.unicopia.long_morph_bat": "Arrow of Bat Pony Long Transformation", + "item.minecraft.potion.effect.unicopia.long_morph_bat": "夜騏長效轉變藥水", + "item.minecraft.splash_potion.effect.unicopia.long_morph_bat": "夜騏長效轉變噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_bat": "夜騏長效轉變滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_bat": "夜騏長效轉變藥箭", - "item.minecraft.potion.effect.unicopia.long_morph_kirin": "Potion of Kirin Long Transformation", - "item.minecraft.splash_potion.effect.unicopia.long_morph_kirin": "Splash Potion of Kirin Long Transformation", - "item.minecraft.lingering_potion.effect.unicopia.long_morph_kirin": "Lingering Potion of Kirin Long Transformation", - "item.minecraft.tipped_arrow.effect.unicopia.long_morph_kirin": "Arrow of Kirin Long Transformation", + "item.minecraft.potion.effect.unicopia.long_morph_kirin": "麒麟長效轉變藥水", + "item.minecraft.splash_potion.effect.unicopia.long_morph_kirin": "麒麟長效轉變噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_kirin": "麒麟長效轉變滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_kirin": "麒麟長效轉變藥箭", - "item.minecraft.potion.effect.unicopia.long_morph_hippogriff": "Potion of Hippogriff Long Transformation", - "item.minecraft.splash_potion.effect.unicopia.long_morph_hippogriff": "Splash Potion of Hippogriff Long Transformation", - "item.minecraft.lingering_potion.effect.unicopia.long_morph_hippogriff": "Lingering Potion of Hippogriff Long Transformation", - "item.minecraft.tipped_arrow.effect.unicopia.long_morph_hippogriff": "Arrow of Hippogriff Long Transformation", + "item.minecraft.potion.effect.unicopia.long_morph_hippogriff": "駿鷹長效轉變藥水", + "item.minecraft.splash_potion.effect.unicopia.long_morph_hippogriff": "駿鷹長效轉變噴濺藥水", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_hippogriff": "駿鷹長效轉變滯留藥水", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_hippogriff": "駿鷹長效轉變藥箭", - "potion.withChance": "1 in %s chance of %s", + "potion.withChance": "%s分之一的%s機會", "potion.potency.6": "VII", "spell.unicopia.frost": "Frost", @@ -590,7 +590,7 @@ "tag.unicopia.food_types.love": "Love", "tag.unicopia.food_types.rocks": "Rocks", "tag.unicopia.food_types.pinecone": "Nuts & Seeds", - "tag.unicopia.food_types.bat_ponys_delight": "Bat Pony Treats", + "tag.unicopia.food_types.bat_ponys_delight": "夜騏Treats", "tag.unicopia.food_types.cooked_sea_vegitables": "Prepared Fish Food", "tag.unicopia.food_types.raw_sea_vegitables": "Fresh Fish Food", "tag.unicopia.food_types.shells": "Sea Shells", @@ -1450,15 +1450,15 @@ "death.fell.accident.water": "%1$s got their wings wet", "painting.unicopia.hurricane.title": "Hurricane", - "painting.unicopia.hurricane.author": "Pegasus Tribe", + "painting.unicopia.hurricane.author": "飛馬Tribe", "painting.unicopia.platinum.title": "Platinum", - "painting.unicopia.platinum.author": "Unicorn Tribe", + "painting.unicopia.platinum.author": "獨角Tribe", "painting.unicopia.pudding.title": "Pudding", - "painting.unicopia.pudding.author": "Earth Pony Tribe", + "painting.unicopia.pudding.author": "陸馬Tribe", "painting.unicopia.equestria.title": "Equestrian Flag", "painting.unicopia.equestria.author": "Unicopia", "painting.unicopia.terra.title": "Terra", - "painting.unicopia.terra.author": "Earth Pony Tribe", + "painting.unicopia.terra.author": "陸馬Tribe", "painting.unicopia.blossom.title": "Blossom", "painting.unicopia.blossom.author": "Chancellor Pudding Head", "painting.unicopia.shadow.title": "Shadow", From b9266b047edc7037b0eea9765ed727847327b427 Mon Sep 17 00:00:00 2001 From: Sprinkled Frosting Date: Sat, 3 Feb 2024 12:18:24 +0000 Subject: [PATCH 08/52] =?UTF-8?q?=E7=86=92=E5=B9=95=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/assets/unicopia/lang/zh_tw.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/zh_tw.json b/src/main/resources/assets/unicopia/lang/zh_tw.json index cb5a3893..9fd747e5 100644 --- a/src/main/resources/assets/unicopia/lang/zh_tw.json +++ b/src/main/resources/assets/unicopia/lang/zh_tw.json @@ -344,10 +344,10 @@ "player.miningSpeed": "挖掘速度", "player.gravityModifier": "重力", - "unicopia.effect.tribe.stage.initial": "It appears to have no effect.", - "unicopia.effect.tribe.stage.crawling": "You feel the skin crawling on your back.", - "unicopia.effect.tribe.stage.determination": "As your bones realign you are filled by determination.", - "unicopia.effect.tribe.stage.resurection": "Knowing you will return to this world as a %s", + "unicopia.effect.tribe.stage.initial": "看起來似乎沒有發生什麼。", + "unicopia.effect.tribe.stage.crawling": "你感到背上的皮膚在嚅動。", + "unicopia.effect.tribe.stage.determination": "在骨骼重組之時,你意志堅定。", + "unicopia.effect.tribe.stage.resurection": "知曉在回到這個世界之時,你將會變成%s。", "effect.unicopia.food_poisoning": "食物中毒", "effect.unicopia.sun_blindness": "日光致盲", From 9209b5dbd30163ba4b926620d645b05443032488 Mon Sep 17 00:00:00 2001 From: Sprinkled Frosting Date: Sat, 3 Feb 2024 12:47:21 +0000 Subject: [PATCH 09/52] =?UTF-8?q?=E9=AD=94=E6=B3=95=E8=88=87=E9=A3=9F?= =?UTF-8?q?=E7=89=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/assets/unicopia/lang/zh_tw.json | 262 +++++++++--------- 1 file changed, 131 insertions(+), 131 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/zh_tw.json b/src/main/resources/assets/unicopia/lang/zh_tw.json index 9fd747e5..dc90aad3 100644 --- a/src/main/resources/assets/unicopia/lang/zh_tw.json +++ b/src/main/resources/assets/unicopia/lang/zh_tw.json @@ -351,7 +351,7 @@ "effect.unicopia.food_poisoning": "食物中毒", "effect.unicopia.sun_blindness": "日光致盲", - "effect.unicopia.corrupt_influence": "腐蝕影響", + "effect.unicopia.corrupt_influence": "墮落", "effect.unicopia.paralysis": "癱瘓", "effect.unicopia.butter_fingers": "滑手", @@ -479,208 +479,208 @@ "potion.withChance": "%s分之一的%s機會", "potion.potency.6": "VII", - "spell.unicopia.frost": "Frost", + "spell.unicopia.frost": "霜冰", "spell.unicopia.frost.lore": "Chilling to the touch, this gem will freeze whatever it is used on", - "spell.unicopia.hydrophobic": "Repel Water", + "spell.unicopia.hydrophobic": "斥水", "spell.unicopia.hydrophobic.lore": "Creates a protective bubble around the user that prevents water from entering", - "spell.unicopia.chilling_breath": "Chilling Breath", + "spell.unicopia.chilling_breath": "冰息", "spell.unicopia.chilling_breath.lore": "Alters the ability of certain objects to distenguish between hot and cold", - "spell.unicopia.scorch": "Scorching", + "spell.unicopia.scorch": "炙焰", "spell.unicopia.scorch.lore": "Warm to the touch, this gem will burn organic matter", - "spell.unicopia.flame": "Flame", + "spell.unicopia.flame": "火焰", "spell.unicopia.flame.lore": "This gem burns hot with a magical flame", - "spell.unicopia.infernal": "Inferno", + "spell.unicopia.infernal": "獄火", "spell.unicopia.infernal.lore": "Conjures the very essence of the nether to infest this world", "spell.unicopia.fire_bolt": "Fire Bolt", "spell.unicopia.fire_bolt.lore": "Produces several burning projectiles", - "spell.unicopia.shield": "Protection", + "spell.unicopia.shield": "護盾", "spell.unicopia.shield.lore": "Casts a protective shield around the user", - "spell.unicopia.bubble": "Bubble", + "spell.unicopia.bubble": "泡泡", "spell.unicopia.bubble.lore": "Traps any creature it hits in a soap bubble", - "spell.unicopia.arcane_protection": "Arcane Protections", + "spell.unicopia.arcane_protection": "魔法保護", "spell.unicopia.arcane_protection.lore": "Creates a protective shroud over an area in which no other spells can be cast", - "spell.unicopia.vortex": "Arcane Attraction", + "spell.unicopia.vortex": "魔法漩渦", "spell.unicopia.vortex.lore": "Creates a magnetic force that pulls in other targets", - "spell.unicopia.dark_vortex": "Dark Vortex", + "spell.unicopia.dark_vortex": "暗黑漩渦", "spell.unicopia.dark_vortex.lore": "Creates a black hole from which nothing can escape", - "spell.unicopia.mimic": "Mimic", + "spell.unicopia.mimic": "幻形", "spell.unicopia.mimic.lore": "Temporarily changes the caster's appearance to look like another entity or player", - "spell.unicopia.mind_swap": "Mind Swap", + "spell.unicopia.mind_swap": "心靈交換", "spell.unicopia.mind_swap.lore": "Temporarily swaps the caster's mind into the body of another entity or player", - "spell.unicopia.displacement": "Displacement", + "spell.unicopia.displacement": "移位", "spell.unicopia.displacement.lore": "Swaps the caster's location with that of another entity", - "spell.unicopia.portal": "Arcane Rift", + "spell.unicopia.portal": "魔隙", "spell.unicopia.portal.lore": "Connects two points in space for fast travel between", - "spell.unicopia.necromancy": "Necromancy", + "spell.unicopia.necromancy": "死靈", "spell.unicopia.necromancy.lore": "Summons undead minions from beyond the grave", - "spell.unicopia.siphoning": "Life Sapping", + "spell.unicopia.siphoning": "續命", "spell.unicopia.siphoning.lore": "Channels other creature's life force into the caster", - "spell.unicopia.reveal": "Dispell Illusion", + "spell.unicopia.reveal": "天下大白", "spell.unicopia.reveal.lore": "Negates shapeshifting magic", - "spell.unicopia.light": "Dancing Lights", + "spell.unicopia.light": "光舞", "spell.unicopia.light.lore": "Summons multiple small lights to follow the caster", - "spell.unicopia.awkward": "Botched", - "spell.unicopia.awkward.lore": "Unstable magics", - "spell.unicopia.transformation": "Transmutation", + "spell.unicopia.awkward": "無用", + "spell.unicopia.awkward.lore": "不穩定的魔咒", + "spell.unicopia.transformation": "轉變", "spell.unicopia.transformation.lore": "Transforms the target into something else", - "spell.unicopia.feather_fall": "Feather Fall", + "spell.unicopia.feather_fall": "緩降", "spell.unicopia.feather_fall.lore": "Slows the descent of the caster and surrounding allies", - "spell.unicopia.catapult": "Catapult", + "spell.unicopia.catapult": "彈弓", "spell.unicopia.catapult.lore": "Grabs a nearby block or entity and throws it into the air", - "spell.unicopia.dispel_evil": "Dispel Evil", + "spell.unicopia.dispel_evil": "惡靈退散", "spell.unicopia.dispel_evil.lore": "Casts away any nearby unearthly forces", - "trait.unicopia.strength.name": "Strength", + "trait.unicopia.strength.name": "力量", "trait.unicopia.strength.description": "Imparts physical strength or enhances endurance.\nSpells with more of the strength trait hit harder and last longer.", - "trait.unicopia.focus.name": "Focus", + "trait.unicopia.focus.name": "專注", "trait.unicopia.focus.description": "Narrows a spell to focus its energy more effectively.\nAdding the focus trait to spells will decrease the cost of its effects whilst extending its range to more targets in cases of multi-target spells.", - "trait.unicopia.knowledge.name": "Knowledge", + "trait.unicopia.knowledge.name": "學識", "trait.unicopia.knowledge.description": "A mechanical harvest born of machinery and technology.\nSome spells require a little...ingenuity.", - "trait.unicopia.power.name": "Power", + "trait.unicopia.power.name": "持久", "trait.unicopia.power.description": "Force for force's sake.\nExtends or ehanced a spell's natural duration.", - "trait.unicopia.blood.name": "Blood", + "trait.unicopia.blood.name": "血", "trait.unicopia.blood.description": "Blood for the blood god", - "trait.unicopia.water.name": "Water", + "trait.unicopia.water.name": "水", "trait.unicopia.water.description": "Embodies the first natural element. Counter to the Element of Fire.", - "trait.unicopia.earth.name": "Earth", + "trait.unicopia.earth.name": "土", "trait.unicopia.earth.description": "Embodies the second natural element. An Earthly energy inherent to all things derived from below the ground.", - "trait.unicopia.fire.name": "Fire", + "trait.unicopia.fire.name": "火", "trait.unicopia.fire.description": "Embodies the third natural element. Complemented by the Element of Air, adds a destructive spark to your spells.", - "trait.unicopia.air.name": "Air", + "trait.unicopia.air.name": "氣", "trait.unicopia.air.description": "Embodies the fourth natural element.", - "trait.unicopia.ice.name": "Ice", + "trait.unicopia.ice.name": "冰", "trait.unicopia.ice.description": "A chilling touch. Complementary to the Element of Water.", - "trait.unicopia.darkness.name": "Darkness", + "trait.unicopia.darkness.name": "黑暗", "trait.unicopia.darkness.description": "Beware the dark, for it can lead to abilities some might say are unnatural.", - "trait.unicopia.order.name": "Harmony", + "trait.unicopia.order.name": "和諧", "trait.unicopia.order.description": "Counter-balance to chaos.", - "trait.unicopia.chaos.name": "Chaos", + "trait.unicopia.chaos.name": "混亂", "trait.unicopia.chaos.description": "Unpredicatable in nature, uncontrollable in captivity.", - "trait.unicopia.famine.name": "Famine", + "trait.unicopia.famine.name": "饑荒", "trait.unicopia.famine.description": "You are consumed by an overwhelming hunger. A hunger for power.", - "trait.unicopia.happiness.name": "Laughter", + "trait.unicopia.happiness.name": "開心", "trait.unicopia.happiness.description": "Complemented by the Element of Harmony, wants nothing more than to bring happiness into this world.", - "trait.unicopia.kindness.name": "Kindness", + "trait.unicopia.kindness.name": "善意", "trait.unicopia.kindness.description": "Complemented by the Element of Harmony and the Element of Laughter, wants nothing more than to bring happiness into this world.", - "trait.unicopia.generosity.name": "Generosity", + "trait.unicopia.generosity.name": "慷慨", "trait.unicopia.generosity.description": "Causes a spell to favor others over the caster.\nCan be used to increase range and power, but to the detriment to the caster.\n\nComplemented by the Element of Harmony and the Element of Kindness.\nSpells with this trait are better suited to lending aid to those in need.", - "trait.unicopia.rot.name": "Rot", + "trait.unicopia.rot.name": "腐爛", "trait.unicopia.rot.description": "Death and destruction enter this world. All will die, all must die. It has been written and so shall it be.", - "trait.unicopia.life.name": "Life", + "trait.unicopia.life.name": "生命", "trait.unicopia.life.description": "Ambodies the energy that resides within all living beings.", - "trait.unicopia.poison.name": "Poison", + "trait.unicopia.poison.name": "毒", "trait.unicopia.poison.description": "A deadly dart kill a beast.", - "unicopia.diet.information": "Diet Information:", - "unicopia.diet.side_effects": "Side-Effects:", - "unicopia.diet.not_edible": "Item is not edible", - "unicopia.diet.base_multiplier": "Base Multiplier: %s%%", - "unicopia.diet.hunger.detailed": "Hunger gained: %s of %s (%s%%)", - "unicopia.diet.saturation.detailed": "Saturation gained: %s (%s%%)", - "unicopia.diet.hunger": "Hunger Ratio: %s%%", - "unicopia.diet.saturation": "Saturation Ratio: %s%%", + "unicopia.diet.information": "飲食資訊:", + "unicopia.diet.side_effects": "副作用:", + "unicopia.diet.not_edible": "物品不可食用", + "unicopia.diet.base_multiplier": "基礎倍增:%s%%", + "unicopia.diet.hunger.detailed": "獲得飢餓:%s of %s (%s%%)", + "unicopia.diet.saturation.detailed": "獲得飽食: %s (%s%%)", + "unicopia.diet.hunger": "飢餓比:%s%%", + "unicopia.diet.saturation": "飽食比:%s%%", - "tag.unicopia.food_types.rotten_meat": "Rotting Meat", - "tag.unicopia.food_types.raw_meat": "Fresh Meat", - "tag.unicopia.food_types.cooked_meat": "Prepared Meat", - "tag.unicopia.food_types.raw_fish": "Fresh Fish", - "tag.unicopia.food_types.cooked_fish": "Prepared Fish", - "tag.unicopia.food_types.raw_insect": "Bugs & Insects", - "tag.unicopia.food_types.cooked_insect": "Cooked Bugs & Insects", - "tag.unicopia.food_types.love": "Love", - "tag.unicopia.food_types.rocks": "Rocks", - "tag.unicopia.food_types.pinecone": "Nuts & Seeds", - "tag.unicopia.food_types.bat_ponys_delight": "夜騏Treats", - "tag.unicopia.food_types.cooked_sea_vegitables": "Prepared Fish Food", - "tag.unicopia.food_types.raw_sea_vegitables": "Fresh Fish Food", - "tag.unicopia.food_types.shells": "Sea Shells", - "tag.unicopia.food_types.shelly": "Sea Shells", - "tag.unicopia.food_types.candy": "Candy", - "tag.unicopia.food_types.desserts": "Desserts", - "tag.unicopia.food_types.fruits_and_vegetables": "Fruits & Vegetables", - "tag.unicopia.food_types.drinks": "Drinks", + "tag.unicopia.food_types.rotten_meat": "腐肉", + "tag.unicopia.food_types.raw_meat": "鮮肉", + "tag.unicopia.food_types.cooked_meat": "熟肉", + "tag.unicopia.food_types.raw_fish": "鮮魚", + "tag.unicopia.food_types.cooked_fish": "熟魚", + "tag.unicopia.food_types.raw_insect": "蟲", + "tag.unicopia.food_types.cooked_insect": "熟蟲", + "tag.unicopia.food_types.love": "愛意", + "tag.unicopia.food_types.rocks": "岩石", + "tag.unicopia.food_types.pinecone": "堅果與種子", + "tag.unicopia.food_types.bat_ponys_delight": "夜騏點心", + "tag.unicopia.food_types.cooked_sea_vegitables": "熟魚食", + "tag.unicopia.food_types.raw_sea_vegitables": "鮮魚食", + "tag.unicopia.food_types.shells": "海螺", + "tag.unicopia.food_types.shelly": "海螺", + "tag.unicopia.food_types.candy": "糖果", + "tag.unicopia.food_types.desserts": "點心", + "tag.unicopia.food_types.fruits_and_vegetables": "水果與蔬菜", + "tag.unicopia.food_types.drinks": "飲料", - "tag.unicopia.food_types.forage_edible_filling": "Bulky Plant Matter", - "tag.unicopia.food_types.forage_edible": "Plant Matter", - "tag.unicopia.food_types.forage_nauseating": "Nauseating", - "tag.unicopia.food_types.forage_prickly": "Prickly", - "tag.unicopia.food_types.forage_risky": "Unsafe", - "tag.unicopia.food_types.forage_strengthening": "Strength Enhancing", - "tag.unicopia.food_types.forage_severely_prickly": "Very Prickly", - "tag.unicopia.food_types.forage_severely_nauseating": "Sickening", - "tag.unicopia.food_types.forage_radioactive": "Glowy", - "tag.unicopia.food_types.forage_dangerous": "Dangerous", - "tag.unicopia.food_types.forage_blinding": "Toxic", + "tag.unicopia.food_types.forage_edible_filling": "大型植質", + "tag.unicopia.food_types.forage_edible": "植質", + "tag.unicopia.food_types.forage_nauseating": "反胃", + "tag.unicopia.food_types.forage_prickly": "多刺", + "tag.unicopia.food_types.forage_risky": "冒險", + "tag.unicopia.food_types.forage_strengthening": "助力", + "tag.unicopia.food_types.forage_severely_prickly": "非常多刺", + "tag.unicopia.food_types.forage_severely_nauseating": "噁心", + "tag.unicopia.food_types.forage_radioactive": "發光", + "tag.unicopia.food_types.forage_dangerous": "危險", + "tag.unicopia.food_types.forage_blinding": "有毒", - "toxicity.safe.name": "Safe", - "toxicity.mild.name": "Mildly Toxic", - "toxicity.fair.name": "Fairly Toxic", - "toxicity.severe.name": "Toxic", - "toxicity.lethal.name": "Lethal", + "toxicity.safe.name": "安全", + "toxicity.mild.name": "輕毒", + "toxicity.fair.name": "有毒", + "toxicity.severe.name": "重毒", + "toxicity.lethal.name": "致命", - "affliction.unicopia.empty": "No Effect", - "affliction.unicopia.healing": "Gain %s%% health", - "affliction.unicopia.cure_love_sickness": "Cure Love Sickness", - "affliction.unicopia.lose_hunger": "Lose %s%% hunger", + "affliction.unicopia.empty": "無效果", + "affliction.unicopia.healing": "獲得%s%%生命", + "affliction.unicopia.cure_love_sickness": "治療愛意不足", + "affliction.unicopia.lose_hunger": "失去%s%%飢餓", - "ability.unicopia.shoot": "Shoot Magic", + "ability.unicopia.shoot": "發射魔法", "ability.unicopia.shoot.with_spell": "Shoot %s", "ability.unicopia.shoot.with_spell.active": "Shooting %s", "ability.unicopia.shoot.with_spell.hand": "Shooting %s from hand", "ability.unicopia.shoot.with_spell.replacing": "Replace %s with %s", - "ability.unicopia.cast": "Cast Spell", + "ability.unicopia.cast": "施咒", "ability.unicopia.cast.with_spell": "Cast %s", "ability.unicopia.cast.with_spell.active": "Casting %s", "ability.unicopia.cast.with_spell.hand": "Casting %s from hand", "ability.unicopia.cast.with_spell.replacing": "Replace %s with %s", - "ability.unicopia.kirin_cast": "Cast Spell", + "ability.unicopia.kirin_cast": "施咒", "ability.unicopia.kirin_cast.with_spell": "Cast %s", "ability.unicopia.kirin_cast.with_spell.active": "Casting %s", "ability.unicopia.kirin_cast.with_spell.hand": "Casting %s from hand", "ability.unicopia.kirin_cast.with_spell.replacing": "Replace %s with %s", - "ability.unicopia.dispell": "Dispell Magic", - "ability.unicopia.teleport": "Teleport", - "ability.unicopia.teleport.far": "Teleport (Far)", - "ability.unicopia.teleport_group": "Group Teleport", - "ability.unicopia.teleport_group.far": "Group Teleport (Far)", - "ability.unicopia.grow": "Nourish Earth", - "ability.unicopia.stomp": "Ground Pound", - "ability.unicopia.kick": "Crushing Blow", - "ability.unicopia.hug": "Hug", - "ability.unicopia.pummel": "Devestating Smash", - "ability.unicopia.carry": "Pickup/Drop Passenger", - "ability.unicopia.toggle_flight": "Take-off/Land", - "ability.unicopia.hang": "Cling to Ceiling", - "ability.unicopia.eee": "Screech", - "ability.unicopia.time_control": "Control Sun / Moon", - "ability.unicopia.feed": "Siphon Love", - "ability.unicopia.capture_cloud": "Bust Cloud", - "ability.unicopia.disguise": "Change Form", - "ability.unicopia.rainboom": "Sonic Rainboom", - "ability.unicopia.rage": "Rage", - "ability.unicopia.nirik_blast": "Nirik Blast", - "ability.unicopia.screech": "Screech", - "ability.unicopia.peck": "Peck/Squawk", + "ability.unicopia.dispell": "破咒", + "ability.unicopia.teleport": "傳送", + "ability.unicopia.teleport.far": "遠距傳送", + "ability.unicopia.teleport_group": "羣組傳送", + "ability.unicopia.teleport_group.far": "遠距羣組傳送", + "ability.unicopia.grow": "沃土", + "ability.unicopia.stomp": "動地", + "ability.unicopia.kick": "碎擊", + "ability.unicopia.hug": "擁抱", + "ability.unicopia.pummel": "滅擊", + "ability.unicopia.carry": "載客/下客", + "ability.unicopia.toggle_flight": "起飛/落地", + "ability.unicopia.hang": "飛檐走壁", + "ability.unicopia.eee": "尖嘯", + "ability.unicopia.time_control": "控制日月", + "ability.unicopia.feed": "吸愛", + "ability.unicopia.capture_cloud": "破雲", + "ability.unicopia.disguise": "僞裝", + "ability.unicopia.rainboom": "彩虹音爆", + "ability.unicopia.rage": "憤怒", + "ability.unicopia.nirik_blast": "逆麟掊擊", + "ability.unicopia.screech": "尖嘯", + "ability.unicopia.peck": "啄/啼叫", "ability.unicopia.peck.block.fled": "The block has fled", "ability.unicopia.peck.block.unfased": "The block is unfazed by your threats", - "ability.unicopia.dash": "Flying Dash", - "ability.unicopia.change_form": "Change Form", - "ability.unicopia.sonar_pulse": "Sonar Pulse", + "ability.unicopia.dash": "疾飛", + "ability.unicopia.change_form": "轉變", + "ability.unicopia.sonar_pulse": "聲納脈衝", - "gui.unicopia.trait.label": "Element of %s", + "gui.unicopia.trait.label": "%s之元", "gui.unicopia.trait.group": "\n %s", - "gui.unicopia.trait.corruption": "\n %s corruption", + "gui.unicopia.trait.corruption": "\n %s墮落", - "gui.unicopia.dispell_screen.cancel": "Press ESC to cancel", - "gui.unicopia.dispell_screen.spell_type": "Spell Type: %s", - "gui.unicopia.dispell_screen.affinity": "Affinity: %s", - "gui.unicopia.dispell_screen.time_left": "Time Left: %s", - "gui.unicopia.dispell_screen.discard": "[Click to Discard]", + "gui.unicopia.dispell_screen.cancel": "按ESC取消", + "gui.unicopia.dispell_screen.spell_type": "魔咒類型:%s", + "gui.unicopia.dispell_screen.affinity": "親和力:%s", + "gui.unicopia.dispell_screen.time_left": "剩餘時間:%s", + "gui.unicopia.dispell_screen.discard": "[單擊以撤銷]", "gui.unicopia": "Unicopia...", - "gui.unicopia.page_num": "%d of %d", + "gui.unicopia.page_num": "%d頁,共%d頁", - "respawn.reason.joined_new_tribe": "%1$s was reborn as a %2$s", + "respawn.reason.joined_new_tribe": "%1$s轉生爲%2$s", "gui.unicopia.tribe_selection.respawn": "You have died.", "gui.unicopia.tribe_selection.respawn.journey": "But the end is not all, for at the end of every end is another beginning.", From 408cb8c4a76fdfc9266cf9bee4c1afb1e80a00f3 Mon Sep 17 00:00:00 2001 From: Sprinkled Frosting Date: Sat, 3 Feb 2024 13:16:23 +0000 Subject: [PATCH 10/52] =?UTF-8?q?=E7=A8=AE=E6=97=8F=E9=81=B8=E6=93=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/assets/unicopia/lang/zh_tw.json | 112 +++++++++--------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/zh_tw.json b/src/main/resources/assets/unicopia/lang/zh_tw.json index dc90aad3..630560ae 100644 --- a/src/main/resources/assets/unicopia/lang/zh_tw.json +++ b/src/main/resources/assets/unicopia/lang/zh_tw.json @@ -682,54 +682,54 @@ "respawn.reason.joined_new_tribe": "%1$s轉生爲%2$s", - "gui.unicopia.tribe_selection.respawn": "You have died.", - "gui.unicopia.tribe_selection.respawn.journey": "But the end is not all, for at the end of every end is another beginning.", - "gui.unicopia.tribe_selection.respawn.choice": "Choose wisely, for the choice you make now will change the world around you and the paths you may take.", - "gui.unicopia.tribe_selection.welcome": "Select Your Tribe", - "gui.unicopia.tribe_selection.welcome.journey": "A journey into magic and adventure awaits, traveller! But before you go, you must select your path.", - "gui.unicopia.tribe_selection.welcome.choice": "Choose wisely, for the choice you make now will change the world around you and the paths you may take.", - "gui.unicopia.tribe_selection.preference": "Your current preferred tribe is set to %s.", - "gui.unicopia.tribe_selection.options": "Available Tribes:", - "gui.unicopia.tribe_selection.options.disabled": "Option Unavailable", + "gui.unicopia.tribe_selection.respawn": "你已經死了。", + "gui.unicopia.tribe_selection.respawn.journey": "但這個結束並非是一切的終結;每個結束的末尾都是一個新的開始。", + "gui.unicopia.tribe_selection.respawn.choice": "謹慎地選擇吧,你現在的選擇將會改變你週遭的世界,也會改變你所選擇的路。", + "gui.unicopia.tribe_selection.welcome": "選擇你的種族", + "gui.unicopia.tribe_selection.welcome.journey": "旅行者啊,邁向魔法和冒險的旅途正在等待著你!但在離開之前,你必須選擇你將要走的路。", + "gui.unicopia.tribe_selection.welcome.choice": "謹慎地選擇吧,你現在的選擇將會改變你週遭的世界,也會改變你所選擇的路。", + "gui.unicopia.tribe_selection.preference": "你當前的偏好種族已設爲%s。", + "gui.unicopia.tribe_selection.options": "可選種族:", + "gui.unicopia.tribe_selection.options.disabled": "選項不可用", - "gui.unicopia.tribe_selection.describe.unicopia.earth": "Join the Earth Tribe", - "gui.unicopia.tribe_selection.describe.unicopia.unicorn": "Join the Unicorn Tribe, master the arcane arts", - "gui.unicopia.tribe_selection.describe.unicopia.pegasus": "Join the Pegasus Tribe, soar with the Wonderbolts", - "gui.unicopia.tribe_selection.describe.unicopia.bat": "Join the Bat Tribe, become the darkest night", - "gui.unicopia.tribe_selection.describe.unicopia.kirin": "Join the Kirin's Village, take the vow of silence", - "gui.unicopia.tribe_selection.describe.unicopia.hippogriff": "Join Hippogriff Tribe, screech at your neighbors", - "gui.unicopia.tribe_selection.describe.unicopia.changeling": "Join the Changeling Hive, your Queen demands it", + "gui.unicopia.tribe_selection.describe.unicopia.earth": "成爲陸馬,擁抱自然的魔力", + "gui.unicopia.tribe_selection.describe.unicopia.unicorn": "成爲獨角,掌握魔法的藝術", + "gui.unicopia.tribe_selection.describe.unicopia.pegasus": "成爲飛馬,在空中自由翱翔", + "gui.unicopia.tribe_selection.describe.unicopia.bat": "成爲夜騏,成爲暗夜的孩子", + "gui.unicopia.tribe_selection.describe.unicopia.kirin": "成爲麒麟,許下靜謐的誓言", + "gui.unicopia.tribe_selection.describe.unicopia.hippogriff": "成爲駿鷹,把你的鄰居吵煩", + "gui.unicopia.tribe_selection.describe.unicopia.changeling": "成爲幻形,響應女王的號召!", - "gui.unicopia.tribe_selection.confirm": "You have selected %s", - "gui.unicopia.tribe_selection.confirm.goods": "%s enjoy the following perks:", + "gui.unicopia.tribe_selection.confirm": "你選擇了%s", + "gui.unicopia.tribe_selection.confirm.goods": "%s享受如下的優待:", - "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.human": " - Are omnivores and can eat all types of food except for love", - "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.human": " - Opposable thumbs", - "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.human": " - Walking upright", + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.human": " - 雜食,什麼都可以吃", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.human": " - 有可以相對的大拇指", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.human": " - 直立行走", - "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.earth": " - Stronger knockback and resistance to magic", - "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.earth": " - Have extra weight makes them effective against magic and brute force", - "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.earth": " - A special connection to the earth that makes farming 10,000% more effective!", - "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.earth": " - Has powerful punches, kicks, and stomps that they can use to defend or attack their environment", - "gui.unicopia.tribe_selection.confirm.goods.5.unicopia.earth": " - Is the only one that can hug creepers and survive", - "gui.unicopia.tribe_selection.confirm.goods.6.unicopia.earth": " - Can eat rocks", - "gui.unicopia.tribe_selection.confirm.goods.7.unicopia.earth": " - Cute floppy pony ears", + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.earth": " - 對魔法的擊退和抵抗力更強", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.earth": " - 體重更重,抵抗魔法和蠻力更有效", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.earth": " - 和大地有着特殊的聯繫,讓耕作有著萬分的效率!", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.earth": " - 擊、踢、跺的力量強悍,可用來保護自己或攻擊週遭", + "gui.unicopia.tribe_selection.confirm.goods.5.unicopia.earth": " - 唯一一個能夠在苦力怕的擁抱下存活的種族", + "gui.unicopia.tribe_selection.confirm.goods.6.unicopia.earth": " - 可以吃石頭", + "gui.unicopia.tribe_selection.confirm.goods.7.unicopia.earth": " - 可愛的柔軟的耳朵", - "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.unicorn": " - Teleportation and magic spells", - "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.unicorn": " - Research and craft magical artefacts that enhance their abilities", - "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.unicorn": " - Can use magic to detect or reveal nearby changelings", - "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.unicorn": " - Have pointy sticks on their heads", + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.unicorn": " - 傳送與魔咒", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.unicorn": " - 研究並製造可提升自身能力的魔器", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.unicorn": " - 可用魔法來察覺並揭露附近的幻形靈", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.unicorn": " - 頭上有一根尖尖的棍子", - "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.pegasus": " - Flight and the ability to train to build endurace", - "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.pegasus": " - Use stored mana to dash in short bursts or build it up to perform a powerful rainboom", - "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.pegasus": " - Moves faster and takes less fall damage", - "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.pegasus": " - Can interact directly with cloud items and blocks", - "gui.unicopia.tribe_selection.confirm.goods.5.unicopia.pegasus": " - Can eat vegetables and certain types of fish", + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.pegasus": " - 擁有飛行和訓練提升耐力的能力", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.pegasus": " - 使用自身的魔力來短暫疾飛,或蓄力進行彩虹音爆", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.pegasus": " - 飛得更快,摔得更輕", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.pegasus": " - 可直接和雲交互", + "gui.unicopia.tribe_selection.confirm.goods.5.unicopia.pegasus": " - 可以吃素,也可以吃魚", - "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.bat": " - Flight and the ability to train to build endurance", - "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.bat": " - Sees better in the night", - "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.bat": " - Able to cling to the underside of blocks", - "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.bat": " - Has a terrifying, yet adorable, but still slightly annoying screech", + "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.bat": " - 擁有飛行和訓練提升耐力的能力", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.bat": " - 夜間視力更好", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.bat": " - 可以飛檐走壁", + "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.bat": " - 有著嚇人、可愛但同時又煩人的尖嘯", "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.changeling": " - Able to fly and hover in place", "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.changeling": " - Shapeshift and morph into nearly anyone or anyling", @@ -748,7 +748,7 @@ "gui.unicopia.tribe_selection.confirm.goods.5.unicopia.hippogriff": " - Heals extra hearts when eating pinecones", "gui.unicopia.tribe_selection.confirm.goods.6.unicopia.hippogriff": " - Loves stairs", - "gui.unicopia.tribe_selection.confirm.bads": "but they...", + "gui.unicopia.tribe_selection.confirm.bads": "但他們……", "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.human": " - Have no magical abilities what-so-ever", "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.human": " - Needs an Elytra to fly", @@ -782,23 +782,23 @@ "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.kirin": " - Lighter than other ponies, and might take increased knockback", "gui.unicopia.tribe_selection.confirm.bads.4.unicopia.kirin": " - Doesn't like water", - "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.hippogriff": " - Weak to brute force attacks", - "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.hippogriff": " - Cannot interact with clouds", - "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.hippogriff": " - Must rest between flights to regain their strength", - "gui.unicopia.tribe_selection.confirm.bads.4.unicopia.hippogriff": " - Has a bird brain", + "gui.unicopia.tribe_selection.confirm.bads.1.unicopia.hippogriff": " - 易受蠻力攻擊", + "gui.unicopia.tribe_selection.confirm.bads.2.unicopia.hippogriff": " - 無法和雲交互", + "gui.unicopia.tribe_selection.confirm.bads.3.unicopia.hippogriff": " - 必須在飛翔間休息以恢復體力", + "gui.unicopia.tribe_selection.confirm.bads.4.unicopia.hippogriff": " - 有着像鳥一樣的腦瓜", - "gui.unicopia.tribe_selection.join": "Join Tribe", - "gui.unicopia.tribe_selection.cancel": "Go Back", + "gui.unicopia.tribe_selection.join": "加入種族", + "gui.unicopia.tribe_selection.cancel": "返回", - "gui.unicopia.spellbook.empty_spell_slot": "Empty Spell Slot", - "gui.unicopia.spellbook.page.inventory": "Inventory", - "gui.unicopia.spellbook.page.recipes": "Recipes", - "gui.unicopia.spellbook.page.recipes.empty": "0 Recipes Unlocked", - "gui.unicopia.spellbook.page.mana": "Mana", - "gui.unicopia.spellbook.page.level_requirement": "Level: %s", + "gui.unicopia.spellbook.empty_spell_slot": "空魔咒欄", + "gui.unicopia.spellbook.page.inventory": "物品欄", + "gui.unicopia.spellbook.page.recipes": "配方", + "gui.unicopia.spellbook.page.recipes.empty": "已解鎖0條配方", + "gui.unicopia.spellbook.page.mana": "魔力", + "gui.unicopia.spellbook.page.level_requirement": "等級:%s", "gui.unicopia.spellbook.page.requirements.entry.item": "- %1$sx %2$s", - "gui.unicopia.spellbook.page.requirements.entry.trait": "- At least %1$sx %2$s trait", - "gui.unicopia.spellbook.page.requirements.entry.spell": "- %1$sx %2$s gem", + "gui.unicopia.spellbook.page.requirements.entry.trait": "- 至少需要 %1$sx %2$s 特跡", + "gui.unicopia.spellbook.page.requirements.entry.spell": "- %1$sx %2$s 水晶", "gui.unicopia.spellbook.recipe.requires": "Requires:", "gui.unicopia.spellbook.author1.sign_off": "At the princess' behest", From 1529fa4dd0b0e997f8d83047cd4ad985bc1db940 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lumi=C3=A8re=20=C3=89lev=C3=A9?= <88174309+PoneyClairDeLune@users.noreply.github.com> Date: Sat, 3 Feb 2024 15:17:31 +0000 Subject: [PATCH 11/52] Some more stuff. --- .../resources/assets/unicopia/lang/fr_fr.json | 138 +++++++++--------- 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/fr_fr.json b/src/main/resources/assets/unicopia/lang/fr_fr.json index ff5debb9..2071cc05 100644 --- a/src/main/resources/assets/unicopia/lang/fr_fr.json +++ b/src/main/resources/assets/unicopia/lang/fr_fr.json @@ -38,92 +38,92 @@ "item.unicopia.mangrove_basket": "Pânier en palétuvier", "item.unicopia.bamboo_basket": "Pânier en bambou", "item.unicopia.palm_basket": "Pânier en palmier", - "item.unicopia.giant_balloon": "Giant Balloon", + "item.unicopia.giant_balloon": "Ballon géant", - "item.unicopia.palm_boat": "Palm Boat", - "item.unicopia.palm_chest_boat": "Palm Boat with Chest", + "item.unicopia.palm_boat": "Bateau en palétuvier", + "item.unicopia.palm_chest_boat": "Bateau de stockage en palétuvier", - "item.unicopia.spellbook": "Spellbook", - "item.unicopia.spectral_clock": "Spectral Clock", + "item.unicopia.spellbook": "Livre de sortilèges", + "item.unicopia.spectral_clock": "Horloge spectrale", - "emi.category.unicopia.spellbook": "Spellbook", - "emi.category.unicopia.cloud_shaping": "Shaping", - "emi.category.unicopia.growing": "Growing", + "emi.category.unicopia.spellbook": "Livre de sortilèges", + "emi.category.unicopia.cloud_shaping": "Façonnage", + "emi.category.unicopia.growing": "Croissance", - "item.unicopia.alicorn_badge": "Alicorn Emblem", - "item.unicopia.unicorn_badge": "Unicorn Emblem", - "item.unicopia.pegasus_badge": "Pegasus Emblem", - "item.unicopia.earth_badge": "Earth Pony Emblem", - "item.unicopia.changeling_badge": "Changeling Emblem", - "item.unicopia.bat_badge": "Bat Pony Emblem", - "item.unicopia.kirin_badge": "Kirin Emblem", - "item.unicopia.hippogriff_badge": "Hippogriff Emblem", + "item.unicopia.alicorn_badge": "Emblème de licorne ailée", + "item.unicopia.unicorn_badge": "Emblème de licorne", + "item.unicopia.pegasus_badge": "Emblème de pégase", + "item.unicopia.earth_badge": "Emblème de poney terrestre", + "item.unicopia.changeling_badge": "Emblème de changelin", + "item.unicopia.bat_badge": "Emblème de théstral", + "item.unicopia.kirin_badge": "Emblème de kirin", + "item.unicopia.hippogriff_badge": "Emblème de hippogriffe", - "item.unicopia.butterfly_spawn_egg": "Butterfly Spawn Egg", - "item.unicopia.butterfly": "Butterfly", - "item.unicopia.loot_bug_spawn_egg": "Loot Bug Spawn Egg", - "item.unicopia.loot_bug": "Loot bug", + "item.unicopia.butterfly_spawn_egg": "Oeuf d'apparition de papillon", + "item.unicopia.butterfly": "Papillon", + "item.unicopia.loot_bug_spawn_egg": "Oeuf d'apparition d'insect de pillage", + "item.unicopia.loot_bug": "Insect de pillage", - "item.unicopia.green_apple": "Granny Smith Apple", - "item.unicopia.sweet_apple": "Sweet Apple Acres Apple", - "item.unicopia.sour_apple": "Sour Apple", - "item.unicopia.rotten_apple": "Rotten Apple", - "item.unicopia.cooked_zap_apple": "Cooked Zap Apple", - "item.unicopia.zap_apple": "Zap Apple", - "item.unicopia.zap_bulb": "Unripened Zap Apple", + "item.unicopia.green_apple": "Pomme de Granny Smith", + "item.unicopia.sweet_apple": "Pomme sucrée", + "item.unicopia.sour_apple": "Pomme aigre", + "item.unicopia.rotten_apple": "Pomme putréfiée", + "item.unicopia.cooked_zap_apple": "Zap apple cuite", + "item.unicopia.zap_apple": "Zap apple", + "item.unicopia.zap_bulb": "Zap apple inégal", - "item.unicopia.love_bottle": "Bottle o' Love", - "item.unicopia.love_bucket": "Love Bucket", - "item.unicopia.love_mug": "Mug o' Love", + "item.unicopia.love_bottle": "Bouteille d'amour", + "item.unicopia.love_bucket": "Seau d'amour", + "item.unicopia.love_mug": "Tasse d'amour", - "item.unicopia.plunder_vine": "Plunder Vine", - "item.unicopia.empty_jar": "Glass Jar", - "item.unicopia.filled_jar": "%s in a Jar", - "item.unicopia.rain_cloud_jar": "Rain in a Jar", - "item.unicopia.storm_cloud_jar": "Storm in a Jar", - "item.unicopia.lightning_jar": "Lightning in a Jar", - "item.unicopia.zap_apple_jam_jar": "Zap Apple Jam", + "item.unicopia.plunder_vine": "Vigne de pillage", + "item.unicopia.empty_jar": "Bocal en verre", + "item.unicopia.filled_jar": "%s dans un bocal", + "item.unicopia.rain_cloud_jar": "Neige dans un bocal", + "item.unicopia.storm_cloud_jar": "Tempêt dans un bocal", + "item.unicopia.lightning_jar": "Foudre dans un bocal", + "item.unicopia.zap_apple_jam_jar": "Confiture de zap apple", - "item.unicopia.toast": "Toast", - "item.unicopia.burned_toast": "Burned Toast", - "item.unicopia.jam_toast": "Toast with Zap Apple Jam", + "item.unicopia.toast": "Pain grillé", + "item.unicopia.burned_toast": "Pain brûlé", + "item.unicopia.jam_toast": "Pain grillé à la confiture de zap apple", - "item.unicopia.crystal_heart": "Crystal Heart", - "item.unicopia.crystal_shard": "Crystal Shard", - "item.unicopia.dragon_breath_scroll": "Dragon's Breath Scroll", - "item.unicopia.gemstone": "Gemstone", - "item.unicopia.gemstone.enchanted": "%s Gem", - "item.unicopia.gemstone.obfuscated": "Mysterious Gem", - "item.unicopia.botched_gem": "Botched Gem", + "item.unicopia.crystal_heart": "Cœur de cristal", + "item.unicopia.crystal_shard": "Éclat de cristal", + "item.unicopia.dragon_breath_scroll": "Rouleau de souffle du dragon", + "item.unicopia.gemstone": "Gemme", + "item.unicopia.gemstone.enchanted": "%s Gemme", + "item.unicopia.gemstone.obfuscated": "Gemme mystérieuse", + "item.unicopia.botched_gem": "Gemme bâclée", - "item.unicopia.pegasus_feather": "Pegasus Feather", - "item.unicopia.gryphon_feather": "Gryphon Feather", - "item.unicopia.golden_feather": "Golden Feather", - "item.unicopia.golden_wing": "Golden Wing", + "item.unicopia.pegasus_feather": "Plume de pégase", + "item.unicopia.gryphon_feather": "Plume de griffon", + "item.unicopia.golden_feather": "Plume d'or", + "item.unicopia.golden_wing": "Aile d'or", - "item.unicopia.mug": "Mug", - "item.unicopia.cider": "Cider", - "item.unicopia.juice": "Juice", - "item.unicopia.burned_juice": "Burned Juice", + "item.unicopia.mug": "Tasse", + "item.unicopia.cider": "Cidre", + "item.unicopia.juice": "Jus de pomme", + "item.unicopia.burned_juice": "Jus brûlé de pomme", - "item.unicopia.mango": "Mango", - "item.unicopia.banana": "Banana", - "item.unicopia.pineapple": "Pineapple", - "item.unicopia.pineapple_crown": "Pineapple Crown", - "item.unicopia.sunglasses": "Sunglasses", - "item.unicopia.broken_sunglasses": "Broken Sunglasses", + "item.unicopia.mango": "Mangue", + "item.unicopia.banana": "Banane", + "item.unicopia.pineapple": "Ananas", + "item.unicopia.pineapple_crown": "Couronne d'ananas", + "item.unicopia.sunglasses": "Lunettes de soleil", + "item.unicopia.broken_sunglasses": "Lunettes de soleil brisées", "item.unicopia.carapace": "Carapace", - "item.unicopia.pebbles": "Pebbles", - "item.unicopia.rock": "Rock", - "item.unicopia.weird_rock": "Weird Rock", + "item.unicopia.pebbles": "Galets", + "item.unicopia.rock": "Roche", + "item.unicopia.weird_rock": "Roche bizarre", "item.unicopia.tom": "Tom", - "item.unicopia.rock_stew": "Rock Stew", - "item.unicopia.rock_candy": "Rock Candy", - "item.unicopia.salt_cube": "Salt Cube", - "item.unicopia.pinecone": "Pinecone", - "item.unicopia.acorn": "Acorn", + "item.unicopia.rock_stew": "Ragoût de roche", + "item.unicopia.rock_candy": "Sucre de roche", + "item.unicopia.salt_cube": "Cube de sel", + "item.unicopia.pinecone": "Punone", + "item.unicopia.acorn": "Gland", "item.unicopia.green_apple_seeds": "Granny Smith Apple Seeds", "item.unicopia.sweet_apple_seeds": "Sweet Apple Seeds", "item.unicopia.sour_apple_seeds": "Sour Apple Seeds", From 353b0626d97de4ef8b93de98f7d2ad53c480fdd6 Mon Sep 17 00:00:00 2001 From: Cryghast Date: Sat, 3 Feb 2024 23:27:25 +0800 Subject: [PATCH 12/52] update zh cn json --- .../resources/assets/unicopia/lang/zh_cn.json | 427 ++++++++++++++++-- 1 file changed, 392 insertions(+), 35 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/zh_cn.json b/src/main/resources/assets/unicopia/lang/zh_cn.json index 9eb2718d..de219757 100644 --- a/src/main/resources/assets/unicopia/lang/zh_cn.json +++ b/src/main/resources/assets/unicopia/lang/zh_cn.json @@ -22,7 +22,7 @@ "itemGroup.unicopia.pegasus": "奇幻小马国 - 云中城", "itemGroup.unicopia.bat_pony": "奇幻小马国 - 林阴镇", "itemGroup.unicopia.sea_pony": "奇幻小马国 - 来自深海", - "itemGroup.unicopia.changeling": "奇幻小马国 - 幻形虫巢", + "itemGroup.unicopia.changeling": "奇幻小马国 - 幻形灵王国", "item.unicopia.friendship_bracelet": "联谊手环", "item.unicopia.friendship_bracelet.issuer": "上面写着 %s 的名字", @@ -44,8 +44,11 @@ "item.unicopia.palm_chest_boat": "棕榈木运输船", "item.unicopia.spellbook": "魔法书", + "item.unicopia.spectral_clock": "调频钟", + "emi.category.unicopia.spellbook": "魔法书", "emi.category.unicopia.cloud_shaping": "塑形", + "emi.category.unicopia.growing": "生长", "item.unicopia.alicorn_badge": "天角兽徽章", "item.unicopia.unicorn_badge": "独角兽徽章", @@ -69,6 +72,7 @@ "item.unicopia.zap_apple": "魔虹苹果", "item.unicopia.zap_bulb": "没熟的魔虹苹果", + "item.unicopia.plunder_vine": "掠夺之藤", "item.unicopia.love_bottle": "一瓶爱", "item.unicopia.love_bucket": "爱桶", "item.unicopia.love_mug": "一杯爱", @@ -493,7 +497,7 @@ "spell.unicopia.shield.lore": "在使用者周围施放一个保护盾", "spell.unicopia.bubble": "泡泡", "spell.unicopia.bubble.lore": "将它击中的任何生物困在泡泡中", - "spell.unicopia.arcane_protection": "奥术保护", + "spell.unicopia.arcane_protection": "奥术拮抗", "spell.unicopia.arcane_protection.lore": "创建一个保护罩,其中无法施放任何法术", "spell.unicopia.vortex": "奥术吸引", "spell.unicopia.vortex.lore": "产生吸力,以吸引其它目标", @@ -527,13 +531,13 @@ "spell.unicopia.dispel_evil.lore": "驱散附近的任何邪恶力量。", "trait.unicopia.strength.name": "力量", - "trait.unicopia.strength.description": "赋予身体以力量或增强耐力。\n魔咒中的力量要素越多,其效果就越猛烈,越持久。", + "trait.unicopia.strength.description": "赋予身体以力量或增强耐力。\n魔法中的力量要素越多,其效果就越猛烈,越持久。", "trait.unicopia.focus.name": "聚焦", - "trait.unicopia.focus.description": "对魔咒增压,以使其聚焦能量并提高效率。\n向魔咒中添加聚焦要素将会减少魔力消耗,同时增广多目标型魔咒的范围,使之命中更多目标。", + "trait.unicopia.focus.description": "对魔法增压,以使其聚焦能量并提高效率。\n向魔法中添加聚焦要素将会减少魔力消耗,同时增广多目标型魔法的范围,使之命中更多目标。", "trait.unicopia.knowledge.name": "知识", - "trait.unicopia.knowledge.description": "科学技术与机械结合诞生出了联合收割机。\n有些魔咒需要一些…创造力。", + "trait.unicopia.knowledge.description": "科学技术与机械结合诞生出了联合收割机。\n有些魔法需要一些…创造力。", "trait.unicopia.power.name": "能量", - "trait.unicopia.power.description": "强力驱动。\n延长或强化魔咒的持续时间。", + "trait.unicopia.power.description": "强力驱动。\n延长或强化魔法的持续时间。", "trait.unicopia.blood.name": "血液", "trait.unicopia.blood.description": "以血祭血之神。", "trait.unicopia.water.name": "水", @@ -541,7 +545,7 @@ "trait.unicopia.earth.name": "地", "trait.unicopia.earth.description": "第二号自然元素。从地里出来的东西都蕴含着这种能量。", "trait.unicopia.fire.name": "火", - "trait.unicopia.fire.description": "第三号自然元素。与气元素互相协同,让你的魔咒增更加炸裂。", + "trait.unicopia.fire.description": "第三号自然元素。与气元素互相协同,让你的魔法增更加炸裂。", "trait.unicopia.air.name": "气", "trait.unicopia.air.description": "第四号自然元素。", "trait.unicopia.ice.name": "冰", @@ -559,7 +563,7 @@ "trait.unicopia.kindness.name": "善良", "trait.unicopia.kindness.description": "与和谐之元和欢笑元素互相协同,没什么比把欢乐带到这个世上更棒的事了。", "trait.unicopia.generosity.name": "慷慨", - "trait.unicopia.generosity.description": "施展利他魔咒。\n可以用于增加魔咒的范围和威力,但对施法者不利。\n\n与协律元素和善良元素互相协同。\n含有这种要素的魔咒适合用来支援朋友。", + "trait.unicopia.generosity.description": "施展利他魔法。\n可以用于增加魔法的范围和威力,但对施法者不利。\n\n与协律元素和善良元素互相协同。\n含有这种要素的魔法适合用来支援朋友。", "trait.unicopia.rot.name": "腐坏", "trait.unicopia.rot.description": "死亡与毁灭踏足了这个世界。一切都会消亡,一切都将消亡。这既是历史,也是未来。", "trait.unicopia.life.name": "生命", @@ -620,20 +624,20 @@ "affliction.unicopia.lose_hunger": "失去 %s%% 点饥饿值", "ability.unicopia.shoot": "发射魔法", - "ability.unicopia.shoot.with_spell": "发射 %s 魔咒", - "ability.unicopia.shoot.with_spell.active": "正在发射 %s 魔咒", - "ability.unicopia.shoot.with_spell.hand": "手持发射 %s 魔咒", - "ability.unicopia.shoot.with_spell.replacing": "%s 魔咒已暂存,将优先发射 %s 魔咒", + "ability.unicopia.shoot.with_spell": "发射 %s 魔法", + "ability.unicopia.shoot.with_spell.active": "正在发射 %s 魔法", + "ability.unicopia.shoot.with_spell.hand": "手持发射 %s 魔法", + "ability.unicopia.shoot.with_spell.replacing": "%s 魔法已暂存,将优先发射 %s 魔法", "ability.unicopia.cast": "原地施放魔法", - "ability.unicopia.cast.with_spell": "原地施放 %s 魔咒", - "ability.unicopia.cast.with_spell.active": "正在原地施放 %s 魔咒", - "ability.unicopia.cast.with_spell.hand": "手持原地施放 %s 魔咒", - "ability.unicopia.cast.with_spell.replacing": "%s 魔咒已暂存,将优先原地施放 %s 魔咒", + "ability.unicopia.cast.with_spell": "原地施放 %s 魔法", + "ability.unicopia.cast.with_spell.active": "正在原地施放 %s 魔法", + "ability.unicopia.cast.with_spell.hand": "手持原地施放 %s 魔法", + "ability.unicopia.cast.with_spell.replacing": "%s 魔法已暂存,将优先原地施放 %s 魔法", "ability.unicopia.kirin_cast": "原地施放魔法", - "ability.unicopia.kirin_cast.with_spell": "原地施放 %s 魔咒", - "ability.unicopia.kirin_cast.with_spell.active": "正在原地施放 %s 魔咒", - "ability.unicopia.kirin_cast.with_spell.hand": "手持原地施放 %s 魔咒", - "ability.unicopia.kirin_cast.with_spell.replacing": "%s 魔咒已暂存,将优先原地施放 %s 魔咒", + "ability.unicopia.kirin_cast.with_spell": "原地施放 %s 魔法", + "ability.unicopia.kirin_cast.with_spell.active": "正在原地施放 %s 魔法", + "ability.unicopia.kirin_cast.with_spell.hand": "手持原地施放 %s 魔法", + "ability.unicopia.kirin_cast.with_spell.replacing": "%s 魔法已暂存,将优先原地施放 %s 魔法", "ability.unicopia.dispell": "解除魔法", "ability.unicopia.teleport": "瞬移", "ability.unicopia.teleport.far": "瞬移(穿墙)", @@ -689,12 +693,12 @@ "gui.unicopia.tribe_selection.options.disabled": "选项不可用", "gui.unicopia.tribe_selection.describe.unicopia.earth": "加入陆马族", - "gui.unicopia.tribe_selection.describe.unicopia.unicorn": "加入独角兽族,精通高阶魔法", + "gui.unicopia.tribe_selection.describe.unicopia.unicorn": "加入独角兽族,精通奥术魔法", "gui.unicopia.tribe_selection.describe.unicopia.pegasus": "加入天马族,与闪电天马一起翱翔", - "gui.unicopia.tribe_selection.describe.unicopia.bat": "加入夜骐族,成为最黑暗的夜晚", + "gui.unicopia.tribe_selection.describe.unicopia.bat": "加入夜骐族,成为最黑暗的夜", "gui.unicopia.tribe_selection.describe.unicopia.kirin": "加入麒麟村,遵循沉默的誓言", "gui.unicopia.tribe_selection.describe.unicopia.hippogriff": "加入骏鹰族,向你的邻居尖啸", - "gui.unicopia.tribe_selection.describe.unicopia.changeling": "加入幻形灵蜂巢,你的女王需要你", + "gui.unicopia.tribe_selection.describe.unicopia.changeling": "加入幻形灵王国,你的女王需要你", "gui.unicopia.tribe_selection.confirm": "您已选择 %s", "gui.unicopia.tribe_selection.confirm.goods": "%s 拥有以下天赋:", @@ -786,19 +790,372 @@ "gui.unicopia.tribe_selection.join": "加入种族", "gui.unicopia.tribe_selection.cancel": "返回", - "gui.unicopia.spellbook.empty_spell_slot": "空的魔咒槽位", + "gui.unicopia.spellbook.empty_spell_slot": "空的魔法槽位", "gui.unicopia.spellbook.page.inventory": "物品栏", - "gui.unicopia.spellbook.page.recipes": "魔咒配方", - "gui.unicopia.spellbook.page.recipes.empty": "已解锁 0 份魔咒配方", + "gui.unicopia.spellbook.page.recipes": "魔法配方", + "gui.unicopia.spellbook.page.recipes.empty": "已解锁 0 份魔法配方", "gui.unicopia.spellbook.page.mana": "法力值", + "gui.unicopia.spellbook.page.level_requirement": "等级: %s", "gui.unicopia.spellbook.page.requirements.entry.item": "- %1$sx %2$s", "gui.unicopia.spellbook.page.requirements.entry.trait": "- 至少 %1$sx %2$s 要素", "gui.unicopia.spellbook.page.requirements.entry.spell": "- %1$sx %2$s 宝石", - "gui.unicopia.action.spells_cleared": "移除所有的魔咒", - "gui.unicopia.action.no_spells_cleared": "你目前没有正在生效的魔咒", + "gui.unicopia.spellbook.recipe.requires": "需要:", + "gui.unicopia.spellbook.author1.sign_off": "奉公主圣旨", + "gui.unicopia.spellbook.author1.sign_off.b": "奉公主圣旨,附十分抱歉", + "gui.unicopia.spellbook.author1.name": "- 奉公主圣旨", + "gui.unicopia.spellbook.author2.name": "- 森布拉 领主", + "gui.unicopia.spellbook.author3.name": "- XOXOX Lulu", + "gui.unicopia.spellbook.chapter.artefacts.status.unconfirmed": "目前状态:未知", + "gui.unicopia.spellbook.chapter.artefacts.status.confirmed": "目前状态:已确认", + "gui.unicopia.spellbook.chapter.artefacts.status.lost": "目前状态:失传", + "gui.unicopia.spellbook.chapter.introduction.p1.title": "前言", + "gui.unicopia.spellbook.chapter.introduction.p1.body": "无论谁持有这本书,都要小心你所寻找的东西,你可能不喜欢你找到的东西。§k致马国§r。", + "gui.unicopia.spellbook.chapter.introduction.p2.title": "第一章 小马国的魔法", + "gui.unicopia.spellbook.chapter.introduction.p2.body": "小马国充满了形形色色的魔法。然而,在最近的事件之后,很明显,我们并不完全了解小马国世界的一切。这就是为什么公主让我研究各种形式的魔法,所以我们可以利用它,并且,我希望,能将我们从§混沌的侵袭§中拯救出来。", + "gui.unicopia.spellbook.chapter.introduction.p3.title": "1st Mare '12", + "gui.unicopia.spellbook.chapter.introduction.p3.1.body": "不寻常的石头", + "gui.unicopia.spellbook.chapter.introduction.p3.2.body": "当地小马所说的“宝石”,是世界各处常见的材料。农场小马一直在挖掘它们,并认为这是当地的美食,但我相信这些石头的能力比它们想象的要多得多。", + "gui.unicopia.spellbook.chapter.introduction.p4.title": "宝石", + "gui.unicopia.spellbook.chapter.introduction.p4.1.body": "我的研究尚未完成,但我可能偶然发现了一些东西。这些石头具有很高的魔法潜能!比我以前见过的还要多!", + "gui.unicopia.spellbook.chapter.introduction.p4.2.body": "§m露娜想要—§r 我会继续尝试。祝我自己马到成功!如果我发现什么,我明天会通知你。", + "gui.unicopia.spellbook.chapter.introduction.p5.title": "2nd Mare '12", + "gui.unicopia.spellbook.chapter.introduction.p5.1.body": "我去,成功了! 圣 §k大公主的屁股脸蛋'§r 的确实奏效了,", + "gui.unicopia.spellbook.chapter.introduction.p5.2.body": "这太神奇了!这些可以做的比我想象的要多得多。想想我能给小马国带来的进步。宝石能源照明,加热,制冷,我再也不用在夏天坐着这个了——", + "gui.unicopia.spellbook.chapter.introduction.p5.3.body": "我正在超越自己。让我解释一下……", + "gui.unicopia.spellbook.chapter.introduction.p6.title": "魔法制作", + "gui.unicopia.spellbook.chapter.introduction.p6.1.body": "我在本书的开头画了一个指南来帮助你学习。", + "gui.unicopia.spellbook.chapter.introduction.p6.2.body": "将一颗原始宝石(它不能已经有魔法)放在中间,并在我标记的格中放置周围的材料。", + "gui.unicopia.spellbook.chapter.introduction.p6.3.body": "每种材料都会产生不同的效果,将材料靠得更近会增强它们对宝石的影响。", + "gui.unicopia.spellbook.chapter.introduction.p7.title": "3rd Mare '12", + "gui.unicopia.spellbook.chapter.introduction.p7.1.body": "我将开始记录我找到的魔法组合。其中一些非常明显,例如宝石+火=火宝石", + "gui.unicopia.spellbook.chapter.introduction.p7.2.body": "但有些东西不太清楚。例如,鸡蛋会给魔法增加哪些特性?需要进行大量实验。哦,我兴奋得头晕目眩!", + "gui.unicopia.spellbook.chapter.introduction.p8.title": "报废的宝石", + "gui.unicopia.spellbook.chapter.introduction.p8.1.body": "并非每种组合都有效。令马失望的是,现在我的房间里堆满了这些无用的石头。", + "gui.unicopia.spellbook.chapter.introduction.p8.2.body": "我不知道该怎么处理它们。它们不可食用,但当地小马不这么认为。", + "gui.unicopia.spellbook.chapter.introduction.p8.3.body": "它们仍然具有我赋予它们的要素,所以也许除了和小露娜一起建造岩石堡垒之外,我还能找到其他用途…", + "gui.unicopia.spellbook.chapter.introduction.p9.title": "13th Mare '12", + "gui.unicopia.spellbook.chapter.introduction.p9.1.body": "很抱歉我拖更了。我一直在努力研究不同的法术并决定要用什么方法。", + "gui.unicopia.spellbook.chapter.introduction.p9.2.body": "火系魔法非常有趣。火很容易获得。", + + "gui.unicopia.spellbook.chapter.fire.p1.title": "第二章 火魔法", + "gui.unicopia.spellbook.chapter.fire.p2.title": "9th Jum '12", + "gui.unicopia.spellbook.chapter.fire.p2.1.body": "我花的时间比预想中要长,都快一个月了,哈哈!但是,亲爱的读者,我向你隆重宣布,我发现了第一种元素魔法:火魔法。", + "gui.unicopia.spellbook.chapter.fire.p2.2.body": "暂时就这么叫,好吧?", + "gui.unicopia.spellbook.chapter.fire.scorch.1.body": "顾名思义,灼烧魔法就是用来灼烧的。通过赋予宝石火元素,可以让宝石发光和放热。", + "gui.unicopia.spellbook.chapter.fire.scorch.2.body": "你装填的火元素越多,宝石发光放热就越剧烈,但注意不要装过载了,不然它说不定什么时候就过火了。", + "gui.unicopia.spellbook.chapter.fire.flame.1.body": "对接触到的任何物体表面产生半径为3蹄的升温效果。", + "gui.unicopia.spellbook.chapter.fire.flame.2.body": "在急需用火或抵御风之魔时很有用。", + "gui.unicopia.spellbook.chapter.fire.p5.title": "10th Jum '12", + "gui.unicopia.spellbook.chapter.fire.p5.1.body": "有进展吗?", + "gui.unicopia.spellbook.chapter.fire.p5.2.body": "我成功地改进了先前的魔咒,但还是缺点什么。一切都是有序且可预测的。", + "gui.unicopia.spellbook.chapter.fire.p5.3.body": "露娜建议我再加点火,但我可不想在塔楼上弄出更多烧焦的痕迹。要是别的小马知道我在做什么,那就只能请浮士德保佑了…", + "gui.unicopia.spellbook.chapter.fire.p6.title": "火魔法 · 三", + "gui.unicopia.spellbook.chapter.fire.p6.1.body": "聚焦魔法", + "gui.unicopia.spellbook.chapter.fire.p6.2.body": "有些魔法通常需要精神高度集中才能施放,并且需要角稳的魔法师来控制,但我发现具有聚焦元素的物品可以很好地补充那些急躁法师所缺乏的专心。", + "gui.unicopia.spellbook.chapter.fire.p7.title": "火魔法 · 三(二)", + "gui.unicopia.spellbook.chapter.fire.p7.1.body": "任何你能找到的玻璃物品,如:眼珠、玻璃瓶,只要其中有透镜结构,都可以为魔咒灌入聚焦要素。", + "gui.unicopia.spellbook.chapter.fire.p8.title": "片段2", + "gui.unicopia.spellbook.chapter.fire.p8.1.body": "我们今天去赶集了。要从塔楼里出来活动活动。露娜建议我们走近看看小马们在卖些什么,我同意了。", + "gui.unicopia.spellbook.chapter.fire.p8.2.body": "镇民们仍对我们持怀疑态度,不过谁也不能怪他们。至少露娜和其他的幼驹们相处得很好。", + "gui.unicopia.spellbook.chapter.fire.fire_bolt.1.body": "产生几束炽热的射线攻击目标。被击中的目标将被点燃。", + "gui.unicopia.spellbook.chapter.fire.fire_bolt.2.body": "- 增加聚焦要素能让弹道更准确。", + "gui.unicopia.spellbook.chapter.fire.fire_bolt.3.body": "- 当添加超过50个单位的聚焦要素时,这些射线似乎会自己找准目标(自瞄?)", + "gui.unicopia.spellbook.chapter.fire.p10.title": "火魔法 · 四", + "gui.unicopia.spellbook.chapter.fire.p10.1.body": "高能魔法", + "gui.unicopia.spellbook.chapter.fire.p10.2.body": "有些魔咒需要聚焦,另一些则需要能量。使得其能加力或产生某些能量。", + "gui.unicopia.spellbook.chapter.fire.p10.3.body": "很少有独角兽有足够的能量来施放此类魔法,但好消息是我们身边并不缺乏能量要素。", + "gui.unicopia.spellbook.chapter.fire.p11.title": "火魔法 · 四(二)", + "gui.unicopia.spellbook.chapter.fire.p11.1.body": "源自地质构造的物体,如石头、金属和矿物,这些承受过重压的物体将会表现出力量元素。", + "gui.unicopia.spellbook.chapter.fire.p11.2.body": "和电有关的/导电的,可以用来驱动事物的物体,或者发光的东西也能提供能量要素。", + "gui.unicopia.spellbook.chapter.fire.p12.title": "11th Jum '12", + "gui.unicopia.spellbook.chapter.fire.p12.1.body": "今天有马来敲门。露娜很想去亲自接见,但我只能让她先去别的地方,因为来者是一位皇家信使。", + "gui.unicopia.spellbook.chapter.fire.p12.2.body": "我的研究似乎风评很差。皇室们很想知道我到底造了些什么。", + "gui.unicopia.spellbook.chapter.fire.p12.3.body": "他们自认为可以用我的研究成果在西线对抗。", + "gui.unicopia.spellbook.chapter.fire.p12.4.body": "他们决不能得逞。想到议会得到我的成果后会做些什么,我不禁打了个寒战。", + "gui.unicopia.spellbook.chapter.fire.p12.5.body": "补充", + "gui.unicopia.spellbook.chapter.fire.p12.6.body": "§m我听说皇室正下令研究这种法术的其它用途。用来…", + "gui.unicopia.spellbook.chapter.fire.p13.title": "20th Jum '12", + "gui.unicopia.spellbook.chapter.fire.p13.1.body": "我得到了皇室的消息。他们似乎很满意,至少目前是这样。而且同意了我在过冬时继续推进研究。", + "gui.unicopia.spellbook.chapter.fire.p13.2.body": "我被迫毁掉了最后的几条记录我很害怕。", + "gui.unicopia.spellbook.chapter.fire.p14.title": "21st Jum '12", + "gui.unicopia.spellbook.chapter.fire.p14.1.body": "我明天应该去见 §k飓风司令§r。也许她能道出我的困境。", + "gui.unicopia.spellbook.chapter.fire.shield.1.body": "学会施放护盾是每匹独角兽学习自卫的第一步。它用起来很简单,也是咒语入门的好切入点", + "gui.unicopia.spellbook.chapter.fire.shield.2.body": "其缺点是消耗能量和精神力,不过我们可以用先前提到的方法,将消耗转接到宝石上", + "gui.unicopia.spellbook.chapter.fire.shield.modifier.1": "+ 增加力量要素以扩大作用范围", + "gui.unicopia.spellbook.chapter.fire.p16.title": "保护 · 二", + "gui.unicopia.spellbook.chapter.fire.p16.1.body": "通过添加额外的要素,我能够对护盾进行微调,来控制特定群体能否进出护盾。", + "gui.unicopia.spellbook.chapter.fire.p16.2.body": "+ 添加生命元素 --> 所有动物可穿过\n+ 添加血液元素 --> 所有怪物可穿过\n+ 添加冰元素 --> 所有小马可穿过", + "gui.unicopia.spellbook.chapter.fire.p17.title": "保护 · 三", + "gui.unicopia.spellbook.chapter.fire.p17.1.body": "+ 添加慷慨元素,这样你就能将护盾放到你自己之外的地方", + "gui.unicopia.spellbook.chapter.fire.p18.title": "Scrap: 9th Jum '12", + "gui.unicopia.spellbook.chapter.fire.p18.1.body": "事实证明,火魔法有点…比我想得更不可预料。每次我感觉自己取得进展时,我都会莫名其妙地回到原点。", + "gui.unicopia.spellbook.chapter.fire.p18.2.body": "然而,我现在不能停…我被告知西线那已经剑拔弩张了。它们让我快马加鞭搞出一些东西,好让我们在与§kChangeling Storm§的战斗中占上风。", + + "gui.unicopia.spellbook.chapter.ice.p1.title": "第三章 冰魔法", + "gui.unicopia.spellbook.chapter.ice.p2.title": "4th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p2.1.body": "这下有意思了。我承认这虽然很简单,但露娜一直喊我弄点冷东西帮我们度过这波热浪。", + "gui.unicopia.spellbook.chapter.ice.p2.2.body": "你只需要一颗宝石和某些冷的东西,比如雪球。", + "gui.unicopia.spellbook.chapter.ice.frost.1.body": "让半径三蹄内的物件表面凝上凛冽的气息。", + "gui.unicopia.spellbook.chapter.ice.frost.2.body": "直接从环境中剥夺物体的内能,使其性质剧变。", + "gui.unicopia.spellbook.chapter.ice.p4.title": "凛冽之息", + "gui.unicopia.spellbook.chapter.ice.p4.1.body": "使某些物体变得耐热。", + "gui.unicopia.spellbook.chapter.ice.p4.2.body": "这个魔咒威力非常小,但是如果作用在船上,没准可以解决一些棘手情况。", + "gui.unicopia.spellbook.chapter.ice.p5.title": "5th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p5.1.body": "那些镇马昨晚肯定是开了场篝火晚会啥的,那会儿气味刺鼻,歌声婉转。", + "gui.unicopia.spellbook.chapter.ice.p5.2.body": "露娜,保佑她的心灵,一直喊我抽点时间陪她加入晚会。最后我被她从桌子边拽走了。", + "gui.unicopia.spellbook.chapter.ice.p5.3.body": "我还能说啥呢?她可是我心中的明灯啊。", + "gui.unicopia.spellbook.chapter.ice.p6.title": "篝火晚会", + "gui.unicopia.spellbook.chapter.ice.p6.1.body": "我们到达了篝火边,他们看到我们后的第一件事就是把一杯麦芽酒塞到我蹄上。我没喝,毕竟酒精对我来说可是个毒物,喝了会变成傻骡的。", + "gui.unicopia.spellbook.chapter.ice.p6.2.body": "露娜倒是挺享受篝火的,而且绝对没有偷喝麦芽酒!她几乎是立刻就和一匹镇里的小驹交上了朋友,那小驹应该是叫赛利还是啥的。她们玩了一整晚。", + "gui.unicopia.spellbook.chapter.ice.p7.title": "篝火晚会 · 二", + "gui.unicopia.spellbook.chapter.ice.p7.1.body": "在回去的路上,露娜和我讲起了她朋友告诉她的一些故事。这村里的传说挺多,这我倒是预料到了。", + "gui.unicopia.spellbook.chapter.ice.p7.2.body": "其中一个传说的主角是一个住在镇子边上一座闹鬼塔楼里的老术士。这老术士是谁我不必多说了。", + "gui.unicopia.spellbook.chapter.ice.p7.3.body": "冰魔法 · 二", + "gui.unicopia.spellbook.chapter.ice.p7.4.body": "让半径长达三蹄内的物件表面冷却下来。", + "gui.unicopia.spellbook.chapter.ice.p8.title": "6th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p8.1.body": "昨晚镇子里传来了一些奇怪的异响。非常奇怪的那种。我听到许多小马在大喊大叫,也许是失火了。", + "gui.unicopia.spellbook.chapter.ice.p8.2.body": "希望一切平安。", + "gui.unicopia.spellbook.chapter.ice.light.1.body": "给火焰镭射宝石加上些许生命与寒气,我创造了一种助力夜间视物的魔法。", + "gui.unicopia.spellbook.chapter.ice.light.2.body": "舞动之光将会召唤几个追随你的小光球。", + "gui.unicopia.spellbook.chapter.ice.light.modifier.1": "* 添加更多聚焦要素来延长魔法的作用时间", + "gui.unicopia.spellbook.chapter.ice.p10.title": "12th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p10.1.body": "昨晚的异响是越来越厉害了,而这次靠得更近。整个镇子的气氛有所变化,很多曾经阳光向上的小马现在都变得郁郁寡欢了。", + "gui.unicopia.spellbook.chapter.ice.p10.2.body": "显然,有什么事正在发生,但是没有小马愿意告诉我。", + "gui.unicopia.spellbook.chapter.ice.p11.title": "15th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p11.1.body": "冬天就要来到,当我写下这些字时,最早一批的雪花已经从窗外落下来了。", + "gui.unicopia.spellbook.chapter.ice.p11.2.body": "当地马已经准备过冬了,虽然总有些声音在抱怨那些被冻住的大地,但总有些§k不太轻松的感觉§r.", + "gui.unicopia.spellbook.chapter.ice.p12.title": "17th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p12.1.body": "这儿的天气转变如此之快以至于惊到我了。坎特城那边的天气管理做得很好,有了管控温度的魔咒和天马辅助管理天气,我们甚至有时忘掉了大自然的狂野本性。", + "gui.unicopia.spellbook.chapter.ice.p12.2.body": "但这儿的陆马可享受不到那种奢华的待遇,他们得独自面对这变幻的天气。", + "gui.unicopia.spellbook.chapter.ice.p13.title": "冻湖", + "gui.unicopia.spellbook.chapter.ice.p13.1.body": "就在今早,我在去集市的路上路过了塔楼山脚下的一个湖,那湖几乎是要全冻上了。有几只小驹正在上面滑冰。", + "gui.unicopia.spellbook.chapter.ice.p13.2.body": "露娜问我可不可以让她和他们一起玩,我说不行,虽然现在想来不知道当时为什么要这么说,但我有一种预感,要出事……", + "gui.unicopia.spellbook.chapter.ice.p14.title": "17th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p14.1.body": "老天爷啊,公主在上,我-我不知道该从哪开始讲了,我的蹄子在发抖,大气喘不上来。我现在冻得要死,脑子里全都是刚才发生的画面。", + "gui.unicopia.spellbook.chapter.ice.p14.2.body": "我知道有什么地方不对劲,我-就知道,那个时间点我还没察觉,万幸我没让露娜去那冻湖上滑冰。", + "gui.unicopia.spellbook.chapter.ice.p15.title": "冻湖 · 二", + "gui.unicopia.spellbook.chapter.ice.p15.1.body": "让我们把时间线稍稍前推,你还记得那个有小驹在上面滑冰的冻湖吗?", + "gui.unicopia.spellbook.chapter.ice.p15.2.body": "好吧,在那之后我到了集市上,看那些摊位有没有草莓卖——结果一颗都没找着,可惜它们在之前的乱局中遗失了。", + "gui.unicopia.spellbook.chapter.ice.p16.title": "冻湖 · 三", + "gui.unicopia.spellbook.chapter.ice.p16.1.body": "当我在和贩子讨价还价时,我发现露娜在扯我的袍子,嘴里还在问发生什么事了。我听见四周忽然传来四蹄疾奔的声响,一匹匹小马从我们身边跑过去,没有一匹停下来告诉我们发生了什么,但是我确实听到了几句老粗口话。", + "gui.unicopia.spellbook.chapter.ice.p16.2.body": "他们正在奔向塔楼的方向,于是我也紧随着一起过去了。", + "gui.unicopia.spellbook.chapter.ice.p16.3.body": "我当时在想的是’起火?‘和‘我的实验室危险了?’", + "gui.unicopia.spellbook.chapter.ice.p16.4.body": "告诉你吧,我宁可是这两种情况,实际情况远比这糟,糟得多,我现在回想起来还心有余悸。", + "gui.unicopia.spellbook.chapter.ice.p17.title": "冻湖 · 四", + "gui.unicopia.spellbook.chapter.ice.p17.1.body": "当我们早先在湖附近时,我看见一大群马在岸上聚集起来。梯子和急救器械散落在湖岸上,“该怎么做”的喧嚷声此起彼伏。", + "gui.unicopia.spellbook.chapter.ice.p17.2.body": "凑近来看,我很快充分意识到了发生了什么事- -我直接奔向湖水 — 冰面破裂,湖水冻得刺骨。", + "gui.unicopia.spellbook.chapter.ice.p17.3.body": "我反正就是跳进去了,用魔法拉开鞍包,掏出随身最后一块宝石并发动了里面那还未完善的魔法。", + "gui.unicopia.spellbook.chapter.ice.p17.4.body": "水从身边退去,我便冲下斜坡,越过干燥的湖底,飞身扑向落入湖中的小驹们", + "gui.unicopia.spellbook.chapter.ice.p18.title": "冻湖 · 五", + "gui.unicopia.spellbook.chapter.ice.p18.1.body": "他们冻僵了,浑身湿透,甚至在魔咒将水从他们的皮毛上驱走后仍然冷得发抖,我们将小驹们抬到岸上并给他们裹上毯子递上热饮。", + "gui.unicopia.spellbook.chapter.ice.p18.2.body": "镇民们坚持要给我递一张毯子,尽管我没有-也没可能把自己沾湿", + "gui.unicopia.spellbook.chapter.ice.p18.3.body": "过了好一阵子,惊惧才从心中消散,我终于感觉喘上气,想起来要取消魔咒了。", + "gui.unicopia.spellbook.chapter.ice.p18.4.body": "感谢公主,我们能及时赶到", + "gui.unicopia.spellbook.chapter.ice.p19.title": "18th Trot '12", + "gui.unicopia.spellbook.chapter.ice.p19.1.body": "今早没看到有小驹的迹象,我敢笃定他们接下来的很长一段时间都不会靠近这个湖了。湖水半夜又冻上了,现在看上去很平静。", + "gui.unicopia.spellbook.chapter.ice.p19.2.body": "昨日缠在心头的不祥预感今天终于没了,我终于可以和露娜一起在岸上放松了。她现在不想再在湖里游泳了,这次我也不怪她了,毕竟我再也不想想往湖里钻了。", + "gui.unicopia.spellbook.chapter.ice.p20.title": "沙堡", + "gui.unicopia.spellbook.chapter.ice.p20.1.body": "露娜开始堆沙堡,趁她忙的时候,我决定继续钻研一下我的新魔咒", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.1.body": "将护盾魔咒和霜冻宝石整合在一起,结果有点…比较奇怪。", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.2.body": "我叫它排水是因为它能将水从施法者周围排开", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.modifier.1": "* 添加更多聚焦要素来延长魔法的作用时间", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.modifier.2": "* 添加慷慨要素来将魔法绑定在使用者身外的某个地方", + + "gui.unicopia.spellbook.chapter.air.p1.title": "第四章 气魔法", + "gui.unicopia.spellbook.chapter.air.p2.title": "1st Hoof '12", + "gui.unicopia.spellbook.chapter.air.p1.1.body": "新的一月,新作一篇。小露娜已经厌烦坐在塔楼中一整天无所事事了(我又怎能怪她?毕竟我们在这都待两个月了)。", + "gui.unicopia.spellbook.chapter.air.p1.2.body": "作为一点自我奖励,我们打算去骏流瀑布的一个朋友那儿串串门,她叫飓风司令。", + "gui.unicopia.spellbook.chapter.air.p1.3.body": "司令盛情允许我翻阅她的藏书,好继续我的研究。我现在非常期待独角兽和天马魔法联合起来的效果。", + "gui.unicopia.spellbook.chapter.air.p3.title": "2nd Hoof '12", + "gui.unicopia.spellbook.chapter.air.p3.1.body": "呃,抱歉啊,附录里好像多出来了一些奇怪的条目。看起来有些小妖精动了我的笔记。", + "gui.unicopia.spellbook.chapter.air.p4.title": "气魔法 · 一", + "gui.unicopia.spellbook.chapter.air.p4.1.body": "天马魔法", + "gui.unicopia.spellbook.chapter.air.p4.2.body": "气魔法之于天马正如火之于独角兽,它们同样地难以控制。火主要应用于力量,摧毁,或是保护,而气则专注于灵活与自由运动。", + "gui.unicopia.spellbook.chapter.air.p4.3.body": "飓风司令热心地指点了一下我该如何从各种物体中分辨出这种元素。", + "gui.unicopia.spellbook.chapter.air.p4.4.body": "任何和飞行相关的,或者源自飞行生物的物体都很可能含有气元素。", + "gui.unicopia.spellbook.chapter.air.p4.5.body": "例如:羽毛。", + "gui.unicopia.spellbook.chapter.air.catapult.1.body": "这是独角兽意念移物能力的一个基础应用。击飞宝石能够将附近的任何方块或生物送上天。", + "gui.unicopia.spellbook.chapter.air.catapult.2.body": "再次作用在被击飞的物体时会将其推开。", + "gui.unicopia.spellbook.chapter.air.catapult.modifier.1": "* 可以向其中添加力量要素以增强效果", + "gui.unicopia.spellbook.chapter.air.bubble.1.body": "一个防御性的实用魔咒。泡泡魔法会将目标困在一个巨大的肥皂泡中,让其毫无反抗之力。", + "gui.unicopia.spellbook.chapter.air.bubble.2.body": "再次施展即可戳破泡泡。", + "gui.unicopia.spellbook.chapter.air.p7.title": "8th Hoof '12", + "gui.unicopia.spellbook.chapter.air.p7.1.body": "在露娜和飓风司令不在的时间里,我应该会花一点时间来写个条目来记录我的发现。", + "gui.unicopia.spellbook.chapter.air.p7.2.body": "天马魔法有种野性的美,它不像我们这些需要后天学习的魔法,不需要条条框框和漫长的练习。", + "gui.unicopia.spellbook.chapter.air.p8.title": "天马", + "gui.unicopia.spellbook.chapter.air.p8.1.body": "天马魔法是感性的,艺术的,它自心而生,不过也遵循着几条原则。", + "gui.unicopia.spellbook.chapter.air.p9.title": "天马 · 二", + "gui.unicopia.spellbook.chapter.air.p9.1.body": "正如他们建在云中的屋子,我还没读到过能产生这种效果的魔咒,但如果你去感受——请不要用你的蹄子或是角,而是用心,用思维去感受,你将与魔法共鸣。", + "gui.unicopia.spellbook.chapter.air.p9.2.body": "云充盈着气元素与水元素,同时也包含着其他的元素,如能量,力量,生命,地。这些元素来自云雾变幻出的各种形状。", + "gui.unicopia.spellbook.chapter.air.p10.title": "天马 · 三", + "gui.unicopia.spellbook.chapter.air.p10.1.body": "我希望能继续推进研究,但我还是不太敢碰这种我尚不理解的魔法。", + "gui.unicopia.spellbook.chapter.air.p10.2.body": "要是我第一次到飓风司令那边去就把人家房子给炸了,她没准一辈子都不会原谅我。", + "gui.unicopia.spellbook.chapter.air.feather_fall.1.body": "我扩展了保护宝石的保护范围,它现在可以保护范围内的数个生灵了。", + "gui.unicopia.spellbook.chapter.air.feather_fall.2.body": "这种复杂的结构不同寻常,理论上应该会减缓施法者和其同伴的下落速度。", + "gui.unicopia.spellbook.chapter.air.p12.title": "10th Hoof '12", + "gui.unicopia.spellbook.chapter.air.p12.1.body": "我和飓风司令、露娜吃过了晚餐,饭后便聊起了建筑,其中飓风提到了泰驹陵。", + "gui.unicopia.spellbook.chapter.air.p12.2.body": "露娜觉得作为一座城堡这名字也太搞笑了,于是我提醒了一下她,文化都是有差异的,要学会包容。", + "gui.unicopia.spellbook.chapter.air.p13.title": "21st Hoof '12", + "gui.unicopia.spellbook.chapter.air.p13.1.body": "写在返回§k特骡赫姆§的前夜。尽管在云中邦的时光让我收获颇多,但我还是想念着老地方,赶紧躺回我那老床上。", + "gui.unicopia.spellbook.chapter.air.p13.2.body": "但是我还是没法对露娜开口。她现在正坐在床边,嘟着嘴,不满地看着我把一件件东西收回鞍包里。", + "gui.unicopia.spellbook.chapter.air.p14.title": "归家", + "gui.unicopia.spellbook.chapter.air.p14.1.body": "她一直和我说要留一会§m显然是想要和那前些天新认识的小天马多出去玩一回。", + "gui.unicopia.spellbook.chapter.air.p15.title": "22nd Hoof '12", + "gui.unicopia.spellbook.chapter.air.p15.1.body": "当我们飞过山巅时,我不由自主地敬畏起了 浮士德母亲 所带给我们的一切。", + "gui.unicopia.spellbook.chapter.air.p15.2.body": "我花了一整天拉着露娜免得她掉下去,包括回答各种关于云像什么的问题。好在开气球的那位帮我分担了一点负担。", + "gui.unicopia.spellbook.chapter.air.p15.3.body": "在这远离尘嚣的地方,有那么一刻我真就把下面的世界忘掉了。我仿佛回到了那个一切都那么简单的时候,就在--", + "gui.unicopia.spellbook.chapter.air.p15.4.body": "然而西天爆发出的电光把一切都毁了。看起来远处有一场风暴,我当然希望这别是不祥之兆……", + + "gui.unicopia.spellbook.chapter.dark_magic.p1.title": "第五章 奥术", + "gui.unicopia.spellbook.chapter.dark_magic.p2.title": "30th Hoof '12", + "gui.unicopia.spellbook.chapter.dark_magic.p2.1.body": "今天皇室那边来了新消息。西线的情况更糟了,尽管我目前的工作已经使足够使皇室满意,但他们还是想要逼迫我研发出更加具有破坏力的东西。", + "gui.unicopia.spellbook.chapter.dark_magic.p2.2.body": "我想要告诉信使我不能——", + "gui.unicopia.spellbook.chapter.dark_magic.p3.title": "3rd Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p3.1.body": "话说在前头,我从来不想让任何小马将我的工作成果用于恶毒用途。我就是个彻彻底底的搞研究的。我的目标很纯粹,就想让世界和平而已。", + "gui.unicopia.spellbook.chapter.dark_magic.p4.title": "4th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p4.1.body": "如果不一瞥彼岸,我的魔法将毫无完成的希望。", + "gui.unicopia.spellbook.chapter.dark_magic.p4.2.body": "黑魔法,我也将其称之为奥术,它们是光明魔法与现实黑暗面的界限。", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.1.body": "如果有马问你:“排斥魔法的反面是什么”,你会如何回答?当然是吸引魔法了!", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.2.body": "通过扭曲保护魔法的原始目标,我成功地重整了其功能,并创造出一种将物体和实体引向施法者的魔法。", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.modifier.1": "+ 10x知识要素来将效果缩窄到仅作用于物品上", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.modifier.2": "+ 添加聚焦要素来延长作用效果\n+ 添加力量要素来增广范围", + "gui.unicopia.spellbook.chapter.dark_magic.p6.title": "8th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p6.1.body": "对吸引魔法的额外笔记", + "gui.unicopia.spellbook.chapter.dark_magic.p6.2.body": "今天露娜乱玩我的魔法合成表格,被我抓个正着,尽管之前我已经叫她我不在时不准进入我的研究室了。", + "gui.unicopia.spellbook.chapter.dark_magic.p6.3.body": "显然这事和赛利肯定有点关系,我现在不怎么记得了,但反正露娜在趁我出去买面包时溜进了我的研究室。", + "gui.unicopia.spellbook.chapter.dark_magic.p7.title": "奥术吸引 · 二", + "gui.unicopia.spellbook.chapter.dark_magic.p7.1.body": "其实并不是这个原因。我骂了她一顿,把她赶回了自己房间。不过当我清理她留下的一团乱麻时我留意到了宝石堆里的一样东西。", + "gui.unicopia.spellbook.chapter.dark_magic.p7.2.body": "真的,很难讲。这是一颗吸引宝石没错,但它不一样。", + "gui.unicopia.spellbook.chapter.dark_magic.p7.3.body": "它里面含有我未曾想到的要素,而它表现出来的……", + "gui.unicopia.spellbook.chapter.dark_magic.p8.title": "奥术吸引 · 二(续)", + "gui.unicopia.spellbook.chapter.dark_magic.p8.1.body": "好吧,我得把这推到明天了,还得忙着处理这周发生的各种麻烦事", + "gui.unicopia.spellbook.chapter.dark_magic.p8.2.body": ">0 慷慨要素 --> ??", + "gui.unicopia.spellbook.chapter.dark_magic.p8.3.body": ">20 秩序要素 --> ???", + "gui.unicopia.spellbook.chapter.dark_magic.p9.title": "20th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p9.1.body": "根据他们的协议,理事会送来了一些…补给品,来辅助我继续推进目前的研究方向。我一开始真有点震惊。", + "gui.unicopia.spellbook.chapter.dark_magic.p9.2.body": "这…东西…不管这玩意是什么,或者曾经是什么。", + "gui.unicopia.spellbook.chapter.dark_magic.p9.3.body": "这真的是我们在西线作战时要面对的的东西吗?", + "gui.unicopia.spellbook.chapter.dark_magic.p10.title": "21st Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p10.1.body": "我已经把那…东西放在,在地下室里,门锁上了。", + "gui.unicopia.spellbook.chapter.dark_magic.p10.2.body": "我真的是再也没眼看它了,这东西虽然有一点马形,但也太……", + "gui.unicopia.spellbook.chapter.dark_magic.p10.3.body": "我绝对不能让露娜看见它。我已经把她送出去和让她赛利过几晚,这期间该想想怎么办了。", + "gui.unicopia.spellbook.chapter.dark_magic.p11.title": "25th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p11.1.body": "抱歉拖更了这么久。事情有点…忙。", + "gui.unicopia.spellbook.chapter.dark_magic.p11.2.body": "我逐渐开始了解这些生物。以下是一些附图。", + "gui.unicopia.spellbook.chapter.dark_magic.p11.3.body": "它通体漆黑,§k和虫子一样§r 略像马形,体表无毛", + "gui.unicopia.spellbook.chapter.dark_magic.p11.4.body": "它所使用的魔法不正常,不是不正常,它就像我之前研究的那样,不自然,且狂野。", + "gui.unicopia.spellbook.chapter.dark_magic.p11.5.body": "我绝对是可以在这开展一些测试的,但是我…应该吗?", + "gui.unicopia.spellbook.chapter.dark_magic.p11.6.body": "我想,这有条不该逾越的界线。", + "gui.unicopia.spellbook.chapter.dark_magic.transformation.1.body": "我先从利用他们的能力开始。这些能力发散而难以控制,我几乎没法预测其演变,但是这颗宝石有着非常显著的变形特性。", + "gui.unicopia.spellbook.chapter.dark_magic.transformation.2.body": "将这东西向其他生灵投射将有概率将他们转换成另一种生灵", + "gui.unicopia.spellbook.chapter.dark_magic.reveal.1.body": "魔法解除境是抵抗变形/幻形魔法的第一道防线", + "gui.unicopia.spellbook.chapter.dark_magic.reveal.2.body": "当施展时,它将强制使作用范围内处于伪装态的幻形灵现出真身。", + "gui.unicopia.spellbook.chapter.dark_magic.reveal.modifier.1": "* 加入力量要素来增广作用范围", + "gui.unicopia.spellbook.chapter.dark_magic.p14.title": "27th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p14.1.body": "最近几夜有点…难以入眠。", + "gui.unicopia.spellbook.chapter.dark_magic.p14.2.body": "我不知道该怎么说了,真的。露娜看起来完全不受影响,但是在太阳下山后的夜晚中,我发现躺着根本睡不着,即使附近村庄传来的声音已经恢复了。", + "gui.unicopia.spellbook.chapter.dark_magic.p15.title": "失眠", + "gui.unicopia.spellbook.chapter.dark_magic.p15.1.body": "昨夜,就在昨夜,我在天文台上打着哆嗦。空气变得凛寒无比,比每年这个时候还要冷得多,房间里燃烧着的炉火也仿佛被其镇压住了。", + "gui.unicopia.spellbook.chapter.dark_magic.p15.2.body": "我那关着…我的那啥的东西,就在墙后。", + "gui.unicopia.spellbook.chapter.dark_magic.p16.title": "失眠(续)", + "gui.unicopia.spellbook.chapter.dark_magic.p16.1.body": "我已经把那扇门锁上了,因为我发誓,每隔一小会,我都能听到有东西在那里挪动……", + "gui.unicopia.spellbook.chapter.dark_magic.p16.2.body": "神啊,我要发疯了吗?", + "gui.unicopia.spellbook.chapter.dark_magic.p17.title": "29th Slep '12", + "gui.unicopia.spellbook.chapter.dark_magic.p17.1.body": "马的,又来了!", + "gui.unicopia.spellbook.chapter.dark_magic.p17.2.body": "我以为昨晚的事情只是错觉,但我现在又听到了——我在发抖,我的蹄子在抖,写下这些话的时候我几乎捧不住书了。", + "gui.unicopia.spellbook.chapter.dark_magic.p17.3.body": "有东西——我听到了什么,好像窃窃私语——", + "gui.unicopia.spellbook.chapter.dark_magic.p18.title": "1st Croptober '12", + "gui.unicopia.spellbook.chapter.dark_magic.p18.1.body": "我从镇子里叫了外援,一位铁匠要过来安一把新锁,那种连陆马都踢不坏的那种。", + "gui.unicopia.spellbook.chapter.dark_magic.p18.2.body": "我觉得这还不够,那东西——不管它是什么,肯定有魔法,我得研究出一种魔法来解决我的失眠症。", + "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.1.body": "这个魔法会创造一个魔力结界,可以阻挡其他的施法者", + "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.2.body": "谁都不可以在结界范围内使用魔法了", + "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.modifier.1": "* 加入力量要素来增广作用范围", + "gui.unicopia.spellbook.chapter.dark_magic.displacement.1.body": "施放这种魔法,一匹独角兽便可与其他生灵互换位置。", + "gui.unicopia.spellbook.chapter.dark_magic.p21.title": "3rd Croptober '12", + "gui.unicopia.spellbook.chapter.dark_magic.p21.1.body": "锁已经装好了,外加几项警示,我感觉放心了一点。", + "gui.unicopia.spellbook.chapter.dark_magic.p21.2.body": "晚上的动静消停了,尽管我总感觉自己还能听到……", + "gui.unicopia.spellbook.chapter.dark_magic.p22.title": "4th Cropt-", + "gui.unicopia.spellbook.chapter.dark_magic.mimic.1.body": "我已经可以利用这种奇怪生灵的能力,还有很多待研究的,但是现在我能将其特性注入一颗宝石中了。", + "gui.unicopia.spellbook.chapter.dark_magic.mimic.modifier.1": "* 添加聚焦要素来延长作用效果", + "gui.unicopia.spellbook.chapter.dark_magic.p24.1.body": "一股黑暗笼罩了小镇,自从那被造物者嫌弃的生灵到来后,一切都变了。", + "gui.unicopia.spellbook.chapter.dark_magic.p24.2.body": "镇上的小马开始显现出缺少睡眠的症状,越来越显著了。今早我看见一匹可怜雄驹,神情恍惚地走着,眼袋黝黑,面无血色。", + "gui.unicopia.spellbook.chapter.dark_magic.p25.1.body": "他的行为举止简直像一头僵尸,撞到我身上的时候都毫不在意。", + "gui.unicopia.spellbook.chapter.dark_magic.p26.title": "碎片", + "gui.unicopia.spellbook.chapter.dark_magic.p26.1.body": "§k还不够,永远不够。爬行,我感觉到爬行,天啊,爬行永无终结。", + "gui.unicopia.spellbook.chapter.dark_magic.p27.1.body": "失眠。我忍不了了,每天晚上都躺在床上等入眠。", + "gui.unicopia.spellbook.chapter.dark_magic.p27.2.body": "我以为我能够阻止它,挡住它,但我还能听到,那生物,冷啊,无情啊。", + "gui.unicopia.spellbook.chapter.dark_magic.p27.3.body": "我感觉靠近它时,身体就在流失什么。难道它是在…以我为食?", + "gui.unicopia.spellbook.chapter.dark_magic.p27.4.body": "不,不可能。", + "gui.unicopia.spellbook.chapter.dark_magic.p28.1.body": "我在清理实验室时候发现了这些陈旧的咒语笔记…潦草而难以整理,不过把任务完成足够了。", + "gui.unicopia.spellbook.chapter.dark_magic.dispel_evil.modifier.1": "* 加入力量要素来增广作用范围", + + "gui.unicopia.spellbook.chapter.otherworldly.p1.title": "第六章 超越现实", + "gui.unicopia.spellbook.chapter.otherworldly.p2.title": "2nd Croptober '12", + "gui.unicopia.spellbook.chapter.otherworldly.p2.1.body": "本章将解析凌驾于本世界之上的超现实力量,潜入研究普通独角兽们所避而不谈的领域。", + "gui.unicopia.spellbook.chapter.otherworldly.p2.2.body": "此部分记录着超越顶级魔法的魔法,风险同样极高。请谨慎阅读,因为这不是纯洁心灵该踏足的领域。", + "gui.unicopia.spellbook.chapter.otherworldly.siphoning.1.body": "工作原理很简单,将某生物的生命强力吸出,并转移至施法者体内。", + "gui.unicopia.spellbook.chapter.otherworldly.necromancy.1.body": "此区域型魔法会洞穿异界,召唤出为其主作战的生命。", + "gui.unicopia.spellbook.chapter.otherworldly.necromancy.2.body": "此魔法单独使用时并不很实用,但是加入其他要素后可以用于有效对抗§k大批幻形灵§r.", + "gui.unicopia.spellbook.chapter.otherworldly.dark_vortex.1.body": "钻击纤薄的现实,此魔咒将与异界奥术能量谐振,在现实空间中钻出一个黑洞。", + "gui.unicopia.spellbook.chapter.otherworldly.dark_vortex.2.body": "生成的黑洞质量巨大,会将接近事物吞噬殆尽,虽然它会提供巨大的能量,但供养它仍然非常危险。", + "gui.unicopia.spellbook.chapter.otherworldly.portal.1.body": "将前辈所制的换位魔咒之效和黑暗漩涡宝石结合在一起,其混沌的本性即被驯服。", + "gui.unicopia.spellbook.chapter.otherworldly.portal.2.body": "奥术裂缝魔咒允许施法者在两个地点之间建立一座跨越空间的桥梁。从一侧进入的物体将以原速从另一侧穿出。", + "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.1.body": "我推进了前辈对于幻形灵变形能力的研究,现在我可以利用混沌扭曲之力增强拟态魔咒了。", + "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.2.body": "心灵交换将拟态的效果推广到了两个生物体中,令其在有限的时间内交换躯体。", + "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.3.body": "* 添加聚焦要素来延长作用效果", + + "gui.unicopia.spellbook.chapter.artefacts.p1.title": "第七章 魔法造物", + "gui.unicopia.spellbook.chapter.artefacts.p2.title": "2nd Mare '12", + "gui.unicopia.spellbook.chapter.artefacts.p2.1.body": "接下来的内容是关于我研究过的一些著名造物的总结。", + "gui.unicopia.spellbook.chapter.artefacts.p2.2.body": "所有的造物并非皆有其踪,有些被证明是纯粹的传说,另有一些则是彻底的谣言,所以这些故事不能尽信。", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.1.body": "多年前由一群独角兽打造,它的起源和目前下落皆不明。", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.2.body": "有一些观点认为它是一种用于提供保护和补给的强大工具,会将将敌对生物的生命力量转移给施法者和其同伴。", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.title": "5th Mare '12", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.3.body": "另一些观点认为只有当它被摆放在一种由钻石块构成的特殊基座上时才会工作,与信标相似", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.title": "开裂的页面", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.1.body": "§kaaa§rential c§ka§rr§kaaa§rnial purpose§kaaa§r", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.2.body": "§kAasa sasa fwefsd q43rgfd wqklmsdfl as, klasn.§r", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.3.body": "建造材料:", + "gui.unicopia.spellbook.chapter.artefacts.crystal_podium.title": "水晶基座", + "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.2.body": "用法是,呃,把某小马的名字打上去,然后拿在一只蹄中,把另一样东西拿在另一只蹄中,接下来就,呃,它们就会咻的一声飞走,那样东西就去到那匹小马那边了。", + "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.title": "2nd Hoof '12", + "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.3.body": "P.S.星璇叔叔是大笨蛋。", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.1.body": "法师们曾经用它进行远距离交流,现在已经淘汰不用很久了。", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.2.body": "让一匹独角兽在其上签名并转交给其朋友,这将使得某些特定的魔法效果从独角兽侧传播出去", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.title": "13th Mare '12", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.3.body": "任何戴上了签过你名的手环的小马都可以从你施展的增效魔咒中受益,也可以穿越保护魔咒和盾牌魔咒的结界。", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.4.body": "法力消耗也会平摊到附近的联谊者身上。", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.1.body": "这是飓风司令告诉我的,然而我没找到多少记载来佐证她的说法。", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.2.body": "其上的天马护符可以让穿戴者享受短暂的飞行,就像天马那样。", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.title": "21st Trot '12", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.3.body": "它本来是早期驻云中高地的独角兽大使所使用的辅助装备,但在和谈破裂后丢失了。", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.1.body": "这是魔力法杖的前身——麦都布鲁的权杖,可在在术士施展长效法术时起到结构性支撑作用。", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.2.body": "它有着扭曲而斑驳的外观,其核心坚实无比,可以承载一匹成年雄驹的重量。", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.title": "22nd Trot '12", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.3.body": "由于其致密的结构和强劲的可燃性,所以必要时此物亦可当作攻击用的武器,或成为燃料。", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.4.body": "为了在战斗中正确使用此物,使用者须得使双蹄拽住其窄端,在头上快速挥舞,同时喊出“Fus Roh DAH!”", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.1.body": "这是一种让非魔法生物也能使用魔法的辅助型工具,它们可以像独角兽那引导并驾驭魔法宝石内存的魔力。", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.title": "22nd Trot '12", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.2.body": "并非所有魔咒都以相同的方式工作,但是对于魔法初学者来说,此物是个必备的基础工具。", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.3.body": "制作此物最简单的方式是把魔力宝石安装在一根接长木棍的末端。没错,多么革新的工艺啊,我就知道。", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.1.body": "一个强大的魔法造物,曾经被认为储存了格罗迦大王的力量。", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.2.body": "对于会使用它的小马来说,它可以将魔力从一个生物转移到另一个生物中。", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.title": "22nd Trot '12", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.3.body": "据推测,这项造物是在无序统治的时代用大熊座的爪子炼成的,可能是一件用于对抗其的武器。", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.4.body": "欲图染指其力量者将会被其内在含有的堕落之力摧毁意志", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.2.title": "Grogar's Bell II", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.5.body": "传说其第一个所有者——格罗迦,因为铃铛被偷走而气得发疯了。", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.6.body": "在无马之境,一座古城中,由一个不可战胜的怪物监守着。", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.1.body": "就像水晶之心一样,我们对这种魔法制品知之甚少,连它是否存在也不清楚。", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.title": "23nd Trot '12", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.2.body": "天角兽护符是一股强大的黑魔法力量,它是由一位匿名魔法师在尝试制造究极生物时的产物。", + "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.3.body": "它将所有种族的特征集合成了一个强大的统一体,但难以控制,成瘾性极高。所有尝试过戴上它的小马都非常快地被其强大的力量所征服,很少有小马愿意取下它,并在随之而来的戒断反应中幸存下来。", + + "gui.unicopia.action.spells_cleared": "移除所有的魔法", + "gui.unicopia.action.no_spells_cleared": "你目前没有正在生效的魔法", - "chapter.unicopia.crafting": "制作魔咒", + "chapter.unicopia.crafting": "制作魔法", "chapter.unicopia.profile": "简介", "chapter.unicopia.traits": "发现", "chapter.unicopia.introduction": "导论", @@ -1040,15 +1397,15 @@ "death.attack.unicopia.love_draining.self": "%1$s 耗尽了自己所有的爱", "death.attack.unicopia.love_draining.player": "%1$s 的爱被 %2$s 抽干了", "death.attack.unicopia.life_draining": "%1$s 被吸干了", - "death.attack.unicopia.life_draining.self": "%1$s 被自己的魔咒杀死了", - "death.attack.unicopia.life_draining.player": "%1$s 被 %2$s 施放的魔咒杀死了", + "death.attack.unicopia.life_draining.self": "%1$s 被自己的魔法杀死了", + "death.attack.unicopia.life_draining.player": "%1$s 被 %2$s 施放的魔法杀死了", "death.attack.unicopia.bat_screech": "%1$s 吓到了", "death.attack.unicopia.bat_screech.self": "%1$s 吓到了自己", "death.attack.unicopia.bat_screech.player": "%2$s 吓到了 %1$s", "death.attack.unicopia.bat_screech.item": "%1$s 被 %2$s 用 %3$s 吓到了", "death.attack.unicopia.gravity_well_recoil": "%1$s 被拉成了意大利面条", - "death.attack.unicopia.gravity_well_recoil.player": "%1$s 被 %2$s 施放的魔咒拉成了意大利面条", - "death.attack.unicopia.gravity_well_recoil.item": "%1$s 被 %2$s 用 %3$s 施放的魔咒拉成了意大利面条", + "death.attack.unicopia.gravity_well_recoil.player": "%1$s 被 %2$s 施放的魔法拉成了意大利面条", + "death.attack.unicopia.gravity_well_recoil.item": "%1$s 被 %2$s 用 %3$s 施放的魔法拉成了意大利面条", "death.attack.unicopia.gravity_well_recoil.self": "%1$s 把自己拉成了意大利面条", "death.attack.unicopia.smash": "%1$s 被铁蹄压扁了", "death.attack.unicopia.smash.self": "%1$s 让自己被铁蹄压扁了", @@ -1165,8 +1522,8 @@ "unicopia.subtitle.item.bracelet.sign": "在手环上签名", "unicopia.subtitle.block.chitin.ambience": "飞溅", "unicopia.subtitle.block.slime_pustule.pop": "黏液泡破掉", - "unicopia.subtitle.spell.cast.fail": "魔咒施展失败", - "unicopia.subtitle.spell.cast.success": "魔咒施展", + "unicopia.subtitle.spell.cast.fail": "魔法施展失败", + "unicopia.subtitle.spell.cast.success": "魔法施展", "unicopia.subtitle.spell.cast.shoot": "独角发射", "unicopia.subtitle.spell.illusion.disperse": "幻形灵 现出原形", "unicopia.subtitle.spell.fire.shoot.bolt": "火焰镭射 发射", From 1bd37235399cd8587716ad29953645e954a1ef0a Mon Sep 17 00:00:00 2001 From: Cryghast Date: Sat, 3 Feb 2024 23:49:28 +0800 Subject: [PATCH 13/52] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E5=8F=A5?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/assets/unicopia/lang/zh_cn.json | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/zh_cn.json b/src/main/resources/assets/unicopia/lang/zh_cn.json index de219757..283b9576 100644 --- a/src/main/resources/assets/unicopia/lang/zh_cn.json +++ b/src/main/resources/assets/unicopia/lang/zh_cn.json @@ -880,8 +880,8 @@ "gui.unicopia.spellbook.chapter.fire.p13.2.body": "我被迫毁掉了最后的几条记录我很害怕。", "gui.unicopia.spellbook.chapter.fire.p14.title": "21st Jum '12", "gui.unicopia.spellbook.chapter.fire.p14.1.body": "我明天应该去见 §k飓风司令§r。也许她能道出我的困境。", - "gui.unicopia.spellbook.chapter.fire.shield.1.body": "学会施放护盾是每匹独角兽学习自卫的第一步。它用起来很简单,也是咒语入门的好切入点", - "gui.unicopia.spellbook.chapter.fire.shield.2.body": "其缺点是消耗能量和精神力,不过我们可以用先前提到的方法,将消耗转接到宝石上", + "gui.unicopia.spellbook.chapter.fire.shield.1.body": "学会施放护盾是每匹独角兽学习自卫的第一步。它用起来很简单,也是咒语入门的好切入点。", + "gui.unicopia.spellbook.chapter.fire.shield.2.body": "其缺点是消耗能量和精神力,不过我们可以用先前提到的方法,将消耗转接到宝石上。", "gui.unicopia.spellbook.chapter.fire.shield.modifier.1": "+ 增加力量要素以扩大作用范围", "gui.unicopia.spellbook.chapter.fire.p16.title": "保护 · 二", "gui.unicopia.spellbook.chapter.fire.p16.1.body": "通过添加额外的要素,我能够对护盾进行微调,来控制特定群体能否进出护盾。", @@ -946,19 +946,19 @@ "gui.unicopia.spellbook.chapter.ice.p17.1.body": "当我们早先在湖附近时,我看见一大群马在岸上聚集起来。梯子和急救器械散落在湖岸上,“该怎么做”的喧嚷声此起彼伏。", "gui.unicopia.spellbook.chapter.ice.p17.2.body": "凑近来看,我很快充分意识到了发生了什么事- -我直接奔向湖水 — 冰面破裂,湖水冻得刺骨。", "gui.unicopia.spellbook.chapter.ice.p17.3.body": "我反正就是跳进去了,用魔法拉开鞍包,掏出随身最后一块宝石并发动了里面那还未完善的魔法。", - "gui.unicopia.spellbook.chapter.ice.p17.4.body": "水从身边退去,我便冲下斜坡,越过干燥的湖底,飞身扑向落入湖中的小驹们", + "gui.unicopia.spellbook.chapter.ice.p17.4.body": "水从身边退去,我便冲下斜坡,越过干燥的湖底,飞身扑向落入湖中的小驹们。", "gui.unicopia.spellbook.chapter.ice.p18.title": "冻湖 · 五", "gui.unicopia.spellbook.chapter.ice.p18.1.body": "他们冻僵了,浑身湿透,甚至在魔咒将水从他们的皮毛上驱走后仍然冷得发抖,我们将小驹们抬到岸上并给他们裹上毯子递上热饮。", - "gui.unicopia.spellbook.chapter.ice.p18.2.body": "镇民们坚持要给我递一张毯子,尽管我没有-也没可能把自己沾湿", + "gui.unicopia.spellbook.chapter.ice.p18.2.body": "镇民们坚持要给我递一张毯子,尽管我没有-也没可能把自己沾湿。", "gui.unicopia.spellbook.chapter.ice.p18.3.body": "过了好一阵子,惊惧才从心中消散,我终于感觉喘上气,想起来要取消魔咒了。", - "gui.unicopia.spellbook.chapter.ice.p18.4.body": "感谢公主,我们能及时赶到", + "gui.unicopia.spellbook.chapter.ice.p18.4.body": "感谢公主,我们能及时赶到。", "gui.unicopia.spellbook.chapter.ice.p19.title": "18th Trot '12", "gui.unicopia.spellbook.chapter.ice.p19.1.body": "今早没看到有小驹的迹象,我敢笃定他们接下来的很长一段时间都不会靠近这个湖了。湖水半夜又冻上了,现在看上去很平静。", "gui.unicopia.spellbook.chapter.ice.p19.2.body": "昨日缠在心头的不祥预感今天终于没了,我终于可以和露娜一起在岸上放松了。她现在不想再在湖里游泳了,这次我也不怪她了,毕竟我再也不想想往湖里钻了。", "gui.unicopia.spellbook.chapter.ice.p20.title": "沙堡", - "gui.unicopia.spellbook.chapter.ice.p20.1.body": "露娜开始堆沙堡,趁她忙的时候,我决定继续钻研一下我的新魔咒", + "gui.unicopia.spellbook.chapter.ice.p20.1.body": "露娜开始堆沙堡,趁她忙的时候,我决定继续钻研一下我的新魔法。", "gui.unicopia.spellbook.chapter.ice.hydrophobic.1.body": "将护盾魔咒和霜冻宝石整合在一起,结果有点…比较奇怪。", - "gui.unicopia.spellbook.chapter.ice.hydrophobic.2.body": "我叫它排水是因为它能将水从施法者周围排开", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.2.body": "我叫它排水是因为它能将水从施法者周围排开。", "gui.unicopia.spellbook.chapter.ice.hydrophobic.modifier.1": "* 添加更多聚焦要素来延长魔法的作用时间", "gui.unicopia.spellbook.chapter.ice.hydrophobic.modifier.2": "* 添加慷慨要素来将魔法绑定在使用者身外的某个地方", @@ -1029,7 +1029,7 @@ "gui.unicopia.spellbook.chapter.dark_magic.p7.2.body": "真的,很难讲。这是一颗吸引宝石没错,但它不一样。", "gui.unicopia.spellbook.chapter.dark_magic.p7.3.body": "它里面含有我未曾想到的要素,而它表现出来的……", "gui.unicopia.spellbook.chapter.dark_magic.p8.title": "奥术吸引 · 二(续)", - "gui.unicopia.spellbook.chapter.dark_magic.p8.1.body": "好吧,我得把这推到明天了,还得忙着处理这周发生的各种麻烦事", + "gui.unicopia.spellbook.chapter.dark_magic.p8.1.body": "好吧,我得把这推到明天了,还得忙着处理这周发生的各种麻烦事。", "gui.unicopia.spellbook.chapter.dark_magic.p8.2.body": ">0 慷慨要素 --> ??", "gui.unicopia.spellbook.chapter.dark_magic.p8.3.body": ">20 秩序要素 --> ???", "gui.unicopia.spellbook.chapter.dark_magic.p9.title": "20th Slep '12", @@ -1043,13 +1043,13 @@ "gui.unicopia.spellbook.chapter.dark_magic.p11.title": "25th Slep '12", "gui.unicopia.spellbook.chapter.dark_magic.p11.1.body": "抱歉拖更了这么久。事情有点…忙。", "gui.unicopia.spellbook.chapter.dark_magic.p11.2.body": "我逐渐开始了解这些生物。以下是一些附图。", - "gui.unicopia.spellbook.chapter.dark_magic.p11.3.body": "它通体漆黑,§k和虫子一样§r 略像马形,体表无毛", + "gui.unicopia.spellbook.chapter.dark_magic.p11.3.body": "它通体漆黑,§k和虫子一样§r 略像马形,体表无毛。", "gui.unicopia.spellbook.chapter.dark_magic.p11.4.body": "它所使用的魔法不正常,不是不正常,它就像我之前研究的那样,不自然,且狂野。", "gui.unicopia.spellbook.chapter.dark_magic.p11.5.body": "我绝对是可以在这开展一些测试的,但是我…应该吗?", "gui.unicopia.spellbook.chapter.dark_magic.p11.6.body": "我想,这有条不该逾越的界线。", "gui.unicopia.spellbook.chapter.dark_magic.transformation.1.body": "我先从利用他们的能力开始。这些能力发散而难以控制,我几乎没法预测其演变,但是这颗宝石有着非常显著的变形特性。", - "gui.unicopia.spellbook.chapter.dark_magic.transformation.2.body": "将这东西向其他生灵投射将有概率将他们转换成另一种生灵", - "gui.unicopia.spellbook.chapter.dark_magic.reveal.1.body": "魔法解除境是抵抗变形/幻形魔法的第一道防线", + "gui.unicopia.spellbook.chapter.dark_magic.transformation.2.body": "将这东西向其他生灵投射将有概率将他们转换成另一种生灵。", + "gui.unicopia.spellbook.chapter.dark_magic.reveal.1.body": "魔法解除境是抵抗变形/幻形魔法的第一道防线。", "gui.unicopia.spellbook.chapter.dark_magic.reveal.2.body": "当施展时,它将强制使作用范围内处于伪装态的幻形灵现出真身。", "gui.unicopia.spellbook.chapter.dark_magic.reveal.modifier.1": "* 加入力量要素来增广作用范围", "gui.unicopia.spellbook.chapter.dark_magic.p14.title": "27th Slep '12", @@ -1068,8 +1068,8 @@ "gui.unicopia.spellbook.chapter.dark_magic.p18.title": "1st Croptober '12", "gui.unicopia.spellbook.chapter.dark_magic.p18.1.body": "我从镇子里叫了外援,一位铁匠要过来安一把新锁,那种连陆马都踢不坏的那种。", "gui.unicopia.spellbook.chapter.dark_magic.p18.2.body": "我觉得这还不够,那东西——不管它是什么,肯定有魔法,我得研究出一种魔法来解决我的失眠症。", - "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.1.body": "这个魔法会创造一个魔力结界,可以阻挡其他的施法者", - "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.2.body": "谁都不可以在结界范围内使用魔法了", + "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.1.body": "这个魔法会创造一个魔力结界,可以阻挡其他的施法者。", + "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.2.body": "谁都不可以在结界范围内使用魔法了。", "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.modifier.1": "* 加入力量要素来增广作用范围", "gui.unicopia.spellbook.chapter.dark_magic.displacement.1.body": "施放这种魔法,一匹独角兽便可与其他生灵互换位置。", "gui.unicopia.spellbook.chapter.dark_magic.p21.title": "3rd Croptober '12", @@ -1078,7 +1078,7 @@ "gui.unicopia.spellbook.chapter.dark_magic.p22.title": "4th Cropt-", "gui.unicopia.spellbook.chapter.dark_magic.mimic.1.body": "我已经可以利用这种奇怪生灵的能力,还有很多待研究的,但是现在我能将其特性注入一颗宝石中了。", "gui.unicopia.spellbook.chapter.dark_magic.mimic.modifier.1": "* 添加聚焦要素来延长作用效果", - "gui.unicopia.spellbook.chapter.dark_magic.p24.1.body": "一股黑暗笼罩了小镇,自从那被造物者嫌弃的生灵到来后,一切都变了。", + "gui.unicopia.spellbook.chapter.dark_magic.p24.1.body": "一股黑暗笼罩了小镇,自从那造物者来了都要嫌弃的生灵到来后,一切都变了。", "gui.unicopia.spellbook.chapter.dark_magic.p24.2.body": "镇上的小马开始显现出缺少睡眠的症状,越来越显著了。今早我看见一匹可怜雄驹,神情恍惚地走着,眼袋黝黑,面无血色。", "gui.unicopia.spellbook.chapter.dark_magic.p25.1.body": "他的行为举止简直像一头僵尸,撞到我身上的时候都毫不在意。", "gui.unicopia.spellbook.chapter.dark_magic.p26.title": "碎片", @@ -1112,7 +1112,7 @@ "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.1.body": "多年前由一群独角兽打造,它的起源和目前下落皆不明。", "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.2.body": "有一些观点认为它是一种用于提供保护和补给的强大工具,会将将敌对生物的生命力量转移给施法者和其同伴。", "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.title": "5th Mare '12", - "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.3.body": "另一些观点认为只有当它被摆放在一种由钻石块构成的特殊基座上时才会工作,与信标相似", + "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.3.body": "另一些观点认为只有当它被摆放在一种由钻石块构成的特殊基座上时才会工作,与信标相似。", "gui.unicopia.spellbook.chapter.artefacts.torn_page.title": "开裂的页面", "gui.unicopia.spellbook.chapter.artefacts.torn_page.1.body": "§kaaa§rential c§ka§rr§kaaa§rnial purpose§kaaa§r", "gui.unicopia.spellbook.chapter.artefacts.torn_page.2.body": "§kAasa sasa fwefsd q43rgfd wqklmsdfl as, klasn.§r", @@ -1122,7 +1122,7 @@ "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.title": "2nd Hoof '12", "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.3.body": "P.S.星璇叔叔是大笨蛋。", "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.1.body": "法师们曾经用它进行远距离交流,现在已经淘汰不用很久了。", - "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.2.body": "让一匹独角兽在其上签名并转交给其朋友,这将使得某些特定的魔法效果从独角兽侧传播出去", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.2.body": "让一匹独角兽在其上签名并转交给其朋友,这将使得某些特定的魔法效果从独角兽侧传播出去。", "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.title": "13th Mare '12", "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.3.body": "任何戴上了签过你名的手环的小马都可以从你施展的增效魔咒中受益,也可以穿越保护魔咒和盾牌魔咒的结界。", "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.4.body": "法力消耗也会平摊到附近的联谊者身上。", @@ -1143,8 +1143,8 @@ "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.2.body": "对于会使用它的小马来说,它可以将魔力从一个生物转移到另一个生物中。", "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.title": "22nd Trot '12", "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.3.body": "据推测,这项造物是在无序统治的时代用大熊座的爪子炼成的,可能是一件用于对抗其的武器。", - "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.4.body": "欲图染指其力量者将会被其内在含有的堕落之力摧毁意志", - "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.2.title": "Grogar's Bell II", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.4.body": "欲图染指其力量者的意志将会被其内在含有的堕落之力摧毁。", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.2.title": "格罗迦的铃铛 · 二", "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.5.body": "传说其第一个所有者——格罗迦,因为铃铛被偷走而气得发疯了。", "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.6.body": "在无马之境,一座古城中,由一个不可战胜的怪物监守着。", "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.1.body": "就像水晶之心一样,我们对这种魔法制品知之甚少,连它是否存在也不清楚。", From 40975732ce3cedec539dc5f0f8b6c98a73ba7d28 Mon Sep 17 00:00:00 2001 From: Sprinkled Frosting Date: Sat, 3 Feb 2024 16:04:52 +0000 Subject: [PATCH 14/52] =?UTF-8?q?=E6=AD=BB=E4=BA=A1=E8=A8=8A=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/assets/unicopia/lang/zh_tw.json | 368 +++++++++--------- 1 file changed, 184 insertions(+), 184 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/zh_tw.json b/src/main/resources/assets/unicopia/lang/zh_tw.json index 630560ae..e299ea3c 100644 --- a/src/main/resources/assets/unicopia/lang/zh_tw.json +++ b/src/main/resources/assets/unicopia/lang/zh_tw.json @@ -1,9 +1,9 @@ { - "block.unicopia.bed.not_safe": "你不能在此休息,附近有敵人遊蕩", - "block.unicopia.bed.not_tired": "你現在並不睏", - "block.unicopia.bed.no_sleep.nocturnal": "你只能在白天或雷暴期間休息", - "sleep.not_possible.nocturnal": "你無法跳過這一天", + "block.unicopia.bed.not_safe": "您不能在此休息,附近有敵人遊蕩", + "block.unicopia.bed.not_tired": "您現在並不睏", + "block.unicopia.bed.no_sleep.nocturnal": "您只能在白天或雷暴期間休息", + "sleep.not_possible.nocturnal": "您無法跳過這一天", "sleep.skipping_day": "這一天將在睡夢中度過", "ability.unicopia.empty_hooves": "我需要找到一個罐子", @@ -800,7 +800,7 @@ "gui.unicopia.spellbook.page.requirements.entry.trait": "- 至少需要 %1$sx %2$s 特跡", "gui.unicopia.spellbook.page.requirements.entry.spell": "- %1$sx %2$s 水晶", - "gui.unicopia.spellbook.recipe.requires": "Requires:", + "gui.unicopia.spellbook.recipe.requires": "需要", "gui.unicopia.spellbook.author1.sign_off": "At the princess' behest", "gui.unicopia.spellbook.author1.sign_off.b": "At the princess' behest, so dreadfully sorry", "gui.unicopia.spellbook.author1.name": "- Starswirl the Bearded", @@ -1274,170 +1274,170 @@ "key.unicopia.hud_page_dn": "Hud Previous Page", "key.unicopia.hud_page_up": "Hud Next Page", - "enchantment.unicopia.gem_finder": "Gem Finder", - "enchantment.unicopia.padded": "Padded", - "enchantment.unicopia.clingy": "Clings", - "enchantment.unicopia.repulsion": "Repulsion", - "enchantment.unicopia.heavy": "Heavy", - "enchantment.unicopia.herds": "Herds", - "enchantment.unicopia.want_it_need_it": "Want It Need It", - "enchantment.unicopia.poisoned_joke": "Poisoned Joke", - "enchantment.unicopia.stressed": "Stressed", - "enchantment.unicopia.heart_bound": "Heart Bound", - "enchantment.unicopia.consumption": "Consumption", + "enchantment.unicopia.gem_finder": "尋礦", + "enchantment.unicopia.padded": "衝擊保護", + "enchantment.unicopia.clingy": "纏身", + "enchantment.unicopia.repulsion": "輕盈", + "enchantment.unicopia.heavy": "沉重", + "enchantment.unicopia.herds": "合擊", + "enchantment.unicopia.want_it_need_it": "爭奪詛咒", + "enchantment.unicopia.poisoned_joke": "毒笑", + "enchantment.unicopia.stressed": "重壓", + "enchantment.unicopia.heart_bound": "赤膽忠心", + "enchantment.unicopia.consumption": "經驗轉化", - "commands.race.success.self": "Set own race to %1$s", - "commands.race.success": "%1$s changed race to %2$s", - "commands.race.success.other": "Changed %1$s's race to %2$s", - "commands.race.usage": "/race [player]", - "commands.race.list": "The available races are:", - "commands.race.permission": "Selected Race is not permitted by your current server", - "commands.race.fail": "\"%s\" is not a recognised Race", + "commands.race.success.self": "將自己的種族設爲%1$s", + "commands.race.success": "%1$s將種族變爲%2$s", + "commands.race.success.other": "將%1$s的種族設爲%2$s", + "commands.race.usage": "/race <種族> [玩家]", + "commands.race.list": "可用的種族有:", + "commands.race.permission": "選中的種族不在此伺服器可用", + "commands.race.fail": "“%s”並非已知種族", - "commands.skyangle.get": "The current angle of the sun is %sdeg", - "commands.skyangle.set": "Changed sky angle to %sdeg", + "commands.skyangle.get": "當前太陽的角度爲%s度", + "commands.skyangle.set": "將太陽的角度設爲%s度", - "commands.race.tell.self": "You are a ", - "commands.race.tell.self.alt": "You are an ", - "commands.race.tell.other": "%s is a ", - "commands.race.tell.other.alt": "%s is an ", + "commands.race.tell.self": "你是", + "commands.race.tell.self.alt": "你是", + "commands.race.tell.other": "%s是", + "commands.race.tell.other.alt": "%s是", - "commands.racelist.illegal": "The default race %s cannot be used with this command.", - "commands.racelist.allowed": "Added %1$s to the whitelist.", - "commands.racelist.allowed.failed": "%1$s is already whitelisted.", + "commands.racelist.illegal": "默認的種族%s不能在此指令中使用。", + "commands.racelist.allowed": "已將%1$s加入白名單。", + "commands.racelist.allowed.failed": "%1$s已在白名單內。", - "commands.racelist.disallowed": "Removed %1$s from the whitelist.", - "commands.racelist.disallowed.failed": "%1$s is not on the whitelist.", + "commands.racelist.disallowed": "將%1$s從白名單移除", + "commands.racelist.disallowed.failed": "%1$s不在白名單內。", - "commands.worldtribe.success.get": "Default race for all new players is currently set to: %s", - "commands.worldtribe.success.set": "Set default race for new players is now set to: %s", + "commands.worldtribe.success.get": "當前所有新玩家的預設種族爲:%s", + "commands.worldtribe.success.set": "將新玩家的預設種族設爲:%s", - "commands.disguise.usage": "/disguise [nbt]", - "commands.disguise.notfound": "The entity id '%s' does not exist.", - "commands.disguise.removed": "Your disguise has been removed.", - "commands.disguise.removed.self": "Removed own disguise.", - "commands.disguise.removed.other": "Removed %s's disguise.", - "commands.disguise.success": "You are now disguised as %s", - "commands.disguise.success.self": "Set own disguise to %s", - "commands.disguise.success.other": "%s changed their disguise to %s", + "commands.disguise.usage": "/disguise <玩家> <實體> [nbt]", + "commands.disguise.notfound": "實體ID「%s」不存在。", + "commands.disguise.removed": "您的僞裝已被移除。", + "commands.disguise.removed.self": "移除了自己的僞裝。", + "commands.disguise.removed.other": "移除了%s的僞裝。", + "commands.disguise.success": "您現在已僞裝成了%s", + "commands.disguise.success.self": "您現在的僞裝是%s", + "commands.disguise.success.other": "%s將自己的僞裝設爲%s", - "commands.gravity.get": "Your gravity is %f", - "commands.gravity.get.other": "%s has a gravity of %f", - "commands.gravity.set": "Your gravity has been updated to %f", - "commands.gravity.set.self": "Set own gravity to %f", - "commands.gravity.set.other": "Set %s's gravity to %f", + "commands.gravity.get": "您的重力爲%f", + "commands.gravity.get.other": "%s的重力爲%f", + "commands.gravity.set": "您的重力已被更改爲%f", + "commands.gravity.set.self": "您的重力已設爲%f", + "commands.gravity.set.other": "將%s的重力爲%f", - "unicopia.options.title": "Unicopia Options", - "unicopia.options.ignore_mine_lp": "Ignore Mine Little Pony", - "unicopia.options.ignore_mine_lp.missing": "* Mine Little Pony is not installed", - "unicopia.options.ignore_mine_lp.detected": "* Your detected race is %s", - "unicopia.options.ignore_mine_lp.undetected": "* We will not use your detected race", - "unicopia.options.preferred_race": "Preferred Race: %s", - "unicopia.options.whitelist": "Enable Whitelist", - "unicopia.options.whitelist.race": "Allow %ss", - "unicopia.options.whitelist.details": "* Select the races you wish to allow", - "unicopia.options.cheats": "Enable Cheats", - "unicopia.options.client": "Client Settings", - "unicopia.options.world": "World Settings", - "unicopia.options.world.default_race": "Default Race: %s", - "unicopia.options.lan": "Multiplayer (LAN) Settings", + "unicopia.options.title": "Unicopia 設定", + "unicopia.options.ignore_mine_lp": "忽視Mine Little Pony", + "unicopia.options.ignore_mine_lp.missing": "* Mine Little Pony 並未安裝", + "unicopia.options.ignore_mine_lp.detected": "* 偵測到您的種族爲%s", + "unicopia.options.ignore_mine_lp.undetected": "* 我們將不會使用偵測到的種族", + "unicopia.options.preferred_race": "偏好種族:%s", + "unicopia.options.whitelist": "啓用白名單", + "unicopia.options.whitelist.race": "允許%s", + "unicopia.options.whitelist.details": "* 選擇您想要允許的種族", + "unicopia.options.cheats": "啓用作弊", + "unicopia.options.client": "用戶端設定", + "unicopia.options.world": "世界設定", + "unicopia.options.world.default_race": "預設種族:%s", + "unicopia.options.lan": "多人遊戲(LAN)設定", - "command.unicopia.config.add": "[Config] Added %s to property %s", - "command.unicopia.config.remove": "[Config] Removed %s from property %s", - "command.unicopia.config.list": "[Config] Property (%s) contains (%s) entries: ", - "command.unicopia.config.clear": "[Config] Cleared all values from property %s", + "command.unicopia.config.add": "[設定] 已將%s加入屬性%s", + "command.unicopia.config.remove": "[設定] 已將%s從屬性%s移除", + "command.unicopia.config.list": "[設定] 屬性(%s)包含(%s)項:", + "command.unicopia.config.clear": "[設定] 已將%s下屬所有屬性清空", - "unicopia.race.unset": "Unset", - "unicopia.race.unset.alt": "Unset", - "unicopia.race.human": "Human", - "unicopia.race.human.alt": "Humans", - "unicopia.race.earth": "Earth Pony", - "unicopia.race.earth.alt": "Earth Ponies", - "unicopia.race.unicorn": "Unicorn", - "unicopia.race.unicorn.alt": "Unicorns", - "unicopia.race.pegasus": "Pegasus", - "unicopia.race.pegasus.alt": "Pegasi", - "unicopia.race.alicorn": "Alicorn", - "unicopia.race.alicorn.alt": "Alicorns", - "unicopia.race.changeling": "Changeling", - "unicopia.race.changeling.alt": "Changelings", - "unicopia.race.bat": "Bat Pony", - "unicopia.race.bat.alt": "Bat Ponies", - "unicopia.race.kirin": "Kirin", - "unicopia.race.kirin.alt": "Kirins", - "unicopia.race.hippogriff": "Hippogriff", - "unicopia.race.hippogriff.alt": "Hippogriffs", - "unicopia.race.seapony": "Sea Pony", - "unicopia.race.seapony.alt": "Sea Ponies", + "unicopia.race.unset": "未定", + "unicopia.race.unset.alt": "未定", + "unicopia.race.human": "人類", + "unicopia.race.human.alt": "人類", + "unicopia.race.earth": "陸馬", + "unicopia.race.earth.alt": "陸馬", + "unicopia.race.unicorn": "獨角", + "unicopia.race.unicorn.alt": "獨角", + "unicopia.race.pegasus": "飛馬", + "unicopia.race.pegasus.alt": "飛馬", + "unicopia.race.alicorn": "天角", + "unicopia.race.alicorn.alt": "天角", + "unicopia.race.changeling": "幻形靈", + "unicopia.race.changeling.alt": "幻形靈", + "unicopia.race.bat": "夜騏", + "unicopia.race.bat.alt": "夜騏", + "unicopia.race.kirin": "麒麟", + "unicopia.race.kirin.alt": "麒麟", + "unicopia.race.hippogriff": "駿鷹", + "unicopia.race.hippogriff.alt": "駿鷹", + "unicopia.race.seapony": "海馬", + "unicopia.race.seapony.alt": "海馬", - "death.attack.unicopia.generic.and_also": "%1$s and %2$s", - "death.attack.unicopia.generic.whilst_flying": "%1$s whilst flying", - "death.attack.unicopia.tribe_swap": "%1$s was reborn into a different tribe", - "death.attack.unicopia.tribe_swap.self": "%1$s was doomed themselved to be reborn into a different tribe", - "death.attack.unicopia.tribe_swap.player": "%1$s was doomed to be reborn into a different tribe by %2$s", - "death.attack.unicopia.sun": "%1$s stared into the sun", - "death.attack.unicopia.sun.self": "%1$s stared into the sun", - "death.attack.unicopia.sun.player": "%1$s stared into the sun whilst fighting %2$s", - "death.attack.unicopia.sunlight": "%1$s was burned by the sun", - "death.attack.unicopia.sunlight.self": "%1$s was burned by the sun", - "death.attack.unicopia.sunlight.player": "%1$s was burned by the sun whilst fighting %2$s", - "death.attack.unicopia.petrified": "%1$s turned to stone", - "death.attack.unicopia.petrified.self": "%1$s turned to stone", - "death.attack.unicopia.petrified.player": "%1$s turned to stone whilst fighting %2$s", - "death.attack.unicopia.magical_exhaustion": "%1$s exhausted themselves", - "death.attack.unicopia.magical_exhaustion.self": "%1$s exhausted themselves", - "death.attack.unicopia.magical_exhaustion.player": "%1$s exhausted themselves whilst fighting %2$s", - "death.attack.unicopia.alicorn_amulet": "%1$s was driven insane", - "death.attack.unicopia.alicorn_amulet.self": "%1$s drove themselves insane", - "death.attack.unicopia.alicorn_amulet.player": "%1$s went insane whilst fighting %2$s", - "death.attack.unicopia.darkness": "%1$s went missing", - "death.attack.unicopia.darkness.self": "%1$s went missing", - "death.attack.unicopia.darkness.player": "%1$s went missing whilst fighting %2$s", - "death.attack.unicopia.love_draining": "%1$s was drained of all love", - "death.attack.unicopia.love_draining.self": "%1$s expelled all of their own love", - "death.attack.unicopia.love_draining.player": "%2$s drained %1$s of all their love", - "death.attack.unicopia.life_draining": "%1$s was sucked dry", - "death.attack.unicopia.life_draining.self": "%1$s was killed by their own spell", - "death.attack.unicopia.life_draining.player": "%1$s was killed by a spell cast by %2$s", - "death.attack.unicopia.bat_screech": "%1$s was spooked", - "death.attack.unicopia.bat_screech.self": "%1$s spooked themselves", - "death.attack.unicopia.bat_screech.player": "%2$s spooked %1$s", - "death.attack.unicopia.bat_screech.item": "%1$s was spooked by %2$s using %3$s", - "death.attack.unicopia.gravity_well_recoil": "%1$s turned into spaghetti", - "death.attack.unicopia.gravity_well_recoil.player": "%1$s turned into spaghetti by a spell cast by %2$s", - "death.attack.unicopia.gravity_well_recoil.item": "%1$s turned into spaghetti by a spell cast by %2$s using %3$s", - "death.attack.unicopia.gravity_well_recoil.self": "%1$s cast a spell that turned them into spaghetti", - "death.attack.unicopia.smash": "%1$s was crushed under hoof", - "death.attack.unicopia.smash.self": "%1$s got themselves crushed under a hoof", - "death.attack.unicopia.smash.player": "%1$s was crushed by %2$s", - "death.attack.unicopia.zap": "%1$s bit into a Zap Apple", - "death.attack.unicopia.zap.self": "%1$s bit into a Zap Apple", - "death.attack.unicopia.zap.player": "%1$s bit into a Zap Apple whilst fighting %2$s", - "death.attack.unicopia.paradox": "%1$s imploded", - "death.attack.unicopia.paradox.self": "%1$s imploded themselves", - "death.attack.unicopia.paradox.player": "%1$s imploded with some help from %2$s", - "death.attack.unicopia.food_poisoning": "%1$s died of food poisoning", - "death.attack.unicopia.food_poisoning.self": "%1$s died of food poisoning", - "death.attack.unicopia.food_poisoning.player": "%2$s poisoned %1$s to death", - "death.attack.unicopia.black_hole": "%1$s was sucked into a black hole", - "death.attack.unicopia.black_hole.self": "%1$s was sucked into a black hole", - "death.attack.unicopia.black_hole.player": "%1$s got sucked into %2$s's black hole", - "death.attack.unicopia.kick": "%1$s was kicked really hard", - "death.attack.unicopia.kick.self": "%1$s kicked themselves really hard", - "death.attack.unicopia.kick.player": "%2$s kicked %1$s really hard", - "death.attack.unicopia.steamroller": "%1$s was flattened", - "death.attack.unicopia.steamroller.self": "%1$s was flattened", - "death.attack.unicopia.steamroller.player": "%2$s steamrolled %1$s", - "death.attack.unicopia.stalagmite.pegasus": "%1$s tried to perch on a stalagmite", - "death.attack.unicopia.stalagmite.pegasus.player": "%1$s flew into a stalagmite whilst fighting %2$s", - "death.attack.unicopia.rock": "%1$s was pummeled", - "death.attack.unicopia.rock.self": "%1$s was pummeled", - "death.attack.unicopia.rock.item": "%1$s was pummelled by %2$s using %3$s", - "death.attack.unicopia.rock.player": "%1$s was pummelled by %2$s", - "death.attack.unicopia.horseshoe": "%1$s went ding", - "death.attack.unicopia.horseshoe.self": "%1$s dinged himself", - "death.attack.unicopia.horseshoe.item": "%1$s was dinged by %2$s using %3$s", - "death.attack.unicopia.horseshoe.player": "%1$s was dinged by %2$s", + "death.attack.unicopia.generic.and_also": "%1$s與%2$s", + "death.attack.unicopia.generic.whilst_flying": "在飛行中%1$s", + "death.attack.unicopia.tribe_swap": "%1$s轉生爲其他種族", + "death.attack.unicopia.tribe_swap.self": "%1$s註定要被轉生爲其他種族", + "death.attack.unicopia.tribe_swap.player": "%1$s被%2$s註定要轉生爲其他種族", + "death.attack.unicopia.sun": "%1$s凝視了太陽", + "death.attack.unicopia.sun.self": "%1$s凝視了太陽", + "death.attack.unicopia.sun.player": "%1$s在避開%2$s時凝視了太陽", + "death.attack.unicopia.sunlight": "%1$s被陽光烤熟", + "death.attack.unicopia.sunlight.self": "%1$s被陽光烤熟", + "death.attack.unicopia.sunlight.player": "%1$s在避開%2$s時被陽光烤熟", + "death.attack.unicopia.petrified": "%1$s石化了", + "death.attack.unicopia.petrified.self": "%1$s變成了石頭", + "death.attack.unicopia.petrified.player": "%1$s在避開%2$s時變成了石頭", + "death.attack.unicopia.magical_exhaustion": "%1$s累死了", + "death.attack.unicopia.magical_exhaustion.self": "%1$s累死了自己", + "death.attack.unicopia.magical_exhaustion.player": "%1$s在避開%2$s時累死了", + "death.attack.unicopia.alicorn_amulet": "%1$s瘋了", + "death.attack.unicopia.alicorn_amulet.self": "%1$s把自己逼瘋了", + "death.attack.unicopia.alicorn_amulet.player": "%1$s在避開%2$s時瘋了", + "death.attack.unicopia.darkness": "%1$s失蹤了", + "death.attack.unicopia.darkness.self": "%1$s失蹤了", + "death.attack.unicopia.darkness.player": "%1$s在避開%2$s時失蹤了", + "death.attack.unicopia.love_draining": "%1$s的愛意被榨乾了", + "death.attack.unicopia.love_draining.self": "%1$s放棄了自己的愛意", + "death.attack.unicopia.love_draining.player": "%2$s把%1$s的愛意榨乾了", + "death.attack.unicopia.life_draining": "%1$s被續死了", + "death.attack.unicopia.life_draining.self": "%1$s把自己續死了", + "death.attack.unicopia.life_draining.player": "%2$s把%1$s續死了", + "death.attack.unicopia.bat_screech": "%1$s嚇死了", + "death.attack.unicopia.bat_screech.self": "%1$s把自己嚇死了", + "death.attack.unicopia.bat_screech.player": "%2$s把%1$s嚇死了", + "death.attack.unicopia.bat_screech.item": "%1$s被%2$s用%3$s嚇死了", + "death.attack.unicopia.gravity_well_recoil": "%1$s變成了麪條", + "death.attack.unicopia.gravity_well_recoil.player": "%1$s被%2$s的施咒變成了麪條", + "death.attack.unicopia.gravity_well_recoil.item": "%1$s被%2$s的%3$s施咒變成了麪條", + "death.attack.unicopia.gravity_well_recoil.self": "%1$s把自己變成了麪條", + "death.attack.unicopia.smash": "%1$s被蹄子壓扁了", + "death.attack.unicopia.smash.self": "%1$s自己用蹄子壓扁了自己", + "death.attack.unicopia.smash.player": "%1$s被%2$s用蹄子壓扁了", + "death.attack.unicopia.zap": "%1$s體驗了彩虹的力量", + "death.attack.unicopia.zap.self": "%1$s體驗了彩虹的力量", + "death.attack.unicopia.zap.player": "%1$s在避開%2$s時體會到了彩虹的力量", + "death.attack.unicopia.paradox": "%1$s內爆了", + "death.attack.unicopia.paradox.self": "%1$s自爆", + "death.attack.unicopia.paradox.player": "%1$s被%2$s內爆了", + "death.attack.unicopia.food_poisoning": "%1$s死於食物中毒", + "death.attack.unicopia.food_poisoning.self": "%1$s死於食物中毒", + "death.attack.unicopia.food_poisoning.player": "%2$s讓%1$s食物中毒死亡", + "death.attack.unicopia.black_hole": "%1$s被吸入黑洞", + "death.attack.unicopia.black_hole.self": "%1$s被吸入黑洞", + "death.attack.unicopia.black_hole.player": "%1$s被吸入%2$s的黑洞", + "death.attack.unicopia.kick": "%1$s被踢爆", + "death.attack.unicopia.kick.self": "%1$s把自己踢爆", + "death.attack.unicopia.kick.player": "%2$s把%1$s踢爆", + "death.attack.unicopia.steamroller": "%1$s變得很平", + "death.attack.unicopia.steamroller.self": "%1$s把自己變得很平", + "death.attack.unicopia.steamroller.player": "%2$s把%1$s變得很平", + "death.attack.unicopia.stalagmite.pegasus": "%1$s擁抱了鐘乳石", + "death.attack.unicopia.stalagmite.pegasus.player": "%1$s在避開%2$s時擁抱了鐘乳石", + "death.attack.unicopia.rock": "%1$s被揍了", + "death.attack.unicopia.rock.self": "%1$s把自己揍死了", + "death.attack.unicopia.rock.item": "%1$s被%2$s用%3$s揍死了", + "death.attack.unicopia.rock.player": "%1$s被%2$s揍死了", + "death.attack.unicopia.horseshoe": "%1$s被敲死了", + "death.attack.unicopia.horseshoe.self": "%1$s把自己敲死了", + "death.attack.unicopia.horseshoe.item": "%1$s被%2$s用%3$s敲死了", + "death.attack.unicopia.horseshoe.player": "%1$s被%2$s敲死了", "death.fell.accident.ladder.pegasus": "%1$s forgot they could fly and fell off a ladder", "death.fell.accident.vines.pegasus": "%1$s forgot they could fly and fell off some vines", @@ -1446,39 +1446,39 @@ "death.fell.accident.scaffolding.pegasus": "%1$s forgot they could fly and fell off scaffolding", "death.fell.accident.other_climbable.pegasus": "%1$s forgot they could fly and fell while climbing", "death.fell.accident.generic.pegasus": "%1$s forgot they could fly", - "death.fell.accident.pegasus": "%1$s forgot they could fly", - "death.fell.accident.water": "%1$s got their wings wet", + "death.fell.accident.pegasus": "%1$s忘記了自己能飛", + "death.fell.accident.water": "%1$s的翅膀太溼了", - "painting.unicopia.hurricane.title": "Hurricane", - "painting.unicopia.hurricane.author": "飛馬Tribe", - "painting.unicopia.platinum.title": "Platinum", - "painting.unicopia.platinum.author": "獨角Tribe", - "painting.unicopia.pudding.title": "Pudding", - "painting.unicopia.pudding.author": "陸馬Tribe", - "painting.unicopia.equestria.title": "Equestrian Flag", + "painting.unicopia.hurricane.title": "颶風", + "painting.unicopia.hurricane.author": "飛馬族", + "painting.unicopia.platinum.title": "白金", + "painting.unicopia.platinum.author": "獨角族", + "painting.unicopia.pudding.title": "布甸", + "painting.unicopia.pudding.author": "陸馬族", + "painting.unicopia.equestria.title": "馬國國旗", "painting.unicopia.equestria.author": "Unicopia", - "painting.unicopia.terra.title": "Terra", - "painting.unicopia.terra.author": "陸馬Tribe", - "painting.unicopia.blossom.title": "Blossom", - "painting.unicopia.blossom.author": "Chancellor Pudding Head", - "painting.unicopia.shadow.title": "Shadow", - "painting.unicopia.shadow.author": "Nightmare Moon", - "painting.unicopia.bloom.title": "Bloom", + "painting.unicopia.terra.title": "地", + "painting.unicopia.terra.author": "陸馬族", + "painting.unicopia.blossom.title": "花", + "painting.unicopia.blossom.author": "布甸頭總理", + "painting.unicopia.shadow.title": "暗影", + "painting.unicopia.shadow.author": "夢魘之月", + "painting.unicopia.bloom.title": "芽", "painting.unicopia.bloom.author": "CMC", - "painting.unicopia.chicken.title": "Chicken", + "painting.unicopia.chicken.title": "雞", "painting.unicopia.chicken.author": "CMC", - "painting.unicopia.bells.title": "Bells", + "painting.unicopia.bells.title": "鈴", "painting.unicopia.bells.author": "CMC", - "painting.unicopia.crystal.title": "Crystals", - "painting.unicopia.crystal.author": "King Sombra", - "painting.unicopia.harmony.title": "Harmony", + "painting.unicopia.crystal.title": "水晶", + "painting.unicopia.crystal.author": "黑晶王", + "painting.unicopia.harmony.title": "和諧", "painting.unicopia.harmony.author": "Unicopia", - "painting.unicopia.lunar.title": "Lunar", - "painting.unicopia.lunar.author": "Bat Pony Tribe", - "painting.unicopia.solar.title": "Solar", - "painting.unicopia.solar.author": "Royal Guard", - "painting.unicopia.equality.title": "Equality", - "painting.unicopia.equality.author": "Starlight Glimmer", + "painting.unicopia.lunar.title": "月", + "painting.unicopia.lunar.author": "夜騏族", + "painting.unicopia.solar.title": "日", + "painting.unicopia.solar.author": "皇家守衛", + "painting.unicopia.equality.title": "平等", + "painting.unicopia.equality.author": "星光熠熠", "unicopia.subtitle.flap_wings": "Wing flaps", "unicopia.subtitle.dash": "Pony Dashes", From cd6047ba8e668a28e4e5819650cc656cc20127c8 Mon Sep 17 00:00:00 2001 From: Sprinkled Frosting Date: Sat, 3 Feb 2024 16:22:49 +0000 Subject: [PATCH 15/52] =?UTF-8?q?=E5=AD=97=E5=B9=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/assets/unicopia/lang/zh_tw.json | 106 +++++++++--------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/zh_tw.json b/src/main/resources/assets/unicopia/lang/zh_tw.json index e299ea3c..9a068bbe 100644 --- a/src/main/resources/assets/unicopia/lang/zh_tw.json +++ b/src/main/resources/assets/unicopia/lang/zh_tw.json @@ -280,12 +280,12 @@ "block.unicopia.mysterious_egg": "神祕卵", "block.unicopia.hive": "蟲巢", "block.unicopia.slime_pustule": "粘液膿皰", - "block.unicopia.chitin": "外殼", + "block.unicopia.chitin": "蟲殼", "block.unicopia.chitin_spikes": "殼刺", - "block.unicopia.chiselled_chitin": "浮雕外殼", + "block.unicopia.chiselled_chitin": "浮雕蟲殼", "block.unicopia.chiselled_chitin_hull": "浮雕殼腔", - "block.unicopia.chiselled_chitin_slab": "浮雕外殼半磚", - "block.unicopia.chiselled_chitin_stairs": "浮雕外殼階梯", + "block.unicopia.chiselled_chitin_slab": "浮雕蟲殼半磚", + "block.unicopia.chiselled_chitin_stairs": "浮雕蟲殼階梯", "block.unicopia.shaping_bench": "塑形桌", "block.unicopia.cloud": "雲朵", @@ -1480,55 +1480,55 @@ "painting.unicopia.equality.title": "平等", "painting.unicopia.equality.author": "星光熠熠", - "unicopia.subtitle.flap_wings": "Wing flaps", - "unicopia.subtitle.dash": "Pony Dashes", - "unicopia.subtitle.wind_rush": "Wind gusts", - "unicopia.subtitle.insects": "Insects Scurrying", - "unicopia.subtitle.changeling_buzz": "Drone buzzing", - "unicopia.subtitle.batpony_eeee": "Batpony Screeches", - "unicopia.subtitle.sonar": "Sonar Pulses", - "unicopia.subtitle.changeling.transform": "Changeling transforms", - "unicopia.subtitle.screech": "Hippogriff Screeches", - "unicopia.subtitle.pegasus.molt": "Pegasus loses feather", - "unicopia.subtitle.unicorn.teleport": "Magic pops", - "unicopia.subtitle.player.wololo": "Wololo!", - "unicopia.subtitle.entity.player.whistle": "Player whistles", - "unicopia.subtitle.entity.player.kick": "Player kicks", - "unicopia.subtitle.magic_aura": "Magic humming", - "unicopia.subtitle.player.rebound": "Player Bounces Off Wall", - "unicopia.subtitle.screech": "Player Screeches", - "unicopia.subtitle.ears_ringing": "Ears ringing", - "unicopia.subtitle.heartbeat": "Heart beats", - "unicopia.subtitle.entity.artefact.ambient": "Magic hums", - "unicopia.subtitle.entity.butterfly.hurt": "Butterfly hurts", - "unicopia.subtitle.entity.twittermite.ambient": "Twittermite squeaks", - "unicopia.subtitle.entity.twittermite.death": "Twittermite dies", - "unicopia.subtitle.entity.twittermite.hurt": "Twittermite hurts", - "unicopia.subtitle.entity.jar.throw": "Jar thrown", - "unicopia.subtitle.entity.crystal_heart.activate": "Crystal heart activates", - "unicopia.subtitle.entity.crystal_heart.deactivate": "Crystal heart deactivates", - "unicopia.subtitle.entity.sombra.ambient": "Evil Laughter", - "unicopia.subtitle.entity.sombra.laugh": "King Sombra Laughs", - "unicopia.subtitle.entity.sombra.snicker": "King Sombra Snickers", - "unicopia.subtitle.item.amulet.charging": "Amulet charges", - "unicopia.subtitle.item.amulet.recharge": "Amulet recharged", - "unicopia.subtitle.item.icarus_wings.resonate": "Icarus wings resonate", - "unicopia.subtitle.item.icarus_wings.corrupted": "Icarus wings corrupted", - "unicopia.subtitle.item.icarus_wings.warn": "Icarus wings breaking", - "unicopia.subtitle.item.icarus_wings.break": "Icarus wings breaks", - "unicopia.subtitle.item.alicorn_amulet.curse": "Alicorn Amulet curse begins", - "unicopia.subtitle.item.alicorn_amulet.ambient": "Alicorn Amulet ambient", - "unicopia.subtitle.item.apple.rot": "Apple rots", - "unicopia.subtitle.item.bracelet.sign": "Bracelet signed", - "unicopia.subtitle.block.chitin.ambience": "Scuttering", - "unicopia.subtitle.block.slime_pustule.pop": "Slime Pustule Burts", - "unicopia.subtitle.spell.cast.fail": "Spellcast fails", - "unicopia.subtitle.spell.cast.success": "Spell casts", - "unicopia.subtitle.spell.cast.shoot": "Unicorn shoots", - "unicopia.subtitle.spell.illusion.disperse": "Changeling reveals", - "unicopia.subtitle.spell.fire.shoot.bolt": "Firebolt fires", - "unicopia.subtitle.spell.shield.projectile.burn": "Arrow burns", - "unicopia.subtitle.spell.transform.transmute.entity": "Magic pops", + "unicopia.subtitle.flap_wings": "翅膀:扇動", + "unicopia.subtitle.dash": "小馬:疾飛", + "unicopia.subtitle.wind_rush": "狂風:呼嘯", + "unicopia.subtitle.insects": "昆蟲:亂竄", + "unicopia.subtitle.changeling_buzz": "幻形靈:嗡嗡", + "unicopia.subtitle.batpony_eeee": "夜騏:尖嘯", + "unicopia.subtitle.sonar": "聲納脈衝", + "unicopia.subtitle.changeling.transform": "幻形靈:轉變", + "unicopia.subtitle.screech": "駿鷹:尖嘯", + "unicopia.subtitle.pegasus.molt": "飛馬:掉落羽毛", + "unicopia.subtitle.unicorn.teleport": "魔法:傳送", + "unicopia.subtitle.player.wololo": "喔囉囉!", + "unicopia.subtitle.entity.player.whistle": "玩家:吹口哨", + "unicopia.subtitle.entity.player.kick": "玩家:踢", + "unicopia.subtitle.magic_aura": "魔法:低鳴", + "unicopia.subtitle.player.rebound": "玩家:彈開", + "unicopia.subtitle.screech": "玩家:尖嘯", + "unicopia.subtitle.ears_ringing": "耳鳴", + "unicopia.subtitle.heartbeat": "心跳", + "unicopia.subtitle.entity.artefact.ambient": "魔法:嗡嗡", + "unicopia.subtitle.entity.butterfly.hurt": "蝴蝶:受傷", + "unicopia.subtitle.entity.twittermite.ambient": "雷光蟲:鳴叫", + "unicopia.subtitle.entity.twittermite.death": "雷光蟲:死亡", + "unicopia.subtitle.entity.twittermite.hurt": "雷光蟲:受傷", + "unicopia.subtitle.entity.jar.throw": "罐子:扔出", + "unicopia.subtitle.entity.crystal_heart.activate": "水晶之心:啓用", + "unicopia.subtitle.entity.crystal_heart.deactivate": "水晶之心:關閉", + "unicopia.subtitle.entity.sombra.ambient": "邪惡笑聲", + "unicopia.subtitle.entity.sombra.laugh": "黑晶王:大笑", + "unicopia.subtitle.entity.sombra.snicker": "黑晶王:嗤笑", + "unicopia.subtitle.item.amulet.charging": "護符:充能中", + "unicopia.subtitle.item.amulet.recharge": "護符:已充能", + "unicopia.subtitle.item.icarus_wings.resonate": "飛馬護符:共振", + "unicopia.subtitle.item.icarus_wings.corrupted": "飛馬護符:墮落", + "unicopia.subtitle.item.icarus_wings.warn": "飛馬護符:損壞", + "unicopia.subtitle.item.icarus_wings.break": "飛馬護符:損毀", + "unicopia.subtitle.item.alicorn_amulet.curse": "天角護符:詛咒開始", + "unicopia.subtitle.item.alicorn_amulet.ambient": "天角護符:低鳴", + "unicopia.subtitle.item.apple.rot": "蘋果:腐爛", + "unicopia.subtitle.item.bracelet.sign": "手環:簽名", + "unicopia.subtitle.block.chitin.ambience": "蟲殼:低鳴", + "unicopia.subtitle.block.slime_pustule.pop": "粘液膿塊:爆開", + "unicopia.subtitle.spell.cast.fail": "施咒:失敗", + "unicopia.subtitle.spell.cast.success": "施咒:成功", + "unicopia.subtitle.spell.cast.shoot": "施咒:發射", + "unicopia.subtitle.spell.illusion.disperse": "幻形靈:現形", + "unicopia.subtitle.spell.fire.shoot.bolt": "火球:射出", + "unicopia.subtitle.spell.shield.projectile.burn": "箭:燃燒", + "unicopia.subtitle.spell.transform.transmute.entity": "魔法:轉變", "advancements.unicopia.root.title": "Unicopia", "advancements.unicopia.root.description": "A world of magic and adventure", From fef9c2bddeab3aa467167dbdbc65878f8a38820e Mon Sep 17 00:00:00 2001 From: Sprinkled Frosting Date: Sat, 3 Feb 2024 16:26:35 +0000 Subject: [PATCH 16/52] =?UTF-8?q?=E6=88=91=E4=BC=BC=E4=B9=8E=E5=BF=98?= =?UTF-8?q?=E8=A8=98=E4=BA=86=E4=B8=80=E4=BA=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/assets/unicopia/lang/zh_tw.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/zh_tw.json b/src/main/resources/assets/unicopia/lang/zh_tw.json index 9a068bbe..ae0a7f57 100644 --- a/src/main/resources/assets/unicopia/lang/zh_tw.json +++ b/src/main/resources/assets/unicopia/lang/zh_tw.json @@ -1439,13 +1439,13 @@ "death.attack.unicopia.horseshoe.item": "%1$s被%2$s用%3$s敲死了", "death.attack.unicopia.horseshoe.player": "%1$s被%2$s敲死了", - "death.fell.accident.ladder.pegasus": "%1$s forgot they could fly and fell off a ladder", - "death.fell.accident.vines.pegasus": "%1$s forgot they could fly and fell off some vines", - "death.fell.accident.weeping_vines.pegasus": "%1$s forgot they could fly and fell off some weeping vines", - "death.fell.accident.twisting_vines.pegasus": "%1$s forgot they could fly and fell off some twisting vines", - "death.fell.accident.scaffolding.pegasus": "%1$s forgot they could fly and fell off scaffolding", - "death.fell.accident.other_climbable.pegasus": "%1$s forgot they could fly and fell while climbing", - "death.fell.accident.generic.pegasus": "%1$s forgot they could fly", + "death.fell.accident.ladder.pegasus": "%1$s忘記了自己能飛,掉下了梯子", + "death.fell.accident.vines.pegasus": "%1$s忘記了自己能飛,掉下了藤蔓", + "death.fell.accident.weeping_vines.pegasus": "%1$s忘記了自己能飛,掉下了垂泣藤", + "death.fell.accident.twisting_vines.pegasus": "%1$s忘記了自己能飛,掉下了扭曲藤", + "death.fell.accident.scaffolding.pegasus": "%1$s忘記了自己能飛,掉下了鷹架", + "death.fell.accident.other_climbable.pegasus": "%1$s忘記了自己能飛,失蹄掉落", + "death.fell.accident.generic.pegasus": "%1$s忘記了自己能飛", "death.fell.accident.pegasus": "%1$s忘記了自己能飛", "death.fell.accident.water": "%1$s的翅膀太溼了", From ac9428668a5b6f0d12037bcc7c6430a89ba2fe00 Mon Sep 17 00:00:00 2001 From: Sprinkled Frosting Date: Sat, 3 Feb 2024 16:55:38 +0000 Subject: [PATCH 17/52] =?UTF-8?q?=E9=80=B2=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/assets/unicopia/lang/zh_tw.json | 82 +++++++++---------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/zh_tw.json b/src/main/resources/assets/unicopia/lang/zh_tw.json index ae0a7f57..8efeef58 100644 --- a/src/main/resources/assets/unicopia/lang/zh_tw.json +++ b/src/main/resources/assets/unicopia/lang/zh_tw.json @@ -1531,50 +1531,50 @@ "unicopia.subtitle.spell.transform.transmute.entity": "魔法:轉變", "advancements.unicopia.root.title": "Unicopia", - "advancements.unicopia.root.description": "A world of magic and adventure", - "advancements.unicopia.praise_the_sun.title": "Praise the Sun!", - "advancements.unicopia.praise_the_sun.description": "Experience Celestia's unbridled glory", - "advancements.unicopia.cool_potato.title": "Cool Potato", - "advancements.unicopia.cool_potato.description": "Protect your eyes from the sun", - "advancements.unicopia.baked_bads.title": "Baked Bads", - "advancements.unicopia.baked_bads.description": "Bake a delicious muffin", - "advancements.unicopia.mid_flight_interruption.title": "Mid-Flight Interruption", - "advancements.unicopia.mid_flight_interruption.description": "Get struck by lightning whilst flying in a storm", - "advancements.unicopia.lightning_bug.title": "Lightning Bug", - "advancements.unicopia.lightning_bug.description": "Attract 10 lightning strikes", - "advancements.unicopia.jar.title": "Oh wow. What's this?", - "advancements.unicopia.jar.description": "Find an empty jar", - "advancements.unicopia.gotcha.title": "Got'cha!", - "advancements.unicopia.gotcha.description": "Capture a storm", - "advancements.unicopia.trick_apple.title": "Apple of Discord", - "advancements.unicopia.trick_apple.description": "Find your first zap apple", - "advancements.unicopia.feed_trick_apple.title": "Here, Try This", - "advancements.unicopia.feed_trick_apple.description": "Feed a zap apple to a mob", - "advancements.unicopia.eat_trick_apple.title": "Crunchy", - "advancements.unicopia.eat_trick_apple.description": "Bite into a zap apple", - "advancements.unicopia.eat_pinecone.title": "Desperation", - "advancements.unicopia.eat_pinecone.description": "Eat a pinecone", - "advancements.unicopia.imported_oats.title": "Delicious As They Are Expensive", - "advancements.unicopia.imported_oats.description": "Send or receive fancy imported oats", + "advancements.unicopia.root.description": "一個魔法與冒險的世界", + "advancements.unicopia.praise_the_sun.title": "歌頌太陽!", + "advancements.unicopia.praise_the_sun.description": "感受塞蕾斯蒂亞恣傲的輝煌", + "advancements.unicopia.cool_potato.title": "酷酷小馬", + "advancements.unicopia.cool_potato.description": "保護自己的眼睛不受太陽侵害", + "advancements.unicopia.baked_bads.title": "絕命糕點師", + "advancements.unicopia.baked_bads.description": "烤一份有十分甚至九分美味的鬆餅", + "advancements.unicopia.mid_flight_interruption.title": "飛行小恙", + "advancements.unicopia.mid_flight_interruption.description": "暴雨時被雷劈", + "advancements.unicopia.lightning_bug.title": "隱藏的雷光蟲", + "advancements.unicopia.lightning_bug.description": "被雷劈十次", + "advancements.unicopia.jar.title": "哇,這是什麼?", + "advancements.unicopia.jar.description": "找到一個空罐子", + "advancements.unicopia.gotcha.title": "抓到!", + "advancements.unicopia.gotcha.description": "捕獲暴雨", + "advancements.unicopia.trick_apple.title": "無序林檎", + "advancements.unicopia.trick_apple.description": "找到你的第一個彩虹蘋果", + "advancements.unicopia.feed_trick_apple.title": "來,試試這個", + "advancements.unicopia.feed_trick_apple.description": "將彩虹蘋果喂給其他生物", + "advancements.unicopia.eat_trick_apple.title": "酥脆", + "advancements.unicopia.eat_trick_apple.description": "吃下彩虹蘋果", + "advancements.unicopia.eat_pinecone.title": "走投無路", + "advancements.unicopia.eat_pinecone.description": "吃下松果", + "advancements.unicopia.imported_oats.title": "上流享受", + "advancements.unicopia.imported_oats.description": "送出或收到高檔進口燕麥", - "advancements.unicopia.experimental.title": "You Can't Take It With You", - "advancements.unicopia.experimental.description": "Enchant a tool with Consumption", - "advancements.unicopia.xp_miner.title": "XP Miner", - "advancements.unicopia.xp_miner.description": "Use consumption to dig up some experience", + "advancements.unicopia.experimental.title": "馬過留物", + "advancements.unicopia.experimental.description": "將工具附上經驗轉化魔咒", + "advancements.unicopia.xp_miner.title": "經驗礦工", + "advancements.unicopia.xp_miner.description": "使用經驗轉化魔咒挖一些經驗", - "advancements.unicopia.hearts_stronger_than_horses.title": "Hearts Stronger Than Horses", - "advancements.unicopia.hearts_stronger_than_horses.description": "Enchant a tool with Heart Bound", - "advancements.unicopia.soulmate.title": "You Can Keep it With You", - "advancements.unicopia.soulmate.description": "Die whilst holding a heart-bound item", + "advancements.unicopia.hearts_stronger_than_horses.title": "赤膽忠心", + "advancements.unicopia.hearts_stronger_than_horses.description": "將工具附上赤膽忠心魔咒", + "advancements.unicopia.soulmate.title": "靈魂伴侶", + "advancements.unicopia.soulmate.description": "死亡時持有帶有赤膽忠心魔咒的工具", - "advancements.unicopia.burn_juice.title": "That doesn't seem right", - "advancements.unicopia.burn_juice.description": "Burn the juice", - "advancements.unicopia.apple_route.title": "Apple, Apple, Apple", - "advancements.unicopia.apple_route.description": "Start your journey towards the apple of legend", - "advancements.unicopia.juice.title": "Refreshing", - "advancements.unicopia.juice.description": "Finally a use for all these apples", - "advancements.unicopia.toast.title": "He's Crispy and delicious!", - "advancements.unicopia.toast.description": "Make a toasted companion", + "advancements.unicopia.burn_juice.title": "不太對勁", + "advancements.unicopia.burn_juice.description": "將蘋果汁烤糊", + "advancements.unicopia.apple_route.title": "蘋果、蘋果、蘋果", + "advancements.unicopia.apple_route.description": "開啓你的蘋果傳奇遊記", + "advancements.unicopia.juice.title": "清爽", + "advancements.unicopia.juice.description": "這些蘋果終於有用了", + "advancements.unicopia.toast.title": "酥脆美味!", + "advancements.unicopia.toast.description": "烤一烤你的麪包片伴侶", "advancements.unicopia.burn_toast.title": "Toasty NOOOOOOO!", "advancements.unicopia.burn_toast.description": "Burn Toasty", "advancements.unicopia.lucky.title": "As seen on TV", From d7dda76ebdd1ff43fbf2c8e88a5923e4f988dd44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lumi=C3=A8re=20=C3=89lev=C3=A9?= <88174309+PoneyClairDeLune@users.noreply.github.com> Date: Sat, 3 Feb 2024 16:57:46 +0000 Subject: [PATCH 18/52] What the heck I didn't even pass the first 10% --- src/main/resources/assets/unicopia/lang/fr_fr.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/fr_fr.json b/src/main/resources/assets/unicopia/lang/fr_fr.json index 2071cc05..61de489d 100644 --- a/src/main/resources/assets/unicopia/lang/fr_fr.json +++ b/src/main/resources/assets/unicopia/lang/fr_fr.json @@ -125,12 +125,12 @@ "item.unicopia.pinecone": "Punone", "item.unicopia.acorn": "Gland", "item.unicopia.green_apple_seeds": "Granny Smith Apple Seeds", - "item.unicopia.sweet_apple_seeds": "Sweet Apple Seeds", - "item.unicopia.sour_apple_seeds": "Sour Apple Seeds", - "item.unicopia.golden_oak_seeds": "Golden Oak Seeds", - "item.unicopia.apple_pie_hoof": "Apple Pie with a Hoofprint", - "item.unicopia.apple_pie_slice": "Slice Of Apple Pie", - "item.unicopia.candied_apple": "Candied Apple", + "item.unicopia.sweet_apple_seeds": "Graines de pomme sucré", + "item.unicopia.sour_apple_seeds": "Graines de pomme aigre", + "item.unicopia.golden_oak_seeds": "Graines de Golden Oak", + "item.unicopia.apple_pie_hoof": "Tarte aux pommes avec empreinte de sabot", + "item.unicopia.apple_pie_slice": "Tranche de tarte aux pommes", + "item.unicopia.candied_apple": "Pomme en sucre", "item.unicopia.oats": "Oats", "item.unicopia.imported_oats": "Fancy Imported Oats", From cfd2d7d42b38a9777743612e34d32913c26a7763 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lumi=C3=A8re=20=C3=89lev=C3=A9?= <88174309+PoneyClairDeLune@users.noreply.github.com> Date: Sat, 3 Feb 2024 17:02:55 +0000 Subject: [PATCH 19/52] Gitea --- .../resources/assets/unicopia/lang/fr_fr.json | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/fr_fr.json b/src/main/resources/assets/unicopia/lang/fr_fr.json index 61de489d..508c5165 100644 --- a/src/main/resources/assets/unicopia/lang/fr_fr.json +++ b/src/main/resources/assets/unicopia/lang/fr_fr.json @@ -132,16 +132,16 @@ "item.unicopia.apple_pie_slice": "Tranche de tarte aux pommes", "item.unicopia.candied_apple": "Pomme en sucre", - "item.unicopia.oats": "Oats", - "item.unicopia.imported_oats": "Fancy Imported Oats", - "item.unicopia.oatmeal": "Oatmeal", - "item.unicopia.oat_seeds": "Oat Seeds", - "item.unicopia.daffodil_daisy_sandwich": "Daffodil Daisy Sandwich", - "item.unicopia.hay_burger": "Hay Burger", - "item.unicopia.hay_fries": "Hay Fries", - "item.unicopia.crispy_hay_fries": "Crispy Hay Fries", - "item.unicopia.horse_shoe_fries": "Horse Shoe Fries", - "item.unicopia.wheat_worms": "Wheat Worms", + "item.unicopia.oats": "Avoine", + "item.unicopia.imported_oats": "Avoine importée", + "item.unicopia.oatmeal": "Gruau", + "item.unicopia.oat_seeds": "Graines d'avoine", + "item.unicopia.daffodil_daisy_sandwich": "Sandwich à la jonquille et à la marguerite", + "item.unicopia.hay_burger": "Burger de foins", + "item.unicopia.hay_fries": "Frites de foins", + "item.unicopia.crispy_hay_fries": "Frites de foins croustillante", + "item.unicopia.horse_shoe_fries": "Frites de fer à cheval", + "item.unicopia.wheat_worms": "Ver de blé", "item.unicopia.muffin": "Muffin", "item.unicopia.pegasus_amulet": "Wings of Icarus", From ec1fcdb41df73f852f740b4526c5db0155cb28f6 Mon Sep 17 00:00:00 2001 From: Cryghast Date: Sun, 4 Feb 2024 01:18:54 +0800 Subject: [PATCH 20/52] =?UTF-8?q?=E9=AD=94=E5=92=92=E6=94=B9=E6=88=90?= =?UTF-8?q?=E9=AD=94=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HOW_TO_PLAY_CN.md | 4 +- README_CN.md | 4 +- .../resources/assets/unicopia/lang/en_us.json | 2 +- .../resources/assets/unicopia/lang/zh_cn.json | 120 +++++++++--------- 4 files changed, 65 insertions(+), 65 deletions(-) diff --git a/HOW_TO_PLAY_CN.md b/HOW_TO_PLAY_CN.md index 79cc2885..90cc150c 100644 --- a/HOW_TO_PLAY_CN.md +++ b/HOW_TO_PLAY_CN.md @@ -13,9 +13,9 @@ - 魔法 - 独角兽需要魔法宝石来施法,没有魔法的普通宝石可以从挖矿活动中取得。一开始,您需要用一颗宝石和一本书合成魔法书,魔法书将助力您解析各物品中含有的要素并辅助您用这些要素开发各类魔咒配方,同样可以用于修饰已有配方。 + 独角兽需要魔法宝石来施法,没有魔法的普通宝石可以从挖矿活动中取得。一开始,您需要用一颗宝石和一本书合成魔法书,魔法书将助力您解析各物品中含有的要素并辅助您用这些要素开发各类魔法配方,同样可以用于修饰已有配方。 - 当您做出了所需的魔法宝石后,您可以拿着它右键以将其中的魔法导入到主槽位或是副槽位(按下潜行键)中 ,这些魔咒将可以以您的主技能形式激活。您也可以直接拿着魔法宝石释放其中的魔力。 + 当您做出了所需的魔法宝石后,您可以拿着它右键以将其中的魔法导入到主槽位或是副槽位(按下潜行键)中 ,这些魔法将可以以您的主技能形式激活。您也可以直接拿着魔法宝石释放其中的魔力。 - 瞬移 diff --git a/README_CN.md b/README_CN.md index 44303c8c..3d35c48b 100644 --- a/README_CN.md +++ b/README_CN.md @@ -16,9 +16,9 @@ 独角兽,天马,陆马,甚至幻形灵都有其独特的能力 - - *成为独角兽,* 学习使用魔法!制成您的第一本魔法书并开展实验。既可研究不同魔咒的配方与功效,亦可潜心研究历史传说,揭开这奇幻世界过往的面纱! + - *成为独角兽,* 学习使用魔法!制成您的第一本魔法书并开展实验。既可研究不同魔法的配方与功效,亦可潜心研究历史传说,揭开这奇幻世界过往的面纱! - 除了施放保护自己的防护罩,用魔法镭射焚烧敌人的魔咒外,独角兽还可利用瞬移法术免去翻山越岭的苦恼,直接传送到难以到达的地方。 + 除了施放保护自己的防护罩,用魔法镭射焚烧敌人的魔法外,独角兽还可利用瞬移法术免去翻山越岭的苦恼,直接传送到难以到达的地方。 - *成为天马,*统治天空!除了能飞以外,天马还可以制造彩虹音爆、用罐子收容坏天气,相比于其他种族可触距离更远,跑得更快。 diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index 90e2a220..2550628c 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -1000,7 +1000,7 @@ "gui.unicopia.spellbook.chapter.air.p13.1.body": "I'm writing this on the eve of my return to §kTrotholm§r. Though my time in Cloudopolis has been elightening, I look forward to a return to the familiar surroundings and a proper rest in my own solid bed.", "gui.unicopia.spellbook.chapter.air.p13.2.body": "I cannot say the same for Luna, though. She is currently sitting on my bed beside me pouting over every little thing she sees me put into my saddlebag.", "gui.unicopia.spellbook.chapter.air.p14.title": "Returning Home", - "gui.unicopia.spellbook.chapter.air.p14.1.body": "She keeps insisting that we stay a little longer §mto hang out with that pegasus colt I saw her with the other day, no doubt", + "gui.unicopia.spellbook.chapter.air.p14.1.body": "She keeps insisting that we stay a little longer §mto hang out with that pegasus colt I saw her with the other day, no doubt.", "gui.unicopia.spellbook.chapter.air.p15.title": "22nd Hoof '12", "gui.unicopia.spellbook.chapter.air.p15.1.body": "As we're flying above the mountain tops, I can't help but feel in awe the beauty that §kMother Faust§r has given us.", "gui.unicopia.spellbook.chapter.air.p15.2.body": "I had to spend the whole time keeping Luna from falling out, and of course answering questions about all the different kinds of clouds. Thankfully, the balloon operator was there to help with the subtleties.", diff --git a/src/main/resources/assets/unicopia/lang/zh_cn.json b/src/main/resources/assets/unicopia/lang/zh_cn.json index 283b9576..af7c7eb2 100644 --- a/src/main/resources/assets/unicopia/lang/zh_cn.json +++ b/src/main/resources/assets/unicopia/lang/zh_cn.json @@ -803,7 +803,7 @@ "gui.unicopia.spellbook.recipe.requires": "需要:", "gui.unicopia.spellbook.author1.sign_off": "奉公主圣旨", "gui.unicopia.spellbook.author1.sign_off.b": "奉公主圣旨,附十分抱歉", - "gui.unicopia.spellbook.author1.name": "- 奉公主圣旨", + "gui.unicopia.spellbook.author1.name": "- 白胡子星璇", "gui.unicopia.spellbook.author2.name": "- 森布拉 领主", "gui.unicopia.spellbook.author3.name": "- XOXOX Lulu", "gui.unicopia.spellbook.chapter.artefacts.status.unconfirmed": "目前状态:未知", @@ -812,12 +812,12 @@ "gui.unicopia.spellbook.chapter.introduction.p1.title": "前言", "gui.unicopia.spellbook.chapter.introduction.p1.body": "无论谁持有这本书,都要小心你所寻找的东西,你可能不喜欢你找到的东西。§k致马国§r。", "gui.unicopia.spellbook.chapter.introduction.p2.title": "第一章 小马国的魔法", - "gui.unicopia.spellbook.chapter.introduction.p2.body": "小马国充满了形形色色的魔法。然而,在最近的事件之后,很明显,我们并不完全了解小马国世界的一切。这就是为什么公主让我研究各种形式的魔法,所以我们可以利用它,并且,我希望,能将我们从§混沌的侵袭§中拯救出来。", + "gui.unicopia.spellbook.chapter.introduction.p2.body": "小马国充满了形形色色的魔法。然而,在最近的事件之后,很明显,我们并不完全了解小马国世界的一切。这就是为什么公主让我研究各种形式的魔法,所以我们可以利用它,并且,我希望,能将我们从§k混沌的侵袭§r中拯救出来。", "gui.unicopia.spellbook.chapter.introduction.p3.title": "1st Mare '12", "gui.unicopia.spellbook.chapter.introduction.p3.1.body": "不寻常的石头", - "gui.unicopia.spellbook.chapter.introduction.p3.2.body": "当地小马所说的“宝石”,是世界各处常见的材料。农场小马一直在挖掘它们,并认为这是当地的美食,但我相信这些石头的能力比它们想象的要多得多。", + "gui.unicopia.spellbook.chapter.introduction.p3.2.body": "当地小马所说的“宝石”,是世界各处常见的材料。农场小马一直在挖掘它们,并认为这是当地的美食,但我相信这些石头的能力比他们想象的要多得多。", "gui.unicopia.spellbook.chapter.introduction.p4.title": "宝石", - "gui.unicopia.spellbook.chapter.introduction.p4.1.body": "我的研究尚未完成,但我可能偶然发现了一些东西。这些石头具有很高的魔法潜能!比我以前见过的还要多!", + "gui.unicopia.spellbook.chapter.introduction.p4.1.body": "我的研究尚未完成,但我可能偶然发现了一些东西。这些石头里具有很高的魔法潜能!比我以前见过的还要多!", "gui.unicopia.spellbook.chapter.introduction.p4.2.body": "§m露娜想要—§r 我会继续尝试。祝我自己马到成功!如果我发现什么,我明天会通知你。", "gui.unicopia.spellbook.chapter.introduction.p5.title": "2nd Mare '12", "gui.unicopia.spellbook.chapter.introduction.p5.1.body": "我去,成功了! 圣 §k大公主的屁股脸蛋'§r 的确实奏效了,", @@ -832,7 +832,7 @@ "gui.unicopia.spellbook.chapter.introduction.p7.2.body": "但有些东西不太清楚。例如,鸡蛋会给魔法增加哪些特性?需要进行大量实验。哦,我兴奋得头晕目眩!", "gui.unicopia.spellbook.chapter.introduction.p8.title": "报废的宝石", "gui.unicopia.spellbook.chapter.introduction.p8.1.body": "并非每种组合都有效。令马失望的是,现在我的房间里堆满了这些无用的石头。", - "gui.unicopia.spellbook.chapter.introduction.p8.2.body": "我不知道该怎么处理它们。它们不可食用,但当地小马不这么认为。", + "gui.unicopia.spellbook.chapter.introduction.p8.2.body": "我不知道该怎么处理它们。它们没法吃,但当地小马不这么认为。", "gui.unicopia.spellbook.chapter.introduction.p8.3.body": "它们仍然具有我赋予它们的要素,所以也许除了和小露娜一起建造岩石堡垒之外,我还能找到其他用途…", "gui.unicopia.spellbook.chapter.introduction.p9.title": "13th Mare '12", "gui.unicopia.spellbook.chapter.introduction.p9.1.body": "很抱歉我拖更了。我一直在努力研究不同的法术并决定要用什么方法。", @@ -840,7 +840,7 @@ "gui.unicopia.spellbook.chapter.fire.p1.title": "第二章 火魔法", "gui.unicopia.spellbook.chapter.fire.p2.title": "9th Jum '12", - "gui.unicopia.spellbook.chapter.fire.p2.1.body": "我花的时间比预想中要长,都快一个月了,哈哈!但是,亲爱的读者,我向你隆重宣布,我发现了第一种元素魔法:火魔法。", + "gui.unicopia.spellbook.chapter.fire.p2.1.body": "我花费的时间比预想中要长,都快一个月了,哈哈!但是,亲爱的读者,我向你隆重宣布,我发现了第一种元素魔法:火魔法。", "gui.unicopia.spellbook.chapter.fire.p2.2.body": "暂时就这么叫,好吧?", "gui.unicopia.spellbook.chapter.fire.scorch.1.body": "顾名思义,灼烧魔法就是用来灼烧的。通过赋予宝石火元素,可以让宝石发光和放热。", "gui.unicopia.spellbook.chapter.fire.scorch.2.body": "你装填的火元素越多,宝石发光放热就越剧烈,但注意不要装过载了,不然它说不定什么时候就过火了。", @@ -848,13 +848,13 @@ "gui.unicopia.spellbook.chapter.fire.flame.2.body": "在急需用火或抵御风之魔时很有用。", "gui.unicopia.spellbook.chapter.fire.p5.title": "10th Jum '12", "gui.unicopia.spellbook.chapter.fire.p5.1.body": "有进展吗?", - "gui.unicopia.spellbook.chapter.fire.p5.2.body": "我成功地改进了先前的魔咒,但还是缺点什么。一切都是有序且可预测的。", - "gui.unicopia.spellbook.chapter.fire.p5.3.body": "露娜建议我再加点火,但我可不想在塔楼上弄出更多烧焦的痕迹。要是别的小马知道我在做什么,那就只能请浮士德保佑了…", + "gui.unicopia.spellbook.chapter.fire.p5.2.body": "我成功地改进了先前的魔法,但还是缺点什么。一切都是有序且可预测的。", + "gui.unicopia.spellbook.chapter.fire.p5.3.body": "露娜建议我再加点火,但我可不想在塔楼上弄出更多烧焦的痕迹。要是让别的小马知道我在做什么的话,那就只能请浮士德保佑了…", "gui.unicopia.spellbook.chapter.fire.p6.title": "火魔法 · 三", "gui.unicopia.spellbook.chapter.fire.p6.1.body": "聚焦魔法", "gui.unicopia.spellbook.chapter.fire.p6.2.body": "有些魔法通常需要精神高度集中才能施放,并且需要角稳的魔法师来控制,但我发现具有聚焦元素的物品可以很好地补充那些急躁法师所缺乏的专心。", "gui.unicopia.spellbook.chapter.fire.p7.title": "火魔法 · 三(二)", - "gui.unicopia.spellbook.chapter.fire.p7.1.body": "任何你能找到的玻璃物品,如:眼珠、玻璃瓶,只要其中有透镜结构,都可以为魔咒灌入聚焦要素。", + "gui.unicopia.spellbook.chapter.fire.p7.1.body": "任何你能找到的玻璃物品,如:眼珠、玻璃瓶,只要其中有透镜结构,都可以为魔法灌入聚焦要素。", "gui.unicopia.spellbook.chapter.fire.p8.title": "片段2", "gui.unicopia.spellbook.chapter.fire.p8.1.body": "我们今天去赶集了。要从塔楼里出来活动活动。露娜建议我们走近看看小马们在卖些什么,我同意了。", "gui.unicopia.spellbook.chapter.fire.p8.2.body": "镇民们仍对我们持怀疑态度,不过谁也不能怪他们。至少露娜和其他的幼驹们相处得很好。", @@ -863,9 +863,9 @@ "gui.unicopia.spellbook.chapter.fire.fire_bolt.3.body": "- 当添加超过50个单位的聚焦要素时,这些射线似乎会自己找准目标(自瞄?)", "gui.unicopia.spellbook.chapter.fire.p10.title": "火魔法 · 四", "gui.unicopia.spellbook.chapter.fire.p10.1.body": "高能魔法", - "gui.unicopia.spellbook.chapter.fire.p10.2.body": "有些魔咒需要聚焦,另一些则需要能量。使得其能加力或产生某些能量。", + "gui.unicopia.spellbook.chapter.fire.p10.2.body": "有些魔法需要聚焦,另一些则需要能量。使得其能加力或产生某些能量。", "gui.unicopia.spellbook.chapter.fire.p10.3.body": "很少有独角兽有足够的能量来施放此类魔法,但好消息是我们身边并不缺乏能量要素。", - "gui.unicopia.spellbook.chapter.fire.p11.title": "火魔法 · 四(二)", + "gui.unicopia.spellbook.chapter.fire.p11.title": "火魔法 · 四(二)", "gui.unicopia.spellbook.chapter.fire.p11.1.body": "源自地质构造的物体,如石头、金属和矿物,这些承受过重压的物体将会表现出力量元素。", "gui.unicopia.spellbook.chapter.fire.p11.2.body": "和电有关的/导电的,可以用来驱动事物的物体,或者发光的东西也能提供能量要素。", "gui.unicopia.spellbook.chapter.fire.p12.title": "11th Jum '12", @@ -877,9 +877,9 @@ "gui.unicopia.spellbook.chapter.fire.p12.6.body": "§m我听说皇室正下令研究这种法术的其它用途。用来…", "gui.unicopia.spellbook.chapter.fire.p13.title": "20th Jum '12", "gui.unicopia.spellbook.chapter.fire.p13.1.body": "我得到了皇室的消息。他们似乎很满意,至少目前是这样。而且同意了我在过冬时继续推进研究。", - "gui.unicopia.spellbook.chapter.fire.p13.2.body": "我被迫毁掉了最后的几条记录我很害怕。", + "gui.unicopia.spellbook.chapter.fire.p13.2.body": "我不得不毁掉了最后的几条记录,我很害怕。", "gui.unicopia.spellbook.chapter.fire.p14.title": "21st Jum '12", - "gui.unicopia.spellbook.chapter.fire.p14.1.body": "我明天应该去见 §k飓风司令§r。也许她能道出我的困境。", + "gui.unicopia.spellbook.chapter.fire.p14.1.body": "我明天应该去见 §k飓风司令§r。也许她能疏解我的困境。", "gui.unicopia.spellbook.chapter.fire.shield.1.body": "学会施放护盾是每匹独角兽学习自卫的第一步。它用起来很简单,也是咒语入门的好切入点。", "gui.unicopia.spellbook.chapter.fire.shield.2.body": "其缺点是消耗能量和精神力,不过我们可以用先前提到的方法,将消耗转接到宝石上。", "gui.unicopia.spellbook.chapter.fire.shield.modifier.1": "+ 增加力量要素以扩大作用范围", @@ -890,7 +890,7 @@ "gui.unicopia.spellbook.chapter.fire.p17.1.body": "+ 添加慷慨元素,这样你就能将护盾放到你自己之外的地方", "gui.unicopia.spellbook.chapter.fire.p18.title": "Scrap: 9th Jum '12", "gui.unicopia.spellbook.chapter.fire.p18.1.body": "事实证明,火魔法有点…比我想得更不可预料。每次我感觉自己取得进展时,我都会莫名其妙地回到原点。", - "gui.unicopia.spellbook.chapter.fire.p18.2.body": "然而,我现在不能停…我被告知西线那已经剑拔弩张了。它们让我快马加鞭搞出一些东西,好让我们在与§kChangeling Storm§的战斗中占上风。", + "gui.unicopia.spellbook.chapter.fire.p18.2.body": "然而,我现在不能停…我被告知西线那已经剑拔弩张了。它们让我快马加鞭搞出一些东西,好让我们在与§k幻形灵风暴§r的战斗中占上风。", "gui.unicopia.spellbook.chapter.ice.p1.title": "第三章 冰魔法", "gui.unicopia.spellbook.chapter.ice.p2.title": "4th Trot '12", @@ -900,9 +900,9 @@ "gui.unicopia.spellbook.chapter.ice.frost.2.body": "直接从环境中剥夺物体的内能,使其性质剧变。", "gui.unicopia.spellbook.chapter.ice.p4.title": "凛冽之息", "gui.unicopia.spellbook.chapter.ice.p4.1.body": "使某些物体变得耐热。", - "gui.unicopia.spellbook.chapter.ice.p4.2.body": "这个魔咒威力非常小,但是如果作用在船上,没准可以解决一些棘手情况。", + "gui.unicopia.spellbook.chapter.ice.p4.2.body": "这个魔法威力非常小,但是如果作用在船上,没准可以解决一些棘手情况。", "gui.unicopia.spellbook.chapter.ice.p5.title": "5th Trot '12", - "gui.unicopia.spellbook.chapter.ice.p5.1.body": "那些镇马昨晚肯定是开了场篝火晚会啥的,那会儿气味刺鼻,歌声婉转。", + "gui.unicopia.spellbook.chapter.ice.p5.1.body": "那些镇马昨晚肯定是开了场篝火晚会之类的,那会儿气味刺鼻,歌声婉转。", "gui.unicopia.spellbook.chapter.ice.p5.2.body": "露娜,保佑她的心灵,一直喊我抽点时间陪她加入晚会。最后我被她从桌子边拽走了。", "gui.unicopia.spellbook.chapter.ice.p5.3.body": "我还能说啥呢?她可是我心中的明灯啊。", "gui.unicopia.spellbook.chapter.ice.p6.title": "篝火晚会", @@ -914,22 +914,22 @@ "gui.unicopia.spellbook.chapter.ice.p7.3.body": "冰魔法 · 二", "gui.unicopia.spellbook.chapter.ice.p7.4.body": "让半径长达三蹄内的物件表面冷却下来。", "gui.unicopia.spellbook.chapter.ice.p8.title": "6th Trot '12", - "gui.unicopia.spellbook.chapter.ice.p8.1.body": "昨晚镇子里传来了一些奇怪的异响。非常奇怪的那种。我听到许多小马在大喊大叫,也许是失火了。", + "gui.unicopia.spellbook.chapter.ice.p8.1.body": "昨天晚上镇子里传来了一些奇怪的异响,非常奇怪的那种。我听到许多小马在大喊大叫,也许是失火了。", "gui.unicopia.spellbook.chapter.ice.p8.2.body": "希望一切平安。", "gui.unicopia.spellbook.chapter.ice.light.1.body": "给火焰镭射宝石加上些许生命与寒气,我创造了一种助力夜间视物的魔法。", "gui.unicopia.spellbook.chapter.ice.light.2.body": "舞动之光将会召唤几个追随你的小光球。", "gui.unicopia.spellbook.chapter.ice.light.modifier.1": "* 添加更多聚焦要素来延长魔法的作用时间", "gui.unicopia.spellbook.chapter.ice.p10.title": "12th Trot '12", - "gui.unicopia.spellbook.chapter.ice.p10.1.body": "昨晚的异响是越来越厉害了,而这次靠得更近。整个镇子的气氛有所变化,很多曾经阳光向上的小马现在都变得郁郁寡欢了。", + "gui.unicopia.spellbook.chapter.ice.p10.1.body": "昨晚的异响是越来越厉害了,而这次更近。整个镇子的气氛有所变化,很多曾经阳光向上的小马现在都变得郁郁寡欢了。", "gui.unicopia.spellbook.chapter.ice.p10.2.body": "显然,有什么事正在发生,但是没有小马愿意告诉我。", "gui.unicopia.spellbook.chapter.ice.p11.title": "15th Trot '12", "gui.unicopia.spellbook.chapter.ice.p11.1.body": "冬天就要来到,当我写下这些字时,最早一批的雪花已经从窗外落下来了。", - "gui.unicopia.spellbook.chapter.ice.p11.2.body": "当地马已经准备过冬了,虽然总有些声音在抱怨那些被冻住的大地,但总有些§k不太轻松的感觉§r.", + "gui.unicopia.spellbook.chapter.ice.p11.2.body": "当地马已经准备过冬了,虽然总有些声音在抱怨那些被冻住的大地,但总有些§k不太轻松的感觉§r。", "gui.unicopia.spellbook.chapter.ice.p12.title": "17th Trot '12", - "gui.unicopia.spellbook.chapter.ice.p12.1.body": "这儿的天气转变如此之快以至于惊到我了。坎特城那边的天气管理做得很好,有了管控温度的魔咒和天马辅助管理天气,我们甚至有时忘掉了大自然的狂野本性。", - "gui.unicopia.spellbook.chapter.ice.p12.2.body": "但这儿的陆马可享受不到那种奢华的待遇,他们得独自面对这变幻的天气。", + "gui.unicopia.spellbook.chapter.ice.p12.1.body": "这儿的天气转变如此之快以至于把我惊到了。坎特城那边的天气管理做得很好,有了管控温度的魔法和天马辅助管理天气,我们甚至有时忘掉了大自然的狂野本性。", + "gui.unicopia.spellbook.chapter.ice.p12.2.body": "但这地方的陆马可享受不到那种奢华的待遇,他们得独自面对这变幻莫测的天气。", "gui.unicopia.spellbook.chapter.ice.p13.title": "冻湖", - "gui.unicopia.spellbook.chapter.ice.p13.1.body": "就在今早,我在去集市的路上路过了塔楼山脚下的一个湖,那湖几乎是要全冻上了。有几只小驹正在上面滑冰。", + "gui.unicopia.spellbook.chapter.ice.p13.1.body": "就在今早,我在去集市的路上路过了塔楼山脚下的一个湖,那湖几乎是要全都冻上了。有几只小驹正在上面滑冰。", "gui.unicopia.spellbook.chapter.ice.p13.2.body": "露娜问我可不可以让她和他们一起玩,我说不行,虽然现在想来不知道当时为什么要这么说,但我有一种预感,要出事……", "gui.unicopia.spellbook.chapter.ice.p14.title": "17th Trot '12", "gui.unicopia.spellbook.chapter.ice.p14.1.body": "老天爷啊,公主在上,我-我不知道该从哪开始讲了,我的蹄子在发抖,大气喘不上来。我现在冻得要死,脑子里全都是刚才发生的画面。", @@ -943,21 +943,21 @@ "gui.unicopia.spellbook.chapter.ice.p16.3.body": "我当时在想的是’起火?‘和‘我的实验室危险了?’", "gui.unicopia.spellbook.chapter.ice.p16.4.body": "告诉你吧,我宁可是这两种情况,实际情况远比这糟,糟得多,我现在回想起来还心有余悸。", "gui.unicopia.spellbook.chapter.ice.p17.title": "冻湖 · 四", - "gui.unicopia.spellbook.chapter.ice.p17.1.body": "当我们早先在湖附近时,我看见一大群马在岸上聚集起来。梯子和急救器械散落在湖岸上,“该怎么做”的喧嚷声此起彼伏。", - "gui.unicopia.spellbook.chapter.ice.p17.2.body": "凑近来看,我很快充分意识到了发生了什么事- -我直接奔向湖水 — 冰面破裂,湖水冻得刺骨。", + "gui.unicopia.spellbook.chapter.ice.p17.1.body": "早先我们到了湖附近时,我看见一大群马在岸上聚集起来。梯子和急救器械散落在湖岸上,“该怎么做”的喧嚷声此起彼伏。", + "gui.unicopia.spellbook.chapter.ice.p17.2.body": "凑近来看,我很快充分意识到了发生了什么事——我直接奔向湖水——冰面破裂,湖水冻得刺骨。", "gui.unicopia.spellbook.chapter.ice.p17.3.body": "我反正就是跳进去了,用魔法拉开鞍包,掏出随身最后一块宝石并发动了里面那还未完善的魔法。", "gui.unicopia.spellbook.chapter.ice.p17.4.body": "水从身边退去,我便冲下斜坡,越过干燥的湖底,飞身扑向落入湖中的小驹们。", "gui.unicopia.spellbook.chapter.ice.p18.title": "冻湖 · 五", - "gui.unicopia.spellbook.chapter.ice.p18.1.body": "他们冻僵了,浑身湿透,甚至在魔咒将水从他们的皮毛上驱走后仍然冷得发抖,我们将小驹们抬到岸上并给他们裹上毯子递上热饮。", - "gui.unicopia.spellbook.chapter.ice.p18.2.body": "镇民们坚持要给我递一张毯子,尽管我没有-也没可能把自己沾湿。", - "gui.unicopia.spellbook.chapter.ice.p18.3.body": "过了好一阵子,惊惧才从心中消散,我终于感觉喘上气,想起来要取消魔咒了。", + "gui.unicopia.spellbook.chapter.ice.p18.1.body": "他们冻僵了,浑身湿透,甚至在魔法将水从他们的皮毛上驱走后仍然冷得发抖,我们将小驹们抬到岸上并给他们裹上毯子递上热饮。", + "gui.unicopia.spellbook.chapter.ice.p18.2.body": "镇民们坚持要给我递一张毯子,尽管我没有——也没可能把自己沾湿。", + "gui.unicopia.spellbook.chapter.ice.p18.3.body": "过了好一阵子,惊惧才从心中消散,我终于感觉喘上气,想起来要取消魔法了。", "gui.unicopia.spellbook.chapter.ice.p18.4.body": "感谢公主,我们能及时赶到。", "gui.unicopia.spellbook.chapter.ice.p19.title": "18th Trot '12", "gui.unicopia.spellbook.chapter.ice.p19.1.body": "今早没看到有小驹的迹象,我敢笃定他们接下来的很长一段时间都不会靠近这个湖了。湖水半夜又冻上了,现在看上去很平静。", "gui.unicopia.spellbook.chapter.ice.p19.2.body": "昨日缠在心头的不祥预感今天终于没了,我终于可以和露娜一起在岸上放松了。她现在不想再在湖里游泳了,这次我也不怪她了,毕竟我再也不想想往湖里钻了。", "gui.unicopia.spellbook.chapter.ice.p20.title": "沙堡", "gui.unicopia.spellbook.chapter.ice.p20.1.body": "露娜开始堆沙堡,趁她忙的时候,我决定继续钻研一下我的新魔法。", - "gui.unicopia.spellbook.chapter.ice.hydrophobic.1.body": "将护盾魔咒和霜冻宝石整合在一起,结果有点…比较奇怪。", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.1.body": "将护盾魔法和霜冻宝石整合在一起,结果有点…比较奇怪。", "gui.unicopia.spellbook.chapter.ice.hydrophobic.2.body": "我叫它排水是因为它能将水从施法者周围排开。", "gui.unicopia.spellbook.chapter.ice.hydrophobic.modifier.1": "* 添加更多聚焦要素来延长魔法的作用时间", "gui.unicopia.spellbook.chapter.ice.hydrophobic.modifier.2": "* 添加慷慨要素来将魔法绑定在使用者身外的某个地方", @@ -978,31 +978,31 @@ "gui.unicopia.spellbook.chapter.air.catapult.1.body": "这是独角兽意念移物能力的一个基础应用。击飞宝石能够将附近的任何方块或生物送上天。", "gui.unicopia.spellbook.chapter.air.catapult.2.body": "再次作用在被击飞的物体时会将其推开。", "gui.unicopia.spellbook.chapter.air.catapult.modifier.1": "* 可以向其中添加力量要素以增强效果", - "gui.unicopia.spellbook.chapter.air.bubble.1.body": "一个防御性的实用魔咒。泡泡魔法会将目标困在一个巨大的肥皂泡中,让其毫无反抗之力。", + "gui.unicopia.spellbook.chapter.air.bubble.1.body": "一个防御性的实用魔法。泡泡魔法会将目标困在一个巨大的肥皂泡中,让其毫无反抗之力。", "gui.unicopia.spellbook.chapter.air.bubble.2.body": "再次施展即可戳破泡泡。", "gui.unicopia.spellbook.chapter.air.p7.title": "8th Hoof '12", - "gui.unicopia.spellbook.chapter.air.p7.1.body": "在露娜和飓风司令不在的时间里,我应该会花一点时间来写个条目来记录我的发现。", + "gui.unicopia.spellbook.chapter.air.p7.1.body": "在露娜和飓风司令不在的这段时间里,我应该会花一点时间来写个条目来记录我的发现。", "gui.unicopia.spellbook.chapter.air.p7.2.body": "天马魔法有种野性的美,它不像我们这些需要后天学习的魔法,不需要条条框框和漫长的练习。", "gui.unicopia.spellbook.chapter.air.p8.title": "天马", - "gui.unicopia.spellbook.chapter.air.p8.1.body": "天马魔法是感性的,艺术的,它自心而生,不过也遵循着几条原则。", + "gui.unicopia.spellbook.chapter.air.p8.1.body": "天马魔法是感性而艺术的,它自心而生,不过也遵循着几条原则。", "gui.unicopia.spellbook.chapter.air.p9.title": "天马 · 二", - "gui.unicopia.spellbook.chapter.air.p9.1.body": "正如他们建在云中的屋子,我还没读到过能产生这种效果的魔咒,但如果你去感受——请不要用你的蹄子或是角,而是用心,用思维去感受,你将与魔法共鸣。", + "gui.unicopia.spellbook.chapter.air.p9.1.body": "正如他们建在云中的屋子,我还没读到过能产生这种效果的魔法,但如果你去感受——请不要用你的蹄子或是角,而是用心,用思维去感受,你将与魔法共鸣。", "gui.unicopia.spellbook.chapter.air.p9.2.body": "云充盈着气元素与水元素,同时也包含着其他的元素,如能量,力量,生命,地。这些元素来自云雾变幻出的各种形状。", "gui.unicopia.spellbook.chapter.air.p10.title": "天马 · 三", "gui.unicopia.spellbook.chapter.air.p10.1.body": "我希望能继续推进研究,但我还是不太敢碰这种我尚不理解的魔法。", - "gui.unicopia.spellbook.chapter.air.p10.2.body": "要是我第一次到飓风司令那边去就把人家房子给炸了,她没准一辈子都不会原谅我。", + "gui.unicopia.spellbook.chapter.air.p10.2.body": "要是我第一次到飓风司令那边去就把人家的房子给炸了,她没准一辈子都不会原谅我。", "gui.unicopia.spellbook.chapter.air.feather_fall.1.body": "我扩展了保护宝石的保护范围,它现在可以保护范围内的数个生灵了。", "gui.unicopia.spellbook.chapter.air.feather_fall.2.body": "这种复杂的结构不同寻常,理论上应该会减缓施法者和其同伴的下落速度。", "gui.unicopia.spellbook.chapter.air.p12.title": "10th Hoof '12", "gui.unicopia.spellbook.chapter.air.p12.1.body": "我和飓风司令、露娜吃过了晚餐,饭后便聊起了建筑,其中飓风提到了泰驹陵。", "gui.unicopia.spellbook.chapter.air.p12.2.body": "露娜觉得作为一座城堡这名字也太搞笑了,于是我提醒了一下她,文化都是有差异的,要学会包容。", "gui.unicopia.spellbook.chapter.air.p13.title": "21st Hoof '12", - "gui.unicopia.spellbook.chapter.air.p13.1.body": "写在返回§k特骡赫姆§的前夜。尽管在云中邦的时光让我收获颇多,但我还是想念着老地方,赶紧躺回我那老床上。", + "gui.unicopia.spellbook.chapter.air.p13.1.body": "写在返回§k特骡赫姆§r的前夜。尽管在云中邦的时光让我收获颇多,但我还是想念着老地方,赶紧躺回我那老床上。", "gui.unicopia.spellbook.chapter.air.p13.2.body": "但是我还是没法对露娜开口。她现在正坐在床边,嘟着嘴,不满地看着我把一件件东西收回鞍包里。", "gui.unicopia.spellbook.chapter.air.p14.title": "归家", "gui.unicopia.spellbook.chapter.air.p14.1.body": "她一直和我说要留一会§m显然是想要和那前些天新认识的小天马多出去玩一回。", "gui.unicopia.spellbook.chapter.air.p15.title": "22nd Hoof '12", - "gui.unicopia.spellbook.chapter.air.p15.1.body": "当我们飞过山巅时,我不由自主地敬畏起了 浮士德母亲 所带给我们的一切。", + "gui.unicopia.spellbook.chapter.air.p15.1.body": "当我们飞过山巅时,我不由自主地敬畏起了§k浮士德母亲§r所带给我们的一切。", "gui.unicopia.spellbook.chapter.air.p15.2.body": "我花了一整天拉着露娜免得她掉下去,包括回答各种关于云像什么的问题。好在开气球的那位帮我分担了一点负担。", "gui.unicopia.spellbook.chapter.air.p15.3.body": "在这远离尘嚣的地方,有那么一刻我真就把下面的世界忘掉了。我仿佛回到了那个一切都那么简单的时候,就在--", "gui.unicopia.spellbook.chapter.air.p15.4.body": "然而西天爆发出的电光把一切都毁了。看起来远处有一场风暴,我当然希望这别是不祥之兆……", @@ -1016,13 +1016,13 @@ "gui.unicopia.spellbook.chapter.dark_magic.p4.title": "4th Slep '12", "gui.unicopia.spellbook.chapter.dark_magic.p4.1.body": "如果不一瞥彼岸,我的魔法将毫无完成的希望。", "gui.unicopia.spellbook.chapter.dark_magic.p4.2.body": "黑魔法,我也将其称之为奥术,它们是光明魔法与现实黑暗面的界限。", - "gui.unicopia.spellbook.chapter.dark_magic.vortex.1.body": "如果有马问你:“排斥魔法的反面是什么”,你会如何回答?当然是吸引魔法了!", + "gui.unicopia.spellbook.chapter.dark_magic.vortex.1.body": "如果有马问你:“排斥魔法的反面是什么”,你应该如何回答?当然是吸引魔法了!", "gui.unicopia.spellbook.chapter.dark_magic.vortex.2.body": "通过扭曲保护魔法的原始目标,我成功地重整了其功能,并创造出一种将物体和实体引向施法者的魔法。", "gui.unicopia.spellbook.chapter.dark_magic.vortex.modifier.1": "+ 10x知识要素来将效果缩窄到仅作用于物品上", "gui.unicopia.spellbook.chapter.dark_magic.vortex.modifier.2": "+ 添加聚焦要素来延长作用效果\n+ 添加力量要素来增广范围", "gui.unicopia.spellbook.chapter.dark_magic.p6.title": "8th Slep '12", - "gui.unicopia.spellbook.chapter.dark_magic.p6.1.body": "对吸引魔法的额外笔记", - "gui.unicopia.spellbook.chapter.dark_magic.p6.2.body": "今天露娜乱玩我的魔法合成表格,被我抓个正着,尽管之前我已经叫她我不在时不准进入我的研究室了。", + "gui.unicopia.spellbook.chapter.dark_magic.p6.1.body": "针对吸引魔法的额外笔记", + "gui.unicopia.spellbook.chapter.dark_magic.p6.2.body": "今天露娜乱玩我的魔法合成表格,被我逮个正着,尽管之前我已经叫她我不在时不准进入我的研究室了。", "gui.unicopia.spellbook.chapter.dark_magic.p6.3.body": "显然这事和赛利肯定有点关系,我现在不怎么记得了,但反正露娜在趁我出去买面包时溜进了我的研究室。", "gui.unicopia.spellbook.chapter.dark_magic.p7.title": "奥术吸引 · 二", "gui.unicopia.spellbook.chapter.dark_magic.p7.1.body": "其实并不是这个原因。我骂了她一顿,把她赶回了自己房间。不过当我清理她留下的一团乱麻时我留意到了宝石堆里的一样东西。", @@ -1033,21 +1033,21 @@ "gui.unicopia.spellbook.chapter.dark_magic.p8.2.body": ">0 慷慨要素 --> ??", "gui.unicopia.spellbook.chapter.dark_magic.p8.3.body": ">20 秩序要素 --> ???", "gui.unicopia.spellbook.chapter.dark_magic.p9.title": "20th Slep '12", - "gui.unicopia.spellbook.chapter.dark_magic.p9.1.body": "根据他们的协议,理事会送来了一些…补给品,来辅助我继续推进目前的研究方向。我一开始真有点震惊。", + "gui.unicopia.spellbook.chapter.dark_magic.p9.1.body": "根据他们的协议,议会送来了一些…补给品,来辅助我继续推进目前的研究方向。我一开始真有点震惊。", "gui.unicopia.spellbook.chapter.dark_magic.p9.2.body": "这…东西…不管这玩意是什么,或者曾经是什么。", "gui.unicopia.spellbook.chapter.dark_magic.p9.3.body": "这真的是我们在西线作战时要面对的的东西吗?", "gui.unicopia.spellbook.chapter.dark_magic.p10.title": "21st Slep '12", "gui.unicopia.spellbook.chapter.dark_magic.p10.1.body": "我已经把那…东西放在,在地下室里,门锁上了。", "gui.unicopia.spellbook.chapter.dark_magic.p10.2.body": "我真的是再也没眼看它了,这东西虽然有一点马形,但也太……", - "gui.unicopia.spellbook.chapter.dark_magic.p10.3.body": "我绝对不能让露娜看见它。我已经把她送出去和让她赛利过几晚,这期间该想想怎么办了。", + "gui.unicopia.spellbook.chapter.dark_magic.p10.3.body": "我绝对不能让露娜看见它。我已经把她送出去和让她和赛利过几晚,这期间该想想怎么办了。", "gui.unicopia.spellbook.chapter.dark_magic.p11.title": "25th Slep '12", "gui.unicopia.spellbook.chapter.dark_magic.p11.1.body": "抱歉拖更了这么久。事情有点…忙。", - "gui.unicopia.spellbook.chapter.dark_magic.p11.2.body": "我逐渐开始了解这些生物。以下是一些附图。", - "gui.unicopia.spellbook.chapter.dark_magic.p11.3.body": "它通体漆黑,§k和虫子一样§r 略像马形,体表无毛。", - "gui.unicopia.spellbook.chapter.dark_magic.p11.4.body": "它所使用的魔法不正常,不是不正常,它就像我之前研究的那样,不自然,且狂野。", + "gui.unicopia.spellbook.chapter.dark_magic.p11.2.body": "我逐渐开始了解这些生物。以下是一些注解,我已经尽可能不去直视那东西了。", + "gui.unicopia.spellbook.chapter.dark_magic.p11.3.body": "它通体漆黑,§k和虫子一样§r略像马形,体表无毛。", + "gui.unicopia.spellbook.chapter.dark_magic.p11.4.body": "它所使用的魔法不正常,不是不正常,它就像我之前研究的那样,不自然而狂野。", "gui.unicopia.spellbook.chapter.dark_magic.p11.5.body": "我绝对是可以在这开展一些测试的,但是我…应该吗?", "gui.unicopia.spellbook.chapter.dark_magic.p11.6.body": "我想,这有条不该逾越的界线。", - "gui.unicopia.spellbook.chapter.dark_magic.transformation.1.body": "我先从利用他们的能力开始。这些能力发散而难以控制,我几乎没法预测其演变,但是这颗宝石有着非常显著的变形特性。", + "gui.unicopia.spellbook.chapter.dark_magic.transformation.1.body": "我先从利用它们的能力开始研究。这些能力发散而难以控制,我几乎没法预测其演变,但是这颗宝石有着非常显著的变形特性。", "gui.unicopia.spellbook.chapter.dark_magic.transformation.2.body": "将这东西向其他生灵投射将有概率将他们转换成另一种生灵。", "gui.unicopia.spellbook.chapter.dark_magic.reveal.1.body": "魔法解除境是抵抗变形/幻形魔法的第一道防线。", "gui.unicopia.spellbook.chapter.dark_magic.reveal.2.body": "当施展时,它将强制使作用范围内处于伪装态的幻形灵现出真身。", @@ -1056,7 +1056,7 @@ "gui.unicopia.spellbook.chapter.dark_magic.p14.1.body": "最近几夜有点…难以入眠。", "gui.unicopia.spellbook.chapter.dark_magic.p14.2.body": "我不知道该怎么说了,真的。露娜看起来完全不受影响,但是在太阳下山后的夜晚中,我发现躺着根本睡不着,即使附近村庄传来的声音已经恢复了。", "gui.unicopia.spellbook.chapter.dark_magic.p15.title": "失眠", - "gui.unicopia.spellbook.chapter.dark_magic.p15.1.body": "昨夜,就在昨夜,我在天文台上打着哆嗦。空气变得凛寒无比,比每年这个时候还要冷得多,房间里燃烧着的炉火也仿佛被其镇压住了。", + "gui.unicopia.spellbook.chapter.dark_magic.p15.1.body": "昨天晚上,就在昨天晚上,我在观星台上打着哆嗦。空气变得凛寒无比,比每年这个时候还要冷得多,房间里燃烧着的炉火也仿佛被其镇压住了。", "gui.unicopia.spellbook.chapter.dark_magic.p15.2.body": "我那关着…我的那啥的东西,就在墙后。", "gui.unicopia.spellbook.chapter.dark_magic.p16.title": "失眠(续)", "gui.unicopia.spellbook.chapter.dark_magic.p16.1.body": "我已经把那扇门锁上了,因为我发誓,每隔一小会,我都能听到有东西在那里挪动……", @@ -1068,7 +1068,7 @@ "gui.unicopia.spellbook.chapter.dark_magic.p18.title": "1st Croptober '12", "gui.unicopia.spellbook.chapter.dark_magic.p18.1.body": "我从镇子里叫了外援,一位铁匠要过来安一把新锁,那种连陆马都踢不坏的那种。", "gui.unicopia.spellbook.chapter.dark_magic.p18.2.body": "我觉得这还不够,那东西——不管它是什么,肯定有魔法,我得研究出一种魔法来解决我的失眠症。", - "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.1.body": "这个魔法会创造一个魔力结界,可以阻挡其他的施法者。", + "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.1.body": "这个魔法会创造一个魔力结界,可以用于阻止其他的施法者。", "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.2.body": "谁都不可以在结界范围内使用魔法了。", "gui.unicopia.spellbook.chapter.dark_magic.arcane_protection.modifier.1": "* 加入力量要素来增广作用范围", "gui.unicopia.spellbook.chapter.dark_magic.displacement.1.body": "施放这种魔法,一匹独角兽便可与其他生灵互换位置。", @@ -1079,7 +1079,7 @@ "gui.unicopia.spellbook.chapter.dark_magic.mimic.1.body": "我已经可以利用这种奇怪生灵的能力,还有很多待研究的,但是现在我能将其特性注入一颗宝石中了。", "gui.unicopia.spellbook.chapter.dark_magic.mimic.modifier.1": "* 添加聚焦要素来延长作用效果", "gui.unicopia.spellbook.chapter.dark_magic.p24.1.body": "一股黑暗笼罩了小镇,自从那造物者来了都要嫌弃的生灵到来后,一切都变了。", - "gui.unicopia.spellbook.chapter.dark_magic.p24.2.body": "镇上的小马开始显现出缺少睡眠的症状,越来越显著了。今早我看见一匹可怜雄驹,神情恍惚地走着,眼袋黝黑,面无血色。", + "gui.unicopia.spellbook.chapter.dark_magic.p24.2.body": "镇上的小马开始显现出缺少睡眠的症状,越来越显著了。今早我看见一匹可怜的雄驹,神情恍惚地走着,眼袋黝黑,面无血色。", "gui.unicopia.spellbook.chapter.dark_magic.p25.1.body": "他的行为举止简直像一头僵尸,撞到我身上的时候都毫不在意。", "gui.unicopia.spellbook.chapter.dark_magic.p26.title": "碎片", "gui.unicopia.spellbook.chapter.dark_magic.p26.1.body": "§k还不够,永远不够。爬行,我感觉到爬行,天啊,爬行永无终结。", @@ -1096,12 +1096,12 @@ "gui.unicopia.spellbook.chapter.otherworldly.p2.2.body": "此部分记录着超越顶级魔法的魔法,风险同样极高。请谨慎阅读,因为这不是纯洁心灵该踏足的领域。", "gui.unicopia.spellbook.chapter.otherworldly.siphoning.1.body": "工作原理很简单,将某生物的生命强力吸出,并转移至施法者体内。", "gui.unicopia.spellbook.chapter.otherworldly.necromancy.1.body": "此区域型魔法会洞穿异界,召唤出为其主作战的生命。", - "gui.unicopia.spellbook.chapter.otherworldly.necromancy.2.body": "此魔法单独使用时并不很实用,但是加入其他要素后可以用于有效对抗§k大批幻形灵§r.", - "gui.unicopia.spellbook.chapter.otherworldly.dark_vortex.1.body": "钻击纤薄的现实,此魔咒将与异界奥术能量谐振,在现实空间中钻出一个黑洞。", + "gui.unicopia.spellbook.chapter.otherworldly.necromancy.2.body": "此魔法单独使用时并不是很实用,但是加入其他要素后可以用于有效对抗§k大批幻形灵§r。", + "gui.unicopia.spellbook.chapter.otherworldly.dark_vortex.1.body": "钻击纤薄的现实,此魔法将与异界奥术能量谐振,在现实空间中钻出一个黑洞。", "gui.unicopia.spellbook.chapter.otherworldly.dark_vortex.2.body": "生成的黑洞质量巨大,会将接近事物吞噬殆尽,虽然它会提供巨大的能量,但供养它仍然非常危险。", - "gui.unicopia.spellbook.chapter.otherworldly.portal.1.body": "将前辈所制的换位魔咒之效和黑暗漩涡宝石结合在一起,其混沌的本性即被驯服。", - "gui.unicopia.spellbook.chapter.otherworldly.portal.2.body": "奥术裂缝魔咒允许施法者在两个地点之间建立一座跨越空间的桥梁。从一侧进入的物体将以原速从另一侧穿出。", - "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.1.body": "我推进了前辈对于幻形灵变形能力的研究,现在我可以利用混沌扭曲之力增强拟态魔咒了。", + "gui.unicopia.spellbook.chapter.otherworldly.portal.1.body": "将前辈所制的换位魔法之功效和黑暗漩涡宝石结合在一起的话,其混沌的本性即被驯服。", + "gui.unicopia.spellbook.chapter.otherworldly.portal.2.body": "奥术裂缝魔法允许施法者在两个地点之间建立一座跨越空间的桥梁。从一侧进入的物体将以原速从另一侧穿出。", + "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.1.body": "我推进了前辈对于幻形灵变形能力的研究,现在我可以利用混沌扭曲之力增强拟态魔法了。", "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.2.body": "心灵交换将拟态的效果推广到了两个生物体中,令其在有限的时间内交换躯体。", "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.3.body": "* 添加聚焦要素来延长作用效果", @@ -1114,35 +1114,35 @@ "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.title": "5th Mare '12", "gui.unicopia.spellbook.chapter.artefacts.crystal_heart.3.body": "另一些观点认为只有当它被摆放在一种由钻石块构成的特殊基座上时才会工作,与信标相似。", "gui.unicopia.spellbook.chapter.artefacts.torn_page.title": "开裂的页面", - "gui.unicopia.spellbook.chapter.artefacts.torn_page.1.body": "§kaaa§rential c§ka§rr§kaaa§rnial purpose§kaaa§r", + "gui.unicopia.spellbook.chapter.artefacts.torn_page.1.body": "§kaaa§r涉及§ka§r的§kaaa§r意图在§kaaa§r", "gui.unicopia.spellbook.chapter.artefacts.torn_page.2.body": "§kAasa sasa fwefsd q43rgfd wqklmsdfl as, klasn.§r", "gui.unicopia.spellbook.chapter.artefacts.torn_page.3.body": "建造材料:", "gui.unicopia.spellbook.chapter.artefacts.crystal_podium.title": "水晶基座", - "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.2.body": "用法是,呃,把某小马的名字打上去,然后拿在一只蹄中,把另一样东西拿在另一只蹄中,接下来就,呃,它们就会咻的一声飞走,那样东西就去到那匹小马那边了。", + "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.2.body": "用法是,呃,把某小马的名字打上去,然后拿在一只蹄中,把另一样东西拿在另一只蹄中,接下来就,呃,它们就会咻的一声飞走,这东西就去到那匹小马那边了。", "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.title": "2nd Hoof '12", "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.3.body": "P.S.星璇叔叔是大笨蛋。", "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.1.body": "法师们曾经用它进行远距离交流,现在已经淘汰不用很久了。", - "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.2.body": "让一匹独角兽在其上签名并转交给其朋友,这将使得某些特定的魔法效果从独角兽侧传播出去。", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.2.body": "让一匹独角兽在其上签名并转交给其一朋友,这将使得某些特定的魔法效果从独角兽侧传播出去。", "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.title": "13th Mare '12", - "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.3.body": "任何戴上了签过你名的手环的小马都可以从你施展的增效魔咒中受益,也可以穿越保护魔咒和盾牌魔咒的结界。", + "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.3.body": "任何戴上了签过你名的手环的小马都可以从你施展的增效魔法中受益,也可以穿越保护魔法和盾牌魔法的结界。", "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.4.body": "法力消耗也会平摊到附近的联谊者身上。", "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.1.body": "这是飓风司令告诉我的,然而我没找到多少记载来佐证她的说法。", "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.2.body": "其上的天马护符可以让穿戴者享受短暂的飞行,就像天马那样。", "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.title": "21st Trot '12", - "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.3.body": "它本来是早期驻云中高地的独角兽大使所使用的辅助装备,但在和谈破裂后丢失了。", - "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.1.body": "这是魔力法杖的前身——麦都布鲁的权杖,可在在术士施展长效法术时起到结构性支撑作用。", + "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.3.body": "它本是早期驻云中高地的独角兽大使所使用的辅助装备,但在和谈破裂后丢失了。", + "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.1.body": "这个是魔力法杖的前身——麦都布鲁的权杖,可在在术士施展长效法术时起到结构性支撑作用。", "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.2.body": "它有着扭曲而斑驳的外观,其核心坚实无比,可以承载一匹成年雄驹的重量。", "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.title": "22nd Trot '12", "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.3.body": "由于其致密的结构和强劲的可燃性,所以必要时此物亦可当作攻击用的武器,或成为燃料。", "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.4.body": "为了在战斗中正确使用此物,使用者须得使双蹄拽住其窄端,在头上快速挥舞,同时喊出“Fus Roh DAH!”", "gui.unicopia.spellbook.chapter.artefacts.magic_staff.1.body": "这是一种让非魔法生物也能使用魔法的辅助型工具,它们可以像独角兽那引导并驾驭魔法宝石内存的魔力。", "gui.unicopia.spellbook.chapter.artefacts.magic_staff.title": "22nd Trot '12", - "gui.unicopia.spellbook.chapter.artefacts.magic_staff.2.body": "并非所有魔咒都以相同的方式工作,但是对于魔法初学者来说,此物是个必备的基础工具。", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.2.body": "并非所有魔法都以相同的方式工作,但是对于魔法初学者来说,此物是个必备的基础工具。", "gui.unicopia.spellbook.chapter.artefacts.magic_staff.3.body": "制作此物最简单的方式是把魔力宝石安装在一根接长木棍的末端。没错,多么革新的工艺啊,我就知道。", "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.1.body": "一个强大的魔法造物,曾经被认为储存了格罗迦大王的力量。", "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.2.body": "对于会使用它的小马来说,它可以将魔力从一个生物转移到另一个生物中。", "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.title": "22nd Trot '12", - "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.3.body": "据推测,这项造物是在无序统治的时代用大熊座的爪子炼成的,可能是一件用于对抗其的武器。", + "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.3.body": "据推测,这项造物是在无序统治的时代用大熊座的爪子炼成的,可能是一件用于对抗统治者的武器。", "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.4.body": "欲图染指其力量者的意志将会被其内在含有的堕落之力摧毁。", "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.2.title": "格罗迦的铃铛 · 二", "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.5.body": "传说其第一个所有者——格罗迦,因为铃铛被偷走而气得发疯了。", From 09343e25c7742ba8f25c861dfbac417edc6f08fc Mon Sep 17 00:00:00 2001 From: Sprinkled Frosting Date: Sat, 3 Feb 2024 17:28:23 +0000 Subject: [PATCH 21/52] =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E4=BA=86=E5=95=A6=E9=9B=9E=E6=8E=B0=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/assets/unicopia/lang/zh_tw.json | 138 +++++++++--------- 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/zh_tw.json b/src/main/resources/assets/unicopia/lang/zh_tw.json index 8efeef58..4ab79e1f 100644 --- a/src/main/resources/assets/unicopia/lang/zh_tw.json +++ b/src/main/resources/assets/unicopia/lang/zh_tw.json @@ -1575,84 +1575,84 @@ "advancements.unicopia.juice.description": "這些蘋果終於有用了", "advancements.unicopia.toast.title": "酥脆美味!", "advancements.unicopia.toast.description": "烤一烤你的麪包片伴侶", - "advancements.unicopia.burn_toast.title": "Toasty NOOOOOOO!", - "advancements.unicopia.burn_toast.description": "Burn Toasty", - "advancements.unicopia.lucky.title": "As seen on TV", - "advancements.unicopia.lucky.description": "Make some lucky horse shoe fries", - "advancements.unicopia.sweet_apple_acres.title": "Sweet Apple Acres", - "advancements.unicopia.sweet_apple_acres.description": "Obtain one of every apple", - "advancements.unicopia.brew_cider.title": "Applejack's Finest", - "advancements.unicopia.brew_cider.description": "Brew some cider", - "advancements.unicopia.travelling_in_style.title": "Travelling in Style", - "advancements.unicopia.travelling_in_style.description": "Ride a hot air balloon", + "advancements.unicopia.burn_toast.title": "不要啊我的麪包片!", + "advancements.unicopia.burn_toast.description": "把麪包片烤糊", + "advancements.unicopia.lucky.title": "像電視上的一樣", + "advancements.unicopia.lucky.description": "做一些蹄鐵炸乾草", + "advancements.unicopia.sweet_apple_acres.title": "香甜蘋果園", + "advancements.unicopia.sweet_apple_acres.description": "獲得每一種蘋果", + "advancements.unicopia.brew_cider.title": "阿杰佳釀", + "advancements.unicopia.brew_cider.description": "釀一些蘋果酒", + "advancements.unicopia.travelling_in_style.title": "時尚出行", + "advancements.unicopia.travelling_in_style.description": "乘坐一個熱氣球", - "advancements.unicopia.night_route.title": "Children of The Night", - "advancements.unicopia.night_route.description": "Walk the path of the night", - "advancements.unicopia.screech_twenty_mobs.title": "Terror From The Skies", - "advancements.unicopia.screech_twenty_mobs.description": "Rain down terror on at least 20 mobs at once", - "advancements.unicopia.screech_self.title": "Jeepers!", - "advancements.unicopia.screech_self.description": "Be so terrifying that you even scared your self a little", - "advancements.unicopia.extra_spooky.title": "Extra Spooky", - "advancements.unicopia.extra_spooky.description": "Spook a mob so hard it drops a brick", + "advancements.unicopia.night_route.title": "暗夜之子", + "advancements.unicopia.night_route.description": "踏上暗夜之路", + "advancements.unicopia.screech_twenty_mobs.title": "空中驚懼", + "advancements.unicopia.screech_twenty_mobs.description": "同時嚇倒20個生物", + "advancements.unicopia.screech_self.title": "嚇死我了!", + "advancements.unicopia.screech_self.description": "可怕到嚇到你自己", + "advancements.unicopia.extra_spooky.title": "太可怕了", + "advancements.unicopia.extra_spooky.description": "把一個生物嚇到屙磚頭", - "advancements.unicopia.sweet_sweet_revenge.title": "Sweet Sweet Revenge", - "advancements.unicopia.sweet_sweet_revenge.description": "Get Celestia back for burning your eyes", - "advancements.unicopia.blasphemy.title": "Blasphemy!", - "advancements.unicopia.blasphemy.description": "Ding Celestia on the noggin. Oops!", + "advancements.unicopia.sweet_sweet_revenge.title": "你也有今天", + "advancements.unicopia.sweet_sweet_revenge.description": "讓塞蕾斯蒂亞嘗嘗被燒眼睛的滋味", + "advancements.unicopia.blasphemy.title": "褻瀆神明!", + "advancements.unicopia.blasphemy.description": "不小心用蹄鐵敲塞蕾斯蒂亞的頭", - "advancements.unicopia.earth_route.title": "Path of the Pony", - "advancements.unicopia.earth_route.description": "Join the Apple Clan", - "advancements.unicopia.sticks_and_stones.title": "Sticks and Stones", - "advancements.unicopia.sticks_and_stones.description": "Kill a mob by throwing rocks at it", - "advancements.unicopia.dead_ringer.title": "Dead Ringer", - "advancements.unicopia.dead_ringer.description": "Kill a mob with a horseshoe", - "advancements.unicopia.born_on_a_rock_farm.title": "Born on a Rock Farm", - "advancements.unicopia.born_on_a_rock_farm.description": "Successfully farm your first rock", - "advancements.unicopia.thats_unusual.title": "That's Unusual", - "advancements.unicopia.thats_unusual.description": "But what does it do?", + "advancements.unicopia.earth_route.title": "小馬之路", + "advancements.unicopia.earth_route.description": "加入蘋果家族", + "advancements.unicopia.sticks_and_stones.title": "石頭和棍子", + "advancements.unicopia.sticks_and_stones.description": "用石頭扔死生物", + "advancements.unicopia.dead_ringer.title": "兇鈴", + "advancements.unicopia.dead_ringer.description": "用蹄鐵敲死生物", + "advancements.unicopia.born_on_a_rock_farm.title": "生於石場", + "advancements.unicopia.born_on_a_rock_farm.description": "成功收割岩石", + "advancements.unicopia.thats_unusual.title": "不太對勁", + "advancements.unicopia.thats_unusual.description": "但它能做什麼呢?", - "advancements.unicopia.sky_route.title": "Path of the Pegasus", - "advancements.unicopia.sky_route.description": "Join the Clousdale Pegasi", - "advancements.unicopia.molting_season_1.title": "Molting Season", + "advancements.unicopia.sky_route.title": "飛馬之路", + "advancements.unicopia.sky_route.description": "加入雲中城的飛馬", + "advancements.unicopia.molting_season_1.title": "落羽時節", "advancements.unicopia.molting_season_1.description": "Drop a feather whilst flying", - "advancements.unicopia.molting_season_2.title": "Molting Season 2", + "advancements.unicopia.molting_season_2.title": "落羽時節2", "advancements.unicopia.molting_season_2.description": "Drop 5 feathers whilst flying", - "advancements.unicopia.molting_season_3.title": "Molting Season 3", + "advancements.unicopia.molting_season_3.title": "落羽時節3", "advancements.unicopia.molting_season_3.description": "Drop 15 feathers whilst flying", - "advancements.unicopia.rainbow_crash.title": "Dammit, Rainbow", - "advancements.unicopia.rainbow_crash.description": "Wage war on the evil glass window nation", - "advancements.unicopia.second_wind.title": "Second Wind", - "advancements.unicopia.second_wind.description": "Fly through the pain", - "advancements.unicopia.deter_phantom.title": "What Flies Around", - "advancements.unicopia.deter_phantom.description": "Get up there and give those phantoms a taste of their own medicine", + "advancements.unicopia.rainbow_crash.title": "去你的,雲寶", + "advancements.unicopia.rainbow_crash.description": "向邪惡的玻璃窗發動戰爭", + "advancements.unicopia.second_wind.title": "乘風喘息", + "advancements.unicopia.second_wind.description": "飛躍痛苦", + "advancements.unicopia.deter_phantom.title": "羣魔亂舞", + "advancements.unicopia.deter_phantom.description": "飛上去讓那些夜魅自食其果", - "advancements.unicopia.magical_route.title": "Horn of the Unicorn", - "advancements.unicopia.magical_route.description": "Delve into the world of glitter and rainbows", + "advancements.unicopia.magical_route.title": "獨角之角", + "advancements.unicopia.magical_route.description": "深入探索彩虹的世界", - "advancements.unicopia.books.title": "Books!", - "advancements.unicopia.books.description": "This is MY spellbook and I'm going to READ it!", - "advancements.unicopia.tempted.title": "Tempting...", - "advancements.unicopia.tempted.description": "Put on the alicorn amulet", - "advancements.unicopia.hello_darkness_my_old_friend.title": "Hello Darkness...", - "advancements.unicopia.hello_darkness_my_old_friend.description": "Delve further into the powers of the dark side", - "advancements.unicopia.a_falling_wizard.title": "A Falling Wizard", - "advancements.unicopia.a_falling_wizard.description": "A unicorn tried to perform an unsuccessful flying spell", + "advancements.unicopia.books.title": "書啊,是書啊!", + "advancements.unicopia.books.description": "這是我的魔法書,誰也阻擋不了我去讀它!", + "advancements.unicopia.tempted.title": "想啊,很想啊……", + "advancements.unicopia.tempted.description": "帶上天角護符", + "advancements.unicopia.hello_darkness_my_old_friend.title": "黑暗,我的老朋友……", + "advancements.unicopia.hello_darkness_my_old_friend.description": "向更黑暗的深淵墮落", + "advancements.unicopia.a_falling_wizard.title": "自由落體的巫師", + "advancements.unicopia.a_falling_wizard.description": "一個施飛行咒失敗的獨角", - "advancements.unicopia.split_the_sea.title": "Who are you? Moses?", - "advancements.unicopia.split_the_sea.description": "Use magic to displace over 100 blocks of water in one go", - "advancements.unicopia.save_the_day.title": "Save the Day", - "advancements.unicopia.save_the_day.description": "Defeat King Sombra once and for all", - "advancements.unicopia.ascension.title": "Ascension", - "advancements.unicopia.ascension.description": "Complete Sombra's Work", - "advancements.unicopia.doctor_sombrero.title": "Doctor Sombrero", - "advancements.unicopia.doctor_sombrero.description": "That's not mare-iachi!", - "advancements.unicopia.crystaline.title": "Crystaline", - "advancements.unicopia.crystaline.description": "Collect some crystal shards", - "advancements.unicopia.power_up_heart.title": "Power of Love", - "advancements.unicopia.power_up_heart.description": "Power up a Crystal Heart", - "advancements.unicopia.love_is_power.title": "Love is Power", - "advancements.unicopia.love_is_power.description": "Banish King Sombra with a crystal heart", + "advancements.unicopia.split_the_sea.title": "你叫什麼,摩西嗎?", + "advancements.unicopia.split_the_sea.description": "用魔法一次性分開一百方塊以上的水", + "advancements.unicopia.save_the_day.title": "拯救世界", + "advancements.unicopia.save_the_day.description": "擊敗黑晶王", + "advancements.unicopia.ascension.title": "原地昇天", + "advancements.unicopia.ascension.description": "完成黑晶王的夙願", + "advancements.unicopia.doctor_sombrero.title": "黑晶博士", + "advancements.unicopia.doctor_sombrero.description": "那可不是流浪樂團!", + "advancements.unicopia.crystaline.title": "結晶", + "advancements.unicopia.crystaline.description": "收集一些水晶碎片", + "advancements.unicopia.power_up_heart.title": "愛的力量", + "advancements.unicopia.power_up_heart.description": "激活水晶之心", + "advancements.unicopia.love_is_power.title": "愛即力量", + "advancements.unicopia.love_is_power.description": "用水晶之心放逐黑晶王", - "unicopia.toast.discoveries.title": "New Discoveries!", - "unicopia.toast.discoveries.description": "Check your spellbook" + "unicopia.toast.discoveries.title": "有新發現!", + "unicopia.toast.discoveries.description": "快看看你的魔法書" } From 4a081f0c9c99e66f5f0359f26fded0ad4a7a7c27 Mon Sep 17 00:00:00 2001 From: Sprinkled Frosting Date: Sat, 3 Feb 2024 17:31:59 +0000 Subject: [PATCH 22/52] =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/assets/unicopia/lang/zh_tw.json | 30 +++++++++---------- src/main/resources/pack.mcmeta | 6 ++++ 2 files changed, 21 insertions(+), 15 deletions(-) create mode 100644 src/main/resources/pack.mcmeta diff --git a/src/main/resources/assets/unicopia/lang/zh_tw.json b/src/main/resources/assets/unicopia/lang/zh_tw.json index 4ab79e1f..83fbf46f 100644 --- a/src/main/resources/assets/unicopia/lang/zh_tw.json +++ b/src/main/resources/assets/unicopia/lang/zh_tw.json @@ -126,7 +126,7 @@ "item.unicopia.acorn": "橡實", "item.unicopia.green_apple_seeds": "婆婆蘋果種子", "item.unicopia.sweet_apple_seeds": "香甜蘋果種子", - "item.unicopia.sour_apple_seeds": "算蘋果種子", + "item.unicopia.sour_apple_seeds": "酸蘋果種子", "item.unicopia.golden_oak_seeds": "金橡樹種子", "item.unicopia.apple_pie_hoof": "帶蹄印的蘋果餡餅", "item.unicopia.apple_pie_slice": "蘋果餡餅塊", @@ -1152,8 +1152,8 @@ "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.2.body": "The alicorn amulet is a powerful force of dark magic created created by an unknown mage as their attempt to create the perfect being.", "gui.unicopia.spellbook.chapter.artefacts.alicorn_amulet.3.body": "It combines the traits of all races into one powerful form, but it hard to control and addictive in nature. Anyone who uses it quickly becomes reliant on it and few attempt to remove it survive the ordeal.", - "gui.unicopia.action.spells_cleared": "Removed all spells", - "gui.unicopia.action.no_spells_cleared": "You have no active spells", + "gui.unicopia.action.spells_cleared": "已移除所有魔咒", + "gui.unicopia.action.no_spells_cleared": "您沒有活躍的魔咒", "chapter.unicopia.crafting": "Spell Crafting", "chapter.unicopia.profile": "Profile", @@ -1264,15 +1264,15 @@ "experience.unicopia.corrupt.faustian_legend": "The Old God", "experience.unicopia.monstrous.faustian_legend": "Otherworldly Terror", - "unicopia.category.name": "Pony Abilities", + "unicopia.category.name": "小馬能力", - "key.unicopia.primary": "Primary Ability", - "key.unicopia.secondary": "Secondary Ability", - "key.unicopia.tertiary": "Tertiary Ability", - "key.unicopia.passive": "Passive Ability", + "key.unicopia.primary": "主要能力", + "key.unicopia.secondary": "次要能力", + "key.unicopia.tertiary": "第三能力", + "key.unicopia.passive": "被動能力", - "key.unicopia.hud_page_dn": "Hud Previous Page", - "key.unicopia.hud_page_up": "Hud Next Page", + "key.unicopia.hud_page_dn": "介面上一頁", + "key.unicopia.hud_page_up": "介面下一頁", "enchantment.unicopia.gem_finder": "尋礦", "enchantment.unicopia.padded": "衝擊保護", @@ -1614,11 +1614,11 @@ "advancements.unicopia.sky_route.title": "飛馬之路", "advancements.unicopia.sky_route.description": "加入雲中城的飛馬", "advancements.unicopia.molting_season_1.title": "落羽時節", - "advancements.unicopia.molting_season_1.description": "Drop a feather whilst flying", + "advancements.unicopia.molting_season_1.description": "飛行時掉一根羽毛", "advancements.unicopia.molting_season_2.title": "落羽時節2", - "advancements.unicopia.molting_season_2.description": "Drop 5 feathers whilst flying", + "advancements.unicopia.molting_season_2.description": "飛行時掉五根羽毛", "advancements.unicopia.molting_season_3.title": "落羽時節3", - "advancements.unicopia.molting_season_3.description": "Drop 15 feathers whilst flying", + "advancements.unicopia.molting_season_3.description": "飛行時掉十五根羽毛", "advancements.unicopia.rainbow_crash.title": "去你的,雲寶", "advancements.unicopia.rainbow_crash.description": "向邪惡的玻璃窗發動戰爭", "advancements.unicopia.second_wind.title": "乘風喘息", @@ -1630,7 +1630,7 @@ "advancements.unicopia.magical_route.description": "深入探索彩虹的世界", "advancements.unicopia.books.title": "書啊,是書啊!", - "advancements.unicopia.books.description": "這是我的魔法書,誰也阻擋不了我去讀它!", + "advancements.unicopia.books.description": "這是我的咒語書,誰也阻擋不了我去讀它!", "advancements.unicopia.tempted.title": "想啊,很想啊……", "advancements.unicopia.tempted.description": "帶上天角護符", "advancements.unicopia.hello_darkness_my_old_friend.title": "黑暗,我的老朋友……", @@ -1654,5 +1654,5 @@ "advancements.unicopia.love_is_power.description": "用水晶之心放逐黑晶王", "unicopia.toast.discoveries.title": "有新發現!", - "unicopia.toast.discoveries.description": "快看看你的魔法書" + "unicopia.toast.discoveries.description": "快看看你的咒語書" } diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta new file mode 100644 index 00000000..c70b4b73 --- /dev/null +++ b/src/main/resources/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack":{ + "pack_format": 8, + "description": "Additional translations from \xa7bUnicopia\xa7r." + } +} \ No newline at end of file From 2d00b3ad777268e71a43fcfb0d97fc06571c3c0e Mon Sep 17 00:00:00 2001 From: Sprinkled Frosting Date: Sat, 3 Feb 2024 17:50:07 +0000 Subject: [PATCH 23/52] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/assets/unicopia/lang/zh_tw.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/unicopia/lang/zh_tw.json b/src/main/resources/assets/unicopia/lang/zh_tw.json index 83fbf46f..211b7ffa 100644 --- a/src/main/resources/assets/unicopia/lang/zh_tw.json +++ b/src/main/resources/assets/unicopia/lang/zh_tw.json @@ -172,7 +172,7 @@ "item.unicopia.grogars_bell": "格羅迦之鈴", "item.unicopia.grogars_bell.charges": "能量:%d / %d", "item.unicopia.magic_staff": "魔杖", - "item.unicopia.magic_staff.enchanted": "%s之%s", + "item.unicopia.magic_staff.enchanted": "%2$s%1$s", "item.unicopia.magic_staff.charges": "能量:%d / %d", "item.unicopia.meadowbrooks_staff": "草甸青溪的魔杖", "item.unicopia.meadowbrooks_staff.lore": "一根很重的魔杖", From 7435eed8a991d30d5886f989adab58adf1cf4827 Mon Sep 17 00:00:00 2001 From: LingVarr Date: Sun, 4 Feb 2024 15:59:59 +1100 Subject: [PATCH 24/52] Update ru_ru.json --- src/main/resources/assets/unicopia/lang/ru_ru.json | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/resources/assets/unicopia/lang/ru_ru.json b/src/main/resources/assets/unicopia/lang/ru_ru.json index 918fd93f..f104cec1 100644 --- a/src/main/resources/assets/unicopia/lang/ru_ru.json +++ b/src/main/resources/assets/unicopia/lang/ru_ru.json @@ -911,8 +911,6 @@ "gui.unicopia.spellbook.chapter.ice.p7.title": "Костёр II", "gui.unicopia.spellbook.chapter.ice.p7.1.body": "На обратном пути Луна рассказывала мне истории, которые ей поведала подруга. В городе, как и следовало ожидать, много легенд.", "gui.unicopia.spellbook.chapter.ice.p7.2.body": "Одна из них была о страшном старом колдуне, который жил в башне с привидениями на окраине города. Кто это был - не загадка.", - "gui.unicopia.spellbook.chapter.ice.p7.3.body": "Заклинание льда II", - "gui.unicopia.spellbook.chapter.ice.p7.4.body": "Создаёт охлаждающий эффект в радиусе 3 копыт от заклинателя/снаряда.", "gui.unicopia.spellbook.chapter.ice.p8.title": "6-ое Пониюля 12-го", "gui.unicopia.spellbook.chapter.ice.p8.1.body": "Прошлой ночью в деревне был странный шум. Очень странный. Я слышал крики многих пони, и, возможно, там был пожар.", "gui.unicopia.spellbook.chapter.ice.p8.2.body": "Надеюсь, что всё в порядке.", @@ -1118,6 +1116,10 @@ "gui.unicopia.spellbook.chapter.artefacts.torn_page.2.body": "§kАвтор не придумал что тут написать, так что идите на§r", "gui.unicopia.spellbook.chapter.artefacts.torn_page.3.body": "Требуемые материалы:", "gui.unicopia.spellbook.chapter.artefacts.crystal_podium.title": "Кристальный подиум", + "gui.unicopia.spellbook.chapter.artefacts.altar.title": "Алтарь", + "gui.unicopia.spellbook.chapter.artefacts.altar.1.body": "Дре§kы§rний алтарь, соз§kда§rнный ранним п§kле§rменем §kединорог§rов. Считается, что они использовались для проведения р§kитуалов§r, выз§kываю§rщих ещё §kболее др§rевнюю маг§kию§r.", + "gui.unicopia.spellbook.chapter.artefacts.altar.2.body": "Не так много §kиз§rвестно об этих за§kг§rадочных сооружениях, и они хранят множество тайн даже по сей день.", + "gui.unicopia.spellbook.chapter.artefacts.altar.3.body": "Ис§kполь§rзуй §kа§rлтарь", "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.2.body": "Это, эм, свиток который вы держите в одном копыте и что-то ещё в другом и, типо, происходит вуууш и предмет отправляется к пони.", "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.title": "2-ое Хуфгуста 12-го", "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.3.body": "P.S. Дядюшка Старсвирли тупица.", @@ -1126,6 +1128,9 @@ "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.title": "13-ое Мэйра 12-го", "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.3.body": "Тот, кто носит подписанный вами браслет, сможет воспользоваться положительными эффектами ваших заклинаний или пропустить через себя заклинания защиты и щита.", "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.4.body": "Расходы маны также делятся поровну между всеми.", + "gui.unicopia.spellbook.chapter.artefacts.spectral_clock.title": "14-ое Мэйра 12-го", + "gui.unicopia.spellbook.chapter.artefacts.spectral_clock.1.body": "Не столько артефакт, сколько странная безделушка. На прошлой неделе Луна случайно принесла его домой с рынка, и хотя на первый взгляд это обычные сломанные часы, я обнаружил нечто гораздо более странное.", + "gui.unicopia.spellbook.chapter.artefacts.spectral_clock.2.body": "Эти часы не показывают время. Точнее, показывают, но не напрямую. Скорее, они следят за циклами некоторых растений в окружающем лесу.", "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.1.body": "Командир Харрикейн сообщила мне об этом, хотя я не нашел ни одного текста, подтверждающего её утверждения.", "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.2.body": "Утверждается, что амулет пегаса дарует владельцу временный полёт, как у пегаса.", "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.title": "21-ое Пониюля 12-го", From 3b0a64326e3cb92bce9ca774013a2e636c23a21a Mon Sep 17 00:00:00 2001 From: Sollace Date: Sun, 4 Feb 2024 12:17:58 +0000 Subject: [PATCH 25/52] Move mana label to a static --- .../client/gui/spellbook/SpellbookProfilePageContent.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/SpellbookProfilePageContent.java b/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/SpellbookProfilePageContent.java index f630b9f4..6f3c2d08 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/SpellbookProfilePageContent.java +++ b/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/SpellbookProfilePageContent.java @@ -19,6 +19,7 @@ import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; public class SpellbookProfilePageContent implements SpellbookChapterList.Content { + private static final Text MANA_LABEL = Text.translatable("gui.unicopia.spellbook.page.mana"); private final MinecraftClient client = MinecraftClient.getInstance(); private final Pony pony = Pony.of(client.player); private final TextRenderer font = client.textRenderer; @@ -140,8 +141,8 @@ public class SpellbookProfilePageContent implements SpellbookChapterList.Content String manaString = (int)reserves.getMana().get() + "/" + (int)reserves.getMana().getMax(); y = 15; - Text manaLabel = Text.translatable("gui.unicopia.spellbook.page.mana"); - context.drawText(font, manaLabel, -font.getWidth(manaLabel) / 2, y, SpellbookScreen.TITLE_COLOR, false); + + context.drawText(font, MANA_LABEL, -font.getWidth(MANA_LABEL) / 2, y, SpellbookScreen.TITLE_COLOR, false); context.drawText(font, manaString, -font.getWidth(manaString) / 2, y += font.fontHeight, SpellbookScreen.TITLE_COLOR, false); Text levelString = Text.literal(Romanizer.romanize(currentLevel + 1)); From ad484ee74d0eb2f03df23bf443b0f0e0101a9eb9 Mon Sep 17 00:00:00 2001 From: Cryghast Date: Mon, 5 Feb 2024 01:05:09 +0800 Subject: [PATCH 26/52] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=BA=9B=E7=BF=BB=E8=AF=91=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HOW_TO_PLAY_CN.md | 6 +- .../resources/assets/unicopia/lang/zh_cn.json | 327 +++++++++--------- 2 files changed, 169 insertions(+), 164 deletions(-) diff --git a/HOW_TO_PLAY_CN.md b/HOW_TO_PLAY_CN.md index 90cc150c..0d839eea 100644 --- a/HOW_TO_PLAY_CN.md +++ b/HOW_TO_PLAY_CN.md @@ -13,9 +13,9 @@ - 魔法 - 独角兽需要魔法宝石来施法,没有魔法的普通宝石可以从挖矿活动中取得。一开始,您需要用一颗宝石和一本书合成魔法书,魔法书将助力您解析各物品中含有的要素并辅助您用这些要素开发各类魔法配方,同样可以用于修饰已有配方。 + 独角兽需要魔法晶石来施法,没有魔法的普通晶石可以从挖矿活动中取得。一开始,您需要用一颗晶石和一本书合成魔法书,魔法书将助力您解析各物品中含有的要素并辅助您用这些要素开发各类魔法配方,同样可以用于修饰已有配方。 - 当您做出了所需的魔法宝石后,您可以拿着它右键以将其中的魔法导入到主槽位或是副槽位(按下潜行键)中 ,这些魔法将可以以您的主技能形式激活。您也可以直接拿着魔法宝石释放其中的魔力。 + 当您做出了所需的魔法晶石后,您可以拿着它右键以将其中的魔法导入到主槽位或是副槽位(按下潜行键)中 ,这些魔法将可以以您的主技能形式激活。您也可以直接拿着魔法晶石释放其中的魔力。 - 瞬移 @@ -84,7 +84,7 @@ (夜骐会在阴暗的地方重生) - - 倒挂于天花板 + - 倒悬 想开挂吗?夜骐是可以 _字面意义上_ 开挂的!大哥都喜欢这么玩。 diff --git a/src/main/resources/assets/unicopia/lang/zh_cn.json b/src/main/resources/assets/unicopia/lang/zh_cn.json index af7c7eb2..5b978ee5 100644 --- a/src/main/resources/assets/unicopia/lang/zh_cn.json +++ b/src/main/resources/assets/unicopia/lang/zh_cn.json @@ -8,14 +8,14 @@ "ability.unicopia.empty_hooves": "我需要一个罐子", "ability.unicopia.indoors": "这里看不见天空", - "ability.unicopia.too_low": "我得再走高点", - "ability.unicopia.clear_skies": "天空已经很干净了", + "ability.unicopia.too_low": "我得去更高一点的地方", + "ability.unicopia.clear_skies": "天空已经很晴朗了", "ability.unicopia.too_calm.1": "我得更生气一点……", "ability.unicopia.too_calm.2": "我不觉得生气……", - "ability.unicopia.too_calm.3": "布鲁斯这样做的时候看起来挺轻松的……", + "ability.unicopia.too_calm.3": "李小龙这样做的时候看起来挺简单的……", "ability.unicopia.too_calm.4": "大公主予我力量……", - "itemGroup.unicopia.items": "奇幻小马国 - 综合", + "itemGroup.unicopia.items": "奇幻小马国", "itemGroup.unicopia.foraging": "奇幻小马国 - 觅食", "itemGroup.unicopia.earth_pony": "奇幻小马国 - 小马镇", "itemGroup.unicopia.unicorn": "奇幻小马国 - 坎特洛特", @@ -33,7 +33,7 @@ "item.unicopia.birch_basket": "白桦木篮", "item.unicopia.jungle_basket": "丛林木篮", "item.unicopia.acacia_basket": "金合欢木篮", - "item.unicopia.cherry_basket": "樱桃木篮", + "item.unicopia.cherry_basket": "樱花木篮", "item.unicopia.dark_oak_basket": "深色橡木篮", "item.unicopia.mangrove_basket": "红木篮", "item.unicopia.bamboo_basket": "竹篮", @@ -44,7 +44,7 @@ "item.unicopia.palm_chest_boat": "棕榈木运输船", "item.unicopia.spellbook": "魔法书", - "item.unicopia.spectral_clock": "调频钟", + "item.unicopia.spectral_clock": "节律钟", "emi.category.unicopia.spellbook": "魔法书", "emi.category.unicopia.cloud_shaping": "塑形", @@ -91,20 +91,20 @@ "item.unicopia.crystal_heart": "水晶之心", "item.unicopia.crystal_shard": "水晶碎片", "item.unicopia.dragon_breath_scroll": "龙息卷轴", - "item.unicopia.gemstone": "平凡的 宝石", - "item.unicopia.gemstone.enchanted": "%s 宝石", - "item.unicopia.gemstone.obfuscated": "不凡的 宝石", - "item.unicopia.botched_gem": "报废的 宝石", + "item.unicopia.gemstone": "平凡的 晶石", + "item.unicopia.gemstone.enchanted": "%s 晶石", + "item.unicopia.gemstone.obfuscated": "不凡的 晶石", + "item.unicopia.botched_gem": "报废的 晶石", "item.unicopia.pegasus_feather": "天马的羽毛", "item.unicopia.gryphon_feather": "狮鹫的羽毛", "item.unicopia.golden_feather": "金色羽毛", "item.unicopia.golden_wing": "金色翅膀", - "item.unicopia.mug": "杯子", + "item.unicopia.mug": "马克杯", "item.unicopia.cider": "苹果酒", "item.unicopia.juice": "果汁", - "item.unicopia.burned_juice": "烧焦的果汁", + "item.unicopia.burned_juice": "烧糊的果汁", "item.unicopia.mango": "芒果", "item.unicopia.banana": "香蕉", @@ -152,7 +152,7 @@ "item.unicopia.alicorn_amulet.lore": "佩戴时长: %d", "item.unicopia.pearl_necklace": "珍珠项链", - "item.unicopia.pearl_necklace.lore": "给予佩带者水下活动的能力", + "item.unicopia.pearl_necklace.lore": "赋予佩带者水下活动的能力", "item.unicopia.clam_shell": "蛤蜊壳", "item.unicopia.scallop_shell": "扇贝壳", "item.unicopia.turret_shell": "锥螺壳", @@ -277,8 +277,8 @@ "block.unicopia.sour_apple_sprout": "酸苹果树嫩芽", "block.unicopia.surface_chitin": "几丁质表面", - "block.unicopia.mysterious_egg": "奇怪的蛋", - "block.unicopia.hive": "蜂巢", + "block.unicopia.mysterious_egg": "奇怪的卵", + "block.unicopia.hive": "虫巢", "block.unicopia.slime_pustule": "黏液泡", "block.unicopia.chitin": "几丁质块", "block.unicopia.chitin_spikes": "几丁质尖刺", @@ -324,8 +324,8 @@ "block.unicopia.dark_oak_stable_door": "木马厩门", "block.unicopia.oats": "燕麦", - "block.unicopia.oats_stem": "燕麦", - "block.unicopia.oats_crown": "燕麦", + "block.unicopia.oats_stem": "燕麦秆", + "block.unicopia.oats_crown": "燕麦冠", "entity.unicopia.butterfly": "蝴蝶", "entity.unicopia.twittermite": "雷光虫", @@ -352,7 +352,7 @@ "effect.unicopia.food_poisoning": "食物中毒", "effect.unicopia.sun_blindness": "日光袭眼", "effect.unicopia.corrupt_influence": "堕落之力", - "effect.unicopia.paralysis": "腿部乏力", + "effect.unicopia.paralysis": "腿乏", "effect.unicopia.butter_fingers": "手滑", "effect.unicopia.change_race_earth": "转生陆马", @@ -363,13 +363,13 @@ "effect.unicopia.change_race_kirin": "转生麒麟", "effect.unicopia.change_race_hippogriff": "转生骏鹰", - "effect.unicopia.morph_race_earth": "变成陆马", - "effect.unicopia.morph_race_unicopia": "变成独角兽", - "effect.unicopia.morph_race_pegasus": "变成天马", - "effect.unicopia.morph_race_changeling": "变成幻形灵", - "effect.unicopia.morph_race_bat": "变成夜骐", - "effect.unicopia.morph_race_kirin": "变成麒麟", - "effect.unicopia.morph_race_hippogriff": "变成骏鹰", + "effect.unicopia.morph_race_earth": "变身陆马", + "effect.unicopia.morph_race_unicopia": "变身独角兽", + "effect.unicopia.morph_race_pegasus": "变身天马", + "effect.unicopia.morph_race_changeling": "变身幻形灵", + "effect.unicopia.morph_race_bat": "变身夜骐", + "effect.unicopia.morph_race_kirin": "变身麒麟", + "effect.unicopia.morph_race_hippogriff": "变身骏鹰", "item.minecraft.potion.effect.unicopia.tribe_swap_earth": "转生陆马药水", "item.minecraft.splash_potion.effect.unicopia.tribe_swap_earth": "喷溅型转生陆马药水", @@ -406,81 +406,81 @@ "item.minecraft.lingering_potion.effect.unicopia.tribe_swap_hippogriff": "滞留型转生骏鹰药水", "item.minecraft.tipped_arrow.effect.unicopia.tribe_swap_hippogriff": "转生骏鹰之箭", - "item.minecraft.potion.effect.unicopia.short_morph_earth": "短效变成陆马药水", - "item.minecraft.splash_potion.effect.unicopia.short_morph_earth": "喷溅型短效变成陆马药水", - "item.minecraft.lingering_potion.effect.unicopia.short_morph_earth": "滞留型短效变成陆马药水", - "item.minecraft.tipped_arrow.effect.unicopia.short_morph_earth": "短效变成陆马之箭", + "item.minecraft.potion.effect.unicopia.short_morph_earth": "短效变身陆马药水", + "item.minecraft.splash_potion.effect.unicopia.short_morph_earth": "喷溅型短效变身陆马药水", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_earth": "滞留型短效变身陆马药水", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_earth": "短效变身陆马之箭", - "item.minecraft.potion.effect.unicopia.short_morph_unicorn": "短效变成独角兽药水", - "item.minecraft.splash_potion.effect.unicopia.short_morph_unicorn": "喷溅型短效变成独角兽药水", - "item.minecraft.lingering_potion.effect.unicopia.short_morph_unicorn": "滞留型短效变成独角兽药水", - "item.minecraft.tipped_arrow.effect.unicopia.short_morph_unicorn": "短效变成独角兽之箭", + "item.minecraft.potion.effect.unicopia.short_morph_unicorn": "短效变身独角兽药水", + "item.minecraft.splash_potion.effect.unicopia.short_morph_unicorn": "喷溅型短效变身独角兽药水", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_unicorn": "滞留型短效变身独角兽药水", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_unicorn": "短效变身独角兽之箭", - "item.minecraft.potion.effect.unicopia.short_morph_pegasus": "短效变成天马药水", - "item.minecraft.splash_potion.effect.unicopia.short_morph_pegasus": "喷溅型短效变成天马药水", - "item.minecraft.lingering_potion.effect.unicopia.short_morph_pegasus": "滞留型短效变成天马药水", - "item.minecraft.tipped_arrow.effect.unicopia.short_morph_pegasus": "短效变成天马之箭", + "item.minecraft.potion.effect.unicopia.short_morph_pegasus": "短效变身天马药水", + "item.minecraft.splash_potion.effect.unicopia.short_morph_pegasus": "喷溅型短效变身天马药水", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_pegasus": "滞留型短效变身天马药水", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_pegasus": "短效变身天马之箭", - "item.minecraft.potion.effect.unicopia.short_morph_changeling": "短效变成幻形灵药水", - "item.minecraft.splash_potion.effect.unicopia.short_morph_changeling": "喷溅型短效变成幻形灵药水", - "item.minecraft.lingering_potion.effect.unicopia.short_morph_changeling": "滞留型短效变成幻形灵药水", - "item.minecraft.tipped_arrow.effect.unicopia.short_morph_changeling": "短效变成幻形灵之箭", + "item.minecraft.potion.effect.unicopia.short_morph_changeling": "短效变身幻形灵药水", + "item.minecraft.splash_potion.effect.unicopia.short_morph_changeling": "喷溅型短效变身幻形灵药水", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_changeling": "滞留型短效变身幻形灵药水", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_changeling": "短效变身幻形灵之箭", - "item.minecraft.potion.effect.unicopia.short_morph_bat": "短效变成夜骐药水", - "item.minecraft.splash_potion.effect.unicopia.short_morph_bat": "喷溅型短效变成夜骐药水", - "item.minecraft.lingering_potion.effect.unicopia.short_morph_bat": "滞留型短效变成夜骐药水", - "item.minecraft.tipped_arrow.effect.unicopia.short_morph_bat": "短效变成夜骐之箭", + "item.minecraft.potion.effect.unicopia.short_morph_bat": "短效变身夜骐药水", + "item.minecraft.splash_potion.effect.unicopia.short_morph_bat": "喷溅型短效变身夜骐药水", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_bat": "滞留型短效变身夜骐药水", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_bat": "短效变身夜骐之箭", - "item.minecraft.potion.effect.unicopia.short_morph_kirin": "短效变成麒麟药水", - "item.minecraft.splash_potion.effect.unicopia.short_morph_kirin": "喷溅型短效变成麒麟药水", - "item.minecraft.lingering_potion.effect.unicopia.short_morph_kirin": "滞留型短效变成麒麟药水", - "item.minecraft.tipped_arrow.effect.unicopia.short_morph_kirin": "短效变成麒麟之箭", + "item.minecraft.potion.effect.unicopia.short_morph_kirin": "短效变身麒麟药水", + "item.minecraft.splash_potion.effect.unicopia.short_morph_kirin": "喷溅型短效变身麒麟药水", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_kirin": "滞留型短效变身麒麟药水", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_kirin": "短效变身麒麟之箭", - "item.minecraft.potion.effect.unicopia.short_morph_hippogriff": "短效变成骏鹰药水", - "item.minecraft.splash_potion.effect.unicopia.short_morph_hippogriff": "喷溅型短效变成骏鹰药水", - "item.minecraft.lingering_potion.effect.unicopia.short_morph_hippogriff": "滞留型短效变成骏鹰药水", - "item.minecraft.tipped_arrow.effect.unicopia.short_morph_hippogriff": "短效变成骏鹰之箭", + "item.minecraft.potion.effect.unicopia.short_morph_hippogriff": "短效变身骏鹰药水", + "item.minecraft.splash_potion.effect.unicopia.short_morph_hippogriff": "喷溅型短效变身骏鹰药水", + "item.minecraft.lingering_potion.effect.unicopia.short_morph_hippogriff": "滞留型短效变身骏鹰药水", + "item.minecraft.tipped_arrow.effect.unicopia.short_morph_hippogriff": "短效变身骏鹰之箭", - "item.minecraft.potion.effect.unicopia.long_morph_earth": "长效变成陆马药水", - "item.minecraft.splash_potion.effect.unicopia.long_morph_earth": "喷溅型长效变成陆马药水", - "item.minecraft.lingering_potion.effect.unicopia.long_morph_earth": "滞留型长效变成陆马药水", - "item.minecraft.tipped_arrow.effect.unicopia.long_morph_earth": "长效变成陆马之箭", + "item.minecraft.potion.effect.unicopia.long_morph_earth": "长效变身陆马药水", + "item.minecraft.splash_potion.effect.unicopia.long_morph_earth": "喷溅型长效变身陆马药水", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_earth": "滞留型长效变身陆马药水", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_earth": "长效变身陆马之箭", - "item.minecraft.potion.effect.unicopia.long_morph_unicorn": "长效变成独角兽药水", - "item.minecraft.splash_potion.effect.unicopia.long_morph_unicorn": "喷溅型长效变成独角兽药水", - "item.minecraft.lingering_potion.effect.unicopia.long_morph_unicorn": "滞留型长效变成独角兽药水", - "item.minecraft.tipped_arrow.effect.unicopia.long_morph_unicorn": "长效变成独角兽之箭", + "item.minecraft.potion.effect.unicopia.long_morph_unicorn": "长效变身独角兽药水", + "item.minecraft.splash_potion.effect.unicopia.long_morph_unicorn": "喷溅型长效变身独角兽药水", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_unicorn": "滞留型长效变身独角兽药水", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_unicorn": "长效变身独角兽之箭", - "item.minecraft.potion.effect.unicopia.long_morph_pegasus": "长效变成天马药水", - "item.minecraft.splash_potion.effect.unicopia.long_morph_pegasus": "喷溅型长效变成天马药水", - "item.minecraft.lingering_potion.effect.unicopia.long_morph_pegasus": "滞留型长效变成天马药水", - "item.minecraft.tipped_arrow.effect.unicopia.long_morph_pegasus": "长效变成天马之箭", + "item.minecraft.potion.effect.unicopia.long_morph_pegasus": "长效变身天马药水", + "item.minecraft.splash_potion.effect.unicopia.long_morph_pegasus": "喷溅型长效变身天马药水", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_pegasus": "滞留型长效变身天马药水", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_pegasus": "长效变身天马之箭", - "item.minecraft.potion.effect.unicopia.long_morph_changeling": "长效变成幻形灵药水", - "item.minecraft.splash_potion.effect.unicopia.long_morph_changeling": "喷溅型长效变成幻形灵药水", - "item.minecraft.lingering_potion.effect.unicopia.long_morph_changeling": "滞留型长效变成幻形灵药水", - "item.minecraft.tipped_arrow.effect.unicopia.long_morph_changeling": "长效变成幻形灵之箭", + "item.minecraft.potion.effect.unicopia.long_morph_changeling": "长效变身幻形灵药水", + "item.minecraft.splash_potion.effect.unicopia.long_morph_changeling": "喷溅型长效变身幻形灵药水", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_changeling": "滞留型长效变身幻形灵药水", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_changeling": "长效变身幻形灵之箭", - "item.minecraft.potion.effect.unicopia.long_morph_bat": "长效变成夜骐药水", - "item.minecraft.splash_potion.effect.unicopia.long_morph_bat": "喷溅型长效变成夜骐药水", - "item.minecraft.lingering_potion.effect.unicopia.long_morph_bat": "滞留型长效变成夜骐药水", - "item.minecraft.tipped_arrow.effect.unicopia.long_morph_bat": "长效变成夜骐之箭", + "item.minecraft.potion.effect.unicopia.long_morph_bat": "长效变身夜骐药水", + "item.minecraft.splash_potion.effect.unicopia.long_morph_bat": "喷溅型长效变身夜骐药水", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_bat": "滞留型长效变身夜骐药水", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_bat": "长效变身夜骐之箭", - "item.minecraft.potion.effect.unicopia.long_morph_kirin": "长效变成麒麟药水", - "item.minecraft.splash_potion.effect.unicopia.long_morph_kirin": "喷溅型长效变成麒麟药水", - "item.minecraft.lingering_potion.effect.unicopia.long_morph_kirin": "滞留型长效变成麒麟药水", - "item.minecraft.tipped_arrow.effect.unicopia.long_morph_kirin": "长效变成麒麟之箭", + "item.minecraft.potion.effect.unicopia.long_morph_kirin": "长效变身麒麟药水", + "item.minecraft.splash_potion.effect.unicopia.long_morph_kirin": "喷溅型长效变身麒麟药水", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_kirin": "滞留型长效变身麒麟药水", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_kirin": "长效变身麒麟之箭", - "item.minecraft.potion.effect.unicopia.long_morph_hippogriff": "长效变成骏鹰药水", - "item.minecraft.splash_potion.effect.unicopia.long_morph_hippogriff": "喷溅型长效变成骏鹰药水", - "item.minecraft.lingering_potion.effect.unicopia.long_morph_hippogriff": "滞留型长效变成骏鹰药水", - "item.minecraft.tipped_arrow.effect.unicopia.long_morph_hippogriff": "长效变成骏鹰之箭", + "item.minecraft.potion.effect.unicopia.long_morph_hippogriff": "长效变身骏鹰药水", + "item.minecraft.splash_potion.effect.unicopia.long_morph_hippogriff": "喷溅型长效变身骏鹰药水", + "item.minecraft.lingering_potion.effect.unicopia.long_morph_hippogriff": "滞留型长效变身骏鹰药水", + "item.minecraft.tipped_arrow.effect.unicopia.long_morph_hippogriff": "长效变身骏鹰之箭", "potion.withChance": "%s 分之 1 的概率为 %s", "potion.potency.6": "VII", "spell.unicopia.frost": "霜冻", - "spell.unicopia.frost.lore": "触感发冷,这颗宝石会以雪覆盖它作用于的任何东西", + "spell.unicopia.frost.lore": "触感发冷,这颗晶石会以雪覆盖它作用于的任何东西", "spell.unicopia.hydrophobic": "排水", "spell.unicopia.hydrophobic.lore": "在使用者周围产生一个保护性空腔,防止水进入", "spell.unicopia.chilling_breath": "凛冽之息", @@ -488,7 +488,7 @@ "spell.unicopia.scorch": "灼烧", "spell.unicopia.scorch.lore": "触感温暖,可以点燃有机物", "spell.unicopia.flame": "火焰", - "spell.unicopia.flame.lore": "这颗宝石燃烧着神奇的火焰", + "spell.unicopia.flame.lore": "这颗晶石燃烧着神奇的火焰", "spell.unicopia.infernal": "地狱", "spell.unicopia.infernal.lore": "召唤下界的精华来侵染这个世界", "spell.unicopia.fire_bolt": "火焰镭射", @@ -509,7 +509,7 @@ "spell.unicopia.mind_swap.lore": "暂时将施法者的意识交换到另一个实体或玩家的身体中", "spell.unicopia.displacement": "换位", "spell.unicopia.displacement.lore": "将施法者的位置与另一个实体的位置交换", - "spell.unicopia.portal": "奥术裂缝", + "spell.unicopia.portal": "奥术裂隙", "spell.unicopia.portal.lore": "连接空间中的两个点,在其之间快速旅行", "spell.unicopia.necromancy": "亡灵召唤", "spell.unicopia.necromancy.lore": "从阴间召唤亡灵爪牙", @@ -521,8 +521,8 @@ "spell.unicopia.light.lore": "召唤多个小光球跟随施法者", "spell.unicopia.awkward": "拙劣", "spell.unicopia.awkward.lore": "不稳定的魔法", - "spell.unicopia.transformation": "变形", - "spell.unicopia.transformation.lore": "将目标变成其它东西", + "spell.unicopia.transformation": "转化", + "spell.unicopia.transformation.lore": "将目标转化成其它东西", "spell.unicopia.feather_fall": "缓降", "spell.unicopia.feather_fall.lore": "减缓施法者和周围同伴的下落速度", "spell.unicopia.catapult": "击飞", @@ -582,16 +582,16 @@ "tag.unicopia.food_types.rotten_meat": "腐烂的肉", "tag.unicopia.food_types.raw_meat": "新鲜的肉", - "tag.unicopia.food_types.cooked_meat": "处理好的肉", + "tag.unicopia.food_types.cooked_meat": "烤好的肉", "tag.unicopia.food_types.raw_fish": "新鲜的鱼", - "tag.unicopia.food_types.cooked_fish": "处理好的鱼", + "tag.unicopia.food_types.cooked_fish": "烤好的鱼", "tag.unicopia.food_types.raw_insect": "虫类", "tag.unicopia.food_types.cooked_insect": "烤虫类", "tag.unicopia.food_types.love": "爱", "tag.unicopia.food_types.rocks": "石块", "tag.unicopia.food_types.pinecone": "坚果和种子", - "tag.unicopia.food_types.bat_ponys_delight": "夜骐的处理", - "tag.unicopia.food_types.cooked_sea_vegitables": "处理好的鱼类食物", + "tag.unicopia.food_types.bat_ponys_delight": "夜骐乐食", + "tag.unicopia.food_types.cooked_sea_vegitables": "烤好的鱼类食物", "tag.unicopia.food_types.raw_sea_vegitables": "新鲜的鱼类食物", "tag.unicopia.food_types.shells": "海贝", "tag.unicopia.food_types.shelly": "海贝", @@ -620,7 +620,7 @@ "affliction.unicopia.empty": "无效果", "affliction.unicopia.healing": "获得 %s%% 点生命值", - "affliction.unicopia.cure_love_sickness": "治愈爱的病", + "affliction.unicopia.cure_love_sickness": "治愈缺爱的病", "affliction.unicopia.lose_hunger": "失去 %s%% 点饥饿值", "ability.unicopia.shoot": "发射魔法", @@ -650,7 +650,7 @@ "ability.unicopia.pummel": "重蹄出击", "ability.unicopia.carry": "抱起/放下 乘客", "ability.unicopia.toggle_flight": "起飞/降落", - "ability.unicopia.hang": "倒挂于天花板", + "ability.unicopia.hang": "倒悬", "ability.unicopia.eee": "尖叫", "ability.unicopia.time_control": "控制 太阳/月亮", "ability.unicopia.feed": "吸取爱", @@ -660,7 +660,7 @@ "ability.unicopia.rage": "发火", "ability.unicopia.nirik_blast": "逆麟爆火", "ability.unicopia.screech": "尖啸", - "ability.unicopia.peck": "啄/鸣叫", + "ability.unicopia.peck": "啄打/鸣叫", "ability.unicopia.peck.block.fled": "方块被吓跑了", "ability.unicopia.peck.block.unfased": "方块在你的威胁下仍泰然自若", "ability.unicopia.dash": "飞行冲刺", @@ -704,7 +704,7 @@ "gui.unicopia.tribe_selection.confirm.goods": "%s 拥有以下天赋:", "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.human": " - 是杂食动物,可以吃除了爱以外的所有食物", - "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.human": " - 对生拇指", + "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.human": " - 对生的拇指", "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.human": " - 直立行走", "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.earth": " - 更强的击退力和魔抗力", @@ -728,7 +728,7 @@ "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.bat": " - 能够飞行,能通过训练提高耐力", "gui.unicopia.tribe_selection.confirm.goods.2.unicopia.bat": " - 夜间看得更清楚", - "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.bat": " - 能够倒挂在方块底部", + "gui.unicopia.tribe_selection.confirm.goods.3.unicopia.bat": " - 能够倒悬在方块底部", "gui.unicopia.tribe_selection.confirm.goods.4.unicopia.bat": " - 有一种可怕但可爱,却仍然有点烦人的尖叫声", "gui.unicopia.tribe_selection.confirm.goods.1.unicopia.changeling": " - 能够在原地飞行和悬停", @@ -798,7 +798,7 @@ "gui.unicopia.spellbook.page.level_requirement": "等级: %s", "gui.unicopia.spellbook.page.requirements.entry.item": "- %1$sx %2$s", "gui.unicopia.spellbook.page.requirements.entry.trait": "- 至少 %1$sx %2$s 要素", - "gui.unicopia.spellbook.page.requirements.entry.spell": "- %1$sx %2$s 宝石", + "gui.unicopia.spellbook.page.requirements.entry.spell": "- %1$sx %2$s 晶石", "gui.unicopia.spellbook.recipe.requires": "需要:", "gui.unicopia.spellbook.author1.sign_off": "奉公主圣旨", @@ -815,22 +815,22 @@ "gui.unicopia.spellbook.chapter.introduction.p2.body": "小马国充满了形形色色的魔法。然而,在最近的事件之后,很明显,我们并不完全了解小马国世界的一切。这就是为什么公主让我研究各种形式的魔法,所以我们可以利用它,并且,我希望,能将我们从§k混沌的侵袭§r中拯救出来。", "gui.unicopia.spellbook.chapter.introduction.p3.title": "1st Mare '12", "gui.unicopia.spellbook.chapter.introduction.p3.1.body": "不寻常的石头", - "gui.unicopia.spellbook.chapter.introduction.p3.2.body": "当地小马所说的“宝石”,是世界各处常见的材料。农场小马一直在挖掘它们,并认为这是当地的美食,但我相信这些石头的能力比他们想象的要多得多。", - "gui.unicopia.spellbook.chapter.introduction.p4.title": "宝石", + "gui.unicopia.spellbook.chapter.introduction.p3.2.body": "当地小马所说的“晶石”,是世界各处常见的材料。农场小马一直在挖掘它们,并认为这是当地的美食,但我相信这些石头的能力比他们想象的要多得多。", + "gui.unicopia.spellbook.chapter.introduction.p4.title": "晶石", "gui.unicopia.spellbook.chapter.introduction.p4.1.body": "我的研究尚未完成,但我可能偶然发现了一些东西。这些石头里具有很高的魔法潜能!比我以前见过的还要多!", "gui.unicopia.spellbook.chapter.introduction.p4.2.body": "§m露娜想要—§r 我会继续尝试。祝我自己马到成功!如果我发现什么,我明天会通知你。", "gui.unicopia.spellbook.chapter.introduction.p5.title": "2nd Mare '12", "gui.unicopia.spellbook.chapter.introduction.p5.1.body": "我去,成功了! 圣 §k大公主的屁股脸蛋'§r 的确实奏效了,", - "gui.unicopia.spellbook.chapter.introduction.p5.2.body": "这太神奇了!这些可以做的比我想象的要多得多。想想我能给小马国带来的进步。宝石能源照明,加热,制冷,我再也不用在夏天坐着这个了——", + "gui.unicopia.spellbook.chapter.introduction.p5.2.body": "这太神奇了!这些可以做的比我想象的要多得多。想想我能给小马国带来的进步。晶石能源照明,加热,制冷,我再也不用在夏天坐着这个了——", "gui.unicopia.spellbook.chapter.introduction.p5.3.body": "我正在超越自己。让我解释一下……", "gui.unicopia.spellbook.chapter.introduction.p6.title": "魔法制作", "gui.unicopia.spellbook.chapter.introduction.p6.1.body": "我在本书的开头画了一个指南来帮助你学习。", - "gui.unicopia.spellbook.chapter.introduction.p6.2.body": "将一颗原始宝石(它不能已经有魔法)放在中间,并在我标记的格中放置周围的材料。", - "gui.unicopia.spellbook.chapter.introduction.p6.3.body": "每种材料都会产生不同的效果,将材料靠得更近会增强它们对宝石的影响。", + "gui.unicopia.spellbook.chapter.introduction.p6.2.body": "将一颗原始晶石(它不能已经有魔法)放在中间,并在我标记的格中放置周围的材料。", + "gui.unicopia.spellbook.chapter.introduction.p6.3.body": "每种材料都会产生不同的效果,将材料靠得更近会增强它们对晶石的影响。", "gui.unicopia.spellbook.chapter.introduction.p7.title": "3rd Mare '12", - "gui.unicopia.spellbook.chapter.introduction.p7.1.body": "我将开始记录我找到的魔法组合。其中一些非常明显,例如宝石+火=火宝石", + "gui.unicopia.spellbook.chapter.introduction.p7.1.body": "我将开始记录我找到的魔法组合。其中一些非常明显,例如晶石+火=火晶石", "gui.unicopia.spellbook.chapter.introduction.p7.2.body": "但有些东西不太清楚。例如,鸡蛋会给魔法增加哪些特性?需要进行大量实验。哦,我兴奋得头晕目眩!", - "gui.unicopia.spellbook.chapter.introduction.p8.title": "报废的宝石", + "gui.unicopia.spellbook.chapter.introduction.p8.title": "报废的晶石", "gui.unicopia.spellbook.chapter.introduction.p8.1.body": "并非每种组合都有效。令马失望的是,现在我的房间里堆满了这些无用的石头。", "gui.unicopia.spellbook.chapter.introduction.p8.2.body": "我不知道该怎么处理它们。它们没法吃,但当地小马不这么认为。", "gui.unicopia.spellbook.chapter.introduction.p8.3.body": "它们仍然具有我赋予它们的要素,所以也许除了和小露娜一起建造岩石堡垒之外,我还能找到其他用途…", @@ -842,8 +842,8 @@ "gui.unicopia.spellbook.chapter.fire.p2.title": "9th Jum '12", "gui.unicopia.spellbook.chapter.fire.p2.1.body": "我花费的时间比预想中要长,都快一个月了,哈哈!但是,亲爱的读者,我向你隆重宣布,我发现了第一种元素魔法:火魔法。", "gui.unicopia.spellbook.chapter.fire.p2.2.body": "暂时就这么叫,好吧?", - "gui.unicopia.spellbook.chapter.fire.scorch.1.body": "顾名思义,灼烧魔法就是用来灼烧的。通过赋予宝石火元素,可以让宝石发光和放热。", - "gui.unicopia.spellbook.chapter.fire.scorch.2.body": "你装填的火元素越多,宝石发光放热就越剧烈,但注意不要装过载了,不然它说不定什么时候就过火了。", + "gui.unicopia.spellbook.chapter.fire.scorch.1.body": "顾名思义,灼烧魔法就是用来灼烧的。通过赋予晶石火元素,可以让晶石发光和放热。", + "gui.unicopia.spellbook.chapter.fire.scorch.2.body": "你装填的火元素越多,晶石发光放热就越剧烈,但注意不要装过载了,不然它说不定什么时候就过火了。", "gui.unicopia.spellbook.chapter.fire.flame.1.body": "对接触到的任何物体表面产生半径为3蹄的升温效果。", "gui.unicopia.spellbook.chapter.fire.flame.2.body": "在急需用火或抵御风之魔时很有用。", "gui.unicopia.spellbook.chapter.fire.p5.title": "10th Jum '12", @@ -881,7 +881,7 @@ "gui.unicopia.spellbook.chapter.fire.p14.title": "21st Jum '12", "gui.unicopia.spellbook.chapter.fire.p14.1.body": "我明天应该去见 §k飓风司令§r。也许她能疏解我的困境。", "gui.unicopia.spellbook.chapter.fire.shield.1.body": "学会施放护盾是每匹独角兽学习自卫的第一步。它用起来很简单,也是咒语入门的好切入点。", - "gui.unicopia.spellbook.chapter.fire.shield.2.body": "其缺点是消耗能量和精神力,不过我们可以用先前提到的方法,将消耗转接到宝石上。", + "gui.unicopia.spellbook.chapter.fire.shield.2.body": "其缺点是消耗能量和精神力,不过我们可以用先前提到的方法,将消耗转接到晶石上。", "gui.unicopia.spellbook.chapter.fire.shield.modifier.1": "+ 增加力量要素以扩大作用范围", "gui.unicopia.spellbook.chapter.fire.p16.title": "保护 · 二", "gui.unicopia.spellbook.chapter.fire.p16.1.body": "通过添加额外的要素,我能够对护盾进行微调,来控制特定群体能否进出护盾。", @@ -895,7 +895,7 @@ "gui.unicopia.spellbook.chapter.ice.p1.title": "第三章 冰魔法", "gui.unicopia.spellbook.chapter.ice.p2.title": "4th Trot '12", "gui.unicopia.spellbook.chapter.ice.p2.1.body": "这下有意思了。我承认这虽然很简单,但露娜一直喊我弄点冷东西帮我们度过这波热浪。", - "gui.unicopia.spellbook.chapter.ice.p2.2.body": "你只需要一颗宝石和某些冷的东西,比如雪球。", + "gui.unicopia.spellbook.chapter.ice.p2.2.body": "你只需要一颗晶石和某些冷的东西,比如雪球。", "gui.unicopia.spellbook.chapter.ice.frost.1.body": "让半径三蹄内的物件表面凝上凛冽的气息。", "gui.unicopia.spellbook.chapter.ice.frost.2.body": "直接从环境中剥夺物体的内能,使其性质剧变。", "gui.unicopia.spellbook.chapter.ice.p4.title": "凛冽之息", @@ -911,12 +911,10 @@ "gui.unicopia.spellbook.chapter.ice.p7.title": "篝火晚会 · 二", "gui.unicopia.spellbook.chapter.ice.p7.1.body": "在回去的路上,露娜和我讲起了她朋友告诉她的一些故事。这村里的传说挺多,这我倒是预料到了。", "gui.unicopia.spellbook.chapter.ice.p7.2.body": "其中一个传说的主角是一个住在镇子边上一座闹鬼塔楼里的老术士。这老术士是谁我不必多说了。", - "gui.unicopia.spellbook.chapter.ice.p7.3.body": "冰魔法 · 二", - "gui.unicopia.spellbook.chapter.ice.p7.4.body": "让半径长达三蹄内的物件表面冷却下来。", "gui.unicopia.spellbook.chapter.ice.p8.title": "6th Trot '12", "gui.unicopia.spellbook.chapter.ice.p8.1.body": "昨天晚上镇子里传来了一些奇怪的异响,非常奇怪的那种。我听到许多小马在大喊大叫,也许是失火了。", "gui.unicopia.spellbook.chapter.ice.p8.2.body": "希望一切平安。", - "gui.unicopia.spellbook.chapter.ice.light.1.body": "给火焰镭射宝石加上些许生命与寒气,我创造了一种助力夜间视物的魔法。", + "gui.unicopia.spellbook.chapter.ice.light.1.body": "给火焰镭射晶石加上些许生命与寒气,我创造了一种助力夜间视物的魔法。", "gui.unicopia.spellbook.chapter.ice.light.2.body": "舞动之光将会召唤几个追随你的小光球。", "gui.unicopia.spellbook.chapter.ice.light.modifier.1": "* 添加更多聚焦要素来延长魔法的作用时间", "gui.unicopia.spellbook.chapter.ice.p10.title": "12th Trot '12", @@ -945,7 +943,7 @@ "gui.unicopia.spellbook.chapter.ice.p17.title": "冻湖 · 四", "gui.unicopia.spellbook.chapter.ice.p17.1.body": "早先我们到了湖附近时,我看见一大群马在岸上聚集起来。梯子和急救器械散落在湖岸上,“该怎么做”的喧嚷声此起彼伏。", "gui.unicopia.spellbook.chapter.ice.p17.2.body": "凑近来看,我很快充分意识到了发生了什么事——我直接奔向湖水——冰面破裂,湖水冻得刺骨。", - "gui.unicopia.spellbook.chapter.ice.p17.3.body": "我反正就是跳进去了,用魔法拉开鞍包,掏出随身最后一块宝石并发动了里面那还未完善的魔法。", + "gui.unicopia.spellbook.chapter.ice.p17.3.body": "我反正就是跳进去了,用魔法拉开鞍包,掏出随身最后一块晶石并发动了里面那还未完善的魔法。", "gui.unicopia.spellbook.chapter.ice.p17.4.body": "水从身边退去,我便冲下斜坡,越过干燥的湖底,飞身扑向落入湖中的小驹们。", "gui.unicopia.spellbook.chapter.ice.p18.title": "冻湖 · 五", "gui.unicopia.spellbook.chapter.ice.p18.1.body": "他们冻僵了,浑身湿透,甚至在魔法将水从他们的皮毛上驱走后仍然冷得发抖,我们将小驹们抬到岸上并给他们裹上毯子递上热饮。", @@ -957,7 +955,7 @@ "gui.unicopia.spellbook.chapter.ice.p19.2.body": "昨日缠在心头的不祥预感今天终于没了,我终于可以和露娜一起在岸上放松了。她现在不想再在湖里游泳了,这次我也不怪她了,毕竟我再也不想想往湖里钻了。", "gui.unicopia.spellbook.chapter.ice.p20.title": "沙堡", "gui.unicopia.spellbook.chapter.ice.p20.1.body": "露娜开始堆沙堡,趁她忙的时候,我决定继续钻研一下我的新魔法。", - "gui.unicopia.spellbook.chapter.ice.hydrophobic.1.body": "将护盾魔法和霜冻宝石整合在一起,结果有点…比较奇怪。", + "gui.unicopia.spellbook.chapter.ice.hydrophobic.1.body": "将护盾魔法和霜冻晶石整合在一起,结果有点…比较奇怪。", "gui.unicopia.spellbook.chapter.ice.hydrophobic.2.body": "我叫它排水是因为它能将水从施法者周围排开。", "gui.unicopia.spellbook.chapter.ice.hydrophobic.modifier.1": "* 添加更多聚焦要素来延长魔法的作用时间", "gui.unicopia.spellbook.chapter.ice.hydrophobic.modifier.2": "* 添加慷慨要素来将魔法绑定在使用者身外的某个地方", @@ -975,7 +973,7 @@ "gui.unicopia.spellbook.chapter.air.p4.3.body": "飓风司令热心地指点了一下我该如何从各种物体中分辨出这种元素。", "gui.unicopia.spellbook.chapter.air.p4.4.body": "任何和飞行相关的,或者源自飞行生物的物体都很可能含有气元素。", "gui.unicopia.spellbook.chapter.air.p4.5.body": "例如:羽毛。", - "gui.unicopia.spellbook.chapter.air.catapult.1.body": "这是独角兽意念移物能力的一个基础应用。击飞宝石能够将附近的任何方块或生物送上天。", + "gui.unicopia.spellbook.chapter.air.catapult.1.body": "这是独角兽意念移物能力的一个基础应用。击飞晶石能够将附近的任何方块或生物送上天。", "gui.unicopia.spellbook.chapter.air.catapult.2.body": "再次作用在被击飞的物体时会将其推开。", "gui.unicopia.spellbook.chapter.air.catapult.modifier.1": "* 可以向其中添加力量要素以增强效果", "gui.unicopia.spellbook.chapter.air.bubble.1.body": "一个防御性的实用魔法。泡泡魔法会将目标困在一个巨大的肥皂泡中,让其毫无反抗之力。", @@ -991,7 +989,7 @@ "gui.unicopia.spellbook.chapter.air.p10.title": "天马 · 三", "gui.unicopia.spellbook.chapter.air.p10.1.body": "我希望能继续推进研究,但我还是不太敢碰这种我尚不理解的魔法。", "gui.unicopia.spellbook.chapter.air.p10.2.body": "要是我第一次到飓风司令那边去就把人家的房子给炸了,她没准一辈子都不会原谅我。", - "gui.unicopia.spellbook.chapter.air.feather_fall.1.body": "我扩展了保护宝石的保护范围,它现在可以保护范围内的数个生灵了。", + "gui.unicopia.spellbook.chapter.air.feather_fall.1.body": "我扩展了保护晶石的保护范围,它现在可以保护范围内的数个生灵了。", "gui.unicopia.spellbook.chapter.air.feather_fall.2.body": "这种复杂的结构不同寻常,理论上应该会减缓施法者和其同伴的下落速度。", "gui.unicopia.spellbook.chapter.air.p12.title": "10th Hoof '12", "gui.unicopia.spellbook.chapter.air.p12.1.body": "我和飓风司令、露娜吃过了晚餐,饭后便聊起了建筑,其中飓风提到了泰驹陵。", @@ -1025,8 +1023,8 @@ "gui.unicopia.spellbook.chapter.dark_magic.p6.2.body": "今天露娜乱玩我的魔法合成表格,被我逮个正着,尽管之前我已经叫她我不在时不准进入我的研究室了。", "gui.unicopia.spellbook.chapter.dark_magic.p6.3.body": "显然这事和赛利肯定有点关系,我现在不怎么记得了,但反正露娜在趁我出去买面包时溜进了我的研究室。", "gui.unicopia.spellbook.chapter.dark_magic.p7.title": "奥术吸引 · 二", - "gui.unicopia.spellbook.chapter.dark_magic.p7.1.body": "其实并不是这个原因。我骂了她一顿,把她赶回了自己房间。不过当我清理她留下的一团乱麻时我留意到了宝石堆里的一样东西。", - "gui.unicopia.spellbook.chapter.dark_magic.p7.2.body": "真的,很难讲。这是一颗吸引宝石没错,但它不一样。", + "gui.unicopia.spellbook.chapter.dark_magic.p7.1.body": "其实并不是这个原因。我骂了她一顿,把她赶回了自己房间。不过当我清理她留下的一团乱麻时我留意到了晶石堆里的一样东西。", + "gui.unicopia.spellbook.chapter.dark_magic.p7.2.body": "真的,很难讲。这是一颗吸引晶石没错,但它不一样。", "gui.unicopia.spellbook.chapter.dark_magic.p7.3.body": "它里面含有我未曾想到的要素,而它表现出来的……", "gui.unicopia.spellbook.chapter.dark_magic.p8.title": "奥术吸引 · 二(续)", "gui.unicopia.spellbook.chapter.dark_magic.p8.1.body": "好吧,我得把这推到明天了,还得忙着处理这周发生的各种麻烦事。", @@ -1047,7 +1045,7 @@ "gui.unicopia.spellbook.chapter.dark_magic.p11.4.body": "它所使用的魔法不正常,不是不正常,它就像我之前研究的那样,不自然而狂野。", "gui.unicopia.spellbook.chapter.dark_magic.p11.5.body": "我绝对是可以在这开展一些测试的,但是我…应该吗?", "gui.unicopia.spellbook.chapter.dark_magic.p11.6.body": "我想,这有条不该逾越的界线。", - "gui.unicopia.spellbook.chapter.dark_magic.transformation.1.body": "我先从利用它们的能力开始研究。这些能力发散而难以控制,我几乎没法预测其演变,但是这颗宝石有着非常显著的变形特性。", + "gui.unicopia.spellbook.chapter.dark_magic.transformation.1.body": "我先从利用它们的能力开始研究。这些能力发散而难以控制,我几乎没法预测其演变,但是这颗晶石有着非常显著的变形特性。", "gui.unicopia.spellbook.chapter.dark_magic.transformation.2.body": "将这东西向其他生灵投射将有概率将他们转换成另一种生灵。", "gui.unicopia.spellbook.chapter.dark_magic.reveal.1.body": "魔法解除境是抵抗变形/幻形魔法的第一道防线。", "gui.unicopia.spellbook.chapter.dark_magic.reveal.2.body": "当施展时,它将强制使作用范围内处于伪装态的幻形灵现出真身。", @@ -1076,7 +1074,7 @@ "gui.unicopia.spellbook.chapter.dark_magic.p21.1.body": "锁已经装好了,外加几项警示,我感觉放心了一点。", "gui.unicopia.spellbook.chapter.dark_magic.p21.2.body": "晚上的动静消停了,尽管我总感觉自己还能听到……", "gui.unicopia.spellbook.chapter.dark_magic.p22.title": "4th Cropt-", - "gui.unicopia.spellbook.chapter.dark_magic.mimic.1.body": "我已经可以利用这种奇怪生灵的能力,还有很多待研究的,但是现在我能将其特性注入一颗宝石中了。", + "gui.unicopia.spellbook.chapter.dark_magic.mimic.1.body": "我已经可以利用这种奇怪生灵的能力,还有很多待研究的,但是现在我能将其特性注入一颗晶石中了。", "gui.unicopia.spellbook.chapter.dark_magic.mimic.modifier.1": "* 添加聚焦要素来延长作用效果", "gui.unicopia.spellbook.chapter.dark_magic.p24.1.body": "一股黑暗笼罩了小镇,自从那造物者来了都要嫌弃的生灵到来后,一切都变了。", "gui.unicopia.spellbook.chapter.dark_magic.p24.2.body": "镇上的小马开始显现出缺少睡眠的症状,越来越显著了。今早我看见一匹可怜的雄驹,神情恍惚地走着,眼袋黝黑,面无血色。", @@ -1099,7 +1097,7 @@ "gui.unicopia.spellbook.chapter.otherworldly.necromancy.2.body": "此魔法单独使用时并不是很实用,但是加入其他要素后可以用于有效对抗§k大批幻形灵§r。", "gui.unicopia.spellbook.chapter.otherworldly.dark_vortex.1.body": "钻击纤薄的现实,此魔法将与异界奥术能量谐振,在现实空间中钻出一个黑洞。", "gui.unicopia.spellbook.chapter.otherworldly.dark_vortex.2.body": "生成的黑洞质量巨大,会将接近事物吞噬殆尽,虽然它会提供巨大的能量,但供养它仍然非常危险。", - "gui.unicopia.spellbook.chapter.otherworldly.portal.1.body": "将前辈所制的换位魔法之功效和黑暗漩涡宝石结合在一起的话,其混沌的本性即被驯服。", + "gui.unicopia.spellbook.chapter.otherworldly.portal.1.body": "将前辈所制的换位魔法之功效和黑暗漩涡晶石结合在一起的话,其混沌的本性即被驯服。", "gui.unicopia.spellbook.chapter.otherworldly.portal.2.body": "奥术裂缝魔法允许施法者在两个地点之间建立一座跨越空间的桥梁。从一侧进入的物体将以原速从另一侧穿出。", "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.1.body": "我推进了前辈对于幻形灵变形能力的研究,现在我可以利用混沌扭曲之力增强拟态魔法了。", "gui.unicopia.spellbook.chapter.otherworldly.mind_swap.2.body": "心灵交换将拟态的效果推广到了两个生物体中,令其在有限的时间内交换躯体。", @@ -1118,6 +1116,10 @@ "gui.unicopia.spellbook.chapter.artefacts.torn_page.2.body": "§kAasa sasa fwefsd q43rgfd wqklmsdfl as, klasn.§r", "gui.unicopia.spellbook.chapter.artefacts.torn_page.3.body": "建造材料:", "gui.unicopia.spellbook.chapter.artefacts.crystal_podium.title": "水晶基座", + "gui.unicopia.spellbook.chapter.artefacts.altar.title": "祭坛", + "gui.unicopia.spellbook.chapter.artefacts.altar.1.body": "一座由一支早期§k独角兽族§r群§k打§r造的古§k代§r祭坛,被认为是用于§k更加古§r老的魔§k法召§r唤仪式。", + "gui.unicopia.spellbook.chapter.artefacts.altar.2.body": "我们对这种神秘的构造§k知之§r甚少,它们所蕴藏的秘密到现今仍是一个迷。", + "gui.unicopia.spellbook.chapter.artefacts.altar.3.body": "使§k用祭§r坛", "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.2.body": "用法是,呃,把某小马的名字打上去,然后拿在一只蹄中,把另一样东西拿在另一只蹄中,接下来就,呃,它们就会咻的一声飞走,这东西就去到那匹小马那边了。", "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.title": "2nd Hoof '12", "gui.unicopia.spellbook.chapter.artefacts.dragon_breath_scroll.3.body": "P.S.星璇叔叔是大笨蛋。", @@ -1126,6 +1128,9 @@ "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.title": "13th Mare '12", "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.3.body": "任何戴上了签过你名的手环的小马都可以从你施展的增效魔法中受益,也可以穿越保护魔法和盾牌魔法的结界。", "gui.unicopia.spellbook.chapter.artefacts.friendship_bracelet.4.body": "法力消耗也会平摊到附近的联谊者身上。", + "gui.unicopia.spellbook.chapter.artefacts.spectral_clock.title": "14th Mare '12", + "gui.unicopia.spellbook.chapter.artefacts.spectral_clock.1.body": "与其说是件造物,倒不如说是个奇怪的饰品。上周露娜恰好把这东西从集市上带回家,一眼看过去还以为是个普通的坏钟,但是我却发现了其奇怪之处。", + "gui.unicopia.spellbook.chapter.artefacts.spectral_clock.2.body": "这个钟并不能指示时间。好吧,其实可以,只是不直观。更像是遵循着周围森林里某种植物的节律周期。", "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.1.body": "这是飓风司令告诉我的,然而我没找到多少记载来佐证她的说法。", "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.2.body": "其上的天马护符可以让穿戴者享受短暂的飞行,就像天马那样。", "gui.unicopia.spellbook.chapter.artefacts.pegasus_amulet.title": "21st Trot '12", @@ -1135,10 +1140,10 @@ "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.title": "22nd Trot '12", "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.3.body": "由于其致密的结构和强劲的可燃性,所以必要时此物亦可当作攻击用的武器,或成为燃料。", "gui.unicopia.spellbook.chapter.artefacts.meadowbrooks_staff.4.body": "为了在战斗中正确使用此物,使用者须得使双蹄拽住其窄端,在头上快速挥舞,同时喊出“Fus Roh DAH!”", - "gui.unicopia.spellbook.chapter.artefacts.magic_staff.1.body": "这是一种让非魔法生物也能使用魔法的辅助型工具,它们可以像独角兽那引导并驾驭魔法宝石内存的魔力。", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.1.body": "这是一种让非魔法生物也能使用魔法的辅助型工具,它们可以像独角兽那引导并驾驭魔法晶石内存的魔力。", "gui.unicopia.spellbook.chapter.artefacts.magic_staff.title": "22nd Trot '12", "gui.unicopia.spellbook.chapter.artefacts.magic_staff.2.body": "并非所有魔法都以相同的方式工作,但是对于魔法初学者来说,此物是个必备的基础工具。", - "gui.unicopia.spellbook.chapter.artefacts.magic_staff.3.body": "制作此物最简单的方式是把魔力宝石安装在一根接长木棍的末端。没错,多么革新的工艺啊,我就知道。", + "gui.unicopia.spellbook.chapter.artefacts.magic_staff.3.body": "制作此物最简单的方式是把魔力晶石安装在一根接长木棍的末端。没错,多么革新的工艺啊,我就知道。", "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.1.body": "一个强大的魔法造物,曾经被认为储存了格罗迦大王的力量。", "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.2.body": "对于会使用它的小马来说,它可以将魔力从一个生物转移到另一个生物中。", "gui.unicopia.spellbook.chapter.artefacts.grogars_bell.title": "22nd Trot '12", @@ -1279,7 +1284,7 @@ "enchantment.unicopia.clingy": "纠缠不休", "enchantment.unicopia.repulsion": "地心斥力", "enchantment.unicopia.heavy": "沉重", - "enchantment.unicopia.herds": "同仇敌忾", + "enchantment.unicopia.herds": "戮力同心", "enchantment.unicopia.want_it_need_it": "竞相争夺", "enchantment.unicopia.poisoned_joke": "毒玩笑", "enchantment.unicopia.stressed": "神经压迫", @@ -1480,55 +1485,55 @@ "painting.unicopia.equality.title": "平等", "painting.unicopia.equality.author": "星光熠熠", - "unicopia.subtitle.flap_wings": "拍翅膀", - "unicopia.subtitle.dash": "小马冲刺", + "unicopia.subtitle.flap_wings": "翅膀:拍打", + "unicopia.subtitle.dash": "小马:冲刺", "unicopia.subtitle.wind_rush": "强风袭脸", "unicopia.subtitle.insects": "昆虫乱舞", - "unicopia.subtitle.changeling_buzz": "雄峰嗡嗡", - "unicopia.subtitle.batpony_eeee": "夜骐尖叫", + "unicopia.subtitle.changeling_buzz": "幻形灵:嗡嗡", + "unicopia.subtitle.batpony_eeee": "夜骐:尖叫", "unicopia.subtitle.sonar": "声呐脉冲", - "unicopia.subtitle.changeling.transform": "幻形灵 变形", - "unicopia.subtitle.screech": "骏鹰尖啸", - "unicopia.subtitle.pegasus.molt": "天马脱羽", - "unicopia.subtitle.unicorn.teleport": "魔法泡泡", + "unicopia.subtitle.changeling.transform": "幻形灵:变形", + "unicopia.subtitle.screech": "骏鹰:尖啸", + "unicopia.subtitle.pegasus.molt": "天马:脱羽", + "unicopia.subtitle.unicorn.teleport": "魔法:啵", "unicopia.subtitle.player.wololo": "Wololo!", "unicopia.subtitle.entity.player.whistle": "玩家吹口哨", - "unicopia.subtitle.entity.player.kick": "玩家踢腿", - "unicopia.subtitle.magic_aura": "魔法嗡嗡", - "unicopia.subtitle.player.rebound": "玩家从墙上弹开", - "unicopia.subtitle.screech": "玩家尖啸", + "unicopia.subtitle.entity.player.kick": "玩家:踢腿", + "unicopia.subtitle.magic_aura": "魔法:嗡嗡", + "unicopia.subtitle.player.rebound": "玩家:从墙上弹开", + "unicopia.subtitle.screech": "玩家:尖啸", "unicopia.subtitle.ears_ringing": "耳鸣", "unicopia.subtitle.heartbeat": "心悸", - "unicopia.subtitle.entity.artefact.ambient": "魔法嗡", - "unicopia.subtitle.entity.butterfly.hurt": "蝴蝶受伤", - "unicopia.subtitle.entity.twittermite.ambient": "雷光虫啾啾", - "unicopia.subtitle.entity.twittermite.death": "雷光虫死亡", - "unicopia.subtitle.entity.twittermite.hurt": "雷光虫受伤", - "unicopia.subtitle.entity.jar.throw": "扔出罐子", - "unicopia.subtitle.entity.crystal_heart.activate": "水晶之心激活", - "unicopia.subtitle.entity.crystal_heart.deactivate": "水晶之心失效", + "unicopia.subtitle.entity.artefact.ambient": "魔法:嗡", + "unicopia.subtitle.entity.butterfly.hurt": "蝴蝶:受伤", + "unicopia.subtitle.entity.twittermite.ambient": "雷光虫:啾啾", + "unicopia.subtitle.entity.twittermite.death": "雷光虫:死亡", + "unicopia.subtitle.entity.twittermite.hurt": "雷光虫:受伤", + "unicopia.subtitle.entity.jar.throw": "罐子:被扔出", + "unicopia.subtitle.entity.crystal_heart.activate": "水晶之心:激活", + "unicopia.subtitle.entity.crystal_heart.deactivate": "水晶之心:失效", "unicopia.subtitle.entity.sombra.ambient": "邪恶的笑声", - "unicopia.subtitle.entity.sombra.laugh": "黑晶王 笑", - "unicopia.subtitle.entity.sombra.snicker": "黑晶王 暗笑", - "unicopia.subtitle.item.amulet.charging": "护身符充能", - "unicopia.subtitle.item.amulet.recharge": "护身符已重充能", - "unicopia.subtitle.item.icarus_wings.resonate": "伊卡洛斯之翼 振翅", - "unicopia.subtitle.item.icarus_wings.corrupted": "伊卡洛斯之翼 已损坏", - "unicopia.subtitle.item.icarus_wings.warn": "伊卡洛斯之翼 正在收翅", - "unicopia.subtitle.item.icarus_wings.break": "伊卡洛斯之翼 休息", - "unicopia.subtitle.item.alicorn_amulet.curse": "天角兽护符 诅咒生效", - "unicopia.subtitle.item.alicorn_amulet.ambient": "天角兽护符 低鸣", - "unicopia.subtitle.item.apple.rot": "苹果馊掉", - "unicopia.subtitle.item.bracelet.sign": "在手环上签名", + "unicopia.subtitle.entity.sombra.laugh": "黑晶王:大笑", + "unicopia.subtitle.entity.sombra.snicker": "黑晶王:暗笑", + "unicopia.subtitle.item.amulet.charging": "护符:正在充能", + "unicopia.subtitle.item.amulet.recharge": "护符:已重充能", + "unicopia.subtitle.item.icarus_wings.resonate": "伊卡洛斯之翼:振翅", + "unicopia.subtitle.item.icarus_wings.corrupted": "伊卡洛斯之翼:已损坏", + "unicopia.subtitle.item.icarus_wings.warn": "伊卡洛斯之翼:翅膀消散", + "unicopia.subtitle.item.icarus_wings.break": "伊卡洛斯之翼:翅膀损毁", + "unicopia.subtitle.item.alicorn_amulet.curse": "天角兽护符:诅咒生效", + "unicopia.subtitle.item.alicorn_amulet.ambient": "天角兽护符:低鸣", + "unicopia.subtitle.item.apple.rot": "苹果:馊掉", + "unicopia.subtitle.item.bracelet.sign": "手环:已签名", "unicopia.subtitle.block.chitin.ambience": "飞溅", "unicopia.subtitle.block.slime_pustule.pop": "黏液泡破掉", - "unicopia.subtitle.spell.cast.fail": "魔法施展失败", - "unicopia.subtitle.spell.cast.success": "魔法施展", - "unicopia.subtitle.spell.cast.shoot": "独角发射", - "unicopia.subtitle.spell.illusion.disperse": "幻形灵 现出原形", - "unicopia.subtitle.spell.fire.shoot.bolt": "火焰镭射 发射", - "unicopia.subtitle.spell.shield.projectile.burn": "箭矢燃烧", - "unicopia.subtitle.spell.transform.transmute.entity": "魔法泡泡", + "unicopia.subtitle.spell.cast.fail": "魔法:施展失败", + "unicopia.subtitle.spell.cast.success": "魔法:施展", + "unicopia.subtitle.spell.cast.shoot": "独角:发射", + "unicopia.subtitle.spell.illusion.disperse": "幻形灵:现出原形", + "unicopia.subtitle.spell.fire.shoot.bolt": "火焰镭射:发射", + "unicopia.subtitle.spell.shield.projectile.burn": "箭矢:燃烧", + "unicopia.subtitle.spell.transform.transmute.entity": "魔法:啵", "advancements.unicopia.root.title": "奇幻小马国", "advancements.unicopia.root.description": "一个充满魔法与冒险的世界", From e48b7bd24439e365af1c7f08a50062038d61d8d2 Mon Sep 17 00:00:00 2001 From: Sollace Date: Mon, 5 Feb 2024 00:34:49 +0000 Subject: [PATCH 27/52] Improve structure rendering performance and change lighting --- .../unicopia/block/state/ExpandableList.java | 45 ++++++ .../unicopia/block/state/Schematic.java | 72 +++++++++ .../gui/spellbook/element/PageElement.java | 3 +- .../gui/spellbook/element/Structure.java | 152 ++---------------- 4 files changed, 131 insertions(+), 141 deletions(-) create mode 100644 src/main/java/com/minelittlepony/unicopia/block/state/ExpandableList.java create mode 100644 src/main/java/com/minelittlepony/unicopia/block/state/Schematic.java diff --git a/src/main/java/com/minelittlepony/unicopia/block/state/ExpandableList.java b/src/main/java/com/minelittlepony/unicopia/block/state/ExpandableList.java new file mode 100644 index 00000000..3262ed9f --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/block/state/ExpandableList.java @@ -0,0 +1,45 @@ +package com.minelittlepony.unicopia.block.state; + +import java.util.Arrays; +import java.util.function.Supplier; + +class ExpandableList { + private final Supplier defaultValue; + private Object[] values; + private int size; + + public ExpandableList(int initialCapacity, Supplier defaultValue) { + this.defaultValue = defaultValue; + values = new Object[Math.max(0, initialCapacity)]; + } + + public int size() { + return size; + } + + @SuppressWarnings("unchecked") + public T get(int index) { + T t = (T)values[index]; + if (t == null) { + values[index] = t = defaultValue.get(); + } + return t; + } + + public T getOrExpand(int index) { + resize(index); + return get(index); + } + + public void set(int index, T value) { + resize(index); + values[index] = value; + } + + private void resize(int index) { + if (index >= values.length) { + values = Arrays.copyOf(values, Math.max(index + 1, (values.length + 1) * 2)); + } + size = Math.max(index + 1, size); + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/block/state/Schematic.java b/src/main/java/com/minelittlepony/unicopia/block/state/Schematic.java new file mode 100644 index 00000000..2053b372 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/block/state/Schematic.java @@ -0,0 +1,72 @@ +package com.minelittlepony.unicopia.block.state; + +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.network.PacketByteBuf; + +public record Schematic(int dx, int dy, int dz, Entry[] states) { + public static Schematic fromPacket(PacketByteBuf buffer) { + Builder builder = new Builder(); + buffer.readCollection(ArrayList::new, buf -> { + byte op = buf.readByte(); + return switch (op) { + case 1 -> builder.set(buf.readInt(), buf.readInt(), buf.readInt(), Block.getStateFromRawId(buf.readInt())); + case 2 -> builder.fill(buf.readInt(), buf.readInt(), buf.readInt(), buf.readInt(), buf.readInt(), buf.readInt(), Block.getStateFromRawId(buf.readInt())); + default -> builder; + }; + }); + return builder.build(); + } + + public int volume() { + return states.length; + } + + public static final class Builder { + private static final BlockState AIR = Blocks.AIR.getDefaultState(); + + private int dx = -1; + private int dy = -1; + private int dz = -1; + private final ExpandableList>> layers = new ExpandableList<>(0, () -> new ExpandableList<>(dz, () -> new ExpandableList<>(dx, () -> AIR))); + + public Builder set(int x, int y, int z, BlockState state) { + dx = Math.max(dx, x); + dy = Math.max(dy, y); + dz = Math.max(dz, z); + layers.getOrExpand(y).getOrExpand(z).set(x, state); + return this; + } + + public Builder fill(int minX, int minY, int minZ, int maxX, int maxY, int maxZ, BlockState state) { + dx = Math.max(dx, maxX); + dy = Math.max(dy, maxY); + dz = Math.max(dz, maxZ); + for (int x = minX; x <= maxX; x++) + for (int y = minY; y <= maxY; y++) + for (int z = minZ; z <= maxZ; z++) + set(x, y, z, state); + return this; + } + + public Schematic build() { + List states = new LinkedList<>(); + for (int y = 0; y <= dy && y < layers.size(); y++) + for (int z = 0; z <= dz && z < layers.get(y).size(); z++) + for (int x = 0; x <= dx && x < layers.get(y).get(z).size(); x++) { + BlockState state = layers.get(y).get(z).get(x); + if (!state.isAir()) { + states.add(new Entry(x, y, z, state)); + } + } + + return new Schematic(dx, dy, dz, states.toArray(Entry[]::new)); + } + } + + public record Entry(int x, int y, int z, BlockState state) {} +} diff --git a/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/element/PageElement.java b/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/element/PageElement.java index 8185da9f..21802353 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/element/PageElement.java +++ b/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/element/PageElement.java @@ -10,6 +10,7 @@ import com.minelittlepony.common.client.gui.dimension.Bounds; import com.minelittlepony.unicopia.ability.magic.spell.crafting.IngredientWithSpell; import com.minelittlepony.unicopia.ability.magic.spell.effect.SpellType; import com.minelittlepony.unicopia.ability.magic.spell.trait.Trait; +import com.minelittlepony.unicopia.block.state.Schematic; import com.minelittlepony.unicopia.client.gui.spellbook.SpellbookChapterList.Drawable; import com.minelittlepony.unicopia.container.SpellbookChapterLoader.Flow; import net.minecraft.client.gui.DrawContext; @@ -59,7 +60,7 @@ public interface PageElement extends Drawable { default -> throw new IllegalArgumentException("Unexpected value: " + t); }; })); - case 5 -> new Structure.Builder().fromBuffer(buffer).build(); + case 5 -> new Structure(Bounds.empty(), Schematic.fromPacket(buffer)); default -> throw new IllegalArgumentException("Unexpected value: " + type); }; } diff --git a/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/element/Structure.java b/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/element/Structure.java index a29ea8f3..a4690b5b 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/element/Structure.java +++ b/src/main/java/com/minelittlepony/unicopia/client/gui/spellbook/element/Structure.java @@ -1,15 +1,8 @@ package com.minelittlepony.unicopia.client.gui.spellbook.element; -import java.util.ArrayList; -import java.util.List; -import java.util.function.Supplier; - import com.minelittlepony.common.client.gui.IViewRoot; import com.minelittlepony.common.client.gui.dimension.Bounds; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockState; -import net.minecraft.block.Blocks; +import com.minelittlepony.unicopia.block.state.Schematic; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.render.DiffuseLighting; @@ -17,48 +10,13 @@ import net.minecraft.client.render.LightmapTextureManager; import net.minecraft.client.render.OverlayTexture; import net.minecraft.client.render.VertexConsumerProvider.Immediate; import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.network.PacketByteBuf; -import net.minecraft.state.property.Properties; -import net.minecraft.util.math.Direction; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.RotationAxis; -public record Structure(Bounds bounds, List>> states) implements PageElement { - static final BlockState DIAMOND = Blocks.DIAMOND_BLOCK.getDefaultState(); - static final BlockState AIR = Blocks.AIR.getDefaultState(); - static final BlockState OBS = Blocks.OBSIDIAN.getDefaultState(); - static final BlockState SOU = Blocks.SOUL_SAND.getDefaultState(); - public static final Structure CRYSTAL_HEART_ALTAR = new Structure.Builder() - .fill(0, 0, 0, 2, 0, 2, DIAMOND) - .set(1, 1, 1, DIAMOND) - .set(1, 2, 1, Blocks.END_ROD.getDefaultState().with(Properties.FACING, Direction.UP)) - .set(1, 4, 1, Blocks.END_ROD.getDefaultState().with(Properties.FACING, Direction.DOWN)) - .set(1, 5, 1, DIAMOND) - .fill(0, 6, 0, 2, 6, 2, DIAMOND) - .build(); - public static final Structure ALTAR_STRUCTURE = new Structure.Builder() - .fill(0, 0, 0, 8, 0, 8, SOU) - .fill(3, 1, 3, 5, 1, 5, OBS) - .set(4, 1, 4, SOU) - .set(4, 1, 6, Blocks.LODESTONE.getDefaultState()) - .fill(0, 1, 2, 0, 4, 2, OBS).fill(0, 1, 6, 0, 4, 6, OBS) - .fill(2, 1, 0, 2, 4, 0, OBS).fill(6, 1, 0, 6, 4, 0, OBS) - .fill(8, 1, 2, 8, 4, 2, OBS).fill(8, 1, 6, 8, 4, 6, OBS) - .fill(2, 1, 8, 2, 4, 8, OBS).fill(6, 1, 8, 6, 4, 8, OBS) - .build(); - +public record Structure(Bounds bounds, Schematic schematic) implements PageElement { @Override public void draw(DrawContext context, int mouseX, int mouseY, IViewRoot container) { - int height = states.size(); - if (height == 0) { - return; - } - int depth = states.get(0).size(); - if (depth == 0) { - return; - } - int width = states.get(0).get(0).size(); - if (width == 0) { + if (schematic.volume() == 0) { return; } MatrixStack matrices = context.getMatrices(); @@ -72,110 +30,24 @@ public record Structure(Bounds bounds, List>> states) impl if (container != null) { matrices.translate(container.getBounds().width / 2, container.getBounds().height / 2, 100); float minDimensions = Math.min(container.getBounds().width, container.getBounds().height) - 30; - int minSize = Math.max(height, Math.max(width, depth)) * 16; + int minSize = (Math.max(schematic.dx(), Math.max(schematic.dy(), schematic.dz())) + 1) * 16; float scale = minDimensions / minSize; matrices.scale(scale, scale, 1); } - matrices.scale(-16, -16, -16); - matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(-20 + MathHelper.sin(tickDelta / 10F) * 2)); + matrices.scale(16, -16, 16); + matrices.peek().getNormalMatrix().scale(1, -1, 1); + matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(20 + MathHelper.sin(tickDelta / 10F) * 2)); matrices.peek().getPositionMatrix().rotate(RotationAxis.POSITIVE_Y.rotationDegrees(age)); - DiffuseLighting.enableForLevel(matrices.peek().getPositionMatrix()); + matrices.translate((-schematic.dx() - 1) / 2F, (-schematic.dy() - 1) / 2F, (-schematic.dz() - 1) / 2F); + DiffuseLighting.disableGuiDepthLighting(); - matrices.translate(-width / 2F, -height / 2F, -depth / 2F); - - for (int y = 0; y < height; y++) - for (int x = 0; x < width; x++) - for (int z = 0; z < depth; z++) { - BlockState state = states.get(y).get(z).get(x); + for (var entry : schematic.states()) { matrices.push(); - matrices.translate(x, y, z); - client.getBlockRenderManager().renderBlockAsEntity(state, matrices, immediate, LightmapTextureManager.MAX_LIGHT_COORDINATE, OverlayTexture.DEFAULT_UV); + matrices.translate(entry.x(), entry.y(), entry.z()); + client.getBlockRenderManager().renderBlockAsEntity(entry.state(), matrices, immediate, LightmapTextureManager.MAX_LIGHT_COORDINATE, OverlayTexture.DEFAULT_UV); matrices.pop(); } matrices.pop(); } - - public static class Builder { - private int dx = -1; - private int dy = -1; - private int dz = -1; - private final List>> layers = new ArrayList<>(); - - private void resize(int x, int y, int z) { - int ddx = Math.max(dx, x); - int ddy = Math.max(dy, y); - int ddz = Math.max(dz, z); - - if (ddx <= dx && ddy <= dy && ddz <= dz) { - return; - } - - if (ddy > dy) { - dy = ddy; - while (layers.size() <= ddy) { - layers.add(createFilledList(ddz, () -> createFilledList(ddx, () -> AIR))); - } - } - if (ddz > dz || ddx > dx) { - layers.forEach(layer -> { - if (ddz > dz) { - while (layer.size() <= ddz) { - layer.add(createFilledList(ddx, () -> AIR)); - } - } - if (ddx > dx) { - layer.forEach(row -> { - while (row.size() <= ddx) { - row.add(AIR); - } - }); - } - }); - dz = ddz; - dx = ddx; - } - } - - private List createFilledList(int length, Supplier contentSupplier) { - List list = new ArrayList<>(); - while (list.size() <= length) { - list.add(contentSupplier.get()); - } - return list; - } - - public Builder set(int x, int y, int z, BlockState state) { - resize(x, y, z); - layers.get(y).get(z).set(x, state); - return this; - } - - public Builder fill(int minX, int minY, int minZ, int maxX, int maxY, int maxZ, BlockState state) { - resize(maxX, maxY, maxZ); - for (int x = minX; x <= maxX; x++) - for (int y = minY; y <= maxY; y++) - for (int z = minZ; z <= maxZ; z++) - layers.get(y).get(z).set(x, state); - return this; - } - - public Builder fromBuffer(PacketByteBuf buffer) { - - buffer.readCollection(ArrayList::new, buf -> { - byte op = buf.readByte(); - return switch (op) { - case 1 -> set(buf.readInt(), buf.readInt(), buf.readInt(), Block.getStateFromRawId(buf.readInt())); - case 2 -> fill(buf.readInt(), buf.readInt(), buf.readInt(), buf.readInt(), buf.readInt(), buf.readInt(), Block.getStateFromRawId(buf.readInt())); - default -> this; - }; - }); - - return this; - } - - public Structure build() { - return new Structure(Bounds.empty(), layers); - } - } } From a29a4eb05e639140db54cec3d3783af505fa55e5 Mon Sep 17 00:00:00 2001 From: Sprinkled Frosting Date: Mon, 5 Feb 2024 07:08:06 +0000 Subject: [PATCH 28/52] =?UTF-8?q?=E5=89=8A=E9=99=A4=E7=84=A1=E7=94=A8?= =?UTF-8?q?=E6=AA=94=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/pack.mcmeta | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 src/main/resources/pack.mcmeta diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta deleted file mode 100644 index c70b4b73..00000000 --- a/src/main/resources/pack.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "pack":{ - "pack_format": 8, - "description": "Additional translations from \xa7bUnicopia\xa7r." - } -} \ No newline at end of file From 3d5292c7f3e14cabec49b8739f10e47109d365a1 Mon Sep 17 00:00:00 2001 From: Sollace Date: Mon, 5 Feb 2024 12:21:10 +0000 Subject: [PATCH 29/52] Add structure previews to the emi recipes for earth ponies, add the spectral clock recipe to emi, and ensure items aren't burned when throwing them into the altar's flame --- .../unicopia/block/SpectralFireBlock.java | 22 +++ .../unicopia/block/UBlocks.java | 4 +- .../unicopia/block/state/Schematic.java | 13 ++ .../entity/SpellbookEntityRenderer.java | 2 +- .../unicopia/compat/emi/Main.java | 49 ++++-- .../compat/emi/SpellbookEmiRecipe.java | 22 +-- .../emi/StructureInteractionEmiRecipe.java | 144 ++++++++++++++++++ .../unicopia/entity/mob/SpellbookEntity.java | 2 +- .../unicopia/server/world/Altar.java | 5 +- .../unicopia/blockstates/spectral_fire.json | 90 +++++++++++ .../resources/assets/unicopia/lang/en_us.json | 4 + .../data/minecraft/tags/blocks/fire.json | 6 + 12 files changed, 336 insertions(+), 27 deletions(-) create mode 100644 src/main/java/com/minelittlepony/unicopia/block/SpectralFireBlock.java create mode 100644 src/main/java/com/minelittlepony/unicopia/compat/emi/StructureInteractionEmiRecipe.java create mode 100644 src/main/resources/assets/unicopia/blockstates/spectral_fire.json create mode 100644 src/main/resources/data/minecraft/tags/blocks/fire.json diff --git a/src/main/java/com/minelittlepony/unicopia/block/SpectralFireBlock.java b/src/main/java/com/minelittlepony/unicopia/block/SpectralFireBlock.java new file mode 100644 index 00000000..b9bbd104 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/block/SpectralFireBlock.java @@ -0,0 +1,22 @@ +package com.minelittlepony.unicopia.block; + +import net.minecraft.block.BlockState; +import net.minecraft.block.SoulFireBlock; +import net.minecraft.entity.Entity; +import net.minecraft.entity.ItemEntity; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +public class SpectralFireBlock extends SoulFireBlock { + + public SpectralFireBlock(Settings settings) { + super(settings); + } + + @Override + public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity) { + if (!(entity instanceof ItemEntity)) { + super.onEntityCollision(state, world, pos, entity); + } + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java index 02ddcdb6..7611e7b1 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java +++ b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java @@ -225,6 +225,8 @@ public interface UBlocks { Block CRYSTAL_DOOR = register("crystal_door", new CrystalDoorBlock(Settings.copy(Blocks.IRON_DOOR), UWoodTypes.CRYSTAL), ItemGroups.FUNCTIONAL); Block CLOUD_DOOR = register("cloud_door", new CloudDoorBlock(Settings.copy(CLOUD), CLOUD.getDefaultState(), UWoodTypes.CLOUD), ItemGroups.FUNCTIONAL); + Block SPECTRAL_FIRE = register("spectral_fire", new SpectralFireBlock(Settings.copy(Blocks.SOUL_FIRE))); + EdibleBlock HAY_BLOCK = register("hay_block", new EdibleBlock(new Identifier("hay_block"), new Identifier("wheat"), true)); private static T register(String name, T item) { @@ -266,7 +268,7 @@ public interface UBlocks { StrippableBlockRegistry.register(PALM_LOG, STRIPPED_PALM_LOG); StrippableBlockRegistry.register(ZAP_WOOD, STRIPPED_ZAP_WOOD); StrippableBlockRegistry.register(PALM_WOOD, STRIPPED_PALM_WOOD); - Collections.addAll(TRANSLUCENT_BLOCKS, WEATHER_VANE, CHITIN_SPIKES, PLUNDER_VINE, PLUNDER_VINE_BUD, CLAM_SHELL, SCALLOP_SHELL, TURRET_SHELL, CURING_JOKE); + Collections.addAll(TRANSLUCENT_BLOCKS, WEATHER_VANE, CHITIN_SPIKES, PLUNDER_VINE, PLUNDER_VINE_BUD, CLAM_SHELL, SCALLOP_SHELL, TURRET_SHELL, CURING_JOKE, SPECTRAL_FIRE); TintedBlock.REGISTRY.add(PALM_LEAVES); FlammableBlockRegistry.getDefaultInstance().add(GREEN_APPLE_LEAVES, 30, 60); diff --git a/src/main/java/com/minelittlepony/unicopia/block/state/Schematic.java b/src/main/java/com/minelittlepony/unicopia/block/state/Schematic.java index 2053b372..ec6bc112 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/state/Schematic.java +++ b/src/main/java/com/minelittlepony/unicopia/block/state/Schematic.java @@ -9,6 +9,19 @@ import net.minecraft.block.Blocks; import net.minecraft.network.PacketByteBuf; public record Schematic(int dx, int dy, int dz, Entry[] states) { + public static final Schematic ALTAR = new Schematic.Builder() + .fill(0, 0, 0, 8, 0, 8, Blocks.SOUL_SAND.getDefaultState()) + .fill(3, 1, 3, 5, 1, 5, Blocks.OBSIDIAN.getDefaultState()) + .set(4, 1, 4, Blocks.SOUL_SAND.getDefaultState()) + .set(4, 2, 4, Blocks.SOUL_FIRE.getDefaultState()) + .set(4, 1, 6, Blocks.LODESTONE.getDefaultState()) + .fill(0, 1, 2, 0, 4, 2, Blocks.OBSIDIAN.getDefaultState()).fill(0, 1, 6, 0, 4, 6, Blocks.OBSIDIAN.getDefaultState()) + .fill(2, 1, 0, 2, 4, 0, Blocks.OBSIDIAN.getDefaultState()).fill(6, 1, 0, 6, 4, 0, Blocks.OBSIDIAN.getDefaultState()) + .fill(8, 1, 2, 8, 4, 2, Blocks.OBSIDIAN.getDefaultState()).fill(8, 1, 6, 8, 4, 6, Blocks.OBSIDIAN.getDefaultState()) + .fill(2, 1, 8, 2, 4, 8, Blocks.OBSIDIAN.getDefaultState()).fill(6, 1, 8, 6, 4, 8, Blocks.OBSIDIAN.getDefaultState()) + .build(); + + public static Schematic fromPacket(PacketByteBuf buffer) { Builder builder = new Builder(); buffer.readCollection(ArrayList::new, buf -> { diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/SpellbookEntityRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/SpellbookEntityRenderer.java index ceac4e95..20eb720a 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/entity/SpellbookEntityRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/SpellbookEntityRenderer.java @@ -81,7 +81,7 @@ public class SpellbookEntityRenderer extends LivingEntityRenderer { - registry.addRecipe(new EmiWorldInteractionRecipe(EmiWorldInteractionRecipe.builder() - .id(recipe.getId()) - .leftInput(EmiStack.of(recipe.getTargetAsItem())) - .rightInput(EmiStack.of(recipe.getCatalyst(), TransformCropsRecipe.MINIMUM_INPUT), true) - .output(EmiStack.of(recipe.getOutput()))) { - @Override - public EmiRecipeCategory getCategory() { - return GROWING_CATEGORY; - } - }); + registry.addRecipe(new StructureInteractionEmiRecipe( + GROWING_CATEGORY, + recipe.getId(), + new Schematic.Builder() + .fill(0, 0, 0, 6, 0, 6, Block.getBlockFromItem(recipe.getCatalyst().getItem()).getDefaultState()) + .set(3, 0, 3, Blocks.FARMLAND.getDefaultState()) + .set(3, 1, 3, Block.getBlockFromItem(recipe.getTargetAsItem().getItem()).getDefaultState()) + .build(), + List.of(EmiStack.of(recipe.getTargetAsItem()), EmiStack.of(recipe.getCatalyst(), TransformCropsRecipe.AREA)), + EmiStack.of(recipe.getOutput()), + Unicopia.id("textures/gui/ability/grow.png") + )); }); + + registry.addCategory(ALTAR_CATEGORY); + registry.addWorkstation(ALTAR_CATEGORY, ALTAR_STATION); + registry.addRecipe(new StructureInteractionEmiRecipe( + ALTAR_CATEGORY, + Unicopia.id("altar/spectral_clock"), + Schematic.ALTAR, + List.of( + EmiStack.of(Items.CLOCK), + EmiStack.of(UItems.SPELLBOOK), + EmiStack.of(Blocks.SOUL_SAND), + EmiStack.of(Blocks.LODESTONE), + EmiStack.of(Blocks.OBSIDIAN, 8 * 4 + 8) + ), + EmiStack.of(UItems.SPECTRAL_CLOCK), + Unicopia.id("textures/gui/race/alicorn.png") + )); } } diff --git a/src/main/java/com/minelittlepony/unicopia/compat/emi/SpellbookEmiRecipe.java b/src/main/java/com/minelittlepony/unicopia/compat/emi/SpellbookEmiRecipe.java index 66329472..1b1caa4b 100644 --- a/src/main/java/com/minelittlepony/unicopia/compat/emi/SpellbookEmiRecipe.java +++ b/src/main/java/com/minelittlepony/unicopia/compat/emi/SpellbookEmiRecipe.java @@ -57,36 +57,38 @@ class SpellbookEmiRecipe implements EmiRecipe, SpellbookRecipe.CraftingTreeBuild @Override public int getDisplayWidth() { - return 220; + return 150; } @Override public int getDisplayHeight() { - return 145; + return 75; } @Override public void addWidgets(WidgetHolder widgets) { widgets.addTexture(SpellbookScreen.TEXTURE, 0, 0, getDisplayWidth(), getDisplayHeight(), 50, 50, 128, 128, 512, 256); - widgets.addTexture(Main.EMPTY_ARROW, 160, 65); + widgets.addTexture(Main.EMPTY_ARROW, 85, 30); List grid = new ArrayList<>(); List gem = new ArrayList<>(); - HexagonalCraftingGrid.create(4, 35, 3, grid, gem); + HexagonalCraftingGrid.create(-34, -5, 3, grid, gem); int currentInput = 1; for (int i = 0; i < grid.size(); i++) { - widgets.add(new SlotTexture(grid.get(i))); + var slot = grid.get(i); - if (currentInput < inputs.size() && grid.get(i).weight() == 1) { - widgets.addSlot(inputs.get(currentInput++), grid.get(i).left(), grid.get(i).top()).drawBack(false); - } else { - widgets.addSlot(grid.get(i).left(), grid.get(i).top()).drawBack(false); + if (currentInput < inputs.size() && slot.weight() == 1) { + widgets.add(new SlotTexture(slot)); + widgets.addSlot(inputs.get(currentInput++), slot.left(), slot.top()).drawBack(false); + } else if (slot.weight() == 1) { + widgets.add(new SlotTexture(slot)); + widgets.addSlot(slot.left(), slot.top()).drawBack(false); } } widgets.addSlot(inputs.get(0), gem.get(0).left(), gem.get(0).top()).drawBack(false); - widgets.addSlot(getOutput(), 190, 60).large(true).recipeContext(this); + widgets.addSlot(getOutput(), 120, 25).large(true).recipeContext(this); } protected EmiIngredient getOutput() { diff --git a/src/main/java/com/minelittlepony/unicopia/compat/emi/StructureInteractionEmiRecipe.java b/src/main/java/com/minelittlepony/unicopia/compat/emi/StructureInteractionEmiRecipe.java new file mode 100644 index 00000000..c131aa32 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/compat/emi/StructureInteractionEmiRecipe.java @@ -0,0 +1,144 @@ +package com.minelittlepony.unicopia.compat.emi; + +import java.util.List; + +import com.minelittlepony.unicopia.block.state.Schematic; +import dev.emi.emi.api.recipe.EmiRecipe; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.render.EmiTexture; +import dev.emi.emi.api.stack.EmiIngredient; +import dev.emi.emi.api.stack.EmiStack; +import dev.emi.emi.api.widget.WidgetHolder; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.render.DiffuseLighting; +import net.minecraft.client.render.LightmapTextureManager; +import net.minecraft.client.render.OverlayTexture; +import net.minecraft.client.render.VertexConsumerProvider.Immediate; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.Text; +import net.minecraft.util.Identifier; +import net.minecraft.util.Util; +import net.minecraft.util.math.RotationAxis; + +public class StructureInteractionEmiRecipe implements EmiRecipe { + + private final EmiRecipeCategory category; + private final Identifier id; + private final Schematic schematic; + + private final List inputs; + private final List output; + + private final Identifier processIcon; + + private int age; + + public StructureInteractionEmiRecipe(EmiRecipeCategory category, Identifier id, Schematic schematic, List inputs, EmiStack output, Identifier processIcon) { + this.category = category; + this.id = id; + this.schematic = schematic; + this.inputs = inputs; + this.output = List.of(output); + this.processIcon = processIcon; + } + + @Override + public EmiRecipeCategory getCategory() { + return category; + } + + @Override + public Identifier getId() { + return id; + } + + @Override + public List getInputs() { + return inputs; + } + + @Override + public List getOutputs() { + return output; + } + + @Override + public int getDisplayWidth() { + return 130; + } + + @Override + public int getDisplayHeight() { + return schematic.dy() * 8 + 80 + 20 * (inputs.size() - 2); + } + + @Override + public void addWidgets(WidgetHolder widgets) { + int y = schematic.dy() * 8; + int row = 0; + age = 0; + widgets.addDrawable(10, y / 2, 100, 100, this::renderSchematic); + int x = 10; + for (int i = 0; i < inputs.size(); i++) { + if (i > 1) { + x -= 40; + row += 20; + } + if (i > 0) { + widgets.addTexture(EmiTexture.PLUS, x + 3, y + 53 + row); + x += 20; + } + widgets.addSlot(inputs.get(i), x, y + 50 + row).catalyst(i > 0); + x += 20; + } + widgets.addTexture(EmiTexture.EMPTY_ARROW, 73, y + 52); + widgets.addSlot(output.get(0), 100, y + 47).large(true).recipeContext(this); + widgets.addTexture(processIcon, 73, y + 45, 13, 13, 0, 0, 16, 16, 16, 16).tooltipText(List.of(Text.translatable( + Util.createTranslationKey("recipe", category.getId()) + "." + "instruction" + ))); + } + + private void renderSchematic(DrawContext context, int mouseX, int mouseY, float delta) { + if (schematic.volume() == 0) { + return; + } + MatrixStack matrices = context.getMatrices(); + Immediate immediate = context.getVertexConsumers(); + + MinecraftClient client = MinecraftClient.getInstance(); + + matrices.push(); + float minSize = (Math.max(schematic.dz(), Math.max(schematic.dx(), schematic.dy())) + 1) * 16; + float scale = 60 / minSize; + matrices.scale(scale, scale, 1); + matrices.translate(95, 40, 100); + matrices.scale(16, -16, 16); + + matrices.peek().getNormalMatrix().scale(1, -1, 1); + matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(20)); + matrices.peek().getPositionMatrix().rotate(RotationAxis.POSITIVE_Y.rotationDegrees(40)); + matrices.translate( + (-schematic.dx() - 1) / 2F, + (-schematic.dy() - 1) / 2F, + (-schematic.dz() - 1) / 2F + ); + DiffuseLighting.disableGuiDepthLighting(); + + age++; + + for (var entry : schematic.states()) { + int x = entry.x() - schematic.dx() / 2; + int z = entry.z() - schematic.dz() / 2; + int distance = x * x + z * z; + if (age >= distance * 2) { + matrices.push(); + matrices.translate(entry.x(), entry.y(), entry.z()); + client.getBlockRenderManager().renderBlockAsEntity(entry.state(), matrices, immediate, LightmapTextureManager.MAX_LIGHT_COORDINATE, OverlayTexture.DEFAULT_UV); + matrices.pop(); + } + } + + matrices.pop(); + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/entity/mob/SpellbookEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/mob/SpellbookEntity.java index a09abfc8..da18363f 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/mob/SpellbookEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/mob/SpellbookEntity.java @@ -262,7 +262,7 @@ public class SpellbookEntity extends MobEntity implements MagicImmune { return; } - //setBeamTicks(0); + setBeamTicks(0); if (activeRecipe == null) { return; diff --git a/src/main/java/com/minelittlepony/unicopia/server/world/Altar.java b/src/main/java/com/minelittlepony/unicopia/server/world/Altar.java index 43f3e8fe..d1acdbcf 100644 --- a/src/main/java/com/minelittlepony/unicopia/server/world/Altar.java +++ b/src/main/java/com/minelittlepony/unicopia/server/world/Altar.java @@ -7,6 +7,7 @@ import java.util.function.Consumer; import java.util.function.Predicate; import org.jetbrains.annotations.Nullable; +import com.minelittlepony.unicopia.block.UBlocks; import com.minelittlepony.unicopia.entity.mob.FloatingArtefactEntity; import com.minelittlepony.unicopia.entity.mob.SpellbookEntity; import com.minelittlepony.unicopia.entity.mob.UEntities; @@ -133,7 +134,7 @@ public record Altar(BlockPos origin, Set pillars) { } public void generateDecorations(World world) { - world.setBlockState(origin, Blocks.SOUL_FIRE.getDefaultState(), Block.FORCE_STATE | Block.NOTIFY_ALL); + world.setBlockState(origin, UBlocks.SPECTRAL_FIRE.getDefaultState(), Block.FORCE_STATE | Block.NOTIFY_ALL); pillars.forEach(pillar -> { FloatingArtefactEntity artefact = UEntities.FLOATING_ARTEFACT.create(world); artefact.setStack(UItems.ALICORN_BADGE.getDefaultStack()); @@ -160,7 +161,7 @@ public record Altar(BlockPos origin, Set pillars) { } public boolean isValid(World world) { - return checkState(world, origin, Blocks.SOUL_FIRE) + return checkState(world, origin, UBlocks.SPECTRAL_FIRE) && checkState(world, origin.down(), Blocks.SOUL_SAND) && checkSlab(world, origin.down()) && pillars.stream().allMatch(pillar -> diff --git a/src/main/resources/assets/unicopia/blockstates/spectral_fire.json b/src/main/resources/assets/unicopia/blockstates/spectral_fire.json new file mode 100644 index 00000000..bd637a77 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/spectral_fire.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": [ + { + "model": "minecraft:block/soul_fire_floor0" + }, + { + "model": "minecraft:block/soul_fire_floor1" + } + ] + }, + { + "apply": [ + { + "model": "minecraft:block/soul_fire_side0" + }, + { + "model": "minecraft:block/soul_fire_side1" + }, + { + "model": "minecraft:block/soul_fire_side_alt0" + }, + { + "model": "minecraft:block/soul_fire_side_alt1" + } + ] + }, + { + "apply": [ + { + "model": "minecraft:block/soul_fire_side0", + "y": 90 + }, + { + "model": "minecraft:block/soul_fire_side1", + "y": 90 + }, + { + "model": "minecraft:block/soul_fire_side_alt0", + "y": 90 + }, + { + "model": "minecraft:block/soul_fire_side_alt1", + "y": 90 + } + ] + }, + { + "apply": [ + { + "model": "minecraft:block/soul_fire_side0", + "y": 180 + }, + { + "model": "minecraft:block/soul_fire_side1", + "y": 180 + }, + { + "model": "minecraft:block/soul_fire_side_alt0", + "y": 180 + }, + { + "model": "minecraft:block/soul_fire_side_alt1", + "y": 180 + } + ] + }, + { + "apply": [ + { + "model": "minecraft:block/soul_fire_side0", + "y": 270 + }, + { + "model": "minecraft:block/soul_fire_side1", + "y": 270 + }, + { + "model": "minecraft:block/soul_fire_side_alt0", + "y": 270 + }, + { + "model": "minecraft:block/soul_fire_side_alt1", + "y": 270 + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index c5345aca..5320797e 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -49,6 +49,9 @@ "emi.category.unicopia.spellbook": "Spellbook", "emi.category.unicopia.cloud_shaping": "Shaping", "emi.category.unicopia.growing": "Growing", + "emi.category.unicopia.altar": "Dark Ritual", + "recipe.unicopia.altar.instruction": "Cast item into flames", + "recipe.unicopia.growing.instruction": "Focus Earth Pony Magic", "item.unicopia.alicorn_badge": "Alicorn Emblem", "item.unicopia.unicorn_badge": "Unicorn Emblem", @@ -222,6 +225,7 @@ "block.unicopia.rocks": "Rocks", "block.unicopia.plunder_vine": "Plunder Vine", "block.unicopia.plunder_vine_bud": "Plunder Vine Bud", + "block.unicopia.spectral_fire": "Spectral Fire", "block.unicopia.bananas": "Bananas", "block.unicopia.zapling": "Zapling", "block.unicopia.zap_log": "Zap Apple Log", diff --git a/src/main/resources/data/minecraft/tags/blocks/fire.json b/src/main/resources/data/minecraft/tags/blocks/fire.json new file mode 100644 index 00000000..9abc7a3b --- /dev/null +++ b/src/main/resources/data/minecraft/tags/blocks/fire.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "unicopia:spectral_fire" + ] +} From 4e572724701fe48fd4457b3c8ea33fd6c92bc21f Mon Sep 17 00:00:00 2001 From: LingVarr Date: Tue, 6 Feb 2024 00:33:35 +1100 Subject: [PATCH 30/52] Update ru_ru.json --- src/main/resources/assets/unicopia/lang/ru_ru.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/resources/assets/unicopia/lang/ru_ru.json b/src/main/resources/assets/unicopia/lang/ru_ru.json index f104cec1..5c289ae3 100644 --- a/src/main/resources/assets/unicopia/lang/ru_ru.json +++ b/src/main/resources/assets/unicopia/lang/ru_ru.json @@ -48,7 +48,10 @@ "emi.category.unicopia.spellbook": "Книга заклинаний", "emi.category.unicopia.cloud_shaping": "Формоизменение", - "emi.category.unicopia.growing": "Рост", + "emi.category.unicopia.growing": "Выращивание", + "emi.category.unicopia.altar": "Тёмный ритуал", + "recipe.unicopia.altar.instruction": "Бросить предмет в огонь", + "recipe.unicopia.growing.instruction": "Сфокусировать магию земного пони", "item.unicopia.alicorn_badge": "Эмблема аликорна", "item.unicopia.unicorn_badge": "Эмблема единорога", @@ -222,6 +225,7 @@ "block.unicopia.rocks": "Камни", "block.unicopia.plunder_vine": "Чёрная лоза", "block.unicopia.plunder_vine_bud": "Бутон чёрной лозы", + "block.unicopia.spectral_fire": "Спектральный огонь", "block.unicopia.bananas": "Бананы", "block.unicopia.zapling": "Саженец зап-яблони", "block.unicopia.zap_log": "Бревно зап-яблони", From 4e8f683737be6cee3154790823ae375acdcefa06 Mon Sep 17 00:00:00 2001 From: Sollace Date: Mon, 5 Feb 2024 21:36:32 +0000 Subject: [PATCH 31/52] Reduce spawn rates of LITERALLY EVERYTHING --- .../minelittlepony/unicopia/item/URecipes.java | 15 +++++---------- .../loot_tables/chests/ancient_city.json | 6 +++--- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/item/URecipes.java b/src/main/java/com/minelittlepony/unicopia/item/URecipes.java index 497e6d6c..0c509917 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/URecipes.java +++ b/src/main/java/com/minelittlepony/unicopia/item/URecipes.java @@ -8,7 +8,6 @@ import com.minelittlepony.unicopia.item.cloud.CloudShapingRecipe; import net.fabricmc.fabric.api.loot.v2.LootTableEvents; import net.minecraft.loot.LootTable; -import net.minecraft.loot.context.LootContextTypes; import net.minecraft.recipe.CuttingRecipe; import net.minecraft.recipe.Ingredient; import net.minecraft.recipe.RecipeSerializer; @@ -59,15 +58,11 @@ public interface URecipes { LootTable table = manager.getLootTable(modId); if (table != LootTable.EMPTY) { - if (table.getType() == LootContextTypes.ARCHAEOLOGY) { - supplier.modifyPools(poolBuilder -> { - for (var pool : table.pools) { - poolBuilder.with(List.of(pool.entries)); - } - }); - } else { - supplier.pools(List.of(table.pools)); - } + supplier.modifyPools(poolBuilder -> { + for (var pool : table.pools) { + poolBuilder.with(List.of(pool.entries)); + } + }); } }); } diff --git a/src/main/resources/data/unicopiamc/loot_tables/chests/ancient_city.json b/src/main/resources/data/unicopiamc/loot_tables/chests/ancient_city.json index c0edba35..4f78427a 100644 --- a/src/main/resources/data/unicopiamc/loot_tables/chests/ancient_city.json +++ b/src/main/resources/data/unicopiamc/loot_tables/chests/ancient_city.json @@ -3,14 +3,14 @@ "pools": [ { "rolls": { - "min": 2.0, - "max": 4.0, + "min": 0.0, + "max": 1.0, "type": "minecraft:uniform" }, "entries": [ { "type": "minecraft:item", - "weight": 2, + "weight": 1, "name": "unicopia:grogars_bell" } ] From f3f38aae7b8edfef19c128312afe5e6b4790973a Mon Sep 17 00:00:00 2001 From: Sollace Date: Tue, 6 Feb 2024 15:26:33 +0000 Subject: [PATCH 32/52] Fix shields, fix black holes being offset, and remove the maximum cap on black holes sizes --- .../com/minelittlepony/unicopia/Owned.java | 6 +++- .../ability/magic/spell/PlaceableSpell.java | 2 +- .../magic/spell/effect/AttractionUtils.java | 15 +++++++- .../magic/spell/effect/DarkVortexSpell.java | 10 +++--- .../magic/spell/effect/ShieldSpell.java | 36 +++++++------------ .../magic/spell/effect/TargetSelecter.java | 21 ++++++++++- .../render/spell/DarkVortexSpellRenderer.java | 2 +- .../render/spell/ShieldSpellRenderer.java | 6 ++-- .../unicopia/network/datasync/EffectSync.java | 10 ++++-- 9 files changed, 69 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/Owned.java b/src/main/java/com/minelittlepony/unicopia/Owned.java index 337a59ed..47c5403c 100644 --- a/src/main/java/com/minelittlepony/unicopia/Owned.java +++ b/src/main/java/com/minelittlepony/unicopia/Owned.java @@ -32,7 +32,11 @@ public interface Owned { Optional getMasterId(); default boolean isOwnerOrFriend(Entity target) { - return FriendshipBraceletItem.isComrade(this, target) || isOwnerOrVehicle(target); + return isFriend(target) || isOwnerOrVehicle(target); + } + + default boolean isFriend(Entity target) { + return FriendshipBraceletItem.isComrade(this, target); } default boolean isOwnerOrVehicle(@Nullable Entity target) { diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/PlaceableSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/PlaceableSpell.java index ed03506d..408b345d 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/PlaceableSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/PlaceableSpell.java @@ -160,7 +160,7 @@ public class PlaceableSpell extends AbstractDelegatingSpell implements OrientedS private void spawnPlacedEntity(Caster source) { CastSpellEntity entity = UEntities.CAST_SPELL.create(source.asWorld()); - Vec3d pos = getPosition().orElse(position.orElse(source.getOriginVector())); + Vec3d pos = getPosition().orElse(position.orElse(source.asEntity().getPos())); entity.updatePositionAndAngles(pos.x, pos.y, pos.z, source.asEntity().getYaw(), source.asEntity().getPitch()); PlaceableSpell copy = spell.toPlaceable(); if (spell instanceof PlacementDelegate delegate) { diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/AttractionUtils.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/AttractionUtils.java index 248b87ca..76b2d29e 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/AttractionUtils.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/AttractionUtils.java @@ -1,11 +1,15 @@ package com.minelittlepony.unicopia.ability.magic.spell.effect; +import org.jetbrains.annotations.Nullable; + import com.minelittlepony.unicopia.entity.Living; import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.item.enchantment.UEnchantments; +import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; +import net.minecraft.entity.ItemEntity; import net.minecraft.entity.LivingEntity; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; @@ -17,7 +21,16 @@ public interface AttractionUtils { } static double getMass(Entity entity) { - return entity.getWidth() * entity.getHeight(); + double baseMass = entity.getWidth() * entity.getHeight(); + if (entity instanceof ItemEntity item) { + baseMass *= item.getStack().getCount(); + @Nullable + Block block = Block.getBlockFromItem(item.getStack().getItem()); + if (block != null) { + baseMass *= MathHelper.clamp(1 + block.getHardness(), 1, 5); + } + } + return baseMass; } /** diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/DarkVortexSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/DarkVortexSpell.java index 02eb96d3..d21a9c3e 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/DarkVortexSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/DarkVortexSpell.java @@ -46,12 +46,11 @@ public class DarkVortexSpell extends AttractiveSpell implements ProjectileDelega .with(Trait.DARKNESS, 100) .build(); - private static final Vec3d SPHERE_OFFSET = new Vec3d(0, 2, 0); - private float accumulatedMass = 0; protected DarkVortexSpell(CustomisedSpellType type) { super(type); + targetSelecter.setTargetowner(true).setTargetAllies(true); } @Override @@ -87,7 +86,8 @@ public class DarkVortexSpell extends AttractiveSpell implements ProjectileDelega ParticleUtils.spawnParticle(source.asWorld(), LightningBoltParticleEffect.DEFAULT, getOrigin(source), Vec3d.ZERO); } - return super.tick(source, situation); + super.tick(source, situation); + return true; } @Override @@ -134,7 +134,7 @@ public class DarkVortexSpell extends AttractiveSpell implements ProjectileDelega @Override protected Vec3d getOrigin(Caster source) { - return source.getOriginVector().add(SPHERE_OFFSET); + return source.getOriginVector().add(0, getEventHorizonRadius() / 2D, 0); } @Override @@ -182,7 +182,7 @@ public class DarkVortexSpell extends AttractiveSpell implements ProjectileDelega } private double getMass() { - return Math.min(15, 0.1F + accumulatedMass / 10F); + return 0.1F + accumulatedMass / 10F; } @Override diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/ShieldSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/ShieldSpell.java index 04831ef6..5107f3d9 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/ShieldSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/ShieldSpell.java @@ -16,6 +16,7 @@ import com.minelittlepony.unicopia.particle.LightningBoltParticleEffect; import com.minelittlepony.unicopia.particle.MagicParticleEffect; import com.minelittlepony.unicopia.particle.ParticleUtils; import com.minelittlepony.unicopia.projectile.ProjectileUtil; +import com.minelittlepony.unicopia.util.Lerp; import com.minelittlepony.unicopia.util.shape.Sphere; import net.minecraft.entity.Entity; @@ -41,13 +42,10 @@ public class ShieldSpell extends AbstractSpell { .with(Trait.AIR, 9) .build(); - private final TargetSelecter targetSelecter = new TargetSelecter(this).setFilter(this::isValidTarget); + protected final TargetSelecter targetSelecter = new TargetSelecter(this).setFilter(this::isValidTarget); - private float prevRadius; - private float radius; - - private float rangeMultiplier; - private float targetRangeMultiplier; + private final Lerp radius = new Lerp(0); + private final Lerp rangeMultiplier = new Lerp(1); private int prevTicksDying; private int ticksDying; @@ -69,7 +67,7 @@ public class ShieldSpell extends AbstractSpell { protected void generateParticles(Caster source) { Vec3d origin = getOrigin(source); - source.spawnParticles(origin, new Sphere(true, radius), (int)(radius * 6), pos -> { + source.spawnParticles(origin, new Sphere(true, radius.getValue()), (int)(radius.getValue() * 6), pos -> { source.addParticle(new MagicParticleEffect(getType().getColor()), pos, Vec3d.ZERO); if (source.asWorld().random.nextInt(10) == 0 && source.asWorld().random.nextFloat() < source.getCorruption().getScaled(1)) { @@ -80,8 +78,7 @@ public class ShieldSpell extends AbstractSpell { @Override public boolean tick(Caster source, Situation situation) { - prevRadius = radius; - radius = (float)getDrawDropOffRange(source); + radius.update((float)getDrawDropOffRange(source), 200L); if (source.isClient()) { generateParticles(source); @@ -118,7 +115,7 @@ public class ShieldSpell extends AbstractSpell { cost *= costMultiplier / ((1 + source.getLevel().get()) * 3F); cost /= knowledge; - cost += radius / 10F; + cost += radius.getValue() / 10F; if (!source.subtractEnergyCost(cost)) { setDead(); @@ -126,8 +123,8 @@ public class ShieldSpell extends AbstractSpell { } public float getRadius(float tickDelta) { - float base = MathHelper.lerp(tickDelta, prevRadius, radius); - float scale = MathHelper.clamp(MathHelper.lerp(tickDelta, prevTicksDying, ticksDying), 0, 1); + float base = radius.getValue(); + float scale = 1 - MathHelper.clamp(MathHelper.lerp(tickDelta, (float)prevTicksDying, ticksDying), 0, 1); return base * scale; } @@ -135,17 +132,10 @@ public class ShieldSpell extends AbstractSpell { * Calculates the maximum radius of the shield. aka The area of effect. */ public double getDrawDropOffRange(Caster source) { - targetRangeMultiplier = source instanceof Pony pony && pony.asEntity().isSneaking() ? 1 : 2; - if (rangeMultiplier < targetRangeMultiplier - 0.1F) { - rangeMultiplier += 0.1F; - } else if (rangeMultiplier > targetRangeMultiplier + 0.1) { - rangeMultiplier -= 0.1F; - } else { - rangeMultiplier = targetRangeMultiplier; - } + rangeMultiplier.update(source instanceof Pony pony && pony.asEntity().isSneaking() ? 1 : 2, 500L); float min = (source instanceof Pony ? 4 : 6) + getTraits().get(Trait.POWER); - double range = (min + (source.getLevel().getScaled(source instanceof Pony ? 4 : 40) * (source instanceof Pony ? 2 : 10))) / rangeMultiplier; + double range = (min + (source.getLevel().getScaled(source instanceof Pony ? 4 : 40) * (source instanceof Pony ? 2 : 10))) / rangeMultiplier.getValue(); return range; } @@ -175,9 +165,9 @@ public class ShieldSpell extends AbstractSpell { protected long applyEntities(Caster source) { Vec3d origin = getOrigin(source); - targetSelecter.getEntities(source, radius).forEach(i -> { + targetSelecter.getEntities(source, radius.getValue()).forEach(i -> { try { - applyRadialEffect(source, i, i.getPos().distanceTo(origin), radius); + applyRadialEffect(source, i, i.getPos().distanceTo(origin), radius.getValue()); } catch (Throwable e) { Unicopia.LOGGER.error("Error updating radial effect", e); } diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/TargetSelecter.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/TargetSelecter.java index 87119eab..a6a3724c 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/TargetSelecter.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/TargetSelecter.java @@ -21,6 +21,9 @@ public class TargetSelecter { private BiPredicate, Entity> filter = (a, b) -> true; + private boolean targetOwner; + private boolean targetAllies; + public TargetSelecter(Spell spell) { this.spell = spell; } @@ -30,18 +33,34 @@ public class TargetSelecter { return this; } + public TargetSelecter setTargetowner(boolean targetOwner) { + this.targetOwner = targetOwner; + return this; + } + + public TargetSelecter setTargetAllies(boolean targetAllies) { + this.targetAllies = targetAllies; + return this; + } + public Stream getEntities(Caster source, double radius) { targets.values().removeIf(Target::tick); return source.findAllEntitiesInRange(radius) .filter(EntityPredicates.VALID_ENTITY) .filter(EquinePredicates.EXCEPT_MAGIC_IMMUNE) - .filter(entity -> entity != source.asEntity() && validTarget(spell, source, entity) && filter.test(source, entity)) + .filter(entity -> entity != source.asEntity() && checkAlliegance(spell, source, entity) && filter.test(source, entity)) .map(i -> { targets.computeIfAbsent(i.getUuid(), Target::new); return i; }); } + private boolean checkAlliegance(Affine affine, Caster source, Entity target) { + boolean isOwner = !targetOwner && source.isOwnerOrVehicle(target); + boolean isFriend = !targetAllies && affine.applyInversion(source, source.isFriend(target)); + return !(isOwner || isFriend); + } + public long getTotalDamaged() { return targets.values().stream().filter(Target::canHurt).count(); } diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/spell/DarkVortexSpellRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/spell/DarkVortexSpellRenderer.java index 2c03bc11..aec3d2d8 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/spell/DarkVortexSpellRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/spell/DarkVortexSpellRenderer.java @@ -77,7 +77,7 @@ public class DarkVortexSpellRenderer extends SpellRenderer { SphereModel.DISK.render(matrices, vertices.getBuffer(RenderLayers.getEndPortal()), light, 1, radius * 0.5F, 1, 0.5F, 0, 1); if (radius > 0.3F && absDistance > radius) { - radius *= 3 + radius; + radius *= Math.min(2, 3 + radius); matrices.scale(radius, radius, radius); matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(90)); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/spell/ShieldSpellRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/spell/ShieldSpellRenderer.java index 260b322c..a006f77d 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/spell/ShieldSpellRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/spell/ShieldSpellRenderer.java @@ -43,9 +43,9 @@ public class ShieldSpellRenderer extends SpellRenderer { model.render(matrices, buffer, light, 1, radius, colors[0], colors[1], colors[2], alpha * 0.2F); } else { matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(180)); - model.render(matrices, buffer, light, 1, radius + thickness, colors[0], colors[1], colors[2], alpha * 0.08F); - model.render(matrices, buffer, light, 1, radius - thickness, colors[0], colors[1], colors[2], alpha * 0.05F); - model.render(matrices, buffer, light, 1, radius + thickness * 2, colors[0], colors[1], colors[2], alpha * 0.05F); + SphereModel.SPHERE.render(matrices, buffer, light, 1, radius + thickness, colors[0], colors[1], colors[2], alpha * 0.08F); + SphereModel.SPHERE.render(matrices, buffer, light, 1, radius - thickness, colors[0], colors[1], colors[2], alpha * 0.05F); + SphereModel.SPHERE.render(matrices, buffer, light, 1, radius + thickness * 2, colors[0], colors[1], colors[2], alpha * 0.05F); } matrices.pop(); diff --git a/src/main/java/com/minelittlepony/unicopia/network/datasync/EffectSync.java b/src/main/java/com/minelittlepony/unicopia/network/datasync/EffectSync.java index 83507e6b..724c5660 100644 --- a/src/main/java/com/minelittlepony/unicopia/network/datasync/EffectSync.java +++ b/src/main/java/com/minelittlepony/unicopia/network/datasync/EffectSync.java @@ -105,11 +105,15 @@ public class EffectSync implements SpellContainer, NbtSerialisable { @Override public boolean removeWhere(Predicate test, boolean update) { - return reduce(update, (initial, effect) -> { - if (!test.test(effect)) { + return reduce(update, (initial, spell) -> { + if (!test.test(spell)) { return initial; } - spells.removeReference(effect); + spell.setDead(); + spell.tickDying(owner); + if (spell.isDead()) { + spells.removeReference(spell); + } return true; }); } From c30ef7e9c10a431ce3259e388a5bec395f201c2d Mon Sep 17 00:00:00 2001 From: Sollace Date: Tue, 6 Feb 2024 15:44:12 +0000 Subject: [PATCH 33/52] Give spikes their own damage type --- .../java/com/minelittlepony/unicopia/block/SpikesBlock.java | 6 ++++-- .../java/com/minelittlepony/unicopia/entity/Living.java | 1 + .../{util => entity/damage}/MagicalDamageSource.java | 2 +- .../unicopia/entity/damage/UDamageSources.java | 1 - .../minelittlepony/unicopia/entity/damage/UDamageTypes.java | 1 + src/main/resources/assets/unicopia/lang/en_us.json | 2 ++ 6 files changed, 9 insertions(+), 4 deletions(-) rename src/main/java/com/minelittlepony/unicopia/{util => entity/damage}/MagicalDamageSource.java (98%) diff --git a/src/main/java/com/minelittlepony/unicopia/block/SpikesBlock.java b/src/main/java/com/minelittlepony/unicopia/block/SpikesBlock.java index c24062c1..536f4b2c 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/SpikesBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/SpikesBlock.java @@ -2,6 +2,8 @@ package com.minelittlepony.unicopia.block; import org.joml.Vector3f; +import com.minelittlepony.unicopia.entity.damage.UDamageTypes; + import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.block.SideShapeType; @@ -37,7 +39,7 @@ public class SpikesBlock extends OrientedBlock { if ((normVel.x + normVel.y + normVel.z) < -0.08F) { float damage = (float)vel.lengthSquared() * 26; - entity.damage(world.getDamageSources().cactus(), damage); + entity.damage(world.getDamageSources().create(UDamageTypes.SPIKES), damage); } } } @@ -50,7 +52,7 @@ public class SpikesBlock extends OrientedBlock { if (!(e instanceof LivingEntity) || e.getType() == EntityType.FOX || e.getType() == EntityType.BEE) { continue; } - e.damage(world.getDamageSources().cactus(), 6); + e.damage(world.getDamageSources().create(UDamageTypes.SPIKES), 6); } } } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/Living.java b/src/main/java/com/minelittlepony/unicopia/entity/Living.java index 0b721be2..f83c07d9 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/Living.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/Living.java @@ -19,6 +19,7 @@ import com.minelittlepony.unicopia.advancement.UCriteria; import com.minelittlepony.unicopia.compat.trinkets.TrinketsDelegate; import com.minelittlepony.unicopia.entity.behaviour.EntityAppearance; import com.minelittlepony.unicopia.entity.collision.MultiBoundingBoxEntity; +import com.minelittlepony.unicopia.entity.damage.MagicalDamageSource; import com.minelittlepony.unicopia.entity.duck.LivingEntityDuck; import com.minelittlepony.unicopia.entity.effect.EffectUtils; import com.minelittlepony.unicopia.entity.effect.UEffects; diff --git a/src/main/java/com/minelittlepony/unicopia/util/MagicalDamageSource.java b/src/main/java/com/minelittlepony/unicopia/entity/damage/MagicalDamageSource.java similarity index 98% rename from src/main/java/com/minelittlepony/unicopia/util/MagicalDamageSource.java rename to src/main/java/com/minelittlepony/unicopia/entity/damage/MagicalDamageSource.java index a683004a..fe12570a 100644 --- a/src/main/java/com/minelittlepony/unicopia/util/MagicalDamageSource.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/damage/MagicalDamageSource.java @@ -1,4 +1,4 @@ -package com.minelittlepony.unicopia.util; +package com.minelittlepony.unicopia.entity.damage; import java.util.*; diff --git a/src/main/java/com/minelittlepony/unicopia/entity/damage/UDamageSources.java b/src/main/java/com/minelittlepony/unicopia/entity/damage/UDamageSources.java index 743dedbc..759a6aa4 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/damage/UDamageSources.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/damage/UDamageSources.java @@ -5,7 +5,6 @@ import org.jetbrains.annotations.Nullable; import com.minelittlepony.unicopia.WorldConvertable; import com.minelittlepony.unicopia.ability.magic.Caster; -import com.minelittlepony.unicopia.util.MagicalDamageSource; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.damage.DamageType; diff --git a/src/main/java/com/minelittlepony/unicopia/entity/damage/UDamageTypes.java b/src/main/java/com/minelittlepony/unicopia/entity/damage/UDamageTypes.java index b28faeea..eae9bb47 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/damage/UDamageTypes.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/damage/UDamageTypes.java @@ -31,6 +31,7 @@ public interface UDamageTypes { RegistryKey PETRIFIED = register("petrified"); RegistryKey ROCK = register("rock"); RegistryKey HORSESHOE = register("horseshoe"); + RegistryKey SPIKES = register("spikes"); private static RegistryKey register(String name) { var key = RegistryKey.of(RegistryKeys.DAMAGE_TYPE, Unicopia.id(name)); diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index 5320797e..80b11c0b 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -1447,6 +1447,8 @@ "death.attack.unicopia.horseshoe.self": "%1$s dinged himself", "death.attack.unicopia.horseshoe.item": "%1$s was dinged by %2$s using %3$s", "death.attack.unicopia.horseshoe.player": "%1$s was dinged by %2$s", + "death.attack.unicopia.spikes": "%1$s was pricked to death", + "death.attack.unicopia.spikes.player": "%1$s fell into some spikes whilst trying to escape %2$s", "death.fell.accident.ladder.pegasus": "%1$s forgot they could fly and fell off a ladder", "death.fell.accident.vines.pegasus": "%1$s forgot they could fly and fell off some vines", From afe44d0ca12167e2d951612f49fbcad75b153d8b Mon Sep 17 00:00:00 2001 From: Sollace Date: Tue, 6 Feb 2024 15:58:22 +0000 Subject: [PATCH 34/52] Fixed the death message when being killed by a kirin raging --- .../unicopia/ability/magic/spell/RageAbilitySpell.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/RageAbilitySpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/RageAbilitySpell.java index 1f3e2ada..70ad08cb 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/RageAbilitySpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/RageAbilitySpell.java @@ -69,7 +69,7 @@ public class RageAbilitySpell extends AbstractSpell { if (!source.isClient()) { if (age == 0) { - source.asWorld().createExplosion(source.asEntity(), source.damageOf(DamageTypes.FIREBALL), new ExplosionBehavior(){ + source.asWorld().createExplosion(source.asEntity(), source.asWorld().getDamageSources().create(DamageTypes.FIREBALL, source.asEntity()), new ExplosionBehavior(){ @Override public boolean canDestroyBlock(Explosion explosion, BlockView world, BlockPos pos, BlockState state, float power) { return false; From 2f68d4409acc0e6ada1bf370f8bf4ce5ea83144f Mon Sep 17 00:00:00 2001 From: Sollace Date: Tue, 6 Feb 2024 16:06:29 +0000 Subject: [PATCH 35/52] Add sculk events when the bulb roars and kirin rage --- .../unicopia/ability/magic/spell/RageAbilitySpell.java | 10 ++++++---- .../unicopia/entity/mob/TentacleEntity.java | 3 +++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/RageAbilitySpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/RageAbilitySpell.java index 70ad08cb..17e3acd8 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/RageAbilitySpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/RageAbilitySpell.java @@ -1,6 +1,7 @@ package com.minelittlepony.unicopia.ability.magic.spell; import com.minelittlepony.unicopia.InteractionManager; +import com.minelittlepony.unicopia.USounds; import com.minelittlepony.unicopia.ability.magic.Caster; import com.minelittlepony.unicopia.ability.magic.spell.effect.*; import com.minelittlepony.unicopia.client.render.PlayerPoser.Animation; @@ -13,11 +14,11 @@ import net.minecraft.entity.LivingEntity; import net.minecraft.entity.damage.DamageTypes; import net.minecraft.nbt.NbtCompound; import net.minecraft.particle.ParticleTypes; -import net.minecraft.sound.SoundEvents; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; import net.minecraft.world.BlockView; import net.minecraft.world.World.ExplosionSourceType; +import net.minecraft.world.event.GameEvent; import net.minecraft.world.explosion.Explosion; import net.minecraft.world.explosion.ExplosionBehavior; @@ -50,7 +51,7 @@ public class RageAbilitySpell extends AbstractSpell { if (source.asEntity().isInsideWaterOrBubbleColumn() || source.asEntity().isFrozen() || ticksToExtenguish > 0) { ticksExtenguishing++; - source.playSound(SoundEvents.ENTITY_GENERIC_EXTINGUISH_FIRE, 1); + source.playSound(USounds.Vanilla.ENTITY_GENERIC_EXTINGUISH_FIRE, 1); source.spawnParticles(ParticleTypes.CLOUD, 12); setDirty(); } else { @@ -79,7 +80,8 @@ public class RageAbilitySpell extends AbstractSpell { if (source instanceof Pony pony) { pony.setAnimation(Animation.ARMS_UP, Recipient.ANYONE, 12); } - source.playSound(SoundEvents.ENTITY_POLAR_BEAR_WARNING, 2F, 0.1F); + source.playSound(USounds.ENTITY_PLAYER_KIRIN_RAGE, 2F, 0.1F); + source.asEntity().emitGameEvent(GameEvent.EXPLODE); } if (source.asEntity().isOnGround() && source.asWorld().isAir(pos) && age % 10 == 0) { @@ -118,7 +120,7 @@ public class RageAbilitySpell extends AbstractSpell { } if (source.asWorld().hasRain(pos.up()) && source.asWorld().random.nextInt(15) == 0) { - source.playSound(SoundEvents.ENTITY_GENERIC_EXTINGUISH_FIRE, 0.3F); + source.playSound(USounds.Vanilla.ENTITY_GENERIC_EXTINGUISH_FIRE, 0.3F); source.spawnParticles(ParticleTypes.CLOUD, 3); } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java index 16d4a459..9e056950 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java @@ -35,6 +35,7 @@ import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; import net.minecraft.world.RaycastContext; import net.minecraft.world.World; +import net.minecraft.world.event.GameEvent; public class TentacleEntity extends AbstractDecorationEntity { static final byte ATTACK_STATUS = 54; @@ -152,6 +153,7 @@ public class TentacleEntity extends AbstractDecorationEntity { } addActiveTicks(20 + getWorld().random.nextInt(30)); playSound(USounds.ENTITY_TENTACLE_ROAR, 5, 1); + emitGameEvent(GameEvent.ENTITY_ROAR); return true; } @@ -208,6 +210,7 @@ public class TentacleEntity extends AbstractDecorationEntity { if (growth == 0) { playSound(USounds.ENTITY_TENTACLE_DIG, 1, 1); + emitGameEvent(GameEvent.RESONATE_1); } } From 1fdf88dce7a524799fc1f90289a1ae8456e8d045 Mon Sep 17 00:00:00 2001 From: Sollace Date: Tue, 6 Feb 2024 16:31:49 +0000 Subject: [PATCH 36/52] Strip alicorn amulet effects when doing the mind swap spell --- .../unicopia/ability/magic/spell/Spell.java | 1 + .../ability/magic/spell/ThrowableSpell.java | 31 ++++++---- .../spell/effect/CustomisedSpellType.java | 7 ++- .../magic/spell/effect/MindSwapSpell.java | 61 +++++++++++++++---- .../unicopia/item/AlicornAmuletItem.java | 13 ++-- 5 files changed, 80 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/Spell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/Spell.java index 55a5f3bf..2472b348 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/Spell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/Spell.java @@ -81,6 +81,7 @@ public interface Spell extends NbtSerialisable, Affine { * Gets the default form of this spell used to apply to a caster. * @param caster The caster currently fueling this spell */ + @Nullable default Spell prepareForCast(Caster caster, CastingMethod method) { return this; } diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ThrowableSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ThrowableSpell.java index 49cf0a2e..20c4c9b0 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ThrowableSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ThrowableSpell.java @@ -59,21 +59,26 @@ public final class ThrowableSpell extends AbstractDelegatingSpell { caster.playSound(USounds.SPELL_CAST_SHOOT, 0.7F, 0.4F / (world.random.nextFloat() * 0.4F + 0.8F)); - if (!caster.isClient()) { - MagicProjectileEntity projectile = UEntities.MAGIC_BEAM.create(world); - projectile.setPosition(entity.getX(), entity.getEyeY() - 0.1F, entity.getZ()); - projectile.setOwner(entity); - projectile.setItem(UItems.GEMSTONE.getDefaultStack(spell.getType())); - spell.prepareForCast(caster, CastingMethod.STORED).apply(projectile); - projectile.setVelocity(entity, entity.getPitch(), entity.getYaw(), 0, 1.5F, divergance); - projectile.setNoGravity(true); - configureProjectile(projectile, caster); - world.spawnEntity(projectile); - - return Optional.of(projectile); + if (caster.isClient()) { + return Optional.empty(); } - return Optional.empty(); + Spell s = spell.prepareForCast(caster, CastingMethod.STORED); + if (s == null) { + return Optional.empty(); + } + + MagicProjectileEntity projectile = UEntities.MAGIC_BEAM.create(world); + projectile.setPosition(entity.getX(), entity.getEyeY() - 0.1F, entity.getZ()); + projectile.setOwner(entity); + projectile.setItem(UItems.GEMSTONE.getDefaultStack(spell.getType())); + s.apply(projectile); + projectile.setVelocity(entity, entity.getPitch(), entity.getYaw(), 0, 1.5F, divergance); + projectile.setNoGravity(true); + configureProjectile(projectile, caster); + world.spawnEntity(projectile); + + return Optional.of(projectile); } @Override diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/CustomisedSpellType.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/CustomisedSpellType.java index f3c8991c..4c346401 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/CustomisedSpellType.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/CustomisedSpellType.java @@ -39,8 +39,11 @@ public record CustomisedSpellType ( } T spell = create(); - if (spell != null && spell.prepareForCast(caster, method).apply(caster)) { - return spell; + if (spell != null) { + Spell s = spell.prepareForCast(caster, method); + if (s != null && s.apply(caster)) { + return spell; + } } return null; diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/MindSwapSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/MindSwapSpell.java index edf4ffa4..4b2f9cb0 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/MindSwapSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/MindSwapSpell.java @@ -3,6 +3,8 @@ package com.minelittlepony.unicopia.ability.magic.spell.effect; import java.util.Optional; import java.util.UUID; +import org.jetbrains.annotations.Nullable; + import com.minelittlepony.unicopia.USounds; import com.minelittlepony.unicopia.ability.magic.Caster; import com.minelittlepony.unicopia.ability.magic.spell.CastingMethod; @@ -13,6 +15,8 @@ import com.minelittlepony.unicopia.entity.EntityReference; import com.minelittlepony.unicopia.entity.Living; import com.minelittlepony.unicopia.entity.behaviour.EntitySwap; import com.minelittlepony.unicopia.entity.behaviour.Inventory; +import com.minelittlepony.unicopia.item.AlicornAmuletItem; +import com.minelittlepony.unicopia.item.UItems; import com.minelittlepony.unicopia.projectile.MagicProjectileEntity; import com.minelittlepony.unicopia.projectile.ProjectileDelegate; @@ -38,8 +42,12 @@ public class MindSwapSpell extends MimicSpell implements ProjectileDelegate.Enti super(type); } + @Nullable @Override public Spell prepareForCast(Caster caster, CastingMethod method) { + if (caster.asEntity() instanceof LivingEntity living && isValidTarget(living)) { + return null; + } return method == CastingMethod.STAFF ? toThrowable() : this; } @@ -50,21 +58,28 @@ public class MindSwapSpell extends MimicSpell implements ProjectileDelegate.Enti counterpart.ifPresent(caster.asWorld(), e -> { initialized = false; LivingEntity master = caster.getMaster(); - Caster other = Caster.of(e).get(); + other.getSpellSlot().removeIf(SpellType.MIMIC, true); caster.getSpellSlot().removeIf(getType(), true); - if (master instanceof ServerPlayerEntity sMaster && e instanceof ServerPlayerEntity sE) { - swapPlayerData(sMaster, sE); + if (!isValidTarget(master) || !isValidTarget(e)) { + master.damage(caster.asWorld().getDamageSources().magic(), Float.MAX_VALUE); + master.setHealth(0); + e.damage(caster.asWorld().getDamageSources().magic(), Float.MAX_VALUE); + e.setHealth(0); } else { - EntitySwap.ALL.accept(e, master); - Inventory.swapInventories( - e, myStoredInventory.or(() -> Inventory.of(e)), - master, theirStoredInventory.or(() -> Inventory.of(master)), - a -> {}, - a -> {} - ); + if (master instanceof ServerPlayerEntity sMaster && e instanceof ServerPlayerEntity sE) { + swapPlayerData(sMaster, sE); + } else { + EntitySwap.ALL.accept(e, master); + Inventory.swapInventories( + e, myStoredInventory.or(() -> Inventory.of(e)), + master, theirStoredInventory.or(() -> Inventory.of(master)), + a -> {}, + a -> {} + ); + } } other.playSound(USounds.SPELL_MINDSWAP_UNSWAP, 0.2F); @@ -84,8 +99,20 @@ public class MindSwapSpell extends MimicSpell implements ProjectileDelegate.Enti if (!caster.isClient()) { if (!initialized) { counterpart.ifPresent(caster.asWorld(), e -> { + if (!isValidTarget(e)) { + counterpart.set(null); + setDead(); + return; + } + LivingEntity master = caster.getMaster(); + if (!isValidTarget(master)) { + counterpart.set(null); + setDead(); + return; + } + setDisguise(e); Caster other = Caster.of(e).get(); MimicSpell mimic = SpellType.MIMIC.withTraits().apply(other, CastingMethod.INDIRECT); @@ -144,7 +171,9 @@ public class MindSwapSpell extends MimicSpell implements ProjectileDelegate.Enti @Override public void onImpact(MagicProjectileEntity projectile, EntityHitResult hit) { Caster.of(projectile.getMaster()).ifPresent(master -> { - if (getTypeAndTraits().apply(master, CastingMethod.DIRECT) instanceof HomingSpell homing) { + if (hit.getEntity() instanceof LivingEntity living + && isValidTarget(living) + && getTypeAndTraits().apply(master, CastingMethod.DIRECT) instanceof HomingSpell homing) { homing.setTarget(hit.getEntity()); } }); @@ -152,13 +181,19 @@ public class MindSwapSpell extends MimicSpell implements ProjectileDelegate.Enti @Override public boolean setTarget(Entity target) { - if (target instanceof LivingEntity living && Caster.of(target).isPresent()) { + if (target instanceof LivingEntity living) { counterpart.set(living); } return false; } + protected boolean isValidTarget(LivingEntity entity) { + return Caster.of(entity).isPresent() + //&& !UItems.ALICORN_AMULET.isApplicable(entity) + && !UItems.PEARL_NECKLACE.isApplicable(entity); + } + @Override public void toNBT(NbtCompound compound) { super.toNBT(compound); @@ -178,6 +213,8 @@ public class MindSwapSpell extends MimicSpell implements ProjectileDelegate.Enti } private static void swapPlayerData(ServerPlayerEntity a, ServerPlayerEntity b) { + AlicornAmuletItem.updateAttributes(Living.living(a), 0); + AlicornAmuletItem.updateAttributes(Living.living(b), 0); final GameMode aMode = a.interactionManager.getGameMode(); final GameMode bMode = b.interactionManager.getGameMode(); diff --git a/src/main/java/com/minelittlepony/unicopia/item/AlicornAmuletItem.java b/src/main/java/com/minelittlepony/unicopia/item/AlicornAmuletItem.java index 7a4eb3f3..55d64128 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/AlicornAmuletItem.java +++ b/src/main/java/com/minelittlepony/unicopia/item/AlicornAmuletItem.java @@ -169,8 +169,12 @@ public class AlicornAmuletItem extends AmuletItem implements ItemTracker.Trackab wearer.updateVelocity(); } - EFFECT_SCALES.keySet().forEach(attribute -> { - wearer.updateAttributeModifier(EFFECT_UUID, attribute, 0F, EFFECT_FACTORY, false); + updateAttributes(wearer, 0); + } + + public static void updateAttributes(Living wearer, float effectScale) { + EFFECT_SCALES.entrySet().forEach(attribute -> { + wearer.updateAttributeModifier(EFFECT_UUID, attribute.getKey(), attribute.getValue() * effectScale, EFFECT_FACTORY, false); }); } @@ -291,10 +295,7 @@ public class AlicornAmuletItem extends AmuletItem implements ItemTracker.Trackab // every 1 second, update modifiers if (fullSecond) { - EFFECT_SCALES.entrySet().forEach(attribute -> { - float seconds = (float)attachedTicks / ItemTracker.SECONDS; - living.updateAttributeModifier(EFFECT_UUID, attribute.getKey(), attribute.getValue() * seconds, EFFECT_FACTORY, false); - }); + updateAttributes(living, (float)attachedTicks / ItemTracker.SECONDS); } } From 8d736befa5e6389f354177b1ef5c6764e3ac2a62 Mon Sep 17 00:00:00 2001 From: Sollace Date: Tue, 6 Feb 2024 16:39:10 +0000 Subject: [PATCH 37/52] Fixed the king sombra boss fight --- .../unicopia/item/AlicornAmuletItem.java | 7 +++---- .../minelittlepony/unicopia/server/world/Altar.java | 11 ++++++++++- .../server/world/UnicopiaWorldProperties.java | 10 ++++++++++ 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/item/AlicornAmuletItem.java b/src/main/java/com/minelittlepony/unicopia/item/AlicornAmuletItem.java index 55d64128..04722a09 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/AlicornAmuletItem.java +++ b/src/main/java/com/minelittlepony/unicopia/item/AlicornAmuletItem.java @@ -8,6 +8,7 @@ import com.google.common.base.Predicates; import com.google.common.collect.ImmutableMultimap; import com.minelittlepony.unicopia.InteractionManager; import com.minelittlepony.unicopia.USounds; +import com.minelittlepony.unicopia.block.UBlocks; import com.minelittlepony.unicopia.compat.trinkets.TrinketsDelegate; import com.minelittlepony.unicopia.entity.*; import com.minelittlepony.unicopia.entity.damage.UDamageTypes; @@ -25,7 +26,6 @@ import it.unimi.dsi.fastutil.floats.Float2ObjectFunction; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; -import net.minecraft.block.Blocks; import net.minecraft.client.MinecraftClient; import net.minecraft.client.item.TooltipContext; import net.minecraft.enchantment.EnchantmentHelper; @@ -198,9 +198,8 @@ public class AlicornAmuletItem extends AmuletItem implements ItemTracker.Trackab } if (entity instanceof PlayerEntity) { - if (entity.isOnFire() && world.getBlockState(entity.getBlockPos().up()).isOf(Blocks.SOUL_FIRE)) { - if (UnicopiaWorldProperties.forWorld((ServerWorld)world).isActiveAltar(entity.getBlockPos()) - || UnicopiaWorldProperties.forWorld((ServerWorld)world).isActiveAltar(entity.getBlockPos().up())) { + if (entity.isOnFire() && world.getBlockState(entity.getBlockPos().up()).isOf(UBlocks.SPECTRAL_FIRE)) { + if (UnicopiaWorldProperties.forWorld((ServerWorld)world).isActiveAltar(entity)) { if (living.asEntity().getHealth() < 2) { entity.setFireTicks(0); world.removeBlock(entity.getBlockPos().up(), false); diff --git a/src/main/java/com/minelittlepony/unicopia/server/world/Altar.java b/src/main/java/com/minelittlepony/unicopia/server/world/Altar.java index d1acdbcf..21f2f131 100644 --- a/src/main/java/com/minelittlepony/unicopia/server/world/Altar.java +++ b/src/main/java/com/minelittlepony/unicopia/server/world/Altar.java @@ -31,7 +31,16 @@ import net.minecraft.util.math.Direction; import net.minecraft.util.math.Vec3i; import net.minecraft.world.World; -public record Altar(BlockPos origin, Set pillars) { +public record Altar( + /** + * The position of the central spectral fire of this altar + */ + BlockPos origin, + /** + * Pillar top positions + */ + Set pillars +) { private static final Direction[] HORIZONTALS = { Direction.SOUTH, Direction.WEST, Direction.NORTH, Direction.EAST }; private static final Predicate IS_PARTICIPANT = EntityPredicates.VALID_ENTITY.and(e -> e instanceof FloatingArtefactEntity || e instanceof SpellbookEntity); public static final NbtSerialisable.Serializer SERIALIZER = NbtSerialisable.Serializer.of(nbt -> { diff --git a/src/main/java/com/minelittlepony/unicopia/server/world/UnicopiaWorldProperties.java b/src/main/java/com/minelittlepony/unicopia/server/world/UnicopiaWorldProperties.java index 70b14a94..64ee7c7f 100644 --- a/src/main/java/com/minelittlepony/unicopia/server/world/UnicopiaWorldProperties.java +++ b/src/main/java/com/minelittlepony/unicopia/server/world/UnicopiaWorldProperties.java @@ -8,6 +8,7 @@ import com.minelittlepony.unicopia.network.Channel; import com.minelittlepony.unicopia.network.MsgSkyAngle; import com.minelittlepony.unicopia.util.NbtSerialisable; +import net.minecraft.entity.Entity; import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtElement; import net.minecraft.server.world.ServerWorld; @@ -69,6 +70,15 @@ public class UnicopiaWorldProperties extends PersistentState { return activeAltarPositions.contains(center); } + public boolean isActiveAltar(Entity entity) { + for (int i = 0; i < entity.getHeight(); i++) { + if (isActiveAltar(entity.getBlockPos().up(i))) { + return true; + } + } + return false; + } + @Override public NbtCompound writeNbt(NbtCompound tag) { tag.putString("defaultRace", Race.REGISTRY.getId(defaultRace).toString()); From 2b2fab2303a13faa36ba3aa26b066f760f9b688e Mon Sep 17 00:00:00 2001 From: Sollace Date: Wed, 7 Feb 2024 10:55:51 +0000 Subject: [PATCH 38/52] Fix changeling climbing on ladders and scaffolding #248 --- .../minelittlepony/unicopia/entity/player/Acrobatics.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/entity/player/Acrobatics.java b/src/main/java/com/minelittlepony/unicopia/entity/player/Acrobatics.java index 1607c64a..eb9c98eb 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/player/Acrobatics.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/player/Acrobatics.java @@ -12,12 +12,14 @@ import com.minelittlepony.unicopia.util.NbtSerialisable; import com.minelittlepony.unicopia.util.Tickable; import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; import net.minecraft.block.SideShapeType; import net.minecraft.entity.data.DataTracker; import net.minecraft.entity.data.TrackedData; import net.minecraft.entity.data.TrackedDataHandlerRegistry; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.nbt.NbtCompound; +import net.minecraft.registry.tag.BlockTags; import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundEvents; import net.minecraft.util.math.BlockPos; @@ -62,7 +64,8 @@ public class Acrobatics implements Tickable, NbtSerialisable { if (!pony.getPhysics().isFlying() && !entity.getAbilities().flying && climbingPos != null - && pony.getObservedSpecies() == Race.CHANGELING) { + && pony.getObservedSpecies() == Race.CHANGELING + && !entity.getBlockStateAtPos().isIn(BlockTags.CLIMBABLE)) { Vec3d vel = entity.getVelocity(); if (entity.isSneaking()) { entity.setVelocity(vel.x, 0, vel.z); @@ -138,7 +141,8 @@ public class Acrobatics implements Tickable, NbtSerialisable { boolean isFaceClimbable(World world, BlockPos pos, Direction direction) { pos = pos.offset(direction); - return world.getBlockState(pos).isSideSolid(world, pos, direction, SideShapeType.CENTER); + BlockState state = world.getBlockState(pos); + return !state.isOf(Blocks.SCAFFOLDING) && state.isSideSolid(world, pos, direction, SideShapeType.CENTER); } public Optional getHangingPosition() { From 5fb54aa2fdbd94b05c0064101fc8c006ad7422ed Mon Sep 17 00:00:00 2001 From: Sollace Date: Wed, 7 Feb 2024 10:56:13 +0000 Subject: [PATCH 39/52] Fixed changeling wing animations and posing --- .../client/minelittlepony/BodyPartGear.java | 32 +++++--- .../minelittlepony/UnicopiaPonyData.java | 75 +++++++++++++++++++ 2 files changed, 98 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/minelittlepony/unicopia/client/minelittlepony/UnicopiaPonyData.java diff --git a/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/BodyPartGear.java b/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/BodyPartGear.java index 3ec5d015..76f267f5 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/BodyPartGear.java +++ b/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/BodyPartGear.java @@ -6,6 +6,7 @@ import java.util.function.Predicate; import com.minelittlepony.api.model.*; import com.minelittlepony.api.model.gear.IGear; +import com.minelittlepony.api.pony.IPonyData; import com.minelittlepony.client.model.ClientPonyModel; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.PlayerModelKey; @@ -16,7 +17,7 @@ import com.minelittlepony.client.model.part.UnicornHorn; import com.minelittlepony.mson.api.MsonModel; import com.minelittlepony.unicopia.EquinePredicates; import com.minelittlepony.unicopia.FlightType; -import com.minelittlepony.unicopia.Race; + import com.minelittlepony.unicopia.Unicopia; import com.minelittlepony.unicopia.entity.AmuletSelectors; @@ -27,6 +28,8 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; import net.minecraft.util.Identifier; +import com.minelittlepony.api.pony.meta.Race; + class BodyPartGear & MsonModel & IModel> implements IGear { private static final Predicate MINE_LP_HAS_NO_WINGS = e -> !MineLPDelegate.getInstance().getRace(e).canFly(); @@ -41,14 +44,14 @@ class BodyPartGear & MsonModel & IModel> public static final Predicate BAT_WINGS_PREDICATE = MINE_LP_HAS_NO_WINGS.and(AmuletSelectors.PEGASUS_AMULET.negate()).and(EquinePredicates.PLAYER_BAT); public static final Identifier BAT_WINGS = Unicopia.id("textures/models/wings/bat_pony.png"); - public static final Predicate UNICORN_HORN_PREDICATE = MINE_LP_HAS_NO_HORN.and(AmuletSelectors.ALICORN_AMULET.or(EquinePredicates.raceMatches(Race::canCast))); + public static final Predicate UNICORN_HORN_PREDICATE = MINE_LP_HAS_NO_HORN.and(AmuletSelectors.ALICORN_AMULET.or(EquinePredicates.raceMatches(com.minelittlepony.unicopia.Race::canCast))); public static final Identifier UNICORN_HORN = Unicopia.id("textures/models/horn/unicorn.png"); public static final Predicate PEGA_WINGS_PREDICATE = MINE_LP_HAS_NO_WINGS.and(AmuletSelectors.PEGASUS_AMULET.or(EquinePredicates.raceMatches(race -> race.flightType() == FlightType.AVIAN))); public static final Identifier PEGASUS_WINGS = Unicopia.id("textures/models/wings/pegasus_pony.png"); public static BodyPartGear pegasusWings() { - return new BodyPartGear<>(BodyPart.BODY, ModelType.PEGASUS, PEGA_WINGS_PREDICATE, WingsGearModel::new, WingsGearModel::getWings, e -> { + return new BodyPartGear<>(Race.PEGASUS, BodyPart.BODY, ModelType.PEGASUS, PEGA_WINGS_PREDICATE, WingsGearModel::new, WingsGearModel::getWings, e -> { if (AmuletSelectors.PEGASUS_AMULET.test((LivingEntity)e)) { return e.getWorld().getDimension().ultrawarm() ? ICARUS_WINGS_CORRUPTED : ICARUS_WINGS; } @@ -57,15 +60,15 @@ class BodyPartGear & MsonModel & IModel> } public static BodyPartGear batWings() { - return new BodyPartGear<>(BodyPart.BODY, ModelType.BAT_PONY, BAT_WINGS_PREDICATE, WingsGearModel::new, IPegasus::getWings, e -> BAT_WINGS); + return new BodyPartGear<>(Race.BATPONY, BodyPart.BODY, ModelType.BAT_PONY, BAT_WINGS_PREDICATE, WingsGearModel::new, IPegasus::getWings, e -> BAT_WINGS); } public static BodyPartGear bugWings() { - return new BodyPartGear<>(BodyPart.BODY, ModelType.CHANGELING, BUG_WINGS_PREDICATE, BugWingsGearModel::new, IPegasus::getWings, e -> BUG_WINGS); + return new BodyPartGear<>(Race.CHANGELING, BodyPart.BODY, ModelType.CHANGELING, BUG_WINGS_PREDICATE, BugWingsGearModel::new, IPegasus::getWings, e -> BUG_WINGS); } public static BodyPartGear unicornHorn() { - return new BodyPartGear<>(BodyPart.HEAD, ModelType.UNICORN, UNICORN_HORN_PREDICATE, HornGearModel::new, HornGearModel::getHorn, e -> UNICORN_HORN); + return new BodyPartGear<>(Race.UNICORN, BodyPart.HEAD, ModelType.UNICORN, UNICORN_HORN_PREDICATE, HornGearModel::new, HornGearModel::getHorn, e -> UNICORN_HORN); } private final M model; @@ -73,14 +76,17 @@ class BodyPartGear & MsonModel & IModel> private final IPart part; private final Function textureSupplier; private final BodyPart gearLocation; + private final UnicopiaPonyData ponyData; public BodyPartGear( + Race race, BodyPart gearLocation, PlayerModelKey modelKey, Predicate renderTargetPredicate, MsonModel.Factory modelFactory, Function partExtractor, Function textureSupplier) { + this.ponyData = new UnicopiaPonyData(race); this.gearLocation = gearLocation; this.model = modelKey.steveKey().createModel(modelFactory); this.part = partExtractor.apply(this.model); @@ -107,9 +113,17 @@ class BodyPartGear & MsonModel & IModel> @SuppressWarnings({ "unchecked", "rawtypes" }) @Override - public void pose(IModel model, Entity entity, boolean rainboom, UUID interpolatorId, float move, float swing, float bodySwing, float ticks) { - ((ClientPonyModel)model).copyAttributes(this.model); - part.setPartAngles(this.model.getAttributes(), move, swing, bodySwing, ticks); + public void pose(IModel model, Entity entity, boolean rainboom, UUID interpolatorId, float move, float swing, float bodySwing, float tickDelta) { + final IPonyData data = this.model.getAttributes().metadata; + try { + ponyData.original = data; + ((ClientPonyModel)model).copyAttributes(this.model); + this.model.getAttributes().metadata = ponyData; + this.model.animateModel((LivingEntity)entity, move, swing, tickDelta); + this.model.setAngles((LivingEntity)entity, move, swing, entity.age + tickDelta, 0, 0); + } finally { + this.model.getAttributes().metadata = data; + } } @Override diff --git a/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/UnicopiaPonyData.java b/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/UnicopiaPonyData.java new file mode 100644 index 00000000..063d46b5 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/UnicopiaPonyData.java @@ -0,0 +1,75 @@ +package com.minelittlepony.unicopia.client.minelittlepony; + +import java.util.Map; +import java.util.UUID; + +import com.minelittlepony.api.pony.IPonyData; +import com.minelittlepony.api.pony.TriggerPixelType; +import com.minelittlepony.api.pony.meta.Gender; +import com.minelittlepony.api.pony.meta.Race; +import com.minelittlepony.api.pony.meta.Size; +import com.minelittlepony.api.pony.meta.TailLength; +import com.minelittlepony.api.pony.meta.TailShape; +import com.minelittlepony.api.pony.meta.Wearable; +import com.minelittlepony.common.util.animation.Interpolator; + +public class UnicopiaPonyData implements IPonyData { + + Race race; + IPonyData original; + + public UnicopiaPonyData(Race race) { + this.race = race; + } + + @Override + public Race getRace() { + return race; + } + + @Override + public TailLength getTailLength() { + return original.getTailLength(); + } + + @Override + public TailShape getTailShape() { + return original.getTailShape(); + } + + @Override + public Gender getGender() { + return original.getGender(); + } + + @Override + public Size getSize() { + return original.getSize(); + } + + @Override + public int getGlowColor() { + return original.getGlowColor(); + } + + @Override + public Wearable[] getGear() { + return original.getGear(); + } + + @Override + public boolean isWearing(Wearable wearable) { + return original.isWearing(wearable); + } + + @Override + public Interpolator getInterpolator(UUID interpolatorId) { + return original.getInterpolator(interpolatorId); + } + + @Override + public Map> getTriggerPixels() { + return original.getTriggerPixels(); + } + +} From 36e22f1eadc7fc25a35ab27466a4611d91dab25e Mon Sep 17 00:00:00 2001 From: Sollace Date: Wed, 7 Feb 2024 12:24:53 +0000 Subject: [PATCH 40/52] Improve network syncing of spells and fix some shield radius resets --- .../ability/magic/spell/PlaceableSpell.java | 15 ++-- .../unicopia/ability/magic/spell/Spell.java | 10 ++- .../ability/magic/spell/SpellReference.java | 65 ++++++++++++++++ .../ability/magic/spell/ThrowableSpell.java | 14 ++-- .../magic/spell/effect/AbstractSpell.java | 2 +- .../magic/spell/effect/ShieldSpell.java | 7 +- .../render/spell/ShieldSpellRenderer.java | 1 + .../datasync/SpellNetworkedReference.java | 74 ++----------------- 8 files changed, 101 insertions(+), 87 deletions(-) create mode 100644 src/main/java/com/minelittlepony/unicopia/ability/magic/spell/SpellReference.java diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/PlaceableSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/PlaceableSpell.java index 408b345d..9a135942 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/PlaceableSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/PlaceableSpell.java @@ -51,7 +51,7 @@ public class PlaceableSpell extends AbstractDelegatingSpell implements OrientedS /** * The spell being cast */ - private Spell spell; + private final SpellReference spell = new SpellReference<>(); public float pitch; public float yaw; @@ -70,7 +70,7 @@ public class PlaceableSpell extends AbstractDelegatingSpell implements OrientedS } public PlaceableSpell setSpell(Spell spell) { - this.spell = spell; + this.spell.set(spell); return this; } @@ -103,7 +103,7 @@ public class PlaceableSpell extends AbstractDelegatingSpell implements OrientedS @Override public Collection getDelegates() { - return List.of(spell); + return List.of(spell.get()); } @Override @@ -162,8 +162,8 @@ public class PlaceableSpell extends AbstractDelegatingSpell implements OrientedS CastSpellEntity entity = UEntities.CAST_SPELL.create(source.asWorld()); Vec3d pos = getPosition().orElse(position.orElse(source.asEntity().getPos())); entity.updatePositionAndAngles(pos.x, pos.y, pos.z, source.asEntity().getYaw(), source.asEntity().getPitch()); - PlaceableSpell copy = spell.toPlaceable(); - if (spell instanceof PlacementDelegate delegate) { + PlaceableSpell copy = spell.get().toPlaceable(); + if (spell.get() instanceof PlacementDelegate delegate) { delegate.onPlaced(source, copy, entity); } entity.getSpellSlot().put(copy); @@ -272,13 +272,12 @@ public class PlaceableSpell extends AbstractDelegatingSpell implements OrientedS @Override protected void loadDelegates(NbtCompound compound) { - spell = Spell.SERIALIZER.read(compound.getCompound("spell")); + spell.fromNBT(compound.getCompound("spell")); } @Override protected void saveDelegates(NbtCompound compound) { - compound.put("spell", Spell.SERIALIZER.write(spell)); - + compound.put("spell", spell.toNBT()); } @Override diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/Spell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/Spell.java index 2472b348..0c504041 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/Spell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/Spell.java @@ -15,6 +15,7 @@ import com.minelittlepony.unicopia.ability.magic.spell.trait.SpellTraits; import com.minelittlepony.unicopia.util.NbtSerialisable; import net.minecraft.nbt.NbtCompound; +import net.minecraft.util.Util; /** * Interface for a magic spells @@ -129,10 +130,11 @@ public interface Spell extends NbtSerialisable, Affine { } @Nullable - static Spell readNbt(@Nullable NbtCompound compound) { + static T readNbt(@Nullable NbtCompound compound) { try { if (compound != null && compound.contains("effect_id")) { - Spell effect = SpellType.getKey(compound).withTraits().create(); + @SuppressWarnings("unchecked") + T effect = (T)SpellType.getKey(compound).withTraits().create(); if (effect != null) { effect.fromNBT(compound); @@ -147,6 +149,10 @@ public interface Spell extends NbtSerialisable, Affine { return null; } + static UUID getUuid(@Nullable NbtCompound compound) { + return compound == null || !compound.containsUuid("uuid") ? Util.NIL_UUID : compound.getUuid("uuid"); + } + static NbtCompound writeNbt(Spell effect) { NbtCompound compound = effect.toNBT(); effect.getType().toNbt(compound); diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/SpellReference.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/SpellReference.java new file mode 100644 index 00000000..c8b504f8 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/SpellReference.java @@ -0,0 +1,65 @@ +package com.minelittlepony.unicopia.ability.magic.spell; + +import java.util.Objects; +import org.jetbrains.annotations.Nullable; + +import com.minelittlepony.unicopia.ability.magic.Caster; +import com.minelittlepony.unicopia.util.NbtSerialisable; + +import net.minecraft.nbt.NbtCompound; + +public final class SpellReference implements NbtSerialisable { + @Nullable + private transient T spell; + private int nbtHash; + + @Nullable + public T get() { + return spell == null || spell.isDead() ? null : spell; + } + + public void set(T spell) { + set(spell, null); + } + + public boolean hasDirtySpell() { + return spell != null && spell.isDirty(); + } + + public boolean set(T spell, @Nullable Caster owner) { + spell = spell == null || spell.isDead() ? null : spell; + if (spell == this.spell) { + return false; + } + T oldValue = this.spell; + this.spell = spell; + nbtHash = 0; + if (owner != null && oldValue != null && (spell == null || !oldValue.getUuid().equals(spell.getUuid()))) { + oldValue.destroy(owner); + } + return true; + } + + @Override + public void toNBT(NbtCompound compound) { + if (spell != null && !spell.isDead()) { + spell.toNBT(compound); + spell.getType().toNbt(compound); + } + } + + @Override + public void fromNBT(NbtCompound compound) { + final int hash = compound.hashCode(); + if (nbtHash == hash) { + return; + } + nbtHash = hash; + + if (spell == null || !Objects.equals(Spell.getUuid(compound), spell.getUuid())) { + spell = Spell.readNbt(compound); + } else { + spell.fromNBT(compound); + } + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ThrowableSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ThrowableSpell.java index 20c4c9b0..ddb3a43f 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ThrowableSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ThrowableSpell.java @@ -17,20 +17,20 @@ import net.minecraft.world.World; public final class ThrowableSpell extends AbstractDelegatingSpell { - private Spell spell; + private final SpellReference spell = new SpellReference<>(); public ThrowableSpell(CustomisedSpellType type) { super(type); } public ThrowableSpell setSpell(Spell spell) { - this.spell = spell; + this.spell.set(spell); return this; } @Override public Collection getDelegates() { - return List.of(spell); + return List.of(spell.get()); } @Override @@ -63,7 +63,7 @@ public final class ThrowableSpell extends AbstractDelegatingSpell { return Optional.empty(); } - Spell s = spell.prepareForCast(caster, CastingMethod.STORED); + Spell s = spell.get().prepareForCast(caster, CastingMethod.STORED); if (s == null) { return Optional.empty(); } @@ -71,7 +71,7 @@ public final class ThrowableSpell extends AbstractDelegatingSpell { MagicProjectileEntity projectile = UEntities.MAGIC_BEAM.create(world); projectile.setPosition(entity.getX(), entity.getEyeY() - 0.1F, entity.getZ()); projectile.setOwner(entity); - projectile.setItem(UItems.GEMSTONE.getDefaultStack(spell.getType())); + projectile.setItem(UItems.GEMSTONE.getDefaultStack(spell.get().getType())); s.apply(projectile); projectile.setVelocity(entity, entity.getPitch(), entity.getYaw(), 0, 1.5F, divergance); projectile.setNoGravity(true); @@ -83,12 +83,12 @@ public final class ThrowableSpell extends AbstractDelegatingSpell { @Override protected void loadDelegates(NbtCompound compound) { - spell = Spell.SERIALIZER.read(compound.getCompound("spell")); + spell.fromNBT(compound.getCompound("spell")); } @Override protected void saveDelegates(NbtCompound compound) { - compound.put("spell", Spell.SERIALIZER.write(spell)); + compound.put("spell", spell.toNBT()); } @Override diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/AbstractSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/AbstractSpell.java index 8b64d9c3..1660c01e 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/AbstractSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/AbstractSpell.java @@ -115,7 +115,7 @@ public abstract class AbstractSpell implements Spell { @Override public void fromNBT(NbtCompound compound) { dirty = false; - if (compound.contains("uuid")) { + if (compound.containsUuid("uuid")) { uuid = compound.getUuid("uuid"); } dying = compound.getBoolean("dying"); diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/ShieldSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/ShieldSpell.java index 5107f3d9..22fd5b47 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/ShieldSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/ShieldSpell.java @@ -78,6 +78,7 @@ public class ShieldSpell extends AbstractSpell { @Override public boolean tick(Caster source, Situation situation) { + rangeMultiplier.update(source instanceof Pony pony && pony.asEntity().isSneaking() ? 1 : 2, 500L); radius.update((float)getDrawDropOffRange(source), 200L); if (source.isClient()) { @@ -104,6 +105,8 @@ public class ShieldSpell extends AbstractSpell { @Override public void tickDying(Caster caster) { + rangeMultiplier.update(caster instanceof Pony pony && pony.asEntity().isSneaking() ? 1 : 2, 10L); + radius.update((float)getDrawDropOffRange(caster), 10L); prevTicksDying = ticksDying; if (ticksDying++ > 25) { super.tickDying(caster); @@ -124,7 +127,7 @@ public class ShieldSpell extends AbstractSpell { public float getRadius(float tickDelta) { float base = radius.getValue(); - float scale = 1 - MathHelper.clamp(MathHelper.lerp(tickDelta, (float)prevTicksDying, ticksDying), 0, 1); + float scale = 1 - MathHelper.clamp(MathHelper.lerp(tickDelta, (float)prevTicksDying, ticksDying) / 25F, 0, 1); return base * scale; } @@ -132,8 +135,6 @@ public class ShieldSpell extends AbstractSpell { * Calculates the maximum radius of the shield. aka The area of effect. */ public double getDrawDropOffRange(Caster source) { - rangeMultiplier.update(source instanceof Pony pony && pony.asEntity().isSneaking() ? 1 : 2, 500L); - float min = (source instanceof Pony ? 4 : 6) + getTraits().get(Trait.POWER); double range = (min + (source.getLevel().getScaled(source instanceof Pony ? 4 : 40) * (source instanceof Pony ? 2 : 10))) / rangeMultiplier.getValue(); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/spell/ShieldSpellRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/spell/ShieldSpellRenderer.java index a006f77d..c3f2e7fb 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/spell/ShieldSpellRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/spell/ShieldSpellRenderer.java @@ -36,6 +36,7 @@ public class ShieldSpellRenderer extends SpellRenderer { float thickness = 0.02F * MathHelper.sin(animationProgress / 30F); float alpha = 1 - Math.abs(MathHelper.sin(animationProgress / 20F)) * 0.2F; + alpha *= MathHelper.clamp(radius - 1, 0, 1); if (firstPerson) { matrices.translate(0, -1.75F, 0); diff --git a/src/main/java/com/minelittlepony/unicopia/network/datasync/SpellNetworkedReference.java b/src/main/java/com/minelittlepony/unicopia/network/datasync/SpellNetworkedReference.java index 9618b330..9ae9f29a 100644 --- a/src/main/java/com/minelittlepony/unicopia/network/datasync/SpellNetworkedReference.java +++ b/src/main/java/com/minelittlepony/unicopia/network/datasync/SpellNetworkedReference.java @@ -1,23 +1,17 @@ package com.minelittlepony.unicopia.network.datasync; -import java.util.Objects; import java.util.Optional; - import org.jetbrains.annotations.Nullable; import com.minelittlepony.unicopia.ability.magic.Caster; import com.minelittlepony.unicopia.ability.magic.spell.Spell; +import com.minelittlepony.unicopia.ability.magic.spell.SpellReference; import net.minecraft.nbt.NbtCompound; public class SpellNetworkedReference implements NetworkedReference { - private Optional currentValue = Optional.empty(); - - @Nullable - private NbtCompound lastValue; - + private final SpellReference currentValue = new SpellReference<>(); private final Caster owner; - private boolean dirty; public SpellNetworkedReference(Caster owner) { @@ -26,81 +20,29 @@ public class SpellNetworkedReference implements NetworkedRefere @Override public Optional getReference() { - return currentValue.filter(s -> !s.isDead()); - } - - private boolean mustDelete(@Nullable NbtCompound comp) { - return comp == null || !comp.contains("effect_id") || !comp.contains("uuid"); - } - - private boolean mustReplace(NbtCompound comp) { - return currentValue.isEmpty() || !currentValue.get().getUuid().equals(comp.getUuid("uuid")); - } - - private boolean mustUpdate(NbtCompound comp) { - if (owner.isClient() && !Objects.equals(lastValue, comp)) { - lastValue = comp; - return true; - } - return false; - } - - private boolean mustSend() { - return currentValue.filter(Spell::isDirty).isPresent(); + return Optional.ofNullable(currentValue.get()); } @Override public void updateReference(@Nullable T newValue) { - newValue = newValue == null || newValue.isDead() ? null : newValue; - - @Nullable - T oldValue = currentValue.orElse(null); - if (oldValue != newValue) { - dirty = true; - currentValue = Optional.ofNullable(newValue); - - if (oldValue != null && (newValue == null || !oldValue.getUuid().equals(newValue.getUuid()))) { - oldValue.destroy(owner); - } - } + dirty |= currentValue.set(newValue, owner); } @Override - @SuppressWarnings("unchecked") public boolean fromNbt(NbtCompound comp) { dirty = false; - - if (mustDelete(comp)) { - updateReference(null); - return false; - } - - if (mustReplace(comp)) { - updateReference((T)Spell.readNbt(comp)); - return false; - } - - if (mustUpdate(comp)) { - currentValue.ifPresent(s -> s.fromNBT(comp)); - return false; - } - - if (mustSend()) { - updateReference(getReference().orElse(null)); - return true; - } - - return false; + currentValue.fromNBT(comp); + return isDirty(); } @Override public NbtCompound toNbt() { dirty = false; - return getReference().map(Spell::writeNbt).orElseGet(NbtCompound::new); + return currentValue.toNBT(); } @Override public boolean isDirty() { - return dirty || mustSend(); + return !owner.isClient() && (dirty || currentValue.hasDirtySpell()); } } From 7b78cbc49c905ace8c8e806cca5ad77430f46d3b Mon Sep 17 00:00:00 2001 From: Sollace Date: Wed, 7 Feb 2024 12:54:23 +0000 Subject: [PATCH 41/52] Magic shields now use the pony's horn colour and change shape when extending --- .../ability/magic/spell/effect/ShieldSpell.java | 11 +++++++++-- .../unicopia/client/minelittlepony/Main.java | 6 ++++++ .../client/minelittlepony/MineLPDelegate.java | 4 ++++ .../client/render/spell/ShieldSpellRenderer.java | 14 +++++++++++--- 4 files changed, 30 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/ShieldSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/ShieldSpell.java index 22fd5b47..23ceb121 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/ShieldSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/effect/ShieldSpell.java @@ -11,11 +11,13 @@ import com.minelittlepony.unicopia.ability.magic.spell.Situation; import com.minelittlepony.unicopia.ability.magic.spell.Spell; import com.minelittlepony.unicopia.ability.magic.spell.trait.SpellTraits; import com.minelittlepony.unicopia.ability.magic.spell.trait.Trait; +import com.minelittlepony.unicopia.client.minelittlepony.MineLPDelegate; import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.particle.LightningBoltParticleEffect; import com.minelittlepony.unicopia.particle.MagicParticleEffect; import com.minelittlepony.unicopia.particle.ParticleUtils; import com.minelittlepony.unicopia.projectile.ProjectileUtil; +import com.minelittlepony.unicopia.util.ColorHelper; import com.minelittlepony.unicopia.util.Lerp; import com.minelittlepony.unicopia.util.shape.Sphere; @@ -67,13 +69,18 @@ public class ShieldSpell extends AbstractSpell { protected void generateParticles(Caster source) { Vec3d origin = getOrigin(source); - source.spawnParticles(origin, new Sphere(true, radius.getValue()), (int)(radius.getValue() * 6), pos -> { - source.addParticle(new MagicParticleEffect(getType().getColor()), pos, Vec3d.ZERO); + source.spawnParticles(origin, new Sphere(true, radius.getValue()), (int)(radius.getValue() * 2), pos -> { + int hornColor = MineLPDelegate.getInstance().getMagicColor(source.getOriginatingCaster().asEntity()); + source.addParticle(new MagicParticleEffect(ColorHelper.lerp(0.6F, getType().getColor(), hornColor)), pos, Vec3d.ZERO); if (source.asWorld().random.nextInt(10) == 0 && source.asWorld().random.nextFloat() < source.getCorruption().getScaled(1)) { ParticleUtils.spawnParticle(source.asWorld(), new LightningBoltParticleEffect(true, 3, 2, 0.1F, Optional.empty()), pos, Vec3d.ZERO); } }); + + if (source.asWorld().random.nextInt(20) == 0 || !rangeMultiplier.isFinished() || !radius.isFinished()) { + source.asEntity().playSound(USounds.SPELL_CAST_SUCCESS, 0.05F, 1.5F); + } } @Override diff --git a/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/Main.java b/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/Main.java index 4757d7a3..1f6537c3 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/Main.java +++ b/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/Main.java @@ -10,6 +10,7 @@ import com.minelittlepony.api.model.*; import com.minelittlepony.api.model.fabric.PonyModelPrepareCallback; import com.minelittlepony.api.model.gear.IGear; import com.minelittlepony.api.pony.IPony; +import com.minelittlepony.api.pony.IPonyData; import com.minelittlepony.unicopia.*; import com.minelittlepony.unicopia.client.render.PlayerPoser.Animation; import com.minelittlepony.unicopia.compat.trinkets.TrinketsDelegate; @@ -93,6 +94,11 @@ public class Main extends MineLPDelegate implements ClientModInitializer { } + @Override + public int getMagicColor(Entity entity) { + return IPony.getManager().getPony(entity).map(IPony::metadata).map(IPonyData::getGlowColor).orElse(0); + } + @Override public Race getPlayerPonyRace(PlayerEntity player) { return toUnicopiaRace(IPony.getManager().getPony(player).race()); diff --git a/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/MineLPDelegate.java b/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/MineLPDelegate.java index 24de4ba0..366ef579 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/MineLPDelegate.java +++ b/src/main/java/com/minelittlepony/unicopia/client/minelittlepony/MineLPDelegate.java @@ -31,4 +31,8 @@ public class MineLPDelegate { public Race getRace(Entity entity) { return Race.HUMAN; } + + public int getMagicColor(Entity entity) { + return 0; + } } diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/spell/ShieldSpellRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/spell/ShieldSpellRenderer.java index c3f2e7fb..aa96a28f 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/spell/ShieldSpellRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/spell/ShieldSpellRenderer.java @@ -4,6 +4,7 @@ import com.minelittlepony.common.util.Color; import com.minelittlepony.unicopia.ability.magic.Caster; import com.minelittlepony.unicopia.ability.magic.spell.effect.ShieldSpell; import com.minelittlepony.unicopia.client.gui.DrawableUtil; +import com.minelittlepony.unicopia.client.minelittlepony.MineLPDelegate; import com.minelittlepony.unicopia.client.render.RenderLayers; import com.minelittlepony.unicopia.client.render.model.SphereModel; import com.minelittlepony.unicopia.util.ColorHelper; @@ -26,8 +27,14 @@ public class ShieldSpellRenderer extends SpellRenderer { double height = caster.asEntity().getEyeY() - caster.getOriginVector().y; matrices.translate(0, height, 0); - int color = ColorHelper.lerp(caster.getCorruption().getScaled(1) * (tickDelta / (1 + caster.asWorld().random.nextFloat())), spell.getType().getColor(), 0xFF000); - float[] colors = ColorHelper.changeSaturation(Color.r(color), Color.g(color), Color.b(color), 4); + int typeColor = spell.getType().getColor(); + int ponyColor = MineLPDelegate.getInstance().getMagicColor(caster.getOriginatingCaster().asEntity()); + + int color = ColorHelper.lerp(caster.getCorruption().getScaled(1) * (tickDelta / (1 + caster.asWorld().random.nextFloat())), + ponyColor == 0 ? typeColor : ColorHelper.lerp(0.6F, ponyColor, typeColor), + 0xFF000 + ); + float[] colors = ColorHelper.changeSaturation(Color.r(color), Color.g(color), Color.b(color), 2); float radius = 0.35F + spell.getRadius(tickDelta) + MathHelper.sin(animationProgress / 30F) * 0.01F; VertexConsumer buffer = vertices.getBuffer(RenderLayers.getMagicShield()); @@ -35,7 +42,7 @@ public class ShieldSpellRenderer extends SpellRenderer { boolean firstPerson = caster.asEntity() == client.player && client.options.getPerspective() == Perspective.FIRST_PERSON; float thickness = 0.02F * MathHelper.sin(animationProgress / 30F); - float alpha = 1 - Math.abs(MathHelper.sin(animationProgress / 20F)) * 0.2F; + float alpha = 1 - Math.abs(MathHelper.sin(animationProgress / 20F)) * 0.1F; alpha *= MathHelper.clamp(radius - 1, 0, 1); if (firstPerson) { @@ -44,6 +51,7 @@ public class ShieldSpellRenderer extends SpellRenderer { model.render(matrices, buffer, light, 1, radius, colors[0], colors[1], colors[2], alpha * 0.2F); } else { matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(180)); + matrices.scale(1, radius == 0 ? 1 : 2.6F / radius, 1); SphereModel.SPHERE.render(matrices, buffer, light, 1, radius + thickness, colors[0], colors[1], colors[2], alpha * 0.08F); SphereModel.SPHERE.render(matrices, buffer, light, 1, radius - thickness, colors[0], colors[1], colors[2], alpha * 0.05F); SphereModel.SPHERE.render(matrices, buffer, light, 1, radius + thickness * 2, colors[0], colors[1], colors[2], alpha * 0.05F); From b467aae7b288ec822ab95539bf7cf4e578e898cd Mon Sep 17 00:00:00 2001 From: Sollace Date: Wed, 7 Feb 2024 13:02:20 +0000 Subject: [PATCH 42/52] Fixed bulb attacking players in creative and spectator mode --- .../entity/mob/IgnominiousBulbEntity.java | 9 +++++-- .../unicopia/entity/mob/TentacleEntity.java | 26 +++++++++++-------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/entity/mob/IgnominiousBulbEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/mob/IgnominiousBulbEntity.java index 224a2b0f..82e99bf7 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/mob/IgnominiousBulbEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/mob/IgnominiousBulbEntity.java @@ -181,6 +181,10 @@ public class IgnominiousBulbEntity extends MobEntity { } } LivingEntity target = getAttacker(); + if (!canTarget(target)) { + target = null; + setAttacker(null); + } if (angryTicks > 0) { angryTicks--; @@ -194,13 +198,14 @@ public class IgnominiousBulbEntity extends MobEntity { Pony.of(player).getMagicalReserves().getEnergy().add(6); } + final LivingEntity t = target; tentacles.values() .stream() .flatMap(tentacle -> tentacle.getOrEmpty(getWorld()).stream()) - .sorted(Comparator.comparing(a -> a.distanceTo(target))) + .sorted(Comparator.comparing(a -> a.distanceTo(t))) .limit(2) .forEach(tentacle -> { - tentacle.setTarget(target); + tentacle.setTarget(t); }); } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java index 9e056950..0273b4fb 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java @@ -171,17 +171,21 @@ public class TentacleEntity extends AbstractDecorationEntity { if (isAttacking()) { if (--attackingTicks == 12) { if (target != null) { - target.damage(getDamageSources().create(DamageTypes.MOB_ATTACK, this), 15); - Vec3d diff = target.getPos().subtract(getPos()); - target.takeKnockback(1, diff.x, diff.z); + if (!canTarget(target)) { + target = null; + } else { + target.damage(getDamageSources().create(DamageTypes.MOB_ATTACK, this), 15); + Vec3d diff = target.getPos().subtract(getPos()); + target.takeKnockback(1, diff.x, diff.z); - ParticleUtils.spawnParticles(ParticleTypes.CLOUD, target, 10); + ParticleUtils.spawnParticles(ParticleTypes.CLOUD, target, 10); - for (Entity bystander : getWorld().getOtherEntities(target, target.getBoundingBox().expand(3))) { - if (bystander instanceof LivingEntity l) { - diff = l.getPos().subtract(getPos()); - l.takeKnockback(1, diff.x, diff.z); - ParticleUtils.spawnParticles(ParticleTypes.CLOUD, target, 10); + for (Entity bystander : getWorld().getOtherEntities(target, target.getBoundingBox().expand(3))) { + if (bystander instanceof LivingEntity l) { + diff = l.getPos().subtract(getPos()); + l.takeKnockback(1, diff.x, diff.z); + ParticleUtils.spawnParticles(ParticleTypes.CLOUD, target, 10); + } } } @@ -258,9 +262,9 @@ public class TentacleEntity extends AbstractDecorationEntity { protected boolean canTarget(LivingEntity target) { return target != null - && !target.isRemoved() + && target.isPartOfGame() + && target.canTakeDamage() && !target.isSneaky() - && !(target instanceof PlayerEntity player && (player.isCreative() || player.isSpectator())) && canSee(target); } From 660973371d78910bfcf1414e83977199c917f1b2 Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 8 Feb 2024 14:22:52 +0000 Subject: [PATCH 43/52] Fixed stripped zap logs and wood not dropping --- .../unicopia/compat/emi/Main.java | 7 +++---- .../unicopia/item/TransformCropsRecipe.java | 10 +++++++++- .../loot_tables/blocks/stripped_zap_log.json | 20 +++++++++++++++++++ .../loot_tables/blocks/stripped_zap_wood.json | 20 +++++++++++++++++++ 4 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/stripped_zap_log.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/stripped_zap_wood.json diff --git a/src/main/java/com/minelittlepony/unicopia/compat/emi/Main.java b/src/main/java/com/minelittlepony/unicopia/compat/emi/Main.java index d4e5c9ed..9523cce2 100644 --- a/src/main/java/com/minelittlepony/unicopia/compat/emi/Main.java +++ b/src/main/java/com/minelittlepony/unicopia/compat/emi/Main.java @@ -27,7 +27,6 @@ import dev.emi.emi.api.render.EmiTexture; import dev.emi.emi.api.stack.Comparison; import dev.emi.emi.api.stack.EmiStack; import dev.emi.emi.recipe.EmiStonecuttingRecipe; -import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; @@ -121,11 +120,11 @@ public class Main implements EmiPlugin { GROWING_CATEGORY, recipe.getId(), new Schematic.Builder() - .fill(0, 0, 0, 6, 0, 6, Block.getBlockFromItem(recipe.getCatalyst().getItem()).getDefaultState()) + .fill(0, 0, 0, 6, 0, 6, recipe.getCatalystState()) .set(3, 0, 3, Blocks.FARMLAND.getDefaultState()) - .set(3, 1, 3, Block.getBlockFromItem(recipe.getTargetAsItem().getItem()).getDefaultState()) + .set(3, 1, 3, recipe.getTargetState()) .build(), - List.of(EmiStack.of(recipe.getTargetAsItem()), EmiStack.of(recipe.getCatalyst(), TransformCropsRecipe.AREA)), + List.of(EmiStack.of(recipe.getTarget()), EmiStack.of(recipe.getCatalyst(), TransformCropsRecipe.AREA)), EmiStack.of(recipe.getOutput()), Unicopia.id("textures/gui/ability/grow.png") )); diff --git a/src/main/java/com/minelittlepony/unicopia/item/TransformCropsRecipe.java b/src/main/java/com/minelittlepony/unicopia/item/TransformCropsRecipe.java index 284665ce..edc9924a 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/TransformCropsRecipe.java +++ b/src/main/java/com/minelittlepony/unicopia/item/TransformCropsRecipe.java @@ -48,7 +48,15 @@ public class TransformCropsRecipe implements Recipe Date: Thu, 8 Feb 2024 14:23:26 +0000 Subject: [PATCH 44/52] Add spectral_clock, curing_joke, and flowering_zap_leaves to the creative tabs for respective tribes --- .../resources/data/unicopia/tags/items/groups/earth_pony.json | 2 ++ .../resources/data/unicopia/tags/items/groups/unicorn.json | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/resources/data/unicopia/tags/items/groups/earth_pony.json b/src/main/resources/data/unicopia/tags/items/groups/earth_pony.json index 54ec96ce..db1c0f0b 100644 --- a/src/main/resources/data/unicopia/tags/items/groups/earth_pony.json +++ b/src/main/resources/data/unicopia/tags/items/groups/earth_pony.json @@ -5,6 +5,7 @@ "unicopia:sweet_apple_leaves", "unicopia:sour_apple_leaves", "unicopia:zap_leaves", + "unicopia:flowering_zap_leaves", "unicopia:zap_log", "unicopia:zap_wood", "unicopia:stripped_zap_log", @@ -27,6 +28,7 @@ "unicopia:sour_apple_sapling", "unicopia:zapling", "unicopia:palm_sapling", + "unicopia:curing_joke", "unicopia:mango", "unicopia:empty_jar", "unicopia:cooked_zap_apple", diff --git a/src/main/resources/data/unicopia/tags/items/groups/unicorn.json b/src/main/resources/data/unicopia/tags/items/groups/unicorn.json index 79b0cb95..09736942 100644 --- a/src/main/resources/data/unicopia/tags/items/groups/unicorn.json +++ b/src/main/resources/data/unicopia/tags/items/groups/unicorn.json @@ -15,6 +15,7 @@ "unicopia:pegasus_amulet", "unicopia:alicorn_amulet", "unicopia:broken_alicorn_amulet", - "unicopia:unicorn_amulet" + "unicopia:unicorn_amulet", + "unicopia:spectral_clock" ] } From 6fd124ed81c28a34e444e0b75887df9000fae7b6 Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 8 Feb 2024 14:25:40 +0000 Subject: [PATCH 45/52] Fixed zap blocks destroying item drops --- src/main/java/com/minelittlepony/unicopia/block/ZapBlock.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/minelittlepony/unicopia/block/ZapBlock.java b/src/main/java/com/minelittlepony/unicopia/block/ZapBlock.java index c38f0b7a..dcc0e5f7 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/ZapBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/ZapBlock.java @@ -5,6 +5,7 @@ import com.minelittlepony.unicopia.particle.LightningBoltParticleEffect; import com.minelittlepony.unicopia.particle.ParticleUtils; import net.minecraft.block.*; import net.minecraft.entity.EntityType; +import net.minecraft.entity.ItemEntity; import net.minecraft.entity.LightningEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemPlacementContext; @@ -66,6 +67,9 @@ public class ZapBlock extends Block { Vec3d center = Vec3d.ofCenter(pos); LightningEntity lightning = EntityType.LIGHTNING_BOLT.create(world); world.getOtherEntities(null, Box.from(center).expand(7)).forEach(other -> { + if (other instanceof ItemEntity) { + return; + } float dist = (float)other.getPos().distanceTo(center); if (dist < 4) { other.onStruckByLightning(serverWorld, lightning); From 2d7eca4d5b62ddb98e3fa091c014c1b8561f6d73 Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 8 Feb 2024 14:38:59 +0000 Subject: [PATCH 46/52] Zap leaves now drop zaplings --- .../blocks/flowering_zap_leaves.json | 19 +++++++++++++++++++ .../loot_tables/blocks/zap_leaves.json | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/flowering_zap_leaves.json b/src/main/resources/data/unicopia/loot_tables/blocks/flowering_zap_leaves.json index 6e55a32c..2676a033 100644 --- a/src/main/resources/data/unicopia/loot_tables/blocks/flowering_zap_leaves.json +++ b/src/main/resources/data/unicopia/loot_tables/blocks/flowering_zap_leaves.json @@ -38,6 +38,25 @@ } ], "name": "unicopia:flowering_zap_leaves" + }, + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + }, + { + "chances": [ + 0.05, + 0.0625, + 0.083333336, + 0.1 + ], + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune" + } + ], + "name": "unicopia:zapling" } ] } diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/zap_leaves.json b/src/main/resources/data/unicopia/loot_tables/blocks/zap_leaves.json index 48082b36..e511233e 100644 --- a/src/main/resources/data/unicopia/loot_tables/blocks/zap_leaves.json +++ b/src/main/resources/data/unicopia/loot_tables/blocks/zap_leaves.json @@ -38,6 +38,25 @@ } ], "name": "unicopia:zap_leaves" + }, + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + }, + { + "chances": [ + 0.05, + 0.0625, + 0.083333336, + 0.1 + ], + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune" + } + ], + "name": "unicopia:zapling" } ] } From 4aa088ec1b6f99e3cc4a769b85f9d4e14400861c Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 8 Feb 2024 14:53:05 +0000 Subject: [PATCH 47/52] Fix invalid traits --- src/main/resources/data/unicopia/traits/food.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/data/unicopia/traits/food.json b/src/main/resources/data/unicopia/traits/food.json index 0b8e0830..cab40188 100644 --- a/src/main/resources/data/unicopia/traits/food.json +++ b/src/main/resources/data/unicopia/traits/food.json @@ -18,10 +18,10 @@ "unicopia:pineapple_crown": "life:6", "unicopia:banana": "life:5 generosity:3", "unicopia:mango": "earth:2 life:1", - "unicopia:pineapple": "life4 generosity:10", + "unicopia:pineapple": "life:4 generosity:10", "unicopia:pinecone": "life:1 happiness:-1", "#unicopia:oats": "life:1 happiness:1", - "unicopia:apple_pie_slice": "life4 generosity:10", + "unicopia:apple_pie_slice": "life:4 generosity:10", "unicopia:oatmeal": "happiness:4", "unicopia:imported_oats": "life:1 happiness:2", "#unicopia:food_types/candy": "earth:7 strength:3", From a0d6c410884d6cdf5152fe18b650e657c8762879 Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 8 Feb 2024 14:59:04 +0000 Subject: [PATCH 48/52] Fixed zap apple logs not placing correctly --- .../com/minelittlepony/unicopia/block/ZapAppleLogBlock.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLogBlock.java b/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLogBlock.java index 64aa32c4..9605412b 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLogBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLogBlock.java @@ -38,7 +38,7 @@ public class ZapAppleLogBlock extends PillarBlock { @Override public BlockState getPlacementState(ItemPlacementContext ctx) { - return getDefaultState().with(NATURAL, false); + return super.getPlacementState(ctx).with(NATURAL, false); } @Deprecated From 17cd097d88e08189dc4fdff97daf875a82615d40 Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 8 Feb 2024 15:06:51 +0000 Subject: [PATCH 49/52] Move recipes --- .../recipes/blocks/chiselled_chitin.json | 4 ++-- .../recipes/blocks/chiselled_chitin_hull.json | 4 ++-- .../recipes/blocks/chiselled_chitin_slab.json | 4 ++-- .../blocks/chiselled_chitin_stairs.json | 4 ++-- .../recipes/blocks/chitin_spikes.json | 4 ++-- .../recipes/blocks/cloud_brick_slab.json | 4 ++-- .../recipes/blocks/cloud_brick_stairs.json | 4 ++-- .../recipes/blocks/cloud_pillar.json | 4 ++-- .../recipes/blocks/cloud_plank_slab.json | 4 ++-- .../recipes/blocks/cloud_plank_stairs.json | 4 ++-- .../recipes/blocks/cloud_planks.json | 4 ++-- .../recipes/blocks/cloud_slab.json | 4 ++-- .../recipes/blocks/cloud_stairs.json | 4 ++-- .../recipes/blocks/dense_cloud.json | 4 ++-- .../recipes/blocks/dense_cloud_slab.json | 4 ++-- .../recipes/blocks/dense_cloud_stairs.json | 4 ++-- .../unicopia/recipes/blocks/cloud_bed.json | 16 -------------- .../carving/carved_cloud_cutting.json | 0 .../carving/cloud_brick_slab_cutting.json | 0 .../carving/cloud_brick_stairs_cutting.json | 0 .../carving/cloud_bricks_cutting.json | 0 .../carving/cloud_pillar_cutting.json | 0 .../carving/cloud_plank_slab_cutting.json | 0 .../carving/cloud_plank_stairs_cutting.json | 0 .../carving/cloud_planks_cutting.json | 0 .../carving/cloud_slab_cutting.json | 0 .../carving/cloud_stairs_cutting.json | 0 .../carving/dense_cloud_slab_cutting.json | 0 .../carving/dense_cloud_stairs_cutting.json | 0 .../carving/etched_cloud_cutting.json | 0 .../carving/etched_cloud_slab_cutting.json | 0 .../carving/etched_cloud_stairs_cutting.json | 0 .../{blocks => }/chiselled_chitin.json | 0 .../{blocks => }/chiselled_chitin_hull.json | 0 .../{blocks => }/chiselled_chitin_slab.json | 0 .../{blocks => }/chiselled_chitin_stairs.json | 0 .../unicopia/recipes/{blocks => }/chitin.json | 0 .../recipes/{blocks => }/chitin_spikes.json | 0 .../data/unicopia/recipes/cloud_bed.json | 22 ++++++++----------- .../recipes/{blocks => }/cloud_block.json | 0 .../{blocks => }/cloud_brick_slab.json | 0 .../{blocks => }/cloud_brick_stairs.json | 0 .../recipes/{blocks => }/cloud_chest.json | 0 .../recipes/{blocks => }/cloud_door.json | 0 .../recipes/{blocks => }/cloud_pillar.json | 0 .../{blocks => }/cloud_plank_slab.json | 0 .../{blocks => }/cloud_plank_stairs.json | 0 .../recipes/{blocks => }/cloud_planks.json | 0 .../recipes/{blocks => }/cloud_slab.json | 0 .../recipes/{blocks => }/cloud_stairs.json | 0 .../recipes/{blocks => }/dense_cloud.json | 0 .../{blocks => }/dense_cloud_slab.json | 0 .../{blocks => }/dense_cloud_stairs.json | 0 .../recipes/{blocks => }/shaping_bench.json | 0 .../recipes/{blocks => }/unstable_cloud.json | 0 55 files changed, 41 insertions(+), 61 deletions(-) delete mode 100644 src/main/resources/data/unicopia/recipes/blocks/cloud_bed.json rename src/main/resources/data/unicopia/recipes/{blocks => }/carving/carved_cloud_cutting.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/carving/cloud_brick_slab_cutting.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/carving/cloud_brick_stairs_cutting.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/carving/cloud_bricks_cutting.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/carving/cloud_pillar_cutting.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/carving/cloud_plank_slab_cutting.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/carving/cloud_plank_stairs_cutting.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/carving/cloud_planks_cutting.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/carving/cloud_slab_cutting.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/carving/cloud_stairs_cutting.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/carving/dense_cloud_slab_cutting.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/carving/dense_cloud_stairs_cutting.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/carving/etched_cloud_cutting.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/carving/etched_cloud_slab_cutting.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/carving/etched_cloud_stairs_cutting.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/chiselled_chitin.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/chiselled_chitin_hull.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/chiselled_chitin_slab.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/chiselled_chitin_stairs.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/chitin.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/chitin_spikes.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/cloud_block.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/cloud_brick_slab.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/cloud_brick_stairs.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/cloud_chest.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/cloud_door.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/cloud_pillar.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/cloud_plank_slab.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/cloud_plank_stairs.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/cloud_planks.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/cloud_slab.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/cloud_stairs.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/dense_cloud.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/dense_cloud_slab.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/dense_cloud_stairs.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/shaping_bench.json (100%) rename src/main/resources/data/unicopia/recipes/{blocks => }/unstable_cloud.json (100%) diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin.json index 1610add8..fba2676d 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/chiselled_chitin" + "unicopia:chiselled_chitin" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/chiselled_chitin" + "recipe": "unicopia:chiselled_chitin" } } }, diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_hull.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_hull.json index b6b439a9..ed8d7a6e 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_hull.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_hull.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/chiselled_chitin_hull" + "unicopia:chiselled_chitin_hull" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/chiselled_chitin_hull" + "recipe": "unicopia:chiselled_chitin_hull" } } }, diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_slab.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_slab.json index ba30147f..f1e2b4e7 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_slab.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_slab.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/chiselled_chitin_slab" + "unicopia:chiselled_chitin_slab" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/chiselled_chitin_slab" + "recipe": "unicopia:chiselled_chitin_slab" } } }, diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_stairs.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_stairs.json index 3e46f0ff..9a08e521 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_stairs.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_stairs.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/chiselled_chitin_stairs" + "unicopia:chiselled_chitin_stairs" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/chiselled_chitin_stairs" + "recipe": "unicopia:chiselled_chitin_stairs" } } }, diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/chitin_spikes.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/chitin_spikes.json index 449289ef..6379d4a9 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/chitin_spikes.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/chitin_spikes.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/chitin_spikes" + "unicopia:chitin_spikes" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/chitin_spikes" + "recipe": "unicopia:chitin_spikes" } } }, diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_brick_slab.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_brick_slab.json index 88c40580..75101d52 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_brick_slab.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_brick_slab.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/cloud_brick_slab" + "unicopia:cloud_brick_slab" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/cloud_brick_slab" + "recipe": "unicopia:cloud_brick_slab" } } }, diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_brick_stairs.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_brick_stairs.json index 25aed1f6..d7ca8f88 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_brick_stairs.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_brick_stairs.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/cloud_brick_stairs" + "unicopia:cloud_brick_stairs" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/cloud_brick_stairs" + "recipe": "unicopia:cloud_brick_stairs" } } }, diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_pillar.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_pillar.json index 8c3e6c27..b5248c89 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_pillar.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_pillar.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/cloud_pillar" + "unicopia:cloud_pillar" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/cloud_pillar" + "recipe": "unicopia:cloud_pillar" } } }, diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_plank_slab.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_plank_slab.json index 5714d8f1..19e93f24 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_plank_slab.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_plank_slab.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/cloud_plank_slab" + "unicopia:cloud_plank_slab" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/cloud_plank_slab" + "recipe": "unicopia:cloud_plank_slab" } } }, diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_plank_stairs.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_plank_stairs.json index 752478bc..0d7a9c07 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_plank_stairs.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_plank_stairs.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/cloud_plank_stairs" + "unicopia:cloud_plank_stairs" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/cloud_plank_stairs" + "recipe": "unicopia:cloud_plank_stairs" } } }, diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_planks.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_planks.json index 23419407..20658432 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_planks.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_planks.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/cloud_planks" + "unicopia:cloud_planks" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/cloud_planks" + "recipe": "unicopia:cloud_planks" } } }, diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_slab.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_slab.json index 33614bd3..762518c1 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_slab.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_slab.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/cloud_slab" + "unicopia:cloud_slab" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/cloud_slab" + "recipe": "unicopia:cloud_slab" } } }, diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_stairs.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_stairs.json index 66b99dab..d484ad65 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_stairs.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_stairs.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/cloud_stairs" + "unicopia:cloud_stairs" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/cloud_stairs" + "recipe": "unicopia:cloud_stairs" } } }, diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud.json index ec70a5ce..51f03735 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/dense_cloud" + "unicopia:dense_cloud" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/dense_cloud" + "recipe": "unicopia:dense_cloud" } } }, diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_slab.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_slab.json index 5b461912..1ca251e5 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_slab.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_slab.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/dense_cloud_slab" + "unicopia:dense_cloud_slab" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/dense_cloud_slab" + "recipe": "unicopia:dense_cloud_slab" } } }, diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_stairs.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_stairs.json index 0551f0e0..aba8906a 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_stairs.json +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_stairs.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "unicopia:blocks/dense_cloud_stairs" + "unicopia:dense_cloud_stairs" ] }, "criteria": { @@ -17,7 +17,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "unicopia:blocks/dense_cloud_stairs" + "recipe": "unicopia:dense_cloud_stairs" } } }, diff --git a/src/main/resources/data/unicopia/recipes/blocks/cloud_bed.json b/src/main/resources/data/unicopia/recipes/blocks/cloud_bed.json deleted file mode 100644 index b1de9a60..00000000 --- a/src/main/resources/data/unicopia/recipes/blocks/cloud_bed.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "$$$", - "###" - ], - "key": { - "$": [ - { "item": "unicopia:dense_cloud" } - ], - "#": [ - { "item": "unicopia:cloud_planks" } - ] - }, - "result": { "item": "unicopia:cloud_bed", "count": 1 } -} diff --git a/src/main/resources/data/unicopia/recipes/blocks/carving/carved_cloud_cutting.json b/src/main/resources/data/unicopia/recipes/carving/carved_cloud_cutting.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/carving/carved_cloud_cutting.json rename to src/main/resources/data/unicopia/recipes/carving/carved_cloud_cutting.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/carving/cloud_brick_slab_cutting.json b/src/main/resources/data/unicopia/recipes/carving/cloud_brick_slab_cutting.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/carving/cloud_brick_slab_cutting.json rename to src/main/resources/data/unicopia/recipes/carving/cloud_brick_slab_cutting.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/carving/cloud_brick_stairs_cutting.json b/src/main/resources/data/unicopia/recipes/carving/cloud_brick_stairs_cutting.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/carving/cloud_brick_stairs_cutting.json rename to src/main/resources/data/unicopia/recipes/carving/cloud_brick_stairs_cutting.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/carving/cloud_bricks_cutting.json b/src/main/resources/data/unicopia/recipes/carving/cloud_bricks_cutting.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/carving/cloud_bricks_cutting.json rename to src/main/resources/data/unicopia/recipes/carving/cloud_bricks_cutting.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/carving/cloud_pillar_cutting.json b/src/main/resources/data/unicopia/recipes/carving/cloud_pillar_cutting.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/carving/cloud_pillar_cutting.json rename to src/main/resources/data/unicopia/recipes/carving/cloud_pillar_cutting.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/carving/cloud_plank_slab_cutting.json b/src/main/resources/data/unicopia/recipes/carving/cloud_plank_slab_cutting.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/carving/cloud_plank_slab_cutting.json rename to src/main/resources/data/unicopia/recipes/carving/cloud_plank_slab_cutting.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/carving/cloud_plank_stairs_cutting.json b/src/main/resources/data/unicopia/recipes/carving/cloud_plank_stairs_cutting.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/carving/cloud_plank_stairs_cutting.json rename to src/main/resources/data/unicopia/recipes/carving/cloud_plank_stairs_cutting.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/carving/cloud_planks_cutting.json b/src/main/resources/data/unicopia/recipes/carving/cloud_planks_cutting.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/carving/cloud_planks_cutting.json rename to src/main/resources/data/unicopia/recipes/carving/cloud_planks_cutting.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/carving/cloud_slab_cutting.json b/src/main/resources/data/unicopia/recipes/carving/cloud_slab_cutting.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/carving/cloud_slab_cutting.json rename to src/main/resources/data/unicopia/recipes/carving/cloud_slab_cutting.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/carving/cloud_stairs_cutting.json b/src/main/resources/data/unicopia/recipes/carving/cloud_stairs_cutting.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/carving/cloud_stairs_cutting.json rename to src/main/resources/data/unicopia/recipes/carving/cloud_stairs_cutting.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/carving/dense_cloud_slab_cutting.json b/src/main/resources/data/unicopia/recipes/carving/dense_cloud_slab_cutting.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/carving/dense_cloud_slab_cutting.json rename to src/main/resources/data/unicopia/recipes/carving/dense_cloud_slab_cutting.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/carving/dense_cloud_stairs_cutting.json b/src/main/resources/data/unicopia/recipes/carving/dense_cloud_stairs_cutting.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/carving/dense_cloud_stairs_cutting.json rename to src/main/resources/data/unicopia/recipes/carving/dense_cloud_stairs_cutting.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/carving/etched_cloud_cutting.json b/src/main/resources/data/unicopia/recipes/carving/etched_cloud_cutting.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/carving/etched_cloud_cutting.json rename to src/main/resources/data/unicopia/recipes/carving/etched_cloud_cutting.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/carving/etched_cloud_slab_cutting.json b/src/main/resources/data/unicopia/recipes/carving/etched_cloud_slab_cutting.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/carving/etched_cloud_slab_cutting.json rename to src/main/resources/data/unicopia/recipes/carving/etched_cloud_slab_cutting.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/carving/etched_cloud_stairs_cutting.json b/src/main/resources/data/unicopia/recipes/carving/etched_cloud_stairs_cutting.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/carving/etched_cloud_stairs_cutting.json rename to src/main/resources/data/unicopia/recipes/carving/etched_cloud_stairs_cutting.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin.json b/src/main/resources/data/unicopia/recipes/chiselled_chitin.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin.json rename to src/main/resources/data/unicopia/recipes/chiselled_chitin.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin_hull.json b/src/main/resources/data/unicopia/recipes/chiselled_chitin_hull.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin_hull.json rename to src/main/resources/data/unicopia/recipes/chiselled_chitin_hull.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin_slab.json b/src/main/resources/data/unicopia/recipes/chiselled_chitin_slab.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin_slab.json rename to src/main/resources/data/unicopia/recipes/chiselled_chitin_slab.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin_stairs.json b/src/main/resources/data/unicopia/recipes/chiselled_chitin_stairs.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin_stairs.json rename to src/main/resources/data/unicopia/recipes/chiselled_chitin_stairs.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/chitin.json b/src/main/resources/data/unicopia/recipes/chitin.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/chitin.json rename to src/main/resources/data/unicopia/recipes/chitin.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/chitin_spikes.json b/src/main/resources/data/unicopia/recipes/chitin_spikes.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/chitin_spikes.json rename to src/main/resources/data/unicopia/recipes/chitin_spikes.json diff --git a/src/main/resources/data/unicopia/recipes/cloud_bed.json b/src/main/resources/data/unicopia/recipes/cloud_bed.json index 93b131a8..b1de9a60 100644 --- a/src/main/resources/data/unicopia/recipes/cloud_bed.json +++ b/src/main/resources/data/unicopia/recipes/cloud_bed.json @@ -1,20 +1,16 @@ { "type": "minecraft:crafting_shaped", - "group": "bed", "pattern": [ - "^^^", + "$$$", "###" ], "key": { - "^": { - "item": "unicopia:cloud" - }, - "#": { - "item": "unicopia:cloud_planks" - } + "$": [ + { "item": "unicopia:dense_cloud" } + ], + "#": [ + { "item": "unicopia:cloud_planks" } + ] }, - "result": { - "count": 1, - "item": "unicopia:cloud_bed" - } -} \ No newline at end of file + "result": { "item": "unicopia:cloud_bed", "count": 1 } +} diff --git a/src/main/resources/data/unicopia/recipes/blocks/cloud_block.json b/src/main/resources/data/unicopia/recipes/cloud_block.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/cloud_block.json rename to src/main/resources/data/unicopia/recipes/cloud_block.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/cloud_brick_slab.json b/src/main/resources/data/unicopia/recipes/cloud_brick_slab.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/cloud_brick_slab.json rename to src/main/resources/data/unicopia/recipes/cloud_brick_slab.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/cloud_brick_stairs.json b/src/main/resources/data/unicopia/recipes/cloud_brick_stairs.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/cloud_brick_stairs.json rename to src/main/resources/data/unicopia/recipes/cloud_brick_stairs.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/cloud_chest.json b/src/main/resources/data/unicopia/recipes/cloud_chest.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/cloud_chest.json rename to src/main/resources/data/unicopia/recipes/cloud_chest.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/cloud_door.json b/src/main/resources/data/unicopia/recipes/cloud_door.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/cloud_door.json rename to src/main/resources/data/unicopia/recipes/cloud_door.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/cloud_pillar.json b/src/main/resources/data/unicopia/recipes/cloud_pillar.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/cloud_pillar.json rename to src/main/resources/data/unicopia/recipes/cloud_pillar.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/cloud_plank_slab.json b/src/main/resources/data/unicopia/recipes/cloud_plank_slab.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/cloud_plank_slab.json rename to src/main/resources/data/unicopia/recipes/cloud_plank_slab.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/cloud_plank_stairs.json b/src/main/resources/data/unicopia/recipes/cloud_plank_stairs.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/cloud_plank_stairs.json rename to src/main/resources/data/unicopia/recipes/cloud_plank_stairs.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/cloud_planks.json b/src/main/resources/data/unicopia/recipes/cloud_planks.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/cloud_planks.json rename to src/main/resources/data/unicopia/recipes/cloud_planks.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/cloud_slab.json b/src/main/resources/data/unicopia/recipes/cloud_slab.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/cloud_slab.json rename to src/main/resources/data/unicopia/recipes/cloud_slab.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/cloud_stairs.json b/src/main/resources/data/unicopia/recipes/cloud_stairs.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/cloud_stairs.json rename to src/main/resources/data/unicopia/recipes/cloud_stairs.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/dense_cloud.json b/src/main/resources/data/unicopia/recipes/dense_cloud.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/dense_cloud.json rename to src/main/resources/data/unicopia/recipes/dense_cloud.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/dense_cloud_slab.json b/src/main/resources/data/unicopia/recipes/dense_cloud_slab.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/dense_cloud_slab.json rename to src/main/resources/data/unicopia/recipes/dense_cloud_slab.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/dense_cloud_stairs.json b/src/main/resources/data/unicopia/recipes/dense_cloud_stairs.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/dense_cloud_stairs.json rename to src/main/resources/data/unicopia/recipes/dense_cloud_stairs.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/shaping_bench.json b/src/main/resources/data/unicopia/recipes/shaping_bench.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/shaping_bench.json rename to src/main/resources/data/unicopia/recipes/shaping_bench.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/unstable_cloud.json b/src/main/resources/data/unicopia/recipes/unstable_cloud.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/blocks/unstable_cloud.json rename to src/main/resources/data/unicopia/recipes/unstable_cloud.json From c4ab7e1bdf9310d823bd23fd8555ef4b733c1446 Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 8 Feb 2024 15:19:41 +0000 Subject: [PATCH 50/52] Zap logs can now be waxed to keep them from zapping you when you mine them --- .../minelittlepony/unicopia/block/UBlocks.java | 11 +++++++++++ .../blockstates/waxed_stripped_zap_log.json | 16 ++++++++++++++++ .../blockstates/waxed_stripped_zap_wood.json | 7 +++++++ .../unicopia/blockstates/waxed_zap_log.json | 16 ++++++++++++++++ .../unicopia/blockstates/waxed_zap_wood.json | 7 +++++++ .../resources/assets/unicopia/lang/en_us.json | 4 ++++ .../models/item/waxed_stripped_zap_log.json | 3 +++ .../models/item/waxed_stripped_zap_wood.json | 3 +++ .../unicopia/models/item/waxed_zap_log.json | 3 +++ .../unicopia/models/item/waxed_zap_wood.json | 3 +++ .../data/minecraft/tags/blocks/logs.json | 6 +++++- .../minecraft/tags/blocks/logs_that_burn.json | 6 +++++- .../data/minecraft/tags/items/logs.json | 6 +++++- .../minecraft/tags/items/logs_that_burn.json | 6 +++++- .../unicopia/recipes/waxed_stripped_zap_log.json | 8 ++++++++ .../recipes/waxed_stripped_zap_wood.json | 8 ++++++++ .../data/unicopia/recipes/waxed_zap_log.json | 8 ++++++++ .../data/unicopia/recipes/waxed_zap_wood.json | 8 ++++++++ .../unicopia/tags/items/groups/earth_pony.json | 4 ++++ 19 files changed, 129 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/assets/unicopia/blockstates/waxed_stripped_zap_log.json create mode 100644 src/main/resources/assets/unicopia/blockstates/waxed_stripped_zap_wood.json create mode 100644 src/main/resources/assets/unicopia/blockstates/waxed_zap_log.json create mode 100644 src/main/resources/assets/unicopia/blockstates/waxed_zap_wood.json create mode 100644 src/main/resources/assets/unicopia/models/item/waxed_stripped_zap_log.json create mode 100644 src/main/resources/assets/unicopia/models/item/waxed_stripped_zap_wood.json create mode 100644 src/main/resources/assets/unicopia/models/item/waxed_zap_log.json create mode 100644 src/main/resources/assets/unicopia/models/item/waxed_zap_wood.json create mode 100644 src/main/resources/data/unicopia/recipes/waxed_stripped_zap_log.json create mode 100644 src/main/resources/data/unicopia/recipes/waxed_stripped_zap_wood.json create mode 100644 src/main/resources/data/unicopia/recipes/waxed_zap_log.json create mode 100644 src/main/resources/data/unicopia/recipes/waxed_zap_wood.json diff --git a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java index 7611e7b1..59f50cb0 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java +++ b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java @@ -28,6 +28,7 @@ import com.minelittlepony.unicopia.item.group.ItemGroupRegistry; import com.minelittlepony.unicopia.server.world.UTreeGen; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.fabric.api.registry.FlammableBlockRegistry; +import net.fabricmc.fabric.api.registry.OxidizableBlocksRegistry; import net.fabricmc.fabric.api.registry.StrippableBlockRegistry; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.block.*; @@ -65,6 +66,12 @@ public interface UBlocks { Block STRIPPED_ZAP_LOG = register("stripped_zap_log", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_LOG, MapColor.LIGHT_GRAY, MapColor.GRAY), ItemGroups.BUILDING_BLOCKS); Block STRIPPED_ZAP_WOOD = register("stripped_zap_wood", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_WOOD, MapColor.GRAY, MapColor.GRAY), ItemGroups.BUILDING_BLOCKS); + Block WAXED_ZAP_LOG = register("waxed_zap_log", BlockConstructionUtils.createLogBlock(MapColor.GRAY, MapColor.DEEPSLATE_GRAY), ItemGroups.BUILDING_BLOCKS); + Block WAXED_ZAP_WOOD = register("waxed_zap_wood", BlockConstructionUtils.createLogBlock(MapColor.DEEPSLATE_GRAY, MapColor.DEEPSLATE_GRAY), ItemGroups.BUILDING_BLOCKS); + + Block WAXED_STRIPPED_ZAP_LOG = register("waxed_stripped_zap_log", BlockConstructionUtils.createLogBlock(MapColor.LIGHT_GRAY, MapColor.GRAY), ItemGroups.BUILDING_BLOCKS); + Block WAXED_STRIPPED_ZAP_WOOD = register("waxed_stripped_zap_wood", BlockConstructionUtils.createLogBlock(MapColor.GRAY, MapColor.GRAY), ItemGroups.BUILDING_BLOCKS); + Block ZAP_LEAVES = register("zap_leaves", new ZapAppleLeavesBlock(), ItemGroups.NATURAL); Block FLOWERING_ZAP_LEAVES = register("flowering_zap_leaves", new BaseZapAppleLeavesBlock(), ItemGroups.NATURAL); Block ZAP_LEAVES_PLACEHOLDER = register("zap_leaves_placeholder", new ZapAppleLeavesPlaceholderBlock()); @@ -268,6 +275,10 @@ public interface UBlocks { StrippableBlockRegistry.register(PALM_LOG, STRIPPED_PALM_LOG); StrippableBlockRegistry.register(ZAP_WOOD, STRIPPED_ZAP_WOOD); StrippableBlockRegistry.register(PALM_WOOD, STRIPPED_PALM_WOOD); + OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_LOG, WAXED_ZAP_LOG); + OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_WOOD, WAXED_ZAP_WOOD); + OxidizableBlocksRegistry.registerWaxableBlockPair(STRIPPED_ZAP_LOG, WAXED_STRIPPED_ZAP_LOG); + OxidizableBlocksRegistry.registerWaxableBlockPair(STRIPPED_ZAP_WOOD, WAXED_STRIPPED_ZAP_WOOD); Collections.addAll(TRANSLUCENT_BLOCKS, WEATHER_VANE, CHITIN_SPIKES, PLUNDER_VINE, PLUNDER_VINE_BUD, CLAM_SHELL, SCALLOP_SHELL, TURRET_SHELL, CURING_JOKE, SPECTRAL_FIRE); TintedBlock.REGISTRY.add(PALM_LEAVES); diff --git a/src/main/resources/assets/unicopia/blockstates/waxed_stripped_zap_log.json b/src/main/resources/assets/unicopia/blockstates/waxed_stripped_zap_log.json new file mode 100644 index 00000000..06956a0e --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/waxed_stripped_zap_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "unicopia:block/stripped_zap_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "unicopia:block/stripped_zap_log" + }, + "axis=z": { + "model": "unicopia:block/stripped_zap_log_horizontal", + "x": 90 + } + } +} diff --git a/src/main/resources/assets/unicopia/blockstates/waxed_stripped_zap_wood.json b/src/main/resources/assets/unicopia/blockstates/waxed_stripped_zap_wood.json new file mode 100644 index 00000000..c99ab1cc --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/waxed_stripped_zap_wood.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "unicopia:block/stripped_zap_wood" + } + } +} diff --git a/src/main/resources/assets/unicopia/blockstates/waxed_zap_log.json b/src/main/resources/assets/unicopia/blockstates/waxed_zap_log.json new file mode 100644 index 00000000..c3b64c19 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/waxed_zap_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "unicopia:block/zap_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "unicopia:block/zap_log" + }, + "axis=z": { + "model": "unicopia:block/zap_log_horizontal", + "x": 90 + } + } +} diff --git a/src/main/resources/assets/unicopia/blockstates/waxed_zap_wood.json b/src/main/resources/assets/unicopia/blockstates/waxed_zap_wood.json new file mode 100644 index 00000000..30090bc9 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/waxed_zap_wood.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "unicopia:block/zap_wood" + } + } +} diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index 80b11c0b..fa0d2924 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -232,6 +232,10 @@ "block.unicopia.zap_wood": "Zap Apple Wood", "block.unicopia.stripped_zap_log": "Stripped Zap Apple Log", "block.unicopia.stripped_zap_wood": "Stripped Zap Apple Wood", + "block.unicopia.waxed_zap_log": "Waxed Zap Apple Log", + "block.unicopia.waxed_zap_wood": "Waxed Zap Apple Wood", + "block.unicopia.waxed_stripped_zap_log": "Waxed Stripped Zap Apple Log", + "block.unicopia.waxed_stripped_zap_wood": "Waxed Stripped Zap Apple Wood", "block.unicopia.zap_leaves": "Zap Apple Leaves", "block.unicopia.flowering_zap_leaves": "Flowering Zap Apple Leaves", "block.unicopia.zap_apple": "Zap Apple", diff --git a/src/main/resources/assets/unicopia/models/item/waxed_stripped_zap_log.json b/src/main/resources/assets/unicopia/models/item/waxed_stripped_zap_log.json new file mode 100644 index 00000000..808e8d26 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/waxed_stripped_zap_log.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/stripped_zap_log" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/waxed_stripped_zap_wood.json b/src/main/resources/assets/unicopia/models/item/waxed_stripped_zap_wood.json new file mode 100644 index 00000000..f1d170f0 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/waxed_stripped_zap_wood.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/stripped_zap_wood" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/waxed_zap_log.json b/src/main/resources/assets/unicopia/models/item/waxed_zap_log.json new file mode 100644 index 00000000..13676b25 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/waxed_zap_log.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_log" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/waxed_zap_wood.json b/src/main/resources/assets/unicopia/models/item/waxed_zap_wood.json new file mode 100644 index 00000000..31ae309b --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/waxed_zap_wood.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_wood" +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/logs.json b/src/main/resources/data/minecraft/tags/blocks/logs.json index f3a91e42..1748acb9 100644 --- a/src/main/resources/data/minecraft/tags/blocks/logs.json +++ b/src/main/resources/data/minecraft/tags/blocks/logs.json @@ -9,6 +9,10 @@ "unicopia:zap_log", "unicopia:zap_wood", "unicopia:stripped_zap_log", - "unicopia:stripped_zap_wood" + "unicopia:stripped_zap_wood", + "unicopia:waxed_zap_log", + "unicopia:waxed_zap_wood", + "unicopia:waxed_stripped_zap_log", + "unicopia:waxed_stripped_zap_wood" ] } diff --git a/src/main/resources/data/minecraft/tags/blocks/logs_that_burn.json b/src/main/resources/data/minecraft/tags/blocks/logs_that_burn.json index 31e49b86..61695d92 100644 --- a/src/main/resources/data/minecraft/tags/blocks/logs_that_burn.json +++ b/src/main/resources/data/minecraft/tags/blocks/logs_that_burn.json @@ -5,6 +5,10 @@ "unicopia:palm_wood", "unicopia:golden_oak_log", "unicopia:stripped_palm_log", - "unicopia:stripped_palm_wood" + "unicopia:stripped_palm_wood", + "unicopia:waxed_zap_log", + "unicopia:waxed_zap_wood", + "unicopia:waxed_stripped_zap_log", + "unicopia:waxed_stripped_zap_wood" ] } diff --git a/src/main/resources/data/minecraft/tags/items/logs.json b/src/main/resources/data/minecraft/tags/items/logs.json index 4e7dd5d0..dbc9931d 100644 --- a/src/main/resources/data/minecraft/tags/items/logs.json +++ b/src/main/resources/data/minecraft/tags/items/logs.json @@ -8,6 +8,10 @@ "unicopia:zap_log", "unicopia:zap_wood", "unicopia:stripped_zap_log", - "unicopia:stripped_zap_wood" + "unicopia:stripped_zap_wood", + "unicopia:waxed_zap_log", + "unicopia:waxed_zap_wood", + "unicopia:waxed_stripped_zap_log", + "unicopia:waxed_stripped_zap_wood" ] } diff --git a/src/main/resources/data/minecraft/tags/items/logs_that_burn.json b/src/main/resources/data/minecraft/tags/items/logs_that_burn.json index 4e7dd5d0..dbc9931d 100644 --- a/src/main/resources/data/minecraft/tags/items/logs_that_burn.json +++ b/src/main/resources/data/minecraft/tags/items/logs_that_burn.json @@ -8,6 +8,10 @@ "unicopia:zap_log", "unicopia:zap_wood", "unicopia:stripped_zap_log", - "unicopia:stripped_zap_wood" + "unicopia:stripped_zap_wood", + "unicopia:waxed_zap_log", + "unicopia:waxed_zap_wood", + "unicopia:waxed_stripped_zap_log", + "unicopia:waxed_stripped_zap_wood" ] } diff --git a/src/main/resources/data/unicopia/recipes/waxed_stripped_zap_log.json b/src/main/resources/data/unicopia/recipes/waxed_stripped_zap_log.json new file mode 100644 index 00000000..49358b05 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/waxed_stripped_zap_log.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "unicopia:stripped_zap_log" }, + { "item": "minecraft:honeycomb" } + ], + "result": { "item": "unicopia:waxed_stripped_zap_log" } +} diff --git a/src/main/resources/data/unicopia/recipes/waxed_stripped_zap_wood.json b/src/main/resources/data/unicopia/recipes/waxed_stripped_zap_wood.json new file mode 100644 index 00000000..a025fe57 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/waxed_stripped_zap_wood.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "unicopia:stripped_zap_wood" }, + { "item": "minecraft:honeycomb" } + ], + "result": { "item": "unicopia:waxed_stripped_zap_wood" } +} diff --git a/src/main/resources/data/unicopia/recipes/waxed_zap_log.json b/src/main/resources/data/unicopia/recipes/waxed_zap_log.json new file mode 100644 index 00000000..7196b38f --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/waxed_zap_log.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "unicopia:zap_log" }, + { "item": "minecraft:honeycomb" } + ], + "result": { "item": "unicopia:waxed_zap_log" } +} diff --git a/src/main/resources/data/unicopia/recipes/waxed_zap_wood.json b/src/main/resources/data/unicopia/recipes/waxed_zap_wood.json new file mode 100644 index 00000000..16fb5429 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/waxed_zap_wood.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "unicopia:zap_wood" }, + { "item": "minecraft:honeycomb" } + ], + "result": { "item": "unicopia:waxed_zap_wood" } +} diff --git a/src/main/resources/data/unicopia/tags/items/groups/earth_pony.json b/src/main/resources/data/unicopia/tags/items/groups/earth_pony.json index db1c0f0b..62d3e0a6 100644 --- a/src/main/resources/data/unicopia/tags/items/groups/earth_pony.json +++ b/src/main/resources/data/unicopia/tags/items/groups/earth_pony.json @@ -10,6 +10,10 @@ "unicopia:zap_wood", "unicopia:stripped_zap_log", "unicopia:stripped_zap_wood", + "unicopia:waxed_zap_log", + "unicopia:waxed_zap_wood", + "unicopia:waxed_stripped_zap_log", + "unicopia:waxed_stripped_zap_wood", "unicopia:candied_apple", "unicopia:stable_door", "unicopia:dark_oak_stable_door", From 400bc19d084b023d6107b4adba902333caf2610f Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 8 Feb 2024 16:56:32 +0000 Subject: [PATCH 51/52] Added zap planks, stairs, and slabs --- assets/zap_planks.xcf | Bin 0 -> 4553 bytes .../block/BlockConstructionUtils.java | 2 +- .../unicopia/block/UBlocks.java | 44 ++-- .../unicopia/block/UMapColors.java | 15 ++ .../{ => zap}/BaseZapAppleLeavesBlock.java | 9 +- .../block/{ => zap}/ZapAppleLeavesBlock.java | 4 +- .../ZapAppleLeavesPlaceholderBlock.java | 4 +- .../block/{ => zap}/ZapAppleLogBlock.java | 6 +- .../unicopia/block/{ => zap}/ZapBlock.java | 35 +-- .../unicopia/block/zap/ZapSlabBlock.java | 26 +++ .../block/{ => zap}/ZapStagedBlock.java | 3 +- .../unicopia/block/zap/ZapStairsBlock.java | 22 ++ .../blockstates/waxed_zap_planks.json | 7 + .../unicopia/blockstates/waxed_zap_slab.json | 13 ++ .../blockstates/waxed_zap_stairs.json | 209 ++++++++++++++++++ .../unicopia/blockstates/zap_planks.json | 7 + .../assets/unicopia/blockstates/zap_slab.json | 13 ++ .../unicopia/blockstates/zap_stairs.json | 209 ++++++++++++++++++ .../resources/assets/unicopia/lang/en_us.json | 6 + .../unicopia/models/block/zap_planks.json | 6 + .../unicopia/models/block/zap_slab.json | 8 + .../unicopia/models/block/zap_slab_top.json | 8 + .../unicopia/models/block/zap_stairs.json | 8 + .../models/block/zap_stairs_inner.json | 8 + .../models/block/zap_stairs_outer.json | 8 + .../models/item/waxed_zap_planks.json | 3 + .../unicopia/models/item/waxed_zap_slab.json | 3 + .../models/item/waxed_zap_stairs.json | 3 + .../unicopia/models/item/zap_planks.json | 3 + .../assets/unicopia/models/item/zap_slab.json | 3 + .../unicopia/models/item/zap_stairs.json | 3 + .../unicopia/textures/block/zap_planks.png | Bin 0 -> 7013 bytes .../minecraft/tags/blocks/mineable/axe.json | 3 +- .../data/minecraft/tags/blocks/planks.json | 3 +- .../minecraft/tags/blocks/wooden_slabs.json | 4 +- .../minecraft/tags/blocks/wooden_stairs.json | 4 +- .../data/minecraft/tags/items/planks.json | 3 +- .../minecraft/tags/items/wooden_slabs.json | 4 +- .../minecraft/tags/items/wooden_stairs.json | 4 +- .../blocks/waxed_stripped_zap_log.json | 20 ++ .../blocks/waxed_stripped_zap_wood.json | 20 ++ .../loot_tables/blocks/waxed_zap_log.json | 20 ++ .../loot_tables/blocks/waxed_zap_planks.json | 20 ++ .../loot_tables/blocks/waxed_zap_slab.json | 20 ++ .../loot_tables/blocks/waxed_zap_stairs.json | 20 ++ .../loot_tables/blocks/waxed_zap_wood.json | 20 ++ .../loot_tables/blocks/zap_planks.json | 20 ++ .../unicopia/loot_tables/blocks/zap_slab.json | 20 ++ .../loot_tables/blocks/zap_stairs.json | 20 ++ .../unicopia/recipes/waxed_zap_planks.json | 8 + .../data/unicopia/recipes/waxed_zap_slab.json | 8 + .../unicopia/recipes/waxed_zap_stairs.json | 8 + .../data/unicopia/recipes/zap_planks.json | 12 + .../data/unicopia/recipes/zap_slab.json | 16 ++ .../data/unicopia/recipes/zap_stairs.json | 18 ++ .../data/unicopia/tags/items/zap_logs.json | 9 + 56 files changed, 940 insertions(+), 62 deletions(-) create mode 100644 assets/zap_planks.xcf create mode 100644 src/main/java/com/minelittlepony/unicopia/block/UMapColors.java rename src/main/java/com/minelittlepony/unicopia/block/{ => zap}/BaseZapAppleLeavesBlock.java (90%) rename src/main/java/com/minelittlepony/unicopia/block/{ => zap}/ZapAppleLeavesBlock.java (92%) rename src/main/java/com/minelittlepony/unicopia/block/{ => zap}/ZapAppleLeavesPlaceholderBlock.java (91%) rename src/main/java/com/minelittlepony/unicopia/block/{ => zap}/ZapAppleLogBlock.java (90%) rename src/main/java/com/minelittlepony/unicopia/block/{ => zap}/ZapBlock.java (67%) create mode 100644 src/main/java/com/minelittlepony/unicopia/block/zap/ZapSlabBlock.java rename src/main/java/com/minelittlepony/unicopia/block/{ => zap}/ZapStagedBlock.java (97%) create mode 100644 src/main/java/com/minelittlepony/unicopia/block/zap/ZapStairsBlock.java create mode 100644 src/main/resources/assets/unicopia/blockstates/waxed_zap_planks.json create mode 100644 src/main/resources/assets/unicopia/blockstates/waxed_zap_slab.json create mode 100644 src/main/resources/assets/unicopia/blockstates/waxed_zap_stairs.json create mode 100644 src/main/resources/assets/unicopia/blockstates/zap_planks.json create mode 100644 src/main/resources/assets/unicopia/blockstates/zap_slab.json create mode 100644 src/main/resources/assets/unicopia/blockstates/zap_stairs.json create mode 100644 src/main/resources/assets/unicopia/models/block/zap_planks.json create mode 100644 src/main/resources/assets/unicopia/models/block/zap_slab.json create mode 100644 src/main/resources/assets/unicopia/models/block/zap_slab_top.json create mode 100644 src/main/resources/assets/unicopia/models/block/zap_stairs.json create mode 100644 src/main/resources/assets/unicopia/models/block/zap_stairs_inner.json create mode 100644 src/main/resources/assets/unicopia/models/block/zap_stairs_outer.json create mode 100644 src/main/resources/assets/unicopia/models/item/waxed_zap_planks.json create mode 100644 src/main/resources/assets/unicopia/models/item/waxed_zap_slab.json create mode 100644 src/main/resources/assets/unicopia/models/item/waxed_zap_stairs.json create mode 100644 src/main/resources/assets/unicopia/models/item/zap_planks.json create mode 100644 src/main/resources/assets/unicopia/models/item/zap_slab.json create mode 100644 src/main/resources/assets/unicopia/models/item/zap_stairs.json create mode 100644 src/main/resources/assets/unicopia/textures/block/zap_planks.png create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/waxed_stripped_zap_log.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/waxed_stripped_zap_wood.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_log.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_planks.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_slab.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_stairs.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_wood.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/zap_planks.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/zap_slab.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/zap_stairs.json create mode 100644 src/main/resources/data/unicopia/recipes/waxed_zap_planks.json create mode 100644 src/main/resources/data/unicopia/recipes/waxed_zap_slab.json create mode 100644 src/main/resources/data/unicopia/recipes/waxed_zap_stairs.json create mode 100644 src/main/resources/data/unicopia/recipes/zap_planks.json create mode 100644 src/main/resources/data/unicopia/recipes/zap_slab.json create mode 100644 src/main/resources/data/unicopia/recipes/zap_stairs.json create mode 100644 src/main/resources/data/unicopia/tags/items/zap_logs.json diff --git a/assets/zap_planks.xcf b/assets/zap_planks.xcf new file mode 100644 index 0000000000000000000000000000000000000000..dc4a15cdd2cd32172c7307fdd9901487b3e312be GIT binary patch literal 4553 zcmeHKPix#(5Z6j})^Yy0b<-BZ9#q@K$rgLPn_8%>qd-DZr-@VJBs7JE<=NKCLi?}# z2U%;xhPjM0dY_ki97N~PfIJ)of*PdN?=#wDNupbvpQha^C<*FePK{tuU_xmi_3+NkPlSB5WFwADtn(Go9*({xK)A>wTK$zOr( zm1DN^V)(&rn>NX+Uf0C@EUY$PSw)NKjk<1%dVO_WrD)NpRH$l-p?-qzv9Btl&zBN$ z)KrtK5tE=CViA6szi!v6;uEz+^+x^LRDNc5N>uBsjWuxT+SH?mx2NT)>&ozaY^V&2 z;=D;Tu}*60weefFUYWUrDVn*Vn{-KSJs`DaRUKDk5kB)dP(9fsG`y$QHFJGj$@iuG zmA=-O@|P`Lt((Mzr~vvkek`kSmm8@22r@mc6kenM_{d;fxjH+Wd))zF_iwPY-Y^?8 zH?g7~KxIHCPX>RuzENAL6TSNPl7D1&vr%idREl>$u1F_FePr;;jTPqlHi@pSKZ`Gx zZhd~IZmO--byC;V+l^L@z^&x3e%gnJ#~L5i*k>nK*-@1DRqMgVN=2`#4>y~A-avS7 z@RYRl)zEjyYg~T)WU2Sq-~+Uz+iDfc>bO`R*P1h?Ua8C+Ti)}zqo))f@WdEg=q-kS z>&+KFNo>X}c1~=H*yJuO5o)Sy;ytpdwork`FBoTluxoaKK0^Nb7JNfz1wuI*pN)8! zxbXy^N$|r7UQF=k68!lDe<8t-0FUQ!T^KN>f#Od7G4ddO3G-ycqs~M^9(R7UNsKd( z5{oz)kVFPeF$TZpUY~4K}XNTpO*tpyLMHo*#hRWAKLa7}~cP zLqz6toNa@a@3-L`p8vtX3f5!aK9Y_xI z+uN9&9u7F#OAjBU?3b)F$fW`#o_m|rw@LlKRBE>iHQP;dLN~9{iskzO>Ndy!bj35YuL zd3>dsDEGUP zSMCBScY*S}lH$5~!8xD~ZBr^Zd+^^=ah8_}(TJd>$bMT11?{%rbSdxb69)y9IBB}$ zXcQKCM{_9XYlKjTPz0ca(q(}@hbhuW6{=}eqdg;q_9O(vV1zKCM4&qw7)2)XO$yR;m?C{tkqQN=AoYwgQcscvF&H6CC=sNc0vJUoh&u_$ z38S>M8|lNbvNRy?&P9jHg=}Fcdl>r1%PHwVmM|t>K17cp)V(2e7M!9U1jh<1_=t)W-1|x(CC4#Y22BQcCaTftO yVU#v@BYim5G6t;Ot>{pzTq+Nh4nzNVD`gy52FAo&hv+ecx)(>iP%Qov-RVzp+X6fQ literal 0 HcmV?d00001 diff --git a/src/main/java/com/minelittlepony/unicopia/block/BlockConstructionUtils.java b/src/main/java/com/minelittlepony/unicopia/block/BlockConstructionUtils.java index 963d38a2..8d4742d2 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/BlockConstructionUtils.java +++ b/src/main/java/com/minelittlepony/unicopia/block/BlockConstructionUtils.java @@ -15,7 +15,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.world.BlockView; -interface BlockConstructionUtils { +public interface BlockConstructionUtils { static ButtonBlock woodenButton() { return woodenButton(BlockSoundGroup.WOOD, BlockSetType.OAK); } diff --git a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java index 59f50cb0..a19d2e39 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java +++ b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java @@ -21,6 +21,13 @@ import com.minelittlepony.unicopia.block.cloud.SoggyCloudBlock; import com.minelittlepony.unicopia.block.cloud.SoggyCloudSlabBlock; import com.minelittlepony.unicopia.block.cloud.SoggyCloudStairsBlock; import com.minelittlepony.unicopia.block.cloud.UnstableCloudBlock; +import com.minelittlepony.unicopia.block.zap.BaseZapAppleLeavesBlock; +import com.minelittlepony.unicopia.block.zap.ZapAppleLeavesBlock; +import com.minelittlepony.unicopia.block.zap.ZapAppleLeavesPlaceholderBlock; +import com.minelittlepony.unicopia.block.zap.ZapAppleLogBlock; +import com.minelittlepony.unicopia.block.zap.ZapBlock; +import com.minelittlepony.unicopia.block.zap.ZapSlabBlock; +import com.minelittlepony.unicopia.block.zap.ZapStairsBlock; import com.minelittlepony.unicopia.entity.effect.UEffects; import com.minelittlepony.unicopia.item.UItems; import com.minelittlepony.unicopia.item.cloud.CloudBlockItem; @@ -60,30 +67,36 @@ public interface UBlocks { Block FROSTED_OBSIDIAN = register("frosted_obsidian", new FrostedObsidianBlock(FabricBlockSettings.copy(Blocks.OBSIDIAN).ticksRandomly())); - Block ZAP_LOG = register("zap_log", new ZapAppleLogBlock(Blocks.OAK_LOG, MapColor.GRAY, MapColor.DEEPSLATE_GRAY), ItemGroups.BUILDING_BLOCKS); - Block ZAP_WOOD = register("zap_wood", new ZapAppleLogBlock(Blocks.OAK_WOOD, MapColor.DEEPSLATE_GRAY, MapColor.DEEPSLATE_GRAY), ItemGroups.BUILDING_BLOCKS); + Block ZAP_LOG = register("zap_log", new ZapAppleLogBlock(Blocks.OAK_LOG, UMapColors.ZAP_LOG_END, UMapColors.ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); + Block ZAP_WOOD = register("zap_wood", new ZapAppleLogBlock(Blocks.OAK_WOOD, UMapColors.ZAP_LOG_SIDE, UMapColors.ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); + Block STRIPPED_ZAP_LOG = register("stripped_zap_log", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_LOG, UMapColors.ZAP_LOG_END, UMapColors.STRIPPED_ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); + Block STRIPPED_ZAP_WOOD = register("stripped_zap_wood", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_WOOD, UMapColors.STRIPPED_ZAP_LOG_SIDE, UMapColors.STRIPPED_ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); - Block STRIPPED_ZAP_LOG = register("stripped_zap_log", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_LOG, MapColor.LIGHT_GRAY, MapColor.GRAY), ItemGroups.BUILDING_BLOCKS); - Block STRIPPED_ZAP_WOOD = register("stripped_zap_wood", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_WOOD, MapColor.GRAY, MapColor.GRAY), ItemGroups.BUILDING_BLOCKS); + Block WAXED_ZAP_LOG = register("waxed_zap_log", BlockConstructionUtils.createLogBlock(UMapColors.ZAP_LOG_END, UMapColors.ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); + Block WAXED_ZAP_WOOD = register("waxed_zap_wood", BlockConstructionUtils.createLogBlock(UMapColors.ZAP_LOG_SIDE, UMapColors.ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); + Block WAXED_STRIPPED_ZAP_LOG = register("waxed_stripped_zap_log", BlockConstructionUtils.createLogBlock(UMapColors.ZAP_LOG_END, UMapColors.STRIPPED_ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); + Block WAXED_STRIPPED_ZAP_WOOD = register("waxed_stripped_zap_wood", BlockConstructionUtils.createLogBlock(UMapColors.STRIPPED_ZAP_LOG_SIDE, UMapColors.STRIPPED_ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); - Block WAXED_ZAP_LOG = register("waxed_zap_log", BlockConstructionUtils.createLogBlock(MapColor.GRAY, MapColor.DEEPSLATE_GRAY), ItemGroups.BUILDING_BLOCKS); - Block WAXED_ZAP_WOOD = register("waxed_zap_wood", BlockConstructionUtils.createLogBlock(MapColor.DEEPSLATE_GRAY, MapColor.DEEPSLATE_GRAY), ItemGroups.BUILDING_BLOCKS); + Block ZAP_PLANKS = register("zap_planks", new ZapBlock(Settings.create().mapColor(UMapColors.ZAP_PLANKS).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); + Block ZAP_STAIRS = register("zap_stairs", new ZapStairsBlock(ZAP_PLANKS.getDefaultState(), Settings.copy(ZAP_PLANKS).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); + Block ZAP_SLAB = register("zap_slab", new ZapSlabBlock(Settings.create().mapColor(ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); - Block WAXED_STRIPPED_ZAP_LOG = register("waxed_stripped_zap_log", BlockConstructionUtils.createLogBlock(MapColor.LIGHT_GRAY, MapColor.GRAY), ItemGroups.BUILDING_BLOCKS); - Block WAXED_STRIPPED_ZAP_WOOD = register("waxed_stripped_zap_wood", BlockConstructionUtils.createLogBlock(MapColor.GRAY, MapColor.GRAY), ItemGroups.BUILDING_BLOCKS); + Block WAXED_ZAP_PLANKS = register("waxed_zap_planks", new Block(Settings.create().mapColor(UMapColors.ZAP_PLANKS).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); + Block WAXED_ZAP_STAIRS = register("waxed_zap_stairs", new StairsBlock(WAXED_ZAP_PLANKS.getDefaultState(), Settings.copy(WAXED_ZAP_PLANKS).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); + Block WAXED_ZAP_SLAB = register("waxed_zap_slab", new ZapSlabBlock(Settings.create().mapColor(WAXED_ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); Block ZAP_LEAVES = register("zap_leaves", new ZapAppleLeavesBlock(), ItemGroups.NATURAL); Block FLOWERING_ZAP_LEAVES = register("flowering_zap_leaves", new BaseZapAppleLeavesBlock(), ItemGroups.NATURAL); Block ZAP_LEAVES_PLACEHOLDER = register("zap_leaves_placeholder", new ZapAppleLeavesPlaceholderBlock()); Block ZAP_BULB = register("zap_bulb", new FruitBlock(Settings.create().mapColor(MapColor.GRAY).strength(500, 1200).sounds(BlockSoundGroup.AZALEA_LEAVES), Direction.DOWN, ZAP_LEAVES, FruitBlock.DEFAULT_SHAPE, false)); - Block ZAP_APPLE = register("zap_apple", new FruitBlock(Settings.create().mapColor(MapColor.GRAY).sounds(BlockSoundGroup.AZALEA_LEAVES), Direction.DOWN, ZAP_LEAVES, FruitBlock.DEFAULT_SHAPE, false)); + Block ZAP_APPLE = register("zap_apple", new FruitBlock(Settings.create().mapColor(MapColor.YELLOW).sounds(BlockSoundGroup.AZALEA_LEAVES), Direction.DOWN, ZAP_LEAVES, FruitBlock.DEFAULT_SHAPE, false)); - Block PALM_LOG = register("palm_log", BlockConstructionUtils.createLogBlock(MapColor.OFF_WHITE, MapColor.SPRUCE_BROWN), ItemGroups.BUILDING_BLOCKS); - Block PALM_WOOD = register("palm_wood", BlockConstructionUtils.createWoodBlock(MapColor.OFF_WHITE), ItemGroups.BUILDING_BLOCKS); - Block STRIPPED_PALM_LOG = register("stripped_palm_log", BlockConstructionUtils.createLogBlock(MapColor.OFF_WHITE, MapColor.OFF_WHITE), ItemGroups.BUILDING_BLOCKS); - Block STRIPPED_PALM_WOOD = register("stripped_palm_wood", BlockConstructionUtils.createWoodBlock(MapColor.OFF_WHITE), ItemGroups.BUILDING_BLOCKS); + Block PALM_LOG = register("palm_log", BlockConstructionUtils.createLogBlock(UMapColors.PALM_LOG_END, UMapColors.PALM_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); + Block PALM_WOOD = register("palm_wood", BlockConstructionUtils.createWoodBlock(UMapColors.PALM_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); + Block STRIPPED_PALM_LOG = register("stripped_palm_log", BlockConstructionUtils.createLogBlock(UMapColors.PALM_LOG_END, UMapColors.STRIPPED_PALM_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); + Block STRIPPED_PALM_WOOD = register("stripped_palm_wood", BlockConstructionUtils.createWoodBlock(UMapColors.STRIPPED_PALM_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); - Block PALM_PLANKS = register("palm_planks", new Block(Settings.create().mapColor(MapColor.OFF_WHITE).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); + Block PALM_PLANKS = register("palm_planks", new Block(Settings.create().mapColor(UMapColors.PALM_PLANKS).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); Block PALM_STAIRS = register("palm_stairs", new StairsBlock(PALM_PLANKS.getDefaultState(), Settings.copy(PALM_PLANKS).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); Block PALM_SLAB = register("palm_slab", new SlabBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); Block PALM_FENCE = register("palm_fence", new FenceBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); @@ -279,6 +292,9 @@ public interface UBlocks { OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_WOOD, WAXED_ZAP_WOOD); OxidizableBlocksRegistry.registerWaxableBlockPair(STRIPPED_ZAP_LOG, WAXED_STRIPPED_ZAP_LOG); OxidizableBlocksRegistry.registerWaxableBlockPair(STRIPPED_ZAP_WOOD, WAXED_STRIPPED_ZAP_WOOD); + OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_PLANKS, WAXED_ZAP_PLANKS); + OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_STAIRS, WAXED_ZAP_STAIRS); + OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_SLAB, WAXED_ZAP_SLAB); Collections.addAll(TRANSLUCENT_BLOCKS, WEATHER_VANE, CHITIN_SPIKES, PLUNDER_VINE, PLUNDER_VINE_BUD, CLAM_SHELL, SCALLOP_SHELL, TURRET_SHELL, CURING_JOKE, SPECTRAL_FIRE); TintedBlock.REGISTRY.add(PALM_LEAVES); diff --git a/src/main/java/com/minelittlepony/unicopia/block/UMapColors.java b/src/main/java/com/minelittlepony/unicopia/block/UMapColors.java new file mode 100644 index 00000000..019176e4 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/block/UMapColors.java @@ -0,0 +1,15 @@ +package com.minelittlepony.unicopia.block; + +import net.minecraft.block.MapColor; + +public interface UMapColors { + MapColor ZAP_LEAVES = MapColor.MAGENTA; + MapColor ZAP_PLANKS = MapColor.MAGENTA; + MapColor ZAP_LOG_SIDE = MapColor.PURPLE; + MapColor ZAP_LOG_END = MapColor.MAGENTA; + MapColor STRIPPED_ZAP_LOG_SIDE = MapColor.PURPLE; + MapColor PALM_PLANKS = MapColor.OFF_WHITE; + MapColor PALM_LOG_END = MapColor.OFF_WHITE; + MapColor PALM_LOG_SIDE = MapColor.SPRUCE_BROWN; + MapColor STRIPPED_PALM_LOG_SIDE = MapColor.OFF_WHITE; +} diff --git a/src/main/java/com/minelittlepony/unicopia/block/BaseZapAppleLeavesBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/BaseZapAppleLeavesBlock.java similarity index 90% rename from src/main/java/com/minelittlepony/unicopia/block/BaseZapAppleLeavesBlock.java rename to src/main/java/com/minelittlepony/unicopia/block/zap/BaseZapAppleLeavesBlock.java index 902b5a11..093f9270 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/BaseZapAppleLeavesBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/BaseZapAppleLeavesBlock.java @@ -1,7 +1,10 @@ -package com.minelittlepony.unicopia.block; +package com.minelittlepony.unicopia.block.zap; import org.jetbrains.annotations.Nullable; +import com.minelittlepony.unicopia.block.BlockConstructionUtils; +import com.minelittlepony.unicopia.block.TintedBlock; +import com.minelittlepony.unicopia.block.UMapColors; import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.server.world.ZapAppleStageStore; @@ -15,9 +18,9 @@ import net.minecraft.world.*; public class BaseZapAppleLeavesBlock extends LeavesBlock implements TintedBlock, ZapStagedBlock { - BaseZapAppleLeavesBlock() { + public BaseZapAppleLeavesBlock() { super(Settings.create() - .mapColor(MapColor.PURPLE) + .mapColor(UMapColors.ZAP_LEAVES) .strength(500, 1200) .ticksRandomly() .sounds(BlockSoundGroup.AZALEA_LEAVES) diff --git a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLeavesBlock.java similarity index 92% rename from src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesBlock.java rename to src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLeavesBlock.java index e94f3475..1fcfc3a6 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLeavesBlock.java @@ -1,4 +1,4 @@ -package com.minelittlepony.unicopia.block; +package com.minelittlepony.unicopia.block.zap; import com.minelittlepony.unicopia.server.world.ZapAppleStageStore; @@ -10,7 +10,7 @@ import net.minecraft.state.property.*; public class ZapAppleLeavesBlock extends BaseZapAppleLeavesBlock { public static final EnumProperty STAGE = EnumProperty.of("stage", ZapAppleStageStore.Stage.class); - ZapAppleLeavesBlock() { + public ZapAppleLeavesBlock() { setDefaultState(getDefaultState().with(STAGE, ZapAppleStageStore.Stage.GREENING)); } diff --git a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesPlaceholderBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLeavesPlaceholderBlock.java similarity index 91% rename from src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesPlaceholderBlock.java rename to src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLeavesPlaceholderBlock.java index 40fa9fc2..181bfc88 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesPlaceholderBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLeavesPlaceholderBlock.java @@ -1,4 +1,4 @@ -package com.minelittlepony.unicopia.block; +package com.minelittlepony.unicopia.block.zap; import com.minelittlepony.unicopia.server.world.ZapAppleStageStore; import com.minelittlepony.unicopia.server.world.ZapAppleStageStore.Stage; @@ -11,7 +11,7 @@ import net.minecraft.world.World; public class ZapAppleLeavesPlaceholderBlock extends AirBlock implements ZapStagedBlock { - ZapAppleLeavesPlaceholderBlock() { + public ZapAppleLeavesPlaceholderBlock() { super(Settings.create().replaceable().noCollision().dropsNothing().air()); } diff --git a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLogBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLogBlock.java similarity index 90% rename from src/main/java/com/minelittlepony/unicopia/block/ZapAppleLogBlock.java rename to src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLogBlock.java index 9605412b..e0c117ff 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLogBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLogBlock.java @@ -1,4 +1,4 @@ -package com.minelittlepony.unicopia.block; +package com.minelittlepony.unicopia.block.zap; import com.minelittlepony.unicopia.entity.player.Pony; @@ -14,11 +14,11 @@ import net.minecraft.world.BlockView; import net.minecraft.world.World; public class ZapAppleLogBlock extends PillarBlock { - public static final BooleanProperty NATURAL = ZapBlock.NATURAL; + public static final BooleanProperty NATURAL = BooleanProperty.of("natural"); private final Block artifialModelBlock; - ZapAppleLogBlock(Block artifialModelBlock, MapColor topMapColor, MapColor sideMapColor) { + public ZapAppleLogBlock(Block artifialModelBlock, MapColor topMapColor, MapColor sideMapColor) { super(AbstractBlock.Settings.create().mapColor( state -> state.get(PillarBlock.AXIS) == Direction.Axis.Y ? topMapColor : sideMapColor ) diff --git a/src/main/java/com/minelittlepony/unicopia/block/ZapBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapBlock.java similarity index 67% rename from src/main/java/com/minelittlepony/unicopia/block/ZapBlock.java rename to src/main/java/com/minelittlepony/unicopia/block/zap/ZapBlock.java index dcc0e5f7..29ae5f9a 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/ZapBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapBlock.java @@ -1,4 +1,4 @@ -package com.minelittlepony.unicopia.block; +package com.minelittlepony.unicopia.block.zap; import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.particle.LightningBoltParticleEffect; @@ -8,35 +8,15 @@ import net.minecraft.entity.EntityType; import net.minecraft.entity.ItemEntity; import net.minecraft.entity.LightningEntity; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemPlacementContext; import net.minecraft.server.world.ServerWorld; -import net.minecraft.state.StateManager; -import net.minecraft.state.property.BooleanProperty; import net.minecraft.util.math.*; import net.minecraft.world.BlockView; import net.minecraft.world.World; import net.minecraft.world.event.GameEvent; public class ZapBlock extends Block { - public static final BooleanProperty NATURAL = BooleanProperty.of("natural"); - - private final Block artificialModelBlock; - - ZapBlock(Settings settings, Block artificialModelBlock) { - super(settings.strength(500, 1200)); - setDefaultState(getDefaultState().with(NATURAL, true)); - this.artificialModelBlock = artificialModelBlock; - } - - @Override - protected void appendProperties(StateManager.Builder builder) { - super.appendProperties(builder); - builder.add(NATURAL); - } - - @Override - public BlockState getPlacementState(ItemPlacementContext ctx) { - return getDefaultState().with(NATURAL, false); + public ZapBlock(Settings settings) { + super(settings); } @Deprecated @@ -48,12 +28,10 @@ public class ZapBlock extends Block { @Deprecated @Override public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) { - if (!state.get(NATURAL)) { - return artificialModelBlock.calcBlockBreakingDelta(artificialModelBlock.getDefaultState(), player, world, pos); - } - - float delta = super.calcBlockBreakingDelta(state, player, world, pos); + return getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player); + } + public static float getBlockBreakingDelta(float delta, PlayerEntity player) { if (Pony.of(player).getCompositeRace().canUseEarth()) { delta *= 50; } @@ -61,7 +39,6 @@ public class ZapBlock extends Block { return MathHelper.clamp(delta, 0, 0.9F); } - public static void triggerLightning(BlockState state, World world, BlockPos pos, PlayerEntity player) { if (world instanceof ServerWorld serverWorld) { Vec3d center = Vec3d.ofCenter(pos); diff --git a/src/main/java/com/minelittlepony/unicopia/block/zap/ZapSlabBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapSlabBlock.java new file mode 100644 index 00000000..535e9b5d --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapSlabBlock.java @@ -0,0 +1,26 @@ +package com.minelittlepony.unicopia.block.zap; + +import net.minecraft.block.BlockState; +import net.minecraft.block.SlabBlock; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.BlockView; +import net.minecraft.world.World; + +public class ZapSlabBlock extends SlabBlock { + public ZapSlabBlock(Settings settings) { + super(settings); + } + + @Deprecated + @Override + public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) { + ZapBlock.triggerLightning(state, world, pos, player); + } + + @Deprecated + @Override + public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) { + return ZapBlock.getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player); + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/block/ZapStagedBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapStagedBlock.java similarity index 97% rename from src/main/java/com/minelittlepony/unicopia/block/ZapStagedBlock.java rename to src/main/java/com/minelittlepony/unicopia/block/zap/ZapStagedBlock.java index 5e3f41d4..72ce0d28 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/ZapStagedBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapStagedBlock.java @@ -1,5 +1,6 @@ -package com.minelittlepony.unicopia.block; +package com.minelittlepony.unicopia.block.zap; +import com.minelittlepony.unicopia.block.UBlocks; import com.minelittlepony.unicopia.server.world.ZapAppleStageStore; import net.minecraft.block.Block; diff --git a/src/main/java/com/minelittlepony/unicopia/block/zap/ZapStairsBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapStairsBlock.java new file mode 100644 index 00000000..8d13fadd --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapStairsBlock.java @@ -0,0 +1,22 @@ +package com.minelittlepony.unicopia.block.zap; + +import net.minecraft.block.BlockState; +import net.minecraft.block.StairsBlock; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.BlockView; + +public class ZapStairsBlock extends StairsBlock { + private final BlockState baseBlock; + + public ZapStairsBlock(BlockState baseBlockState, Settings settings) { + super(baseBlockState, settings); + this.baseBlock = baseBlockState; + } + + @Deprecated + @Override + public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) { + return baseBlock.calcBlockBreakingDelta(player, world, pos); + } +} diff --git a/src/main/resources/assets/unicopia/blockstates/waxed_zap_planks.json b/src/main/resources/assets/unicopia/blockstates/waxed_zap_planks.json new file mode 100644 index 00000000..ac083bd3 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/waxed_zap_planks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "unicopia:block/zap_planks" + } + } +} diff --git a/src/main/resources/assets/unicopia/blockstates/waxed_zap_slab.json b/src/main/resources/assets/unicopia/blockstates/waxed_zap_slab.json new file mode 100644 index 00000000..4de01681 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/waxed_zap_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "unicopia:block/zap_slab" + }, + "type=double": { + "model": "unicopia:block/zap_planks" + }, + "type=top": { + "model": "unicopia:block/zap_slab_top" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/blockstates/waxed_zap_stairs.json b/src/main/resources/assets/unicopia/blockstates/waxed_zap_stairs.json new file mode 100644 index 00000000..2fdbab92 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/waxed_zap_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "unicopia:block/zap_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "unicopia:block/zap_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "unicopia:block/zap_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "unicopia:block/zap_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "unicopia:block/zap_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "unicopia:block/zap_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "unicopia:block/zap_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "unicopia:block/zap_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/blockstates/zap_planks.json b/src/main/resources/assets/unicopia/blockstates/zap_planks.json new file mode 100644 index 00000000..ac083bd3 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/zap_planks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "unicopia:block/zap_planks" + } + } +} diff --git a/src/main/resources/assets/unicopia/blockstates/zap_slab.json b/src/main/resources/assets/unicopia/blockstates/zap_slab.json new file mode 100644 index 00000000..4de01681 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/zap_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "unicopia:block/zap_slab" + }, + "type=double": { + "model": "unicopia:block/zap_planks" + }, + "type=top": { + "model": "unicopia:block/zap_slab_top" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/blockstates/zap_stairs.json b/src/main/resources/assets/unicopia/blockstates/zap_stairs.json new file mode 100644 index 00000000..2fdbab92 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/zap_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "unicopia:block/zap_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "unicopia:block/zap_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "unicopia:block/zap_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "unicopia:block/zap_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "unicopia:block/zap_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "unicopia:block/zap_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "unicopia:block/zap_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "unicopia:block/zap_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "unicopia:block/zap_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "unicopia:block/zap_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index fa0d2924..9bf87f93 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -232,10 +232,16 @@ "block.unicopia.zap_wood": "Zap Apple Wood", "block.unicopia.stripped_zap_log": "Stripped Zap Apple Log", "block.unicopia.stripped_zap_wood": "Stripped Zap Apple Wood", + "block.unicopia.zap_planks": "Zap Apple Planks", + "block.unicopia.zap_stairs": "Zap Apple Stairs", + "block.unicopia.zap_slab": "Zap Apple Slab", "block.unicopia.waxed_zap_log": "Waxed Zap Apple Log", "block.unicopia.waxed_zap_wood": "Waxed Zap Apple Wood", "block.unicopia.waxed_stripped_zap_log": "Waxed Stripped Zap Apple Log", "block.unicopia.waxed_stripped_zap_wood": "Waxed Stripped Zap Apple Wood", + "block.unicopia.waxed_zap_planks": "Waxed Zap Apple Planks", + "block.unicopia.waxed_zap_stairs": "Waxed Zap Apple Stairs", + "block.unicopia.waxed_zap_slab": "Waxed Zap Apple Slab", "block.unicopia.zap_leaves": "Zap Apple Leaves", "block.unicopia.flowering_zap_leaves": "Flowering Zap Apple Leaves", "block.unicopia.zap_apple": "Zap Apple", diff --git a/src/main/resources/assets/unicopia/models/block/zap_planks.json b/src/main/resources/assets/unicopia/models/block/zap_planks.json new file mode 100644 index 00000000..a3b0506c --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_planks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_slab.json b/src/main/resources/assets/unicopia/models/block/zap_slab.json new file mode 100644 index 00000000..019be187 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "unicopia:block/zap_planks", + "side": "unicopia:block/zap_planks", + "top": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_slab_top.json b/src/main/resources/assets/unicopia/models/block/zap_slab_top.json new file mode 100644 index 00000000..c842f9e8 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "unicopia:block/zap_planks", + "side": "unicopia:block/zap_planks", + "top": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_stairs.json b/src/main/resources/assets/unicopia/models/block/zap_stairs.json new file mode 100644 index 00000000..56f63e69 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "unicopia:block/zap_planks", + "side": "unicopia:block/zap_planks", + "top": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_stairs_inner.json b/src/main/resources/assets/unicopia/models/block/zap_stairs_inner.json new file mode 100644 index 00000000..7653e732 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "unicopia:block/zap_planks", + "side": "unicopia:block/zap_planks", + "top": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_stairs_outer.json b/src/main/resources/assets/unicopia/models/block/zap_stairs_outer.json new file mode 100644 index 00000000..57424f35 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "unicopia:block/zap_planks", + "side": "unicopia:block/zap_planks", + "top": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/waxed_zap_planks.json b/src/main/resources/assets/unicopia/models/item/waxed_zap_planks.json new file mode 100644 index 00000000..67af01e5 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/waxed_zap_planks.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_planks" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/waxed_zap_slab.json b/src/main/resources/assets/unicopia/models/item/waxed_zap_slab.json new file mode 100644 index 00000000..f4b16226 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/waxed_zap_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_slab" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/waxed_zap_stairs.json b/src/main/resources/assets/unicopia/models/item/waxed_zap_stairs.json new file mode 100644 index 00000000..1a16895f --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/waxed_zap_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_stairs" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/zap_planks.json b/src/main/resources/assets/unicopia/models/item/zap_planks.json new file mode 100644 index 00000000..67af01e5 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/zap_planks.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_planks" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/zap_slab.json b/src/main/resources/assets/unicopia/models/item/zap_slab.json new file mode 100644 index 00000000..f4b16226 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/zap_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_slab" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/zap_stairs.json b/src/main/resources/assets/unicopia/models/item/zap_stairs.json new file mode 100644 index 00000000..1a16895f --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/zap_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_stairs" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/textures/block/zap_planks.png b/src/main/resources/assets/unicopia/textures/block/zap_planks.png new file mode 100644 index 0000000000000000000000000000000000000000..55b0a5808a47e6f65a70125950f95e613e0d752e GIT binary patch literal 7013 zcmeHLc~}$I7N4*sY|0YUQq&Njj+T&>Y#&jU1PBTxfFjsdC&>h&gv2B)YPEt}iD*@{ zMN3uUMs2lHYg?s@wzz9us&%ipQEh!HYSr3TdFM_5<7>a~)%RZiGkkOB&b{aU&iVb$ zxi=YVva`|x{lfh)3=34JD|6r;gf4~;v;*&S5*WsKNRCz;)aoG^1IECT=7rI^>}YO% z51J?D3FEWj3V}YdL034=79ymy#X!(^qFv950`O{%h#9C zKMWUx`jdEIltuSFO`Vy|62$R&aY8Yy=Ltk|o2zOThF<_PFu>nG;JJ{{-pu~t0|)dEkBDGJ#|>h!W1}J> zaLM3U9$zF94ICs>NCgRTLXiN0(0qM;1N;N}1qSvLL`Fmkp8C_d9Sdflm^^80%p;iQ z8BFVJ#Rfv0-Zbjtq5{tzo?hNQbcU~=KNxHYLP~jhczJqzdwId^RG7!Sg1ti``AI&Z z8iLNA$P`p9Y-B_wH}43`IdUsnsI^x6`t|AC@44`p7Y5;jhlt|E5~)m{qEw}(rK>Y? z^G1%!A6-zW)02jxV&iz5y{x>Va?<1(GiS}7^G1zhQQhJtZ@pc=beVJ2>NRWEHNCg~ zqs0So7SDXcJJA{@91~Oj(>mRIp6F!1v5^78beBVII*3Pe2E%R7?q6OyE%6B9$(f+_|xd0}Jo4&NwY z&aE)5^@v}eXwik34n&P&_ScA2|5waPDr{l$=ilZ60v;J!b zzA^wh&9ZruapxAf2R!>;bvhdBMH~_+2R$`S#mx4hj9*eQM+WSGz&z_uK%2XAkpo}L zM?QJQPRI84_^VFGv8&NQq87Q{4>rQk90$H3@C}$r9^`ZknLX}^Dy-^&3EJkPLt(j3 zAX76sV%IsQW=#K>@wjt!^%aP#z{O0_6)~ltH&c_7^dW@4E-8$uNnhk<=Nc_UR1YKF zQrHgsgW61x^n+s#2fkWu0JUPNctXHaUIFzyA7-K;h9-ds!rh$hbl@J7K}Ca#sVV5U z47eAUjDnccV}Q|OH}Y<|K~mL2qqT+SA^YK=C+?P;Pa)pjYAUj=px#?9`V)Zudxv|p z?LzPg~yr$Mra#1p`=+I`1`Rg@wWg{csML79#6$5EOt5$v{F%x zLnL|$gY~TYg8q6D)s)0HL3!GD>+M;n!@M% zfD`BLBP!-kUKNz$ZsDE*d);cJHk*>y1^NYmzUu{HWFH8}otwHg zkuPLIHxNYh^nn!i(!C1RlQsR%GLxoa<^-bx5xOihP@UC4kYwl)RalC9MWX!GqNt+S z06O1BfmRQ}oeN|3L5XZeqqWIE#l!6iq^id)mDJvSyvX>>zOe!y$n}Rn1~*5}~*ggCG&nt}WUEtBSQe|P1LPh#Fi4i-;=B`l<>3^MdaY3VF#w&TshVfyJ?8sw&8|3vbKlIKFU&QR2wqr|M z+ivag9Xkv1>G?@P|HLMiTXO6RLptB?Q`lN*Is0bC{Q(s>u|^HC?06_$bWZ%;-kJ3W zH#n;D84PwU|G>Tjg7)aa-iJEMdJi0XQ=72=x3eo&jXgLf;8soRL_@u}!>8l!T9f66 zLGw2)`XFRQ=$r4@lP;!he33Kl(#!UOwxz+sy5)oB2hH6XH)>n`k`ePN9n$sV7^+yOY!A4xn8ywO!n{YVefpS9o-u7%awGQniX)OM)2qg;G;cUQX3D^I zy%T3|%Q%P8=WH)t_|XZ)5B;y-_{VwSKORlP4$rn8NL;1Zhhe?O81qKkM`w&&J& zLT}cRag`65Kw?&PdI z-Q)>6nVvmts9!>*8~{wDonTd(N=j|=N(Gz3l|vs5bJ;A)#6Cg69t}S^Q_NP9C5jWp z@i?kVW4VAm)Q^>5)f?nF%G53hcv7&7?RJZt%dM!Wh^r9BnXN@!zDy?L@&sIgfCCmB z+oV!EQOPN_MIi_mhLW`DtVWC7Xf95w_Q03gx>Nu?xRr#3 z%a7x6O(w4U3Y%S34j^3t{pku@-Xsgj%^_{(GOLbMm6N6RD0c|Gu4lca%vwUx(d)Qm z326dT8+heE;S&8g?^%H)C^DKX)G84B2}`@t@K~%TVnZ_&9rr+Bc@ORr*4^AGW3bB1 zlq=1;G8CR#sbC}ja=lq+)XS-^PA?P@QmKI>5t0N)Bo@bW2!SY`qZJCpT8Tg}F-S-^ zD0QjLPL%3M1O?!6M!+HU@qE6PlyYQxy^JH084MhmKqTS_0b9r8OC(aU&<)}xs}ZV_ zC~=PpLFoZXtBWUvI<0`i6B2rkh!E&FQenJ=L-0unDURpKNWF-H((B}@W~+&SbQ(=W z5y`cb7Eu#OaCuU;TEP~?@g9$4mk@RXEKsmV7)#44A5Y{NO=PZ}Kx*cBCR&4M1)DbW>L#gTI4_mge6d&0su7*T;wTMlCYbtd1iBog5C3i)-#<6 z+euH@2_<1C0kr3pEwB5P?L{6>&U1y2;4;m6qhZp2vPPSSl>qjT@^qsO{7<5WTstb4 zoalOTJ(d`$t;Awcn?g?LToi0XIjN`O1T5E-u9zq-BH{GtD%b9DdxV!Jy}84N$B?g3yyPDWM~^vL}Q7 z-zieB@lR4r;G$!(JE;lWKcwAd;C7CJG_El?pW(RY_MG=!nxT{RZ~SzX+u!H`pr1K; zDt({H^-Qj(QsAkKpHaar!sz4UH><^{2sqClBMuNuL9l&n*+~Jg||r`?eH`u z)`|XBezC3&Mtm*l1vU)x4@DOZTh`DI2I+Qnriy;mgV9?Yes4+9ZTOGDU9~bPPr83z z-Hxm?i9xf6eg4C|&_O$Jc81=!+8Ghs(P!!>%YU<`4^=XnX0ALe+I6yd^E;VSn#v=u zt+9Pnaee9QkIeTjpLzSkua+#pF25ghNAHuEU%qwH!L36NZTjuqL+fS?UU+ro%;>Qk z-?N8Khhv2;-s8^o!A}0(%M{3FOl+K~^onf09z2aZkk)i?ww*^dJ;V}DaOvZ3IOy$r z17f1rY{XAXuxfQe`;e_(tdRbgGAQSrc{i`7W+yv0T!_tpRdb1qtA>NA{u!_QdP;Zd z($;AmKeg|z&BED}njI^r1EDWjnmhL^hEce#0zYD{rultFf za{T_x!j>4kY}UD(ds6+yExTTSZR+xl2alA|@(<2b|9q!bJLXYc@3U2x9uB+kImTcg zN%D$>Q0gkL&y}sCee0araZ_t&A0(e`(A?xfBL-IIrYxZlg@r2e!j3p!MePB#x9Y5mG_oY3zX|d zTx_m58M!~z-*InVPCg!~rsv*1e%oB7yRn;}Hx=Y*Y247!w^v*52Xa31 Date: Thu, 8 Feb 2024 19:56:41 +0000 Subject: [PATCH 52/52] Added zap fence and zap fence gate --- .../unicopia/block/UBlocks.java | 36 +++++--- .../unicopia/block/UWoodTypes.java | 1 + .../block/zap/BaseZapAppleLeavesBlock.java | 4 +- .../unicopia/block/zap/ElectrifiedBlock.java | 83 +++++++++++++++++++ .../block/zap/ElectrifiedFenceBlock.java | 43 ++++++++++ .../block/zap/ElectrifiedFenceGateBlock.java | 45 ++++++++++ .../unicopia/block/zap/ZapAppleLogBlock.java | 20 ++--- .../unicopia/block/zap/ZapBlock.java | 43 +--------- .../unicopia/block/zap/ZapSlabBlock.java | 6 +- .../unicopia/blockstates/waxed_zap_fence.json | 48 +++++++++++ .../blockstates/waxed_zap_fence_gate.json | 80 ++++++++++++++++++ .../unicopia/blockstates/zap_fence.json | 48 +++++++++++ .../unicopia/blockstates/zap_fence_gate.json | 80 ++++++++++++++++++ .../resources/assets/unicopia/lang/en_us.json | 4 + .../unicopia/models/block/zap_fence_gate.json | 6 ++ .../models/block/zap_fence_gate_open.json | 6 ++ .../models/block/zap_fence_gate_wall.json | 6 ++ .../block/zap_fence_gate_wall_open.json | 6 ++ .../models/block/zap_fence_inventory.json | 6 ++ .../unicopia/models/block/zap_fence_post.json | 6 ++ .../unicopia/models/block/zap_fence_side.json | 6 ++ .../unicopia/models/item/waxed_zap_fence.json | 3 + .../models/item/waxed_zap_fence_gate.json | 3 + .../unicopia/models/item/zap_fence.json | 3 + .../unicopia/models/item/zap_fence_gate.json | 3 + .../tags/blocks/wooden_fence_gates.json | 4 +- .../minecraft/tags/blocks/wooden_fences.json | 4 +- .../minecraft/tags/items/fence_gates.json | 4 +- .../minecraft/tags/items/wooden_fences.json | 4 +- .../loot_tables/blocks/waxed_zap_fence.json | 20 +++++ .../blocks/waxed_zap_fence_gate.json | 20 +++++ .../loot_tables/blocks/zap_fence.json | 20 +++++ .../loot_tables/blocks/zap_fence_gate.json | 20 +++++ .../unicopia/recipes/waxed_zap_fence.json | 8 ++ .../recipes/waxed_zap_fence_gate.json | 8 ++ .../data/unicopia/recipes/zap_fence.json | 20 +++++ .../data/unicopia/recipes/zap_fence_gate.json | 19 +++++ .../tags/items/groups/earth_pony.json | 10 +++ 38 files changed, 682 insertions(+), 74 deletions(-) create mode 100644 src/main/java/com/minelittlepony/unicopia/block/zap/ElectrifiedBlock.java create mode 100644 src/main/java/com/minelittlepony/unicopia/block/zap/ElectrifiedFenceBlock.java create mode 100644 src/main/java/com/minelittlepony/unicopia/block/zap/ElectrifiedFenceGateBlock.java create mode 100644 src/main/resources/assets/unicopia/blockstates/waxed_zap_fence.json create mode 100644 src/main/resources/assets/unicopia/blockstates/waxed_zap_fence_gate.json create mode 100644 src/main/resources/assets/unicopia/blockstates/zap_fence.json create mode 100644 src/main/resources/assets/unicopia/blockstates/zap_fence_gate.json create mode 100644 src/main/resources/assets/unicopia/models/block/zap_fence_gate.json create mode 100644 src/main/resources/assets/unicopia/models/block/zap_fence_gate_open.json create mode 100644 src/main/resources/assets/unicopia/models/block/zap_fence_gate_wall.json create mode 100644 src/main/resources/assets/unicopia/models/block/zap_fence_gate_wall_open.json create mode 100644 src/main/resources/assets/unicopia/models/block/zap_fence_inventory.json create mode 100644 src/main/resources/assets/unicopia/models/block/zap_fence_post.json create mode 100644 src/main/resources/assets/unicopia/models/block/zap_fence_side.json create mode 100644 src/main/resources/assets/unicopia/models/item/waxed_zap_fence.json create mode 100644 src/main/resources/assets/unicopia/models/item/waxed_zap_fence_gate.json create mode 100644 src/main/resources/assets/unicopia/models/item/zap_fence.json create mode 100644 src/main/resources/assets/unicopia/models/item/zap_fence_gate.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_fence.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_fence_gate.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/zap_fence.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/zap_fence_gate.json create mode 100644 src/main/resources/data/unicopia/recipes/waxed_zap_fence.json create mode 100644 src/main/resources/data/unicopia/recipes/waxed_zap_fence_gate.json create mode 100644 src/main/resources/data/unicopia/recipes/zap_fence.json create mode 100644 src/main/resources/data/unicopia/recipes/zap_fence_gate.json diff --git a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java index a19d2e39..88a019c3 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java +++ b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java @@ -22,6 +22,8 @@ import com.minelittlepony.unicopia.block.cloud.SoggyCloudSlabBlock; import com.minelittlepony.unicopia.block.cloud.SoggyCloudStairsBlock; import com.minelittlepony.unicopia.block.cloud.UnstableCloudBlock; import com.minelittlepony.unicopia.block.zap.BaseZapAppleLeavesBlock; +import com.minelittlepony.unicopia.block.zap.ElectrifiedFenceBlock; +import com.minelittlepony.unicopia.block.zap.ElectrifiedFenceGateBlock; import com.minelittlepony.unicopia.block.zap.ZapAppleLeavesBlock; import com.minelittlepony.unicopia.block.zap.ZapAppleLeavesPlaceholderBlock; import com.minelittlepony.unicopia.block.zap.ZapAppleLogBlock; @@ -67,10 +69,10 @@ public interface UBlocks { Block FROSTED_OBSIDIAN = register("frosted_obsidian", new FrostedObsidianBlock(FabricBlockSettings.copy(Blocks.OBSIDIAN).ticksRandomly())); - Block ZAP_LOG = register("zap_log", new ZapAppleLogBlock(Blocks.OAK_LOG, UMapColors.ZAP_LOG_END, UMapColors.ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); - Block ZAP_WOOD = register("zap_wood", new ZapAppleLogBlock(Blocks.OAK_WOOD, UMapColors.ZAP_LOG_SIDE, UMapColors.ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); - Block STRIPPED_ZAP_LOG = register("stripped_zap_log", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_LOG, UMapColors.ZAP_LOG_END, UMapColors.STRIPPED_ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); - Block STRIPPED_ZAP_WOOD = register("stripped_zap_wood", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_WOOD, UMapColors.STRIPPED_ZAP_LOG_SIDE, UMapColors.STRIPPED_ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); + Block ZAP_LOG = register("zap_log", new ZapAppleLogBlock(Blocks.OAK_LOG.getDefaultState(), UMapColors.ZAP_LOG_END, UMapColors.ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); + Block ZAP_WOOD = register("zap_wood", new ZapAppleLogBlock(Blocks.OAK_WOOD.getDefaultState(), UMapColors.ZAP_LOG_SIDE, UMapColors.ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); + Block STRIPPED_ZAP_LOG = register("stripped_zap_log", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_LOG.getDefaultState(), UMapColors.ZAP_LOG_END, UMapColors.STRIPPED_ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); + Block STRIPPED_ZAP_WOOD = register("stripped_zap_wood", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_WOOD.getDefaultState(), UMapColors.STRIPPED_ZAP_LOG_SIDE, UMapColors.STRIPPED_ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); Block WAXED_ZAP_LOG = register("waxed_zap_log", BlockConstructionUtils.createLogBlock(UMapColors.ZAP_LOG_END, UMapColors.ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); Block WAXED_ZAP_WOOD = register("waxed_zap_wood", BlockConstructionUtils.createLogBlock(UMapColors.ZAP_LOG_SIDE, UMapColors.ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS); @@ -80,10 +82,14 @@ public interface UBlocks { Block ZAP_PLANKS = register("zap_planks", new ZapBlock(Settings.create().mapColor(UMapColors.ZAP_PLANKS).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); Block ZAP_STAIRS = register("zap_stairs", new ZapStairsBlock(ZAP_PLANKS.getDefaultState(), Settings.copy(ZAP_PLANKS).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); Block ZAP_SLAB = register("zap_slab", new ZapSlabBlock(Settings.create().mapColor(ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); + Block ZAP_FENCE = register("zap_fence", new ElectrifiedFenceBlock(Settings.create().mapColor(ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); + Block ZAP_FENCE_GATE = register("zap_fence_gate", new ElectrifiedFenceGateBlock(Settings.create().mapColor(ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL), UWoodTypes.ZAP), ItemGroups.BUILDING_BLOCKS); Block WAXED_ZAP_PLANKS = register("waxed_zap_planks", new Block(Settings.create().mapColor(UMapColors.ZAP_PLANKS).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); Block WAXED_ZAP_STAIRS = register("waxed_zap_stairs", new StairsBlock(WAXED_ZAP_PLANKS.getDefaultState(), Settings.copy(WAXED_ZAP_PLANKS).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); - Block WAXED_ZAP_SLAB = register("waxed_zap_slab", new ZapSlabBlock(Settings.create().mapColor(WAXED_ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); + Block WAXED_ZAP_SLAB = register("waxed_zap_slab", new SlabBlock(Settings.create().mapColor(WAXED_ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); + Block WAXED_ZAP_FENCE = register("waxed_zap_fence", new FenceBlock(Settings.create().mapColor(WAXED_ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); + Block WAXED_ZAP_FENCE_GATE = register("waxed_zap_fence_gate", new FenceGateBlock(Settings.create().mapColor(WAXED_ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL), UWoodTypes.ZAP), ItemGroups.BUILDING_BLOCKS); Block ZAP_LEAVES = register("zap_leaves", new ZapAppleLeavesBlock(), ItemGroups.NATURAL); Block FLOWERING_ZAP_LEAVES = register("flowering_zap_leaves", new BaseZapAppleLeavesBlock(), ItemGroups.NATURAL); @@ -103,7 +109,7 @@ public interface UBlocks { Block PALM_FENCE_GATE = register("palm_fence_gate", new FenceGateBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL), UWoodTypes.PALM), ItemGroups.BUILDING_BLOCKS); Block PALM_DOOR = register("palm_door", new DoorBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).instrument(Instrument.BASS).strength(3.0f).nonOpaque().burnable().pistonBehavior(PistonBehavior.DESTROY), UWoodTypes.PALM.setType()), ItemGroups.FUNCTIONAL); Block PALM_TRAPDOOR = register("palm_trapdoor", new TrapdoorBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).instrument(Instrument.BASS).strength(3).nonOpaque().allowsSpawning(BlockConstructionUtils::never).burnable(), UWoodTypes.PALM.setType()), ItemGroups.FUNCTIONAL); - Block PALM_PRESSURE_PLATE = register("palm_pressure_plate", new PressurePlateBlock(PressurePlateBlock.ActivationRule.EVERYTHING, Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).noCollision().strength(0.5f).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.DESTROY), BlockSetType.OAK), ItemGroups.BUILDING_BLOCKS); + Block PALM_PRESSURE_PLATE = register("palm_pressure_plate", new PressurePlateBlock(PressurePlateBlock.ActivationRule.EVERYTHING, Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).noCollision().strength(0.5f).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.DESTROY), UWoodTypes.PALM.setType()), ItemGroups.BUILDING_BLOCKS); Block PALM_BUTTON = register("palm_button", BlockConstructionUtils.woodenButton(), ItemGroups.BUILDING_BLOCKS); Block PALM_SIGN = register("palm_sign", new SignBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).solid().instrument(Instrument.BASS).noCollision().strength(1).burnable().sounds(BlockSoundGroup.WOOD), UWoodTypes.PALM), ItemGroups.FUNCTIONAL); Block PALM_WALL_SIGN = register("palm_wall_sign", new WallSignBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).solid().instrument(Instrument.BASS).noCollision().strength(1).dropsLike(PALM_SIGN).burnable(), UWoodTypes.PALM)); @@ -295,6 +301,8 @@ public interface UBlocks { OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_PLANKS, WAXED_ZAP_PLANKS); OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_STAIRS, WAXED_ZAP_STAIRS); OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_SLAB, WAXED_ZAP_SLAB); + OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_FENCE, WAXED_ZAP_FENCE); + OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_FENCE_GATE, WAXED_ZAP_FENCE_GATE); Collections.addAll(TRANSLUCENT_BLOCKS, WEATHER_VANE, CHITIN_SPIKES, PLUNDER_VINE, PLUNDER_VINE_BUD, CLAM_SHELL, SCALLOP_SHELL, TURRET_SHELL, CURING_JOKE, SPECTRAL_FIRE); TintedBlock.REGISTRY.add(PALM_LEAVES); @@ -303,14 +311,22 @@ public interface UBlocks { FlammableBlockRegistry.getDefaultInstance().add(SOUR_APPLE_LEAVES, 30, 60); FlammableBlockRegistry.getDefaultInstance().add(GOLDEN_OAK_LEAVES, 60, 120); FlammableBlockRegistry.getDefaultInstance().add(MANGO_LEAVES, 30, 60); - FlammableBlockRegistry.getDefaultInstance().add(PALM_LEAVES, 30, 60); - FlammableBlockRegistry.getDefaultInstance().add(PALM_LOG, 5, 5); - FlammableBlockRegistry.getDefaultInstance().add(PALM_WOOD, 5, 5); + FlammableBlockRegistry.getDefaultInstance().add(GOLDEN_OAK_LOG, 15, 15); + + FlammableBlockRegistry.getDefaultInstance().add(PALM_PLANKS, 5, 20); + FlammableBlockRegistry.getDefaultInstance().add(PALM_SLAB, 5, 20); + FlammableBlockRegistry.getDefaultInstance().add(PALM_FENCE_GATE, 5, 20); + FlammableBlockRegistry.getDefaultInstance().add(PALM_FENCE, 5, 20); + FlammableBlockRegistry.getDefaultInstance().add(PALM_STAIRS, 5, 20); + FlammableBlockRegistry.getDefaultInstance().add(PALM_LOG, 5, 5); FlammableBlockRegistry.getDefaultInstance().add(STRIPPED_PALM_LOG, 5, 5); FlammableBlockRegistry.getDefaultInstance().add(STRIPPED_PALM_WOOD, 5, 5); - FlammableBlockRegistry.getDefaultInstance().add(PALM_PLANKS, 5, 20); + FlammableBlockRegistry.getDefaultInstance().add(PALM_WOOD, 5, 5); + FlammableBlockRegistry.getDefaultInstance().add(PALM_LEAVES, 30, 60); + FlammableBlockRegistry.getDefaultInstance().add(BANANAS, 5, 20); + FlammableBlockRegistry.getDefaultInstance().add(CURING_JOKE, 60, 100); UBlockEntities.bootstrap(); EdibleBlock.bootstrap(); diff --git a/src/main/java/com/minelittlepony/unicopia/block/UWoodTypes.java b/src/main/java/com/minelittlepony/unicopia/block/UWoodTypes.java index 5f76ed97..21c3217e 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/UWoodTypes.java +++ b/src/main/java/com/minelittlepony/unicopia/block/UWoodTypes.java @@ -15,6 +15,7 @@ import net.minecraft.util.Identifier; public interface UWoodTypes { WoodType PALM = register("palm"); + WoodType ZAP = register("zap"); WoodType GOLDEN_OAK = register("golden_oak"); RegistryKey PALM_BOAT_TYPE = TerraformBoatTypeRegistry.createKey(Unicopia.id("palm")); diff --git a/src/main/java/com/minelittlepony/unicopia/block/zap/BaseZapAppleLeavesBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/BaseZapAppleLeavesBlock.java index 093f9270..94e82888 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/zap/BaseZapAppleLeavesBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/BaseZapAppleLeavesBlock.java @@ -16,7 +16,7 @@ import net.minecraft.util.math.*; import net.minecraft.util.math.random.Random; import net.minecraft.world.*; -public class BaseZapAppleLeavesBlock extends LeavesBlock implements TintedBlock, ZapStagedBlock { +public class BaseZapAppleLeavesBlock extends LeavesBlock implements TintedBlock, ZapStagedBlock, ElectrifiedBlock { public BaseZapAppleLeavesBlock() { super(Settings.create() @@ -80,7 +80,7 @@ public class BaseZapAppleLeavesBlock extends LeavesBlock implements TintedBlock, @Override public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) { - ZapBlock.triggerLightning(state, world, pos, player); + triggerLightning(state, world, pos); } @Override diff --git a/src/main/java/com/minelittlepony/unicopia/block/zap/ElectrifiedBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ElectrifiedBlock.java new file mode 100644 index 00000000..bba75e5b --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ElectrifiedBlock.java @@ -0,0 +1,83 @@ +package com.minelittlepony.unicopia.block.zap; + +import java.util.Optional; + +import com.minelittlepony.unicopia.entity.player.Pony; +import com.minelittlepony.unicopia.particle.LightningBoltParticleEffect; +import com.minelittlepony.unicopia.particle.ParticleUtils; + +import net.minecraft.block.BlockState; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityType; +import net.minecraft.entity.ItemEntity; +import net.minecraft.entity.LightningEntity; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.server.world.ServerWorld; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Box; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.Vec3d; +import net.minecraft.util.math.random.Random; +import net.minecraft.world.World; +import net.minecraft.world.event.GameEvent; + +public interface ElectrifiedBlock { + + default void spawnElectricalParticles(World world, BlockPos pos, Random random) { + world.addParticle(new LightningBoltParticleEffect(true, 10, 1, 0.6F, Optional.empty()), + pos.getX() + 0.5, + pos.getY() + 0.5, + pos.getZ() + 0.5, + 0, 0, 0 + ); + } + + default float getBlockBreakingDelta(float delta, PlayerEntity player) { + if (Pony.of(player).getCompositeRace().canUseEarth()) { + delta *= 50; + } + + return MathHelper.clamp(delta, 0, 0.9F); + } + + default void triggerLightning(BlockState state, World world, BlockPos pos) { + Vec3d center = pos.toCenterPos(); + if (world instanceof ServerWorld serverWorld) { + LightningEntity lightning = EntityType.LIGHTNING_BOLT.create(world); + world.getOtherEntities(null, Box.from(center).expand(7)).forEach(entity -> { + shockEntity(serverWorld, center, lightning, entity); + }); + } + world.emitGameEvent(GameEvent.LIGHTNING_STRIKE, pos, GameEvent.Emitter.of(state)); + ParticleUtils.spawnParticle(world, LightningBoltParticleEffect.DEFAULT, center, Vec3d.ZERO); + } + + default void triggerLightning(BlockState state, World world, BlockPos pos, LivingEntity entity, boolean knockBack) { + Vec3d center = pos.toCenterPos(); + if (world instanceof ServerWorld serverWorld) { + shockEntity(serverWorld, center, EntityType.LIGHTNING_BOLT.create(world), entity); + } + if (knockBack) { + Vec3d offset = center.subtract(entity.getPos()); + entity.takeKnockback(0.8, offset.x, offset.z); + } + world.emitGameEvent(GameEvent.LIGHTNING_STRIKE, pos, GameEvent.Emitter.of(state)); + ParticleUtils.spawnParticle(world, LightningBoltParticleEffect.DEFAULT, center, Vec3d.ZERO); + } + + private static void shockEntity(ServerWorld serverWorld, Vec3d center, LightningEntity lightning, Entity entity) { + if (entity instanceof ItemEntity) { + return; + } + float dist = (float)entity.getPos().distanceTo(center); + if (dist < 4) { + entity.onStruckByLightning(serverWorld, EntityType.LIGHTNING_BOLT.create(serverWorld)); + } else { + float damage = 3 / dist; + if (damage > 1) { + entity.damage(entity.getDamageSources().lightningBolt(), damage); + } + } + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/block/zap/ElectrifiedFenceBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ElectrifiedFenceBlock.java new file mode 100644 index 00000000..0130ea35 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ElectrifiedFenceBlock.java @@ -0,0 +1,43 @@ +package com.minelittlepony.unicopia.block.zap; + +import net.minecraft.block.BlockState; +import net.minecraft.block.FenceBlock; +import net.minecraft.entity.Entity; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.random.Random; +import net.minecraft.world.BlockView; +import net.minecraft.world.World; + +public class ElectrifiedFenceBlock extends FenceBlock implements ElectrifiedBlock { + + public ElectrifiedFenceBlock(Settings settings) { + super(settings); + } + + @Override + public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random) { + super.randomDisplayTick(state, world, pos, random); + spawnElectricalParticles(world, pos, random); + } + + @Deprecated + @Override + public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) { + triggerLightning(state, world, pos); + } + + @Deprecated + @Override + public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) { + return getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player); + } + + @Override + public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity) { + if (entity instanceof LivingEntity l && l.hurtTime == 0 && l.canTakeDamage()) { + triggerLightning(state, world, pos, l, true); + } + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/block/zap/ElectrifiedFenceGateBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ElectrifiedFenceGateBlock.java new file mode 100644 index 00000000..89de9990 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ElectrifiedFenceGateBlock.java @@ -0,0 +1,45 @@ +package com.minelittlepony.unicopia.block.zap; + +import net.minecraft.block.BlockState; +import net.minecraft.block.FenceGateBlock; +import net.minecraft.block.WoodType; +import net.minecraft.entity.Entity; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.random.Random; +import net.minecraft.world.BlockView; +import net.minecraft.world.World; + +public class ElectrifiedFenceGateBlock extends FenceGateBlock implements ElectrifiedBlock { + public ElectrifiedFenceGateBlock(Settings settings, WoodType type) { + super(settings, type); + } + + @Override + public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random) { + super.randomDisplayTick(state, world, pos, random); + if (!state.get(OPEN)) { + spawnElectricalParticles(world, pos, random); + } + } + + @Deprecated + @Override + public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) { + triggerLightning(state, world, pos); + } + + @Deprecated + @Override + public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) { + return getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player); + } + + @Override + public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity) { + if (!state.get(OPEN) && entity instanceof LivingEntity l && l.hurtTime == 0 && l.canTakeDamage()) { + triggerLightning(state, world, pos, l, true); + } + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLogBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLogBlock.java index e0c117ff..fbe53ea9 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLogBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLogBlock.java @@ -1,7 +1,5 @@ package com.minelittlepony.unicopia.block.zap; -import com.minelittlepony.unicopia.entity.player.Pony; - import net.minecraft.block.*; import net.minecraft.block.enums.Instrument; import net.minecraft.entity.player.PlayerEntity; @@ -13,12 +11,12 @@ import net.minecraft.util.math.*; import net.minecraft.world.BlockView; import net.minecraft.world.World; -public class ZapAppleLogBlock extends PillarBlock { +public class ZapAppleLogBlock extends PillarBlock implements ElectrifiedBlock { public static final BooleanProperty NATURAL = BooleanProperty.of("natural"); - private final Block artifialModelBlock; + private final BlockState artifialModelBlock; - public ZapAppleLogBlock(Block artifialModelBlock, MapColor topMapColor, MapColor sideMapColor) { + public ZapAppleLogBlock(BlockState artifialModelBlock, MapColor topMapColor, MapColor sideMapColor) { super(AbstractBlock.Settings.create().mapColor( state -> state.get(PillarBlock.AXIS) == Direction.Axis.Y ? topMapColor : sideMapColor ) @@ -44,22 +42,16 @@ public class ZapAppleLogBlock extends PillarBlock { @Deprecated @Override public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) { - ZapBlock.triggerLightning(state, world, pos, player); + triggerLightning(state, world, pos); } @Deprecated @Override public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) { if (!state.get(NATURAL)) { - return artifialModelBlock.calcBlockBreakingDelta(artifialModelBlock.getDefaultState(), player, world, pos); + return artifialModelBlock.calcBlockBreakingDelta(player, world, pos); } - float delta = super.calcBlockBreakingDelta(state, player, world, pos); - - if (Pony.of(player).getCompositeRace().canUseEarth()) { - delta *= 50; - } - - return MathHelper.clamp(delta, 0, 0.9F); + return getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player); } } diff --git a/src/main/java/com/minelittlepony/unicopia/block/zap/ZapBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapBlock.java index 29ae5f9a..8208bfdc 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/zap/ZapBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapBlock.java @@ -1,20 +1,12 @@ package com.minelittlepony.unicopia.block.zap; -import com.minelittlepony.unicopia.entity.player.Pony; -import com.minelittlepony.unicopia.particle.LightningBoltParticleEffect; -import com.minelittlepony.unicopia.particle.ParticleUtils; import net.minecraft.block.*; -import net.minecraft.entity.EntityType; -import net.minecraft.entity.ItemEntity; -import net.minecraft.entity.LightningEntity; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.server.world.ServerWorld; import net.minecraft.util.math.*; import net.minecraft.world.BlockView; import net.minecraft.world.World; -import net.minecraft.world.event.GameEvent; -public class ZapBlock extends Block { +public class ZapBlock extends Block implements ElectrifiedBlock { public ZapBlock(Settings settings) { super(settings); } @@ -22,7 +14,7 @@ public class ZapBlock extends Block { @Deprecated @Override public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) { - triggerLightning(state, world, pos, player); + triggerLightning(state, world, pos); } @Deprecated @@ -30,35 +22,4 @@ public class ZapBlock extends Block { public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) { return getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player); } - - public static float getBlockBreakingDelta(float delta, PlayerEntity player) { - if (Pony.of(player).getCompositeRace().canUseEarth()) { - delta *= 50; - } - - return MathHelper.clamp(delta, 0, 0.9F); - } - - public static void triggerLightning(BlockState state, World world, BlockPos pos, PlayerEntity player) { - if (world instanceof ServerWorld serverWorld) { - Vec3d center = Vec3d.ofCenter(pos); - LightningEntity lightning = EntityType.LIGHTNING_BOLT.create(world); - world.getOtherEntities(null, Box.from(center).expand(7)).forEach(other -> { - if (other instanceof ItemEntity) { - return; - } - float dist = (float)other.getPos().distanceTo(center); - if (dist < 4) { - other.onStruckByLightning(serverWorld, lightning); - } else { - float damage = 3 / dist; - if (damage > 1) { - other.damage(world.getDamageSources().lightningBolt(), damage); - } - } - }); - } - world.emitGameEvent(GameEvent.LIGHTNING_STRIKE, pos, GameEvent.Emitter.of(state)); - ParticleUtils.spawnParticle(world, LightningBoltParticleEffect.DEFAULT, Vec3d.ofCenter(pos), Vec3d.ZERO); - } } diff --git a/src/main/java/com/minelittlepony/unicopia/block/zap/ZapSlabBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapSlabBlock.java index 535e9b5d..99a8f7d1 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/zap/ZapSlabBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapSlabBlock.java @@ -7,7 +7,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.BlockView; import net.minecraft.world.World; -public class ZapSlabBlock extends SlabBlock { +public class ZapSlabBlock extends SlabBlock implements ElectrifiedBlock { public ZapSlabBlock(Settings settings) { super(settings); } @@ -15,12 +15,12 @@ public class ZapSlabBlock extends SlabBlock { @Deprecated @Override public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) { - ZapBlock.triggerLightning(state, world, pos, player); + triggerLightning(state, world, pos); } @Deprecated @Override public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) { - return ZapBlock.getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player); + return getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player); } } diff --git a/src/main/resources/assets/unicopia/blockstates/waxed_zap_fence.json b/src/main/resources/assets/unicopia/blockstates/waxed_zap_fence.json new file mode 100644 index 00000000..0bd4ba9a --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/waxed_zap_fence.json @@ -0,0 +1,48 @@ +{ + "multipart": [ + { + "apply": { + "model": "unicopia:block/zap_fence_post" + } + }, + { + "apply": { + "model": "unicopia:block/zap_fence_side", + "uvlock": true + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "unicopia:block/zap_fence_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "unicopia:block/zap_fence_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "unicopia:block/zap_fence_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/blockstates/waxed_zap_fence_gate.json b/src/main/resources/assets/unicopia/blockstates/waxed_zap_fence_gate.json new file mode 100644 index 00000000..05fd9c83 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/waxed_zap_fence_gate.json @@ -0,0 +1,80 @@ +{ + "variants": { + "facing=east,in_wall=false,open=false": { + "model": "unicopia:block/zap_fence_gate", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=false,open=true": { + "model": "unicopia:block/zap_fence_gate_open", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=false": { + "model": "unicopia:block/zap_fence_gate_wall", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=true": { + "model": "unicopia:block/zap_fence_gate_wall_open", + "uvlock": true, + "y": 270 + }, + "facing=north,in_wall=false,open=false": { + "model": "unicopia:block/zap_fence_gate", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=false,open=true": { + "model": "unicopia:block/zap_fence_gate_open", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=false": { + "model": "unicopia:block/zap_fence_gate_wall", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=true": { + "model": "unicopia:block/zap_fence_gate_wall_open", + "uvlock": true, + "y": 180 + }, + "facing=south,in_wall=false,open=false": { + "model": "unicopia:block/zap_fence_gate", + "uvlock": true + }, + "facing=south,in_wall=false,open=true": { + "model": "unicopia:block/zap_fence_gate_open", + "uvlock": true + }, + "facing=south,in_wall=true,open=false": { + "model": "unicopia:block/zap_fence_gate_wall", + "uvlock": true + }, + "facing=south,in_wall=true,open=true": { + "model": "unicopia:block/zap_fence_gate_wall_open", + "uvlock": true + }, + "facing=west,in_wall=false,open=false": { + "model": "unicopia:block/zap_fence_gate", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=false,open=true": { + "model": "unicopia:block/zap_fence_gate_open", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=false": { + "model": "unicopia:block/zap_fence_gate_wall", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=true": { + "model": "unicopia:block/zap_fence_gate_wall_open", + "uvlock": true, + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/blockstates/zap_fence.json b/src/main/resources/assets/unicopia/blockstates/zap_fence.json new file mode 100644 index 00000000..0bd4ba9a --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/zap_fence.json @@ -0,0 +1,48 @@ +{ + "multipart": [ + { + "apply": { + "model": "unicopia:block/zap_fence_post" + } + }, + { + "apply": { + "model": "unicopia:block/zap_fence_side", + "uvlock": true + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "unicopia:block/zap_fence_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "unicopia:block/zap_fence_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "unicopia:block/zap_fence_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/blockstates/zap_fence_gate.json b/src/main/resources/assets/unicopia/blockstates/zap_fence_gate.json new file mode 100644 index 00000000..05fd9c83 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/zap_fence_gate.json @@ -0,0 +1,80 @@ +{ + "variants": { + "facing=east,in_wall=false,open=false": { + "model": "unicopia:block/zap_fence_gate", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=false,open=true": { + "model": "unicopia:block/zap_fence_gate_open", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=false": { + "model": "unicopia:block/zap_fence_gate_wall", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=true": { + "model": "unicopia:block/zap_fence_gate_wall_open", + "uvlock": true, + "y": 270 + }, + "facing=north,in_wall=false,open=false": { + "model": "unicopia:block/zap_fence_gate", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=false,open=true": { + "model": "unicopia:block/zap_fence_gate_open", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=false": { + "model": "unicopia:block/zap_fence_gate_wall", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=true": { + "model": "unicopia:block/zap_fence_gate_wall_open", + "uvlock": true, + "y": 180 + }, + "facing=south,in_wall=false,open=false": { + "model": "unicopia:block/zap_fence_gate", + "uvlock": true + }, + "facing=south,in_wall=false,open=true": { + "model": "unicopia:block/zap_fence_gate_open", + "uvlock": true + }, + "facing=south,in_wall=true,open=false": { + "model": "unicopia:block/zap_fence_gate_wall", + "uvlock": true + }, + "facing=south,in_wall=true,open=true": { + "model": "unicopia:block/zap_fence_gate_wall_open", + "uvlock": true + }, + "facing=west,in_wall=false,open=false": { + "model": "unicopia:block/zap_fence_gate", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=false,open=true": { + "model": "unicopia:block/zap_fence_gate_open", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=false": { + "model": "unicopia:block/zap_fence_gate_wall", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=true": { + "model": "unicopia:block/zap_fence_gate_wall_open", + "uvlock": true, + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index 9bf87f93..c55ccb5b 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -235,6 +235,8 @@ "block.unicopia.zap_planks": "Zap Apple Planks", "block.unicopia.zap_stairs": "Zap Apple Stairs", "block.unicopia.zap_slab": "Zap Apple Slab", + "block.unicopia.zap_fence": "Zap Apple Fence", + "block.unicopia.zap_fence_gate": "Zap Apple Fence Gate", "block.unicopia.waxed_zap_log": "Waxed Zap Apple Log", "block.unicopia.waxed_zap_wood": "Waxed Zap Apple Wood", "block.unicopia.waxed_stripped_zap_log": "Waxed Stripped Zap Apple Log", @@ -242,6 +244,8 @@ "block.unicopia.waxed_zap_planks": "Waxed Zap Apple Planks", "block.unicopia.waxed_zap_stairs": "Waxed Zap Apple Stairs", "block.unicopia.waxed_zap_slab": "Waxed Zap Apple Slab", + "block.unicopia.waxed_zap_fence": "Waxed Zap Apple Fence", + "block.unicopia.waxed_zap_fence_gate": "Waxed Zap Apple Fence Gate", "block.unicopia.zap_leaves": "Zap Apple Leaves", "block.unicopia.flowering_zap_leaves": "Flowering Zap Apple Leaves", "block.unicopia.zap_apple": "Zap Apple", diff --git a/src/main/resources/assets/unicopia/models/block/zap_fence_gate.json b/src/main/resources/assets/unicopia/models/block/zap_fence_gate.json new file mode 100644 index 00000000..0a8e8157 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_fence_gate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate", + "textures": { + "texture": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_fence_gate_open.json b/src/main/resources/assets/unicopia/models/block/zap_fence_gate_open.json new file mode 100644 index 00000000..b528c103 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_fence_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate_open", + "textures": { + "texture": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_fence_gate_wall.json b/src/main/resources/assets/unicopia/models/block/zap_fence_gate_wall.json new file mode 100644 index 00000000..7a4b18ff --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_fence_gate_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate_wall", + "textures": { + "texture": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_fence_gate_wall_open.json b/src/main/resources/assets/unicopia/models/block/zap_fence_gate_wall_open.json new file mode 100644 index 00000000..594f73d1 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_fence_gate_wall_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate_wall_open", + "textures": { + "texture": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_fence_inventory.json b/src/main/resources/assets/unicopia/models/block/zap_fence_inventory.json new file mode 100644 index 00000000..4972bdf0 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_fence_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/fence_inventory", + "textures": { + "texture": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_fence_post.json b/src/main/resources/assets/unicopia/models/block/zap_fence_post.json new file mode 100644 index 00000000..19a87f0a --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_fence_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/fence_post", + "textures": { + "texture": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_fence_side.json b/src/main/resources/assets/unicopia/models/block/zap_fence_side.json new file mode 100644 index 00000000..b6d72a37 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_fence_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/fence_side", + "textures": { + "texture": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/waxed_zap_fence.json b/src/main/resources/assets/unicopia/models/item/waxed_zap_fence.json new file mode 100644 index 00000000..c3ae00eb --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/waxed_zap_fence.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_fence_inventory" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/waxed_zap_fence_gate.json b/src/main/resources/assets/unicopia/models/item/waxed_zap_fence_gate.json new file mode 100644 index 00000000..cb3f2d6c --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/waxed_zap_fence_gate.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_fence_gate" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/zap_fence.json b/src/main/resources/assets/unicopia/models/item/zap_fence.json new file mode 100644 index 00000000..c3ae00eb --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/zap_fence.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_fence_inventory" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/zap_fence_gate.json b/src/main/resources/assets/unicopia/models/item/zap_fence_gate.json new file mode 100644 index 00000000..cb3f2d6c --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/zap_fence_gate.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_fence_gate" +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/wooden_fence_gates.json b/src/main/resources/data/minecraft/tags/blocks/wooden_fence_gates.json index 5f15d1cf..234e65f0 100644 --- a/src/main/resources/data/minecraft/tags/blocks/wooden_fence_gates.json +++ b/src/main/resources/data/minecraft/tags/blocks/wooden_fence_gates.json @@ -1,6 +1,8 @@ { "replace": false, "values": [ - "unicopia:palm_fence_gate" + "unicopia:palm_fence_gate", + "unicopia:zap_fence_gate", + "unicopia:waxed_zap_fence_gate" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/wooden_fences.json b/src/main/resources/data/minecraft/tags/blocks/wooden_fences.json index cc21b278..e5c89b87 100644 --- a/src/main/resources/data/minecraft/tags/blocks/wooden_fences.json +++ b/src/main/resources/data/minecraft/tags/blocks/wooden_fences.json @@ -1,6 +1,8 @@ { "replace": false, "values": [ - "unicopia:palm_fence" + "unicopia:palm_fence", + "unicopia:zap_fence", + "unicopia:waxed_zap_fence" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/items/fence_gates.json b/src/main/resources/data/minecraft/tags/items/fence_gates.json index 5f15d1cf..234e65f0 100644 --- a/src/main/resources/data/minecraft/tags/items/fence_gates.json +++ b/src/main/resources/data/minecraft/tags/items/fence_gates.json @@ -1,6 +1,8 @@ { "replace": false, "values": [ - "unicopia:palm_fence_gate" + "unicopia:palm_fence_gate", + "unicopia:zap_fence_gate", + "unicopia:waxed_zap_fence_gate" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/items/wooden_fences.json b/src/main/resources/data/minecraft/tags/items/wooden_fences.json index cc21b278..e5c89b87 100644 --- a/src/main/resources/data/minecraft/tags/items/wooden_fences.json +++ b/src/main/resources/data/minecraft/tags/items/wooden_fences.json @@ -1,6 +1,8 @@ { "replace": false, "values": [ - "unicopia:palm_fence" + "unicopia:palm_fence", + "unicopia:zap_fence", + "unicopia:waxed_zap_fence" ] } \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_fence.json b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_fence.json new file mode 100644 index 00000000..d8f7aa05 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_fence.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:waxed_zap_fence" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_fence_gate.json b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_fence_gate.json new file mode 100644 index 00000000..035b8340 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_fence_gate.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:waxed_zap_fence_gate" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/zap_fence.json b/src/main/resources/data/unicopia/loot_tables/blocks/zap_fence.json new file mode 100644 index 00000000..ef403726 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/zap_fence.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:zap_fence" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/zap_fence_gate.json b/src/main/resources/data/unicopia/loot_tables/blocks/zap_fence_gate.json new file mode 100644 index 00000000..edec2cd1 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/zap_fence_gate.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:zap_fence_gate" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/recipes/waxed_zap_fence.json b/src/main/resources/data/unicopia/recipes/waxed_zap_fence.json new file mode 100644 index 00000000..d7656e59 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/waxed_zap_fence.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "unicopia:zap_fence" }, + { "item": "minecraft:honeycomb" } + ], + "result": { "item": "unicopia:waxed_zap_fence" } +} diff --git a/src/main/resources/data/unicopia/recipes/waxed_zap_fence_gate.json b/src/main/resources/data/unicopia/recipes/waxed_zap_fence_gate.json new file mode 100644 index 00000000..d345c274 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/waxed_zap_fence_gate.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "unicopia:zap_fence_gate" }, + { "item": "minecraft:honeycomb" } + ], + "result": { "item": "unicopia:waxed_zap_fence_gate" } +} diff --git a/src/main/resources/data/unicopia/recipes/zap_fence.json b/src/main/resources/data/unicopia/recipes/zap_fence.json new file mode 100644 index 00000000..78767a33 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/zap_fence.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "wooden_fence", + "key": { + "#": { + "item": "minecraft:stick" + }, + "W": { + "item": "unicopia:zap_planks" + } + }, + "pattern": [ + "W#W", + "W#W" + ], + "result": { + "count": 3, + "item": "unicopia:zap_fence" + } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/recipes/zap_fence_gate.json b/src/main/resources/data/unicopia/recipes/zap_fence_gate.json new file mode 100644 index 00000000..af0711f9 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/zap_fence_gate.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "wooden_fence_gate", + "key": { + "#": { + "item": "minecraft:stick" + }, + "W": { + "item": "unicopia:zap_planks" + } + }, + "pattern": [ + "#W#", + "#W#" + ], + "result": { + "item": "unicopia:zap_fence_gate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/tags/items/groups/earth_pony.json b/src/main/resources/data/unicopia/tags/items/groups/earth_pony.json index 62d3e0a6..618a0532 100644 --- a/src/main/resources/data/unicopia/tags/items/groups/earth_pony.json +++ b/src/main/resources/data/unicopia/tags/items/groups/earth_pony.json @@ -10,10 +10,20 @@ "unicopia:zap_wood", "unicopia:stripped_zap_log", "unicopia:stripped_zap_wood", + "unicopia:zap_planks", + "unicopia:zap_stairs", + "unicopia:zap_slab", + "unicopia:zap_fence", + "unicopia:zap_fence_gate", "unicopia:waxed_zap_log", "unicopia:waxed_zap_wood", "unicopia:waxed_stripped_zap_log", "unicopia:waxed_stripped_zap_wood", + "unicopia:waxed_zap_planks", + "unicopia:waxed_zap_stairs", + "unicopia:waxed_zap_slab", + "unicopia:waxed_zap_fence", + "unicopia:waxed_zap_fence_gate", "unicopia:candied_apple", "unicopia:stable_door", "unicopia:dark_oak_stable_door",