While I was testing the generic structures, it occurred to me that Floater has a lot of blocks with data values that MAKE NO SENSE. Nether_brick-5, lots of endstone frames, glass_pane-5, etc. And an enchanting table shouldn't be using a data value at all (plus it just annoys me to have a free enchanting table lying about pointlessly). I looked back in the 1.6.2 version, and it makes just as little sense there, but I can't help but wonder whether some sort of mix-up was made with some of the block IDs somehow.
EDIT: I just want to clarify that this isn't meant to be some sort of rant. This structure has been this way for a LONG time, and I don't even know who made it, let alone who took the time to convert it across the various versions of Ruins. And even though I sometimes gripe about this structure, more than once it has been a useful platform for our multiplayer games for someone to set up an on-the-water base of operations, and then to start expanding from there, without the worry of being mobbed by monsters at the first nightfall. (On multiplayer servers, you can't take for granted that just because you have a bed, everyone else is going to hit the bed promptly as well so we can fast-forward through the monsterriffic nighttime.)
I found that oak stairs correspond nicely to the facing of the endstone frames, and the "nether_brick-5" (which appears at the "gate" or "entrance") would make more sense aligned as wall signs, among other things.
Here's my attempt at a fix for 1.9, taking my own wild guesses about what some of the blocks are "supposed" to be. Another Revision: I slightly modified it to replace "oak_stairs" with "jungle_stairs" in order to better match the jungle slabs comprising the rooftop.
Anyone have an idea of how to allow the new Chain Command Blocks and Repeat Command Blocks work? When I /parse the in-game ruin, the Impulse/Normal Command Blocks work as they would normally, but the new command blocks don't save they're commands, just the new configurations (facing, needs redstone/always active, conditional/unconditional).
I think I might be able to use the "teblock" variable to add the proper NBT data, but I'm not sure.
Rollback Post to RevisionRollBack
Remember: You are unique... Just like everyone else
A wise man once told me, "Coding is 1% writing code and 99% figuring out why it didn't work."
Would this new update require us to download the new resources folder for chests to work? I've added several biome-specific ruins and would rather not need to recreate the folders.
All included templates have been mangled by so much automated changes i am surprised they still work most of the time
@Jake
That depends. If you have .tml files with broken ChestGenHook entries, those will simply not work. I suggest doing a simple "search in files" query for ChestGenHook and checking the files (it's something like 10-15 lines total, max) for using the "new" loot table entries.
All included templates have been mangled by so much automated changes i am surprised they still work most of the time
That is a good point. My group has been playing around with these Ruins at least since the original Hexxit pack, after all, and except for the required shift from numeric to named blocks, many of the Ruins designs were able to survive several major changes to Minecraft almost in their original form.
(Now, my own more complex creations involving Command Blocks and such -- they seem to be positively DOOMED to break down mightily with every new Minecraft release.)
I uploaded an update to my Dropbox with my attempt at "fixing" several of the generic and optional Ruins, just in case it's of any interest to anyone besides myself. In particular:
* For the Underwater Base, I found that the two top layers for some reason had lots of occurrences of "Air" ("rule" 0) where it should have really been water (rule9, I think, in this template's case). I suspect that in earlier iterations of Minecraft, the large area would just fill in naturally with the surrounding water, but it seems like in 1.9, big empty gaps in the water are staying as "air pockets" until I try placing a block immediately against the standing water and then breaking it (forcing a block update). My fix was just to manually fill in the water in the grid.
* For several structures that were marked "unique=1" in the templates, I changed it to variations on "uniqueMinDistance=3000" (or 5000 or 2000 or whatever I felt like that seemed like a suitably large number).
* For the SkyCastle, I removed the bottom-most layers that appeared to just be "padding" to force it to be up in the air, and instead just used a negative embed_into_distance value to force it upward. I also noticed that while in previous versions of Minecraft, the "gravel-and-sand" floor trap in the throne room would fall upon spawning, it seems to be standing now that I used the #7 placement key (i.e., "rulex=7,100,minecraft:sand") -- or at least in the one instance I found in my test world.
* For the OceanCastle, for some reason it was set to "preserveWater," which would have made placement a bit problematic, when the acceptable_target_blocks were set to "water." I did a bit of tweaking, and it appears to be successfully spawning as a sort of oceanic floating island.
* For various structures, I added "Natura:Cloud" to the list of UNacceptable_target_blocks. For installations where Natura is not included, this should have no effect. For installations where Natura IS included, this should prevent rocky outcroppings or underground dungeons from dangling from clouds conspicuously.
* In my copy of rotation_mappings.txt, I added "lit_furnace" to the rotation rules that included "furnace." It looks like "lit_furnace" is still legitimate in MC 1.9, and it just looks cool sometimes to have a house with a roaring furnace in it. (It stays lit until someone actually cooks something in it, or someone breaks the block, at which point it becomes a normal furnace.)
...
By the way, THANK YOU for the latest update to MC 1.9. This should make it a lot easier for me to deal with updating my treasure chests in my own structure creations.
(I'm still working my way through trying to get them all converted up to MC 1.9, along with properly testing them. It's the ones with the Command Blocks that are slowing me down -- no real surprise there, what with the changes to how Riding/Passengers, custom health settings, and mob equipment tags are handled.)
Update on my command block problem, for anyone interested:
Apparently, in order to get "teblock" to work, you must fill in every single piece of NBT data, including the coordinates that don't even matter. Now I do have the Chain Command Blocks functioning.
AtomicStryker, I love what you've done with this mod, and I understand that the code must be quite technical, but very truthfully, their needs to be a new way to handle Command Blocks in order to account more easily for the new versions and settings.
UPDATE: Apparently the old method doesn't properly track the facing value of Impulse Command Blocks. They always face north, meaning you probably need to add them to "teblock" too!
You mean you have a Ruins-1.7.10.jar? and a ruins_log.txt ?
Did
you make sure the resources folder got installed into the mods folder
as well? The fact you have a ruins_log.txt means that it has attempted
to spawn ruins.
But without a resources folder, it won't be able to find any ruins to spawn, therefore nothing will generate.
I have the resources folder too. But I don't really have a file directly called ruins.txt. I have explored a very large area and have found literally nothing. Could another mod be interfering, like the Better Dungeons mod?
So I tried the new version for 1.9 with the new chestgenhook, and it's all working great, every Ruin I manage to find that included a chest had loot inside Thank you for fixing that so quickly.
But... There seems to be a Big imbalance with the loot inside the chests. I don't know if it's a bug or intended, but some of the chests are spawning junk, nothing but rotten flesh and seeds, and others spawn such ridiculously over-powered things like break the balance in-game.
Examples: (Sorry I don't know the proper names for most of the ruins yet)
The Castle that spawns in fields and forests. The one that has 2 small wheat plots in the courtyard, a fire in the main entrance room with 1 block of lava and water either side. I set the configs so that ruins were spawning very frequently, so I managed to find 5 of these castles. They each have 3 chests, yet for a big high-end ruin, the chests contained, rotten flesh, wheat, seeds, apples and 1 or 2 soup bowls.
Same as the Zombie dungeons. The medium sized structures that have 3 small rooms either side, with 6 or 8 zombie spawners inside under half slabs, with 2 double chests in the end room. That can be quite a tough ruin, it easy to get overwhelmed, outnumbered and dead very quickly. Yet the chests again contain mostly rotten flesh and coal, I think once I saw an Iron hoe, but that was the best item out of nearly a dozen of these ruins I discovered.
But then on the opposite end of the spectrum.... The Floater! I found a few of these and OMG, the loot inside the chests was crazy! I had to attach some screenshots to show it. Inside 1 chest, 3 enchanted books... 1 of the books had "5" of the high-end enchantments on it, the other 2 books had 3 or 4 high-end enchantments. Then I checked the other chests and sure enough, tons more super enchanted books, weapons, diamonds... etc..
Anyway, thanks again for the really quick fix on the chests, but I thought I should mention this just in case as I'm sure it's a side-effect from the new chesthook.
Well I finally figured out why it wasn't working for me. It was because I was using Java 7 still. Java 8 isn't required for vanilla Minecraft but apparently some mods require it. As for why I was using Java 7 there used to be a bug where Java 8 wasn't compatible with Forge 1.7.2 or earlier. Don't know if they ever fixed it, I just kept using Java 7. As it is I just installed Java 1.8.0_90 without uninstalling the old Java install so I can use either one.
Update on my command block problem, for anyone interested:
Apparently, in order to get "teblock" to work, you must fill in every single piece of NBT data, including the coordinates that don't even matter. Now I do have the Chain Command Blocks functioning.
AtomicStryker, I love what you've done with this mod, and I understand that the code must be quite technical, but very truthfully, their needs to be a new way to handle Command Blocks in order to account more easily for the new versions and settings.
UPDATE: Apparently the old method doesn't properly track the facing value of Impulse Command Blocks. They always face north, meaning you probably need to add them to "teblock" too!
Can I get some assistance over here, please?
Exactly what is the problem? What do you want changed? What the heck are impulse command blocks?
Exactly what is the problem? What do you want changed? What the heck are impulse command blocks?
Didn't realize you were unfamiliar. Okay, so in 1.9 Command Blocks got changed in a few ways with new settings and modes: Modes:
----Impulse Command Blocks: These are the same as the old ones, and behave as they did normally with the addition of the new settings.
----Chain Command Blocks: All command blocks now point in a direction, which help with these. If a command block is pointing into a chain command block, the chain command block will attempt to run its command as well if it has power.
----Repeating Command Blocks: These have a built in clock, and try to run their command every tick as long as they have redstone power. Settings:
----Conditional: This command block will only execute its command if the one behind it successfully executed its command.
----Always Active: This command block no longer needs Redstone, behaving as though it were permanently powered.
All of these new settings are very helpful for condensing command block creations if you know how to use them. The issue is the template parser does not recognize the new modes because they are new blocks, and it doesn't store the new settings or the commands of these new blocks because they are NBT data. When generating them, they only retain information stored as metadata. As such, to use them effectively, they must be manually inserted into the ruins file as "teblock"s so that the proper NBT data can be added.
Rollback Post to RevisionRollBack
Remember: You are unique... Just like everyone else
A wise man once told me, "Coding is 1% writing code and 99% figuring out why it didn't work."
I have some ruins I'd like to disable, but I don't know the names of them. I have screenshots of them below.
Post 1: Image 1: Mausoleum
Post 1: Image 2: CastleModified
Post 1: Image 3: Outcrop
Post 1: Image 4: CastleModified
Post 1: Image 5: VolcanicVent
Post 2: Image 1: Altar
Post 2: Image 2: StoneHouseMruined
Post 1: Image 1: Mausoleum
Post 1: Image 2: CastleModified
Post 1: Image 3: Outcrop
Post 1: Image 4: CastleModified
Post 1: Image 5: VolcanicVent
Post 2: Image 1: Altar
Post 2: Image 2: StoneHouseMruined
Find anymore you don't want, just ask.
Thanks, I also want to disable some other ruins, but I don't have screenshots. The ones I want to disable are the ones that spawn a small bit of farmland with crops growing on it, and one that spawns a wooden barn structure.
Thanks, I also want to disable some other ruins, but I don't have screenshots. The ones I want to disable are the ones that spawn a small bit of farmland with crops growing on it, and one that spawns a wooden barn structure.
If the wooden barn structure has a cobble base, its Barn-intact. The farmland that grows wheat is TinyFarmField.
Rollback Post to RevisionRollBack
Remember: You are unique... Just like everyone else
A wise man once told me, "Coding is 1% writing code and 99% figuring out why it didn't work."
I have the resources folder too. But I don't really have a file directly called ruins.txt. I have explored a very large area and have found literally nothing. Could another mod be interfering, like the Better Dungeons mod?
Go into your game and try typing this in game:
/testruin generic/MoaiHead
If nothing happens, then your mod is outright not working. At this point, try to look at your console and see if there are any error messages.
If nothing happens, then your mod is outright not working. At this point, try to look at your console and see if there are any error messages.
Usually doing this, should spawn the statue.
And if your mod is not working right at this point, I would suggest
1) Make sure that your generic folder (found within the resources folder) is populated with Ruins to generate.
2) Ruins-1.7.10.jar, UpdateCheckerMod-1.7.10.jar are both in mod folder. Also, make sure the resources folder is also in the mod folder. (There are mods like Resource Loader (Sim-U-Kraft dependency) that have their own resource directory in the .minecraft folder instead of the mod folder.
3) Ruins.txt and Ruins_log.txt get generated when the mod runs. Ruins.txt is a global config file. If the mod isn't running, it doesn't generate. (Although it is odd that you have the Ruins_log.txt file and not the actual config file).
And if all of that checks out, then the next step would be to find if there are any conflicts. To do that, run this mod by itself (with none of the others). Eventually start adding mods in (creating new worlds every time) until you find a mod that causes the Ruins mod to not work. I will report that I've never had issues with any of the mods I've ran with it, but I'm sure I've not run every mod either.
Alright thanks for the help. I shouldn't find anymore ruins that I don't want spawning anymore, but if I do I'll come right back here.
No problem. It's kind of a pain to try to test every single ruin to see what you're looking for to disable it...
Lucky you I have a flat world where I already did it
Rollback Post to RevisionRollBack
Remember: You are unique... Just like everyone else
A wise man once told me, "Coding is 1% writing code and 99% figuring out why it didn't work."
While I was testing the generic structures, it occurred to me that Floater has a lot of blocks with data values that MAKE NO SENSE. Nether_brick-5, lots of endstone frames, glass_pane-5, etc. And an enchanting table shouldn't be using a data value at all (plus it just annoys me to have a free enchanting table lying about pointlessly). I looked back in the 1.6.2 version, and it makes just as little sense there, but I can't help but wonder whether some sort of mix-up was made with some of the block IDs somehow.
EDIT: I just want to clarify that this isn't meant to be some sort of rant. This structure has been this way for a LONG time, and I don't even know who made it, let alone who took the time to convert it across the various versions of Ruins. And even though I sometimes gripe about this structure, more than once it has been a useful platform for our multiplayer games for someone to set up an on-the-water base of operations, and then to start expanding from there, without the worry of being mobbed by monsters at the first nightfall. (On multiplayer servers, you can't take for granted that just because you have a bed, everyone else is going to hit the bed promptly as well so we can fast-forward through the monsterriffic nighttime.)
I found that oak stairs correspond nicely to the facing of the endstone frames, and the "nether_brick-5" (which appears at the "gate" or "entrance") would make more sense aligned as wall signs, among other things.
Here's my attempt at a fix for 1.9, taking my own wild guesses about what some of the blocks are "supposed" to be. Another Revision: I slightly modified it to replace "oak_stairs" with "jungle_stairs" in order to better match the jungle slabs comprising the rooftop.
# Floater
# Updated to MC 1.9: 21 Apr 2016
weight=1
uniqueMinDistance=5000
embed_into_distance=1
acceptable_target_blocks=water
dimensions=14,32,32
max_leveling=0
leveling_buffer=0
preserve_water=0
preserve_lava=0
preserve_plants=0
rule1=0,100,preserveBlock
rule2=0,100,planks-1
rule3=0,100,fence
rule4=0,100,ladder-3
rule5=0,100,wooden_slab-9
rule6=0,100,wooden_door-2
rule7=0,100,ChestGenHook:chests/stronghold_library:5-2
rule8=0,100,wooden_door-1
rule9=0,100,wall_sign-4
# Was originally "glass_pane-5" <-- invalid data value
rule10=0,100,stone_slab-5
# Furnace #2#1#1 spawns with 2 pieces of charcoal (DV 1) in bottom (slot 1).
rule11=0,100,IInventory;minecraft:lit_furnace;minecraft:coal#2#1#1-3
rule12=0,100,jungle_stairs-7
rule13=0,100,jungle_stairs-2
rule14=0,100,jungle_stairs
rule15=0,100,jungle_stairs-1
rule16=0,100,jungle_stairs-3
# Randomized lit pumpkin
rule17=0,100,lit_pumpkin-0,lit_pumpkin-1,lit_pumpkin-2,lit_pumpkin-3
rule18=0,100,glass
# Note: This was originally "enchanting_table-9" <-- invalid data value.
rule19=0,100,flower_pot-9
rule20=0,100,wooden_door-9
rule21=0,100,wooden_door-8
rule22=0,100,double_wooden_slab-3
rule23=0,100,wooden_slab-11
# Note: This was originally "nether_brick-5" <-- invalid data value
rule24=0,100,wall_sign-5
rule25=0,100,wooden_slab-3
rule26=0,100,bed
rule27=0,100,bed-8
# Note: Despite being spawned as "lit," these lamps will not actually be lit when encountered.
rule28=0,100,lit_redstone_lamp
rule29=0,100,lever-13
layer
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
1,1,1,1,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1
1,1,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1,1
1,1,1,1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,1
1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1
1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1
1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1
1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1
1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1
1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1
1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1
1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1
endlayer
layer
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,3,0,3,0,0,0,0,0,0,3,0,3,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0
0,0,0,0,0,3,3,0,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,3,3,0,0,0,0,0,0
0,0,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0
0,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0
0,0,0,3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0
0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0
0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0
0,0,0,3,0,0,0,0,0,0,0,0,0,0,3,0,0,3,0,0,3,0,0,3,0,0,0,3,0,0,0,0
0,0,0,3,0,0,16,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0
0,0,0,3,0,0,16,3,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0
0,0,0,3,0,0,16,15,13,0,0,0,0,0,0,0,0,0,0,0,3,0,0,3,0,3,0,3,0,0,0,0
0,0,0,3,0,0,0,0,0,0,0,0,0,0,2,5,5,2,0,0,0,0,0,0,0,0,0,3,0,0,0,0
0,0,0,3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,3,0,0,0,0
0,0,0,3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,3,0,0,0,0
0,0,0,3,0,0,0,0,0,0,0,0,0,2,7,0,0,0,2,0,0,0,0,0,0,0,0,3,0,0,0,0
0,0,0,3,0,2,5,5,0,2,0,0,0,0,2,6,6,2,0,0,0,0,0,0,0,0,0,3,0,0,0,0
0,0,0,3,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,3,0,0,0,0
0,0,0,3,0,2,7,0,0,0,11,2,0,0,0,0,0,0,0,0,3,3,3,3,0,0,0,3,0,0,0,0
0,0,0,3,0,2,7,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,4,2,0,0,0,3,0,0,0,0
0,0,0,3,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,4,2,0,0,0,3,0,0,0,0
0,0,0,3,0,0,0,2,0,9,9,9,8,0,0,0,0,0,0,0,3,3,3,3,0,0,0,3,0,0,0,0
0,0,0,3,3,0,0,0,2,12,10,10,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0
0,0,0,0,3,3,0,0,0,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0
0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0
0,0,0,0,0,0,3,3,3,3,3,3,0,0,0,0,0,0,0,3,3,3,3,3,3,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,3,3,3,0,0,0,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
endlayer
layer
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,17,0,17,0,0,0,0,0,0,17,0,17,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,17,0,0,3,0,0,3,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,3,0,3,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,17,2,0,19,2,17,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,2,0,0,0,2,0,0,0,17,2,21,20,2,17,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,18,0,0,0,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0
0,0,0,0,0,18,0,0,0,0,11,2,0,0,0,0,0,0,0,0,3,0,0,3,0,0,0,0,0,0,0,0
0,0,0,0,0,2,0,0,0,0,0,17,2,0,0,0,0,0,0,0,0,0,4,2,0,0,0,0,0,0,0,0
0,0,0,0,0,0,18,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,4,2,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,18,0,0,0,0,21,0,0,0,0,0,0,0,3,0,0,3,0,0,0,0,0,0,0,0
0,0,0,17,0,0,0,0,18,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0
0,0,0,0,0,0,0,0,0,2,18,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,3,3,3,0,0,0,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
endlayer
layer
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,3,3,3,3,3,0,0,0,0
0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,3,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,14,14,13,0,3,3,3,3,3,3,3,3,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,14,16,22,23,23,22,14,13,0,3,3,17,0,0,3,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,16,22,23,23,23,23,22,13,0,3,3,0,0,0,3,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,16,22,23,23,23,23,22,13,0,3,3,0,0,0,3,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,16,22,23,23,23,23,22,13,0,3,3,0,0,0,3,0,0,0,0,0
0,0,0,0,0,2,2,2,2,2,0,0,15,16,22,23,23,22,13,15,0,3,3,17,0,0,3,0,0,0,0,0
0,0,0,0,0,2,0,0,2,2,2,0,0,16,15,15,15,15,13,0,0,3,3,3,3,3,3,3,0,0,0,0
0,0,0,0,0,2,0,0,0,2,0,2,0,0,0,0,0,0,0,0,3,3,3,3,0,0,0,0,0,0,0,0
0,0,0,0,0,2,17,0,0,0,2,2,2,0,0,0,0,0,0,0,3,0,4,2,0,0,0,0,0,0,0,0
0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,3,0,4,2,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,2,17,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,3,0,24,24,24,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
endlayer
layer
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,25,25,3,3,3,3,3,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,25,25,25,25,25,25,25,3,0,0,0,0
0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,3,25,25,25,22,22,22,22,3,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,25,25,25,25,25,25,3,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,25,25,22,22,22,22,3,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,25,25,25,25,25,25,3,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,25,25,22,22,22,22,3,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,25,25,25,25,25,25,3,0,0,0,0
0,0,0,0,0,25,25,25,25,25,0,0,0,0,0,0,0,0,0,0,3,25,25,22,22,22,22,3,0,0,0,0
0,0,0,0,0,25,25,25,25,14,14,13,0,0,0,0,0,0,0,0,3,25,25,25,25,25,25,3,0,0,0,0
0,0,0,0,0,25,25,25,25,16,0,13,0,0,0,0,0,0,0,3,3,25,25,25,3,3,3,3,0,0,0,0
0,0,0,0,0,25,25,25,25,15,15,15,25,0,0,0,0,0,0,3,25,0,0,25,3,0,0,0,0,0,0,0
0,0,0,0,0,0,25,25,25,25,25,25,25,0,0,0,0,0,0,3,25,0,0,25,3,0,0,0,0,0,0,0
0,0,0,0,0,0,0,25,25,25,25,25,25,0,0,0,0,0,0,3,3,25,25,3,3,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,25,25,25,25,25,0,0,0,0,0,0,0,3,3,3,3,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,25,25,25,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
endlayer
layer
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,27,26,7,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,27,26,7,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,27,26,7,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,27,26,7,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
endlayer
layer
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
endlayer
layer
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
endlayer
layer
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
endlayer
layer
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
endlayer
layer
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
endlayer
layer
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
endlayer
layer
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
endlayer
layer
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
endlayer
--- Jordan's & Kujaku10's UNOFFICIAL Custom Templates:
Greywolf's Minecraft Ruins (MC versions 1.7.10-1.12.2; requires AtomicStryker's "Ruins" mod)
Latest Updates: v1.7 (May 2018) * v1.8 (Jun 2016) * v1.9 (Sep 2016) * v1.10 (Jan 2017) * v1.11 (Apr 2018) * v1.12.* (Dec 2018)
... maybe I'll be more direct this time...
Anyone have an idea of how to allow the new Chain Command Blocks and Repeat Command Blocks work? When I /parse the in-game ruin, the Impulse/Normal Command Blocks work as they would normally, but the new command blocks don't save they're commands, just the new configurations (facing, needs redstone/always active, conditional/unconditional).
I think I might be able to use the "teblock" variable to add the proper NBT data, but I'm not sure.
Remember: You are unique... Just like everyone else
A wise man once told me, "Coding is 1% writing code and 99% figuring out why it didn't work."
Would this new update require us to download the new resources folder for chests to work? I've added several biome-specific ruins and would rather not need to recreate the folders.
@Jordan
All included templates have been mangled by so much automated changes i am surprised they still work most of the time
@Jake
That depends. If you have .tml files with broken ChestGenHook entries, those will simply not work. I suggest doing a simple "search in files" query for ChestGenHook and checking the files (it's something like 10-15 lines total, max) for using the "new" loot table entries.
That is a good point. My group has been playing around with these Ruins at least since the original Hexxit pack, after all, and except for the required shift from numeric to named blocks, many of the Ruins designs were able to survive several major changes to Minecraft almost in their original form.
(Now, my own more complex creations involving Command Blocks and such -- they seem to be positively DOOMED to break down mightily with every new Minecraft release.)
I uploaded an update to my Dropbox with my attempt at "fixing" several of the generic and optional Ruins, just in case it's of any interest to anyone besides myself. In particular:
* For the Underwater Base, I found that the two top layers for some reason had lots of occurrences of "Air" ("rule" 0) where it should have really been water (rule9, I think, in this template's case). I suspect that in earlier iterations of Minecraft, the large area would just fill in naturally with the surrounding water, but it seems like in 1.9, big empty gaps in the water are staying as "air pockets" until I try placing a block immediately against the standing water and then breaking it (forcing a block update). My fix was just to manually fill in the water in the grid.
* For several structures that were marked "unique=1" in the templates, I changed it to variations on "uniqueMinDistance=3000" (or 5000 or 2000 or whatever I felt like that seemed like a suitably large number).
* For the SkyCastle, I removed the bottom-most layers that appeared to just be "padding" to force it to be up in the air, and instead just used a negative embed_into_distance value to force it upward. I also noticed that while in previous versions of Minecraft, the "gravel-and-sand" floor trap in the throne room would fall upon spawning, it seems to be standing now that I used the #7 placement key (i.e., "rulex=7,100,minecraft:sand") -- or at least in the one instance I found in my test world.
* For the OceanCastle, for some reason it was set to "preserveWater," which would have made placement a bit problematic, when the acceptable_target_blocks were set to "water." I did a bit of tweaking, and it appears to be successfully spawning as a sort of oceanic floating island.
* For various structures, I added "Natura:Cloud" to the list of UNacceptable_target_blocks. For installations where Natura is not included, this should have no effect. For installations where Natura IS included, this should prevent rocky outcroppings or underground dungeons from dangling from clouds conspicuously.
* In my copy of rotation_mappings.txt, I added "lit_furnace" to the rotation rules that included "furnace." It looks like "lit_furnace" is still legitimate in MC 1.9, and it just looks cool sometimes to have a house with a roaring furnace in it. (It stays lit until someone actually cooks something in it, or someone breaks the block, at which point it becomes a normal furnace.)
...
By the way, THANK YOU for the latest update to MC 1.9. This should make it a lot easier for me to deal with updating my treasure chests in my own structure creations.
(I'm still working my way through trying to get them all converted up to MC 1.9, along with properly testing them. It's the ones with the Command Blocks that are slowing me down -- no real surprise there, what with the changes to how Riding/Passengers, custom health settings, and mob equipment tags are handled.)
--- Jordan's & Kujaku10's UNOFFICIAL Custom Templates:
Greywolf's Minecraft Ruins (MC versions 1.7.10-1.12.2; requires AtomicStryker's "Ruins" mod)
Latest Updates: v1.7 (May 2018) * v1.8 (Jun 2016) * v1.9 (Sep 2016) * v1.10 (Jan 2017) * v1.11 (Apr 2018) * v1.12.* (Dec 2018)
Update on my command block problem, for anyone interested:
Apparently, in order to get "teblock" to work, you must fill in every single piece of NBT data, including the coordinates that don't even matter. Now I do have the Chain Command Blocks functioning.
AtomicStryker, I love what you've done with this mod, and I understand that the code must be quite technical, but very truthfully, their needs to be a new way to handle Command Blocks in order to account more easily for the new versions and settings.
UPDATE: Apparently the old method doesn't properly track the facing value of Impulse Command Blocks. They always face north, meaning you probably need to add them to "teblock" too!
Can I get some assistance over here, please?
Remember: You are unique... Just like everyone else
A wise man once told me, "Coding is 1% writing code and 99% figuring out why it didn't work."
I have the resources folder too. But I don't really have a file directly called ruins.txt. I have explored a very large area and have found literally nothing. Could another mod be interfering, like the Better Dungeons mod?
My fave TF is Trepan.
@ Jordan_Peacock & AtomicStryker,
So I tried the new version for 1.9 with the new chestgenhook, and it's all working great, every Ruin I manage to find that included a chest had loot inside Thank you for fixing that so quickly.
But... There seems to be a Big imbalance with the loot inside the chests. I don't know if it's a bug or intended, but some of the chests are spawning junk, nothing but rotten flesh and seeds, and others spawn such ridiculously over-powered things like break the balance in-game.
Examples: (Sorry I don't know the proper names for most of the ruins yet)
The Castle that spawns in fields and forests. The one that has 2 small wheat plots in the courtyard, a fire in the main entrance room with 1 block of lava and water either side. I set the configs so that ruins were spawning very frequently, so I managed to find 5 of these castles. They each have 3 chests, yet for a big high-end ruin, the chests contained, rotten flesh, wheat, seeds, apples and 1 or 2 soup bowls.
Same as the Zombie dungeons. The medium sized structures that have 3 small rooms either side, with 6 or 8 zombie spawners inside under half slabs, with 2 double chests in the end room. That can be quite a tough ruin, it easy to get overwhelmed, outnumbered and dead very quickly. Yet the chests again contain mostly rotten flesh and coal, I think once I saw an Iron hoe, but that was the best item out of nearly a dozen of these ruins I discovered.
But then on the opposite end of the spectrum.... The Floater! I found a few of these and OMG, the loot inside the chests was crazy! I had to attach some screenshots to show it. Inside 1 chest, 3 enchanted books... 1 of the books had "5" of the high-end enchantments on it, the other 2 books had 3 or 4 high-end enchantments. Then I checked the other chests and sure enough, tons more super enchanted books, weapons, diamonds... etc..
Anyway, thanks again for the really quick fix on the chests, but I thought I should mention this just in case as I'm sure it's a side-effect from the new chesthook.
Regards
Well I finally figured out why it wasn't working for me. It was because I was using Java 7 still. Java 8 isn't required for vanilla Minecraft but apparently some mods require it. As for why I was using Java 7 there used to be a bug where Java 8 wasn't compatible with Forge 1.7.2 or earlier. Don't know if they ever fixed it, I just kept using Java 7. As it is I just installed Java 1.8.0_90 without uninstalling the old Java install so I can use either one.
Exactly what is the problem? What do you want changed? What the heck are impulse command blocks?
Didn't realize you were unfamiliar. Okay, so in 1.9 Command Blocks got changed in a few ways with new settings and modes:
Modes:
----Impulse Command Blocks: These are the same as the old ones, and behave as they did normally with the addition of the new settings.
----Chain Command Blocks: All command blocks now point in a direction, which help with these. If a command block is pointing into a chain command block, the chain command block will attempt to run its command as well if it has power.
----Repeating Command Blocks: These have a built in clock, and try to run their command every tick as long as they have redstone power.
Settings:
----Conditional: This command block will only execute its command if the one behind it successfully executed its command.
----Always Active: This command block no longer needs Redstone, behaving as though it were permanently powered.
All of these new settings are very helpful for condensing command block creations if you know how to use them. The issue is the template parser does not recognize the new modes because they are new blocks, and it doesn't store the new settings or the commands of these new blocks because they are NBT data. When generating them, they only retain information stored as metadata. As such, to use them effectively, they must be manually inserted into the ruins file as "teblock"s so that the proper NBT data can be added.
Remember: You are unique... Just like everyone else
A wise man once told me, "Coding is 1% writing code and 99% figuring out why it didn't work."
I have some ruins I'd like to disable, but I don't know the names of them. I have screenshots of them below.
Ran out of attachment space.
Post 1: Image 1: Mausoleum
Post 1: Image 2: CastleModified
Post 1: Image 3: Outcrop
Post 1: Image 4: CastleModified
Post 1: Image 5: VolcanicVent
Post 2: Image 1: Altar
Post 2: Image 2: StoneHouseMruined
Find anymore you don't want, just ask.
Remember: You are unique... Just like everyone else
A wise man once told me, "Coding is 1% writing code and 99% figuring out why it didn't work."
Thanks, I also want to disable some other ruins, but I don't have screenshots. The ones I want to disable are the ones that spawn a small bit of farmland with crops growing on it, and one that spawns a wooden barn structure.
If the wooden barn structure has a cobble base, its Barn-intact. The farmland that grows wheat is TinyFarmField.
Remember: You are unique... Just like everyone else
A wise man once told me, "Coding is 1% writing code and 99% figuring out why it didn't work."
Go into your game and try typing this in game:
/testruin generic/MoaiHead
If nothing happens, then your mod is outright not working. At this point, try to look at your console and see if there are any error messages.
Usually doing this, should spawn the statue.
And if your mod is not working right at this point, I would suggest
1) Make sure that your generic folder (found within the resources folder) is populated with Ruins to generate.
2) Ruins-1.7.10.jar, UpdateCheckerMod-1.7.10.jar are both in mod folder. Also, make sure the resources folder is also in the mod folder. (There are mods like Resource Loader (Sim-U-Kraft dependency) that have their own resource directory in the .minecraft folder instead of the mod folder.
3) Ruins.txt and Ruins_log.txt get generated when the mod runs. Ruins.txt is a global config file. If the mod isn't running, it doesn't generate. (Although it is odd that you have the Ruins_log.txt file and not the actual config file).
And if all of that checks out, then the next step would be to find if there are any conflicts. To do that, run this mod by itself (with none of the others). Eventually start adding mods in (creating new worlds every time) until you find a mod that causes the Ruins mod to not work. I will report that I've never had issues with any of the mods I've ran with it, but I'm sure I've not run every mod either.
Alright thanks for the help. I shouldn't find anymore ruins that I don't want spawning anymore, but if I do I'll come right back here.
No problem. It's kind of a pain to try to test every single ruin to see what you're looking for to disable it...
Lucky you I have a flat world where I already did it
Remember: You are unique... Just like everyone else
A wise man once told me, "Coding is 1% writing code and 99% figuring out why it didn't work."