If there is nothing under the chest under the dirt, then set embedIntoDistance=2 One might also want them set in a little deeper.
I also suggest either coarse dirt or podzol as the dirt type: dirt-1 and dirt-2, coarse dirt would look freshly dug and podzol for a forested area.
To make them cover the map semi-evenly, just have gravestone templates as the only thing in the "Generic" folder, with many variations, and they will appear pretty much everywhere on the map at about the right spacing.
One might want to have them appear less frequently and in tight clusters too. Halloween is coming sooooon.
What is that second number after the chest (I understand the first number is the amount of slots filled (items in the chest), but what does the second one do?
If I punt them in generic like this, it will still spawn the other structures (in the biome-folders)?
The second number is the rotation of the block, but for a simple template this shouldn't matter too much.
Structures in biome folders are checked for on a percentage according to a number in the configs set to 75%, so a quarter of the structures should be from generic for biomes with biome-specific structures, and 100% for biomes without specific structures, new options for 1.13 notwithstanding.
1. Can Ruins be used to spawn Custom NPCs into the gameworld?
A Google search led me to a post much earlier in this thread and it appears at a glance that it can. But, I'm hoping that folks with much more experience than me can confirm it.
2. Broadly speaking, just how large can our structure dimensions be?
I'm working on something that's 194 blocks by 194 blocks. I've been able to use Ruins to spawn in some large coral reefs that might be something like 60 by 60 blocks. I've seen a number of smaller things like ships no problem.
3. Does ruins use block id numbers to remember what has been parsed?
If so that could present a problem when a modpack gets changed around.
Ruins left behind block id numbers in MC 1.7, and MC 1.6 was the last version they were used here.
Ruins can spawn in templates much larger than it is "wise-to-do-so", considering that it might be run on any number of computers that aren't geared for that sort of thing. My GillySpawnDome template (in my 1.7 set) parsed from my February 2014 build has the dimensions 73X76 with a template size of 330k, and while Ruins can easily handle it, Minecraft itself has a harder time doing so due to how Mojang set up the decoration spooling system. Since after the structure is generated, minecraft will spool up all the chunks within the footprint of the structure and force generation of everything else that is set to generate in them.
You should make a giant ring of wool that is 194 blocks on a side, with a column of blocks within that footprint so that is gets the right number of layers, and start a new world to spawn the test in, to see how your computer handles Ruins doing this.
Basically, the smoke test. You turn on the appliance and see if it catches fire! LOL!
If Ruins has left behind block id numbers, that would suggest that things I've built in one world with modded blocks might be able to be moved over to another folder/modpack with different mods in it. And the structures will still spawn in correctly as long as I've got the mods still installed whose blocks etc are in the build. Ie the modpack list can be tweaked safely.
I've noticed that with MCedit, it can be a problem.
Gilly, if I remember correctly you used command blocks in your builds to spawn in mobs with orange block heads. Isn't the monk island one of yours? Could that same system be used to spawn in a Custom NPC from the Custom NPCs mod?
That would really solve one problem for me. Although, if I'm trying to make dungeons filled with creatures. It now looks like they may have to be much smaller than I had hoped.
1. Can Ruins be used to spawn Custom NPCs into the gameworld?
Yes, it can. Several of my templates with "CB" in the file name (for "Command Block") exploit this possibility.
Basically, it amounts to this: I dare say anything you can do with a Command Block, you can do with Ruins, because Ruins can spawn Command Blocks, complete with code.
Furthermore, there is a feature in Ruins where you can put "RUINSTRIGGER" at the start of the command line in a Command Block, and the Ruins mod will "trigger" the Command Block at some point (basically whenever a player crosses a chunk boundary within "range" of the Command Block, while it's in an active chunk).
So, I could have a rule in the template like this:
In the template, every block that is coded as using rule #8 will spawn a Command Block that will have everything between the "CommandBlock:" and the ":@" (at the end). The "RUINSTRIGGER" at the start tells the Ruins mod to trigger this command automatically whenever it checks for such things (i.e., player crosses a chunk boundary, and Command Block is in a loaded chunk) -- and then erase the Command Block. Everything else in there (from the "/summon" onward) is something that could be put in an ordinary Command Block in "vanilla" Minecraft and then triggered the usual way. The command doesn't need to be nearly so complicated -- it could be something as simple as just "/summon skeleton ~ ~1 ~ {PersistenceRequired:1}" and then you'd have a skeleton in your pre-fab dungeon who won't just vanish if the player leaves and then comes back.
It can also be very useful to spawn *friendly* NPCs -- custom villagers with special trades, for instance. (I sometimes use them as the "prize" for a mini-dungeon -- e.g., one of Kujaku10's towns full of "bandits," but after you defeat the bandits, now you've got several villagers with unusual trades.)
2. Broadly speaking, just how large can our structure dimensions be?
I'm working on something that's 194 blocks by 194 blocks. I've been able to use Ruins to spawn in some large coral reefs that might be something like 60 by 60 blocks. I've seen a number of smaller things like ships no problem.
3. Does ruins use block id numbers to remember what has been parsed?
If so that could present a problem when a modpack gets changed around.
Thanks in advance!
Landar
Also re: #2:
I've been able to spawn in some CRAZY-HUGE structures, at least using the /testruin command, or through the use of "adjacent template" chains, but problems include:
a) If you dump a really huge change into the world at once, sometimes you won't actually SEE it until you exit Minecraft and re-enter. A castle just appeared, and if you try to enter that space, you might run into an invisible wall, because for some reason the part of Minecraft that handles those obstacles didn't seem to coordinate with the part of Minecraft that updates what you're seeing. I've been able to mitigate this *somewhat* by breaking up a very large structure into smaller sub-structures, then chaining them together -- either via the "adjacent template" feature in Ruins, or else by using Command Blocks that fire off and add on more to the structure with the "/testruin" command (which is intended for testing, but effectively allows you to make a structure that will POP UP RIGHT HERE, which can be used for some pretty interesting effects when combined with the potential for randomization).
So for a village, I won't have an entire gigantic sprawl that is just one structure: I'll have a central "seed" structure (the village well, let's say), and then include "adjacent template" instructions to build an inn 20 spaces north and 10 east, a cottage 15 spaces west and 6 south, and so forth. (Note: There's the risk that individual buildings WILL NOT spawn there, if there's not a valid building point. E.g., if it built the village well close to a big lake, and putting a building there would make it out in the water, and I've specified that this building is only meant to be built on solid ground.)
Or, find a way to break a single structure into smaller chunks. If I wanted to have a tall fantasy tree with a big wide canopy of leaves at the top, if I make a structure for the whole thing, it'd be gigantic. But, I COULD just make one structure that is the trunk (very tall, but also very narrow), and then a separate "adjacent" structure for the canopy (very wide, but it's only three layers thick, let's say) that is up on top. (Actually, I should probably actually make a structure like that just as a proof-of-concept.)
In general, there are a number of factors that make it "easy" or "hard" for the Ruins mod to find a "valid" place to build a structure. By default, it's going to look for a fairly level, open area to build a structure, and by "level," that means that the highest elevation within the building zone won't be more than N blocks higher than the lowest point (roughly speaking). So, the bigger the building zone, the harder it's going to be to find an area of terrain that still fits that definition. (Unless, that is, you're in the middle of the ocean, which is about as flat as you can hope for ... but even there, make it TOO BIG and you're going to hit the shore!) So, you might build a giant masterpiece that TECHNICALLY the Ruins engine could handle, but it'll be so rare that it actually finds an appropriate place to actually build it in the world.
c) By having a too-large structure -- either in one piece, by having adjacent templates that spawn next to it, or by forcing expansion via Command Blocks and the "/testruin" command to build nearby extensions -- you run the risk of the structure extending into places that have already been generated (including where the player happens to be when this structure pops into existence). I ran into that problem on my recent server when I decided to have an underground railroad (literally underground, that is, right down near the bedrock) that would consist of a basic railroad section repeated over and over and over again in each direction for quite some distance via the "adjacent templates" feature. It worked rather well, technically speaking ... but there was no way to make it somehow only build in "new" terrain. I found an instance and started exploring it, and found that it happened to cut through the basements of two other players on the server. (That is, I could tell that it had chopped right through an already player-mined area.) Note: This WAS outrageously long. I didn't properly think it through.
...
#3: OLDER versions of Ruins did indeed use Block IDs, and it WAS a big problem. We're talking back circa version 1.5.2 of Minecraft. I can't remember when the shift changed to names -- maybe 1.7? -- but there was a bit of trouble because even when the blocks themselves shifted to using names, there were still parts of the program that relied upon numeric values (certain command blocks, etc., custom /summon commands that specified the inventory of summoned monsters, "falling sand" blocks, etc.), and any time there would be a new update to Minecraft that finally got around to changing some of those numbers over to names, it meant all those affected templates would now be "broken" and had to be adjusted accordingly. That's why I have so many different sets of templates for different versions of Minecraft -- because different things had to be changed to keep up, and there are so many different modpacks my friends want to try out, using different (older) versions of Minecraft.
Currently (latest version of Ruins at 1.12.*) that's not an issue the way it used to be. Blocks are referenced in the form of "modname:blockname" so, it's something like "minecraft:cobblestone" or "chisel2:voidstone" or such. The trick is just that if you have any templates installed that *require* blocks from a certain modpack, and that modpack isn't installed, Ruins isn't going to be able to fix things if your template calls for what are essentially nonexistent blocks.
Hi, I have a question about ruins templates that generate via command blocks.
If I pre-generate my world, will these ruins spawn in and generate too or will they always wait until a player gets within a certain distance before generating?
I have a lot of world generation mods on my current server and have been pre-generating the world to try to reduce the amount of cascading world gen lag I'm getting from all the various dungeons and other structures that spawn in.
Ruins that use command blocks to create spawners or mobs are fine as those won't appear on my world map (I'm using dynmap on the server), but the structures would do.
I was just testing in a single player world and noticed that columns of command blocks would spawn, then quickly vanish as I approached only to be replaced by floating islands in the sky or other structures.
If they do only spawn when a player is close by, is there any way I can re-write the command blocks used to make them run when the chunk they're in is generated instead?
All initial structures are placed by Ruins on worldgen.
Commandblock calls are an intermediate step, as it uses the provided random block selection to place entire component structures, the commandblocks are placed as part of the initial structures from above.
It's good practice to hide the commandblocks (and any intermediate generation) from players, as well as keeping generation from escaping the area that Ruins starts it in.
If any structures are likely to break the game in one way or another, they can be moved from the active spawning folders, since Ruins is designed for players to customize their worlds, and I've made sure there are a lot of templates to choose from that keep Ruins running smoothly.
Did you change level-name in your server.properties file by any chances? You may need to escape some characters--most commonly backslashes and single quotes--to get a valid path name to the world folder. Also, make sure you use correct path separators for the machine your server is running on: forward slashes for Linux, backslashes (escaped) for Windows.
@DoogleSmile:
To have command blocks executed upon placement rather than approach, don't use RUINSTRIGGER. Instead, create a vertical column of command blocks with regular commands you want to execute from bottom to top, with the command "fill ~ ~ ~ ~ ~-N ~ air" on top (where N = one less than the number of blocks in the column). Make sure every command block points up and is Chain/Unconditional/Always Active, except the bottom (first) one, which should be Impulse instead of Chain.
For example, in the simplest case, where there's just one command you want to execute...
Thanks, I'll have a look through all the ruins files I have and see if I can alter the command block entries where they're using RUINSTRIGGER to spawn in the actual structures. See if I can successfully change them to run automatically with world generation
I've looked through a few so far and noticed some that use "commandblock: /testruin" instead of "commandblock: RUINSTRIGGER /testruin", I'll do a test, see if just taking out the RUINSTRIGGER part on the other ones will make them spawn
Uh, oh. The command block chain method should work--and does in vanilla structures, which was all I was able to test at the time I originally posted--but apparently doesn't with Ruins templates. I'll have to look into that.
EDIT: I submitted a pull request to fix the problem; if and when that goes through, the method I described above will work. For example:
I'm not able to duplicate the problem you're having, so I'm guessing it's got something to do with the environment you're running in. The specific error you logged indicates Ruins is unable to create a file (namely, "RuinsPositionsFile.txt_writing") in either the saves/world1 directory or one of its DIMxxx subdirectories. Maybe a permissions problem preventing file creation? Or the disk is full?
All SSD is given for minecraft (64Gb). Renamed in "world" and the problem disappeared, very strange. "World" - work, "world1" or "my_world" - constant spam.
Sounds good to me. A note saying something like "includes additional ruins templates created by..." in the description should be fine. The only minecraft-related site I have is my ruins dropbox.
Can anyone help me out with a simple ruin I am trying to make. I don't seem to be able to understand how to do this.
I want a grave (modid:grave) to be placed on (existing) dirt or sand and one block down have a chest (so from top to bottom: grave, dirt, chest).
I want this "ruin" to generate once every 128 blocks, regardless of any settings in ruins.cfg (so in addition to any other ruins being generated)
And I want the chest to contain either the pyramid or the blacksmith loottable (so both interchangably).
I am not asking anyone to make it for me, but direct me to a tutorial (or tutorials) that cover these issues.
Hi Evert, for the loot chest, here is a list that can be trimmed down:
,ChestGenHook:chests/spawn_bonus_chest:5-5,ChestGenHook:chests/village_blacksmith:4-5,ChestGenHook:chests/simple_dungeon:5-5,ChestGenHook:chests/abandoned_mineshaft:4-5,ChestGenHook:chests/stronghold_library:3-5,ChestGenHook:chests/stronghold_corridor:2-5,ChestGenHook:chests/stronghold_crossing:2-5,ChestGenHook:chests/igloo_chest:4-5
If there is nothing under the chest under the dirt, then set embedIntoDistance=2 One might also want them set in a little deeper.
I also suggest either coarse dirt or podzol as the dirt type: dirt-1 and dirt-2, coarse dirt would look freshly dug and podzol for a forested area.
To make them cover the map semi-evenly, just have gravestone templates as the only thing in the "Generic" folder, with many variations, and they will appear pretty much everywhere on the map at about the right spacing.
One might want to have them appear less frequently and in tight clusters too. Halloween is coming sooooon.
Gillymoth Structures for Ruins <<< Folder containing my Structure-sets for Ruins mod.
Thank you. I now have this:
Additional questions:
What is that second number after the chest (I understand the first number is the amount of slots filled (items in the chest), but what does the second one do?
If I punt them in generic like this, it will still spawn the other structures (in the biome-folders)?
The second number is the rotation of the block, but for a simple template this shouldn't matter too much.
Structures in biome folders are checked for on a percentage according to a number in the configs set to 75%, so a quarter of the structures should be from generic for biomes with biome-specific structures, and 100% for biomes without specific structures, new options for 1.13 notwithstanding.
Gillymoth Structures for Ruins <<< Folder containing my Structure-sets for Ruins mod.
Hello Everyone,
Please allow me to ask 3 quick questions.
1. Can Ruins be used to spawn Custom NPCs into the gameworld?
A Google search led me to a post much earlier in this thread and it appears at a glance that it can. But, I'm hoping that folks with much more experience than me can confirm it.
2. Broadly speaking, just how large can our structure dimensions be?
I'm working on something that's 194 blocks by 194 blocks. I've been able to use Ruins to spawn in some large coral reefs that might be something like 60 by 60 blocks. I've seen a number of smaller things like ships no problem.
3. Does ruins use block id numbers to remember what has been parsed?
If so that could present a problem when a modpack gets changed around.
Thanks in advance!
Landar
Ruins left behind block id numbers in MC 1.7, and MC 1.6 was the last version they were used here.
Ruins can spawn in templates much larger than it is "wise-to-do-so", considering that it might be run on any number of computers that aren't geared for that sort of thing. My GillySpawnDome template (in my 1.7 set) parsed from my February 2014 build has the dimensions 73X76 with a template size of 330k, and while Ruins can easily handle it, Minecraft itself has a harder time doing so due to how Mojang set up the decoration spooling system. Since after the structure is generated, minecraft will spool up all the chunks within the footprint of the structure and force generation of everything else that is set to generate in them.
You should make a giant ring of wool that is 194 blocks on a side, with a column of blocks within that footprint so that is gets the right number of layers, and start a new world to spawn the test in, to see how your computer handles Ruins doing this.
Gillymoth Structures for Ruins <<< Folder containing my Structure-sets for Ruins mod.
Hi Gilly,
Thanks for the reply.
Basically, the smoke test. You turn on the appliance and see if it catches fire! LOL!
If Ruins has left behind block id numbers, that would suggest that things I've built in one world with modded blocks might be able to be moved over to another folder/modpack with different mods in it. And the structures will still spawn in correctly as long as I've got the mods still installed whose blocks etc are in the build. Ie the modpack list can be tweaked safely.
I've noticed that with MCedit, it can be a problem.
Gilly, if I remember correctly you used command blocks in your builds to spawn in mobs with orange block heads. Isn't the monk island one of yours? Could that same system be used to spawn in a Custom NPC from the Custom NPCs mod?
That would really solve one problem for me. Although, if I'm trying to make dungeons filled with creatures. It now looks like they may have to be much smaller than I had hoped.
Thanks,
Landar
Yes, it can. Several of my templates with "CB" in the file name (for "Command Block") exploit this possibility.
Basically, it amounts to this: I dare say anything you can do with a Command Block, you can do with Ruins, because Ruins can spawn Command Blocks, complete with code.
Furthermore, there is a feature in Ruins where you can put "RUINSTRIGGER" at the start of the command line in a Command Block, and the Ruins mod will "trigger" the Command Block at some point (basically whenever a player crosses a chunk boundary within "range" of the Command Block, while it's in an active chunk).
So, I could have a rule in the template like this:
I base it off of a custom summon mob command from a site such as this: http://minecraft.tools/en/spawn.php
In the template, every block that is coded as using rule #8 will spawn a Command Block that will have everything between the "CommandBlock:" and the ":@" (at the end). The "RUINSTRIGGER" at the start tells the Ruins mod to trigger this command automatically whenever it checks for such things (i.e., player crosses a chunk boundary, and Command Block is in a loaded chunk) -- and then erase the Command Block. Everything else in there (from the "/summon" onward) is something that could be put in an ordinary Command Block in "vanilla" Minecraft and then triggered the usual way. The command doesn't need to be nearly so complicated -- it could be something as simple as just "/summon skeleton ~ ~1 ~ {PersistenceRequired:1}" and then you'd have a skeleton in your pre-fab dungeon who won't just vanish if the player leaves and then comes back.
It can also be very useful to spawn *friendly* NPCs -- custom villagers with special trades, for instance. (I sometimes use them as the "prize" for a mini-dungeon -- e.g., one of Kujaku10's towns full of "bandits," but after you defeat the bandits, now you've got several villagers with unusual trades.)
--- 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)
Also re: #2:
I've been able to spawn in some CRAZY-HUGE structures, at least using the /testruin command, or through the use of "adjacent template" chains, but problems include:
a) If you dump a really huge change into the world at once, sometimes you won't actually SEE it until you exit Minecraft and re-enter. A castle just appeared, and if you try to enter that space, you might run into an invisible wall, because for some reason the part of Minecraft that handles those obstacles didn't seem to coordinate with the part of Minecraft that updates what you're seeing. I've been able to mitigate this *somewhat* by breaking up a very large structure into smaller sub-structures, then chaining them together -- either via the "adjacent template" feature in Ruins, or else by using Command Blocks that fire off and add on more to the structure with the "/testruin" command (which is intended for testing, but effectively allows you to make a structure that will POP UP RIGHT HERE, which can be used for some pretty interesting effects when combined with the potential for randomization).
So for a village, I won't have an entire gigantic sprawl that is just one structure: I'll have a central "seed" structure (the village well, let's say), and then include "adjacent template" instructions to build an inn 20 spaces north and 10 east, a cottage 15 spaces west and 6 south, and so forth. (Note: There's the risk that individual buildings WILL NOT spawn there, if there's not a valid building point. E.g., if it built the village well close to a big lake, and putting a building there would make it out in the water, and I've specified that this building is only meant to be built on solid ground.)
Or, find a way to break a single structure into smaller chunks. If I wanted to have a tall fantasy tree with a big wide canopy of leaves at the top, if I make a structure for the whole thing, it'd be gigantic. But, I COULD just make one structure that is the trunk (very tall, but also very narrow), and then a separate "adjacent" structure for the canopy (very wide, but it's only three layers thick, let's say) that is up on top. (Actually, I should probably actually make a structure like that just as a proof-of-concept.)
In general, there are a number of factors that make it "easy" or "hard" for the Ruins mod to find a "valid" place to build a structure. By default, it's going to look for a fairly level, open area to build a structure, and by "level," that means that the highest elevation within the building zone won't be more than N blocks higher than the lowest point (roughly speaking). So, the bigger the building zone, the harder it's going to be to find an area of terrain that still fits that definition. (Unless, that is, you're in the middle of the ocean, which is about as flat as you can hope for ... but even there, make it TOO BIG and you're going to hit the shore!) So, you might build a giant masterpiece that TECHNICALLY the Ruins engine could handle, but it'll be so rare that it actually finds an appropriate place to actually build it in the world.
c) By having a too-large structure -- either in one piece, by having adjacent templates that spawn next to it, or by forcing expansion via Command Blocks and the "/testruin" command to build nearby extensions -- you run the risk of the structure extending into places that have already been generated (including where the player happens to be when this structure pops into existence). I ran into that problem on my recent server when I decided to have an underground railroad (literally underground, that is, right down near the bedrock) that would consist of a basic railroad section repeated over and over and over again in each direction for quite some distance via the "adjacent templates" feature. It worked rather well, technically speaking ... but there was no way to make it somehow only build in "new" terrain. I found an instance and started exploring it, and found that it happened to cut through the basements of two other players on the server. (That is, I could tell that it had chopped right through an already player-mined area.) Note: This WAS outrageously long. I didn't properly think it through.
...
#3: OLDER versions of Ruins did indeed use Block IDs, and it WAS a big problem. We're talking back circa version 1.5.2 of Minecraft. I can't remember when the shift changed to names -- maybe 1.7? -- but there was a bit of trouble because even when the blocks themselves shifted to using names, there were still parts of the program that relied upon numeric values (certain command blocks, etc., custom /summon commands that specified the inventory of summoned monsters, "falling sand" blocks, etc.), and any time there would be a new update to Minecraft that finally got around to changing some of those numbers over to names, it meant all those affected templates would now be "broken" and had to be adjusted accordingly. That's why I have so many different sets of templates for different versions of Minecraft -- because different things had to be changed to keep up, and there are so many different modpacks my friends want to try out, using different (older) versions of Minecraft.
Currently (latest version of Ruins at 1.12.*) that's not an issue the way it used to be. Blocks are referenced in the form of "modname:blockname" so, it's something like "minecraft:cobblestone" or "chisel2:voidstone" or such. The trick is just that if you have any templates installed that *require* blocks from a certain modpack, and that modpack isn't installed, Ruins isn't going to be able to fix things if your template calls for what are essentially nonexistent blocks.
--- 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)
Suddenly began to appear lines in the logs. Any opinions?
...............
[17:45:53] [Thread-2560/INFO] [STDERR]: [atomicstryker.ruins.common.RuinGenerator$FlushThread:run:127]: java.io.IOException:The system cannot find the path specified
[17:45:53] [Thread-2560/INFO] [STDERR]: [atomicstryker.ruins.common.RuinGenerator$FlushThread:run:127]: java.io.IOException:The system cannot find the path specified
[17:45:53] [Thread-2560/INFO] [STDERR]: [atomicstryker.ruins.common.RuinGenerator$FlushThread:run:127]: at java.io.WinNTFileSystem.createFileExclusively(Native Method)
[17:45:53] [Thread-2560/INFO] [STDERR]: [atomicstryker.ruins.common.RuinGenerator$FlushThread:run:127]: at java.io.File.createNewFile(Unknown Source)
[17:45:53] [Thread-2560/INFO] [STDERR]: [atomicstryker.ruins.common.RuinGenerator$FlushThread:run:127]: at atomicstryker.ruins.common.RuinGenerator$FlushThread.run(RuinGenerator.java:83)
................
Hi, I have a question about ruins templates that generate via command blocks.
If I pre-generate my world, will these ruins spawn in and generate too or will they always wait until a player gets within a certain distance before generating?
I have a lot of world generation mods on my current server and have been pre-generating the world to try to reduce the amount of cascading world gen lag I'm getting from all the various dungeons and other structures that spawn in.
Ruins that use command blocks to create spawners or mobs are fine as those won't appear on my world map (I'm using dynmap on the server), but the structures would do.
I was just testing in a single player world and noticed that columns of command blocks would spawn, then quickly vanish as I approached only to be replaced by floating islands in the sky or other structures.
If they do only spawn when a player is close by, is there any way I can re-write the command blocks used to make them run when the chunk they're in is generated instead?
All initial structures are placed by Ruins on worldgen.
Commandblock calls are an intermediate step, as it uses the provided random block selection to place entire component structures, the commandblocks are placed as part of the initial structures from above.
It's good practice to hide the commandblocks (and any intermediate generation) from players, as well as keeping generation from escaping the area that Ruins starts it in.
If any structures are likely to break the game in one way or another, they can be moved from the active spawning folders, since Ruins is designed for players to customize their worlds, and I've made sure there are a lot of templates to choose from that keep Ruins running smoothly.
Gillymoth Structures for Ruins <<< Folder containing my Structure-sets for Ruins mod.
@kellixon:
Did you change level-name in your server.properties file by any chances? You may need to escape some characters--most commonly backslashes and single quotes--to get a valid path name to the world folder. Also, make sure you use correct path separators for the machine your server is running on: forward slashes for Linux, backslashes (escaped) for Windows.
@DoogleSmile:
To have command blocks executed upon placement rather than approach, don't use RUINSTRIGGER. Instead, create a vertical column of command blocks with regular commands you want to execute from bottom to top, with the command "fill ~ ~ ~ ~ ~-N ~ air" on top (where N = one less than the number of blocks in the column). Make sure every command block points up and is Chain/Unconditional/Always Active, except the bottom (first) one, which should be Impulse instead of Chain.
For example, in the simplest case, where there's just one command you want to execute...
[^] <-- (Chain/Unconditional/Always Active) "fill ~ ~ ~ ~ ~-1 ~ air"
[^] <-- (Impulse/Unconditional/Always Active) "say YOLO!"
@QuarterAnimal:[/b]
No, no,I'm playing solo. Minecraft is on the way d:\Minecraft\data\.minecraft (my portable version on a separate SSD).
Name world - world1. New game - all settings default. No spaces in path. Through the bat file launch
"%CD%\bin\minecraft.exe" --workDir "%CD%\data\.minecraft"
Thanks, I'll have a look through all the ruins files I have and see if I can alter the command block entries where they're using RUINSTRIGGER to spawn in the actual structures. See if I can successfully change them to run automatically with world generation
I've looked through a few so far and noticed some that use "commandblock: /testruin" instead of "commandblock: RUINSTRIGGER /testruin", I'll do a test, see if just taking out the RUINSTRIGGER part on the other ones will make them spawn
Uh, oh. The command block chain method should work--and does in vanilla structures, which was all I was able to test at the time I originally posted--but apparently doesn't with Ruins templates. I'll have to look into that.
EDIT: I submitted a pull request to fix the problem; if and when that goes through, the method I described above will work. For example:
dimensions=2,1,1
rule1=0,100,teBlock;command_block;{auto:1b,Command:"say YOLO!"}-1
rule2=0,100,teBlock;chain_command_block;{auto:1b,Command:"fill ~ ~ ~ ~ ~-1 ~ air"}-1
layer
1
endlayer
layer
2
endlayer
@kellixon:
I'm not able to duplicate the problem you're having, so I'm guessing it's got something to do with the environment you're running in. The specific error you logged indicates Ruins is unable to create a file (namely, "RuinsPositionsFile.txt_writing") in either the saves/world1 directory or one of its DIMxxx subdirectories. Maybe a permissions problem preventing file creation? Or the disk is full?
All SSD is given for minecraft (64Gb). Renamed in "world" and the problem disappeared, very strange. "World" - work, "world1" or "my_world" - constant spam.
@Gillymoth: @Jordan_Peacock: @ST753Mb:
I'd like to include some of you guys' ruins in a modpack I am making.
1) Is this allowed?
2) If yes, how would you like to be credited (and linked to).
Sounds good to me. A note saying something like "includes additional ruins templates created by..." in the description should be fine. The only minecraft-related site I have is my ruins dropbox.
More Ruins Templates: https://www.dropbox.com/sh/e8gwe4638lqbakd/AAD2nsMtDSBvezUADCYmo2s-a?dl=0 Templates for 1.10.2, 1.11.2, 1.12.2. Updated Dec 7, 2018.
My modpack, ParasCraft: An Exploration-based Pokecube Modpack https://minecraft.curseforge.com/projects/parascube