Add Structures/Schematics to Treasure!, sorry about the confusion there.
Also: What are .schematics files?
Also Also: I think what I was engrishing the hell out of in that last question was: "Is it possible to set rules on when and how structures generate using Treasure!?"
1. NP.
2. Schematics is a file format that can be used to save a portion of a MC world: Schematics Link
I used MCEdit to capture a structure and save it as a .schematics file. Then I convert that to .plans.json file.
3.Yes. You can modify the sgs_treasure.cfg file to change various properties, such as rarity of each chest/ship/well/grave etc, where they spawn, etc. You can edit the actual .plans.jsons file under the sgs_treasure/plans directory, modifying the rules there, such as what blocks to generate, y-offset, water/lava/foliage preservation, probability of block spawning, what a spawner spawns, etc.
Is there a way to dictate what specifically spawns in a given structure without using a spawner? Or is that a different form of occult magic?
Also, can a .schematic contain blocks from any Mod your server happens to have installed (provided the server it's being used on has them to?)
1. No, the only real way to controls what spawns in a given structure is to have a spawner block present, or your own custom blocks that spawns mobs.
2. Short-answer - No. However, you can use the substituteName property in your .plans rules. Ex. If you have a custom brick block, you'd build your structure using say wool (or another block that won't normally appear in your building). Then you save your .schematic and convert to .plans. You edit your plans, find the rule with blockId=35 (wool=35) and add/edit substituteName="yourModId:yourBrickBlockName". So then, when the structure is being generated all instances of that wool rule will place your brick block instead of wool.
I'm currently working on version 3.0 of the API which fully supports names instead of IDs(version 2 is kinda a mix). It will also have ability to use config rules that let you preset your substitute rules etc, so that in your final .plans file, you won't have to edit anything, it'd already be set to your brick block instead of wool.
I've posted a fix for the java.lang.ArrayIndexOutOfBoundsException: 31 error. Note this is a BETA release, as it contains untested changes meant for version 3.0.
I've tested it with Primitive Mobs, Thaumcraft, and BiomesOPlenty all together. Please let me know if you still have issues.
Are there plans to add random treasure as in gold nuggets and other somewhat useless loot buried in the sand and dirt along with a metal detector tool? I would love to randomly find some throwaway/useful loot while finding the real stuff in terms of chests.
Version 3.0 Dev Update - I started working on the labyrinth generating system this week. So far it's looking pretty good. It should add some extra adventure to your treasure hunting.
1. What is the potential maximum size of the structures you can have populate?
2. Can you have nearby structures populate based on the presence of others?
3. Is it possible to set a structure to ONLY populate once per world?
4. Can we get a config to remove the crafting recipe for the keys? Can it come with a config that makes keys of the appropriate type always work?
1. I put no limitations on the dimensions of a structure, so you should be able to build really large ones - theoretically up to the size of a java int (2^31-1 = 2147483647). Currently however, generation is done in a single thread, so really large structures may cause some noticeable lag. I was going to test using multi-threaded generation with the labyrinth system, but i'm not sure if this will interfere / collide with other generators.
2. Do you mean if (X,Y,Z) is within 10 blocks of Structure A, then build Structure B? While you could program your mod to do this with the Plans API (i'm currently doing something similar in my next mod), there is nothing in the config/rules that you can change to automatically do this. In Treasure I use an extension of the Plans API to include "connector" blocks that indicate at what coordinates two structures should join. Ex. where a Shaft connects to an underground chamber.
3. Currently No. Originally I thought to have this as a property in the .plans file but decided that uniqueness to a world is a function of the implementing mod as opposed to the Plans API. (you'll see a properly in the .plans file call isUnique, but it doesn't do anything for this reason). That being said, I do plan on adding unique structures to Treasure 3.0. Not sure exactly how i'm going to set it up yet, but I'll probably have some config setting to enable unique structures, and then a directory where the unique plans are stored.
4. I'll look into this. Should be fairly straight-forward.
The Meaning of Life, the Universe, and Everything.
Location:
Friendship, NY
Join Date:
12/26/2010
Posts:
639
Minecraft:
LunariusH
Member Details
So, while we're on the realm of asking for ponies:
Is there anyway to have the mod generate a map that contains a waypoint to a treasurespawn in an ungenerated chunk a configurable minimum/maximum distance of chunks away?
The idea would be that this prize doesn't exist in the world until someone finds the map.
So, while we're on the realm of asking for ponies:
Is there anyway to have the mod generate a map that contains a waypoint to a treasurespawn in an ungenerated chunk a configurable minimum/maximum distance of chunks away?
The idea would be that this prize doesn't exist in the world until someone finds the map.
Well, I make no promises as my queue of major additions for v3 is already full and I know nothing of programming maps in MC. But to flesh out the idea a bit, would the treasure be unique to the holder of the map? ie. no one else can just stumble upon the treasure that you have the map for. Or, would the treasure spawn when you find the map, you're just the only one who currently knows where it is?
The Meaning of Life, the Universe, and Everything.
Location:
Friendship, NY
Join Date:
12/26/2010
Posts:
639
Minecraft:
LunariusH
Member Details
Hmmm... Good question... How about this? I keep coming up with ideas but they keep falling flat due to thinking it through.
I think the only reasonable option is #2... They're the only one who currently knows where it is. There are too many problems with the other option. (Such as, what if the map generates a sunken ship? They show up and "Poof!" mystery ship? Probably not great for a persistent world. XD )
However... Both options may be fun.
You may recall at one point I was wanting to use this mod to turn off things like the nether portal and twilight forest portals from being able to be made by players. But I wanted them to spawn in the world.
Having a map generate that led to one of these portals would be amazaballs. For most things, the 2nd option is great, and the only reasonable option (It generates when the player discovers the map)
But for a map that leads to an area that is specifically mystical in nature? Not only may it only generate when the player holding the map shows up... It may only exist as long as that map is PRESENTLY IN A PLAYERS INVENTORY. Going to other worlds just got a lot more perilous boys and girls.
The Meaning of Life, the Universe, and Everything.
Location:
Friendship, NY
Join Date:
12/26/2010
Posts:
639
Minecraft:
LunariusH
Member Details
One other piece of code you might poke your nose into has to do with spawning:
Spawning, presently, can be controlled by structure type in the Vanilla code. There are things that inject specific spawntypes into structures like the netherfortress and abanoned mineshafts.
It leaves one curious how this could be leveraged to removing spawners from the generated structures, and instead having new structure types with their own spawn list.
Rollback Post to RevisionRollBack
"Compatability is King, but configuratiblity is Queen" - InfinityRaider
Hmmm... Good question... How about this? I keep coming up with ideas but they keep falling flat due to thinking it through.
I think the only reasonable option is #2... They're the only one who currently knows where it is. There are too many problems with the other option. (Such as, what if the map generates a sunken ship? They show up and "Poof!" mystery ship? Probably not great for a persistent world. XD )
However... Both options may be fun.
You may recall at one point I was wanting to use this mod to turn off things like the nether portal and twilight forest portals from being able to be made by players. But I wanted them to spawn in the world.
Having a map generate that led to one of these portals would be amazaballs. For most things, the 2nd option is great, and the only reasonable option (It generates when the player discovers the map)
But for a map that leads to an area that is specifically mystical in nature? Not only may it only generate when the player holding the map shows up... It may only exist as long as that map is PRESENTLY IN A PLAYERS INVENTORY. Going to other worlds just got a lot more perilous boys and girls.
I've been meaning to, but haven't played with dimensions yet. Having a map leading to a portal and then only opening if you have the map/key/stone intrigues me. Not sure yet if it is totally suited for Treasure! or for a new mod (i think i'm reaching the saturation point with the different chests - a new one coming in version 3). I could probably prevent the creation of a specific mod portal, say a Twilight Forest Portal, but couldn't prevent all mod portals, unless they all are derived from a common MC class. But I haven't looked at portal code yet, so i'm just spit-balling here. I had an idea for use of dimensions for Treasure! but it's on the back-burner.
The Meaning of Life, the Universe, and Everything.
Location:
Friendship, NY
Join Date:
12/26/2010
Posts:
639
Minecraft:
LunariusH
Member Details
Thankfully most of these mods allow you to turn off player generated portals. That's why your mod popping one into existence is a work arouND for thst.
Rollback Post to RevisionRollBack
"Compatability is King, but configuratiblity is Queen" - InfinityRaider
1. NP.
2. Schematics is a file format that can be used to save a portion of a MC world: Schematics Link
I used MCEdit to capture a structure and save it as a .schematics file. Then I convert that to .plans.json file.
3.Yes. You can modify the sgs_treasure.cfg file to change various properties, such as rarity of each chest/ship/well/grave etc, where they spawn, etc. You can edit the actual .plans.jsons file under the sgs_treasure/plans directory, modifying the rules there, such as what blocks to generate, y-offset, water/lava/foliage preservation, probability of block spawning, what a spawner spawns, etc.
Is there a way to dictate what specifically spawns in a given structure without using a spawner? Or is that a different form of occult magic?
Also, can a .schematic contain blocks from any Mod your server happens to have installed (provided the server it's being used on has them to?)
1. No, the only real way to controls what spawns in a given structure is to have a spawner block present, or your own custom blocks that spawns mobs.
2. Short-answer - No. However, you can use the substituteName property in your .plans rules. Ex. If you have a custom brick block, you'd build your structure using say wool (or another block that won't normally appear in your building). Then you save your .schematic and convert to .plans. You edit your plans, find the rule with blockId=35 (wool=35) and add/edit substituteName="yourModId:yourBrickBlockName". So then, when the structure is being generated all instances of that wool rule will place your brick block instead of wool.
I'm currently working on version 3.0 of the API which fully supports names instead of IDs(version 2 is kinda a mix). It will also have ability to use config rules that let you preset your substitute rules etc, so that in your final .plans file, you won't have to edit anything, it'd already be set to your brick block instead of wool.
I've tested it with Primitive Mobs, Thaumcraft, and BiomesOPlenty all together. Please let me know if you still have issues.
Download Version 2.5 BETA for 1.7.10
Thanks for the great work, and again, I really enjoy the mod.
Also - Do these new structures register as structures like Strongholds/Fortresses/Etc?
If so, you might be able to use JAS (Just Another Spawner) to help customize what spawns there.
Cool
Can you have nearby structures populate based on the presence of others?
Is it possible to set a structure to ONLY populate once per world?
Can we get a config to remove the crafting recipe for the keys? Can it come with a config that makes keys of the appropriate type always work?
1. I put no limitations on the dimensions of a structure, so you should be able to build really large ones - theoretically up to the size of a java int (2^31-1 = 2147483647). Currently however, generation is done in a single thread, so really large structures may cause some noticeable lag. I was going to test using multi-threaded generation with the labyrinth system, but i'm not sure if this will interfere / collide with other generators.
2. Do you mean if (X,Y,Z) is within 10 blocks of Structure A, then build Structure B? While you could program your mod to do this with the Plans API (i'm currently doing something similar in my next mod), there is nothing in the config/rules that you can change to automatically do this. In Treasure I use an extension of the Plans API to include "connector" blocks that indicate at what coordinates two structures should join. Ex. where a Shaft connects to an underground chamber.
3. Currently No. Originally I thought to have this as a property in the .plans file but decided that uniqueness to a world is a function of the implementing mod as opposed to the Plans API. (you'll see a properly in the .plans file call isUnique, but it doesn't do anything for this reason). That being said, I do plan on adding unique structures to Treasure 3.0. Not sure exactly how i'm going to set it up yet, but I'll probably have some config setting to enable unique structures, and then a directory where the unique plans are stored.
4. I'll look into this. Should be fairly straight-forward.
Is there anyway to have the mod generate a map that contains a waypoint to a treasurespawn in an ungenerated chunk a configurable minimum/maximum distance of chunks away?
The idea would be that this prize doesn't exist in the world until someone finds the map.
Well, I make no promises as my queue of major additions for v3 is already full and I know nothing of programming maps in MC. But to flesh out the idea a bit, would the treasure be unique to the holder of the map? ie. no one else can just stumble upon the treasure that you have the map for. Or, would the treasure spawn when you find the map, you're just the only one who currently knows where it is?
I think the only reasonable option is #2... They're the only one who currently knows where it is. There are too many problems with the other option. (Such as, what if the map generates a sunken ship? They show up and "Poof!" mystery ship? Probably not great for a persistent world. XD )
However... Both options may be fun.
You may recall at one point I was wanting to use this mod to turn off things like the nether portal and twilight forest portals from being able to be made by players. But I wanted them to spawn in the world.
Having a map generate that led to one of these portals would be amazaballs. For most things, the 2nd option is great, and the only reasonable option (It generates when the player discovers the map)
But for a map that leads to an area that is specifically mystical in nature? Not only may it only generate when the player holding the map shows up... It may only exist as long as that map is PRESENTLY IN A PLAYERS INVENTORY. Going to other worlds just got a lot more perilous boys and girls.
Spawning, presently, can be controlled by structure type in the Vanilla code. There are things that inject specific spawntypes into structures like the netherfortress and abanoned mineshafts.
It leaves one curious how this could be leveraged to removing spawners from the generated structures, and instead having new structure types with their own spawn list.
I've been meaning to, but haven't played with dimensions yet. Having a map leading to a portal and then only opening if you have the map/key/stone intrigues me. Not sure yet if it is totally suited for Treasure! or for a new mod (i think i'm reaching the saturation point with the different chests - a new one coming in version 3). I could probably prevent the creation of a specific mod portal, say a Twilight Forest Portal, but couldn't prevent all mod portals, unless they all are derived from a common MC class. But I haven't looked at portal code yet, so i'm just spit-balling here. I had an idea for use of dimensions for Treasure! but it's on the back-burner.