#Roguelike dungeon loot rework
1 messages · Page 3 of 1
so all food should work
there was a chest that had a nice amount of ender pearls
basicaly no chests
spawn without custom rooms
yeah
sure
i think that's where the rework needs to focus on more than anything is make floor 3 less of a nightmare and add more stuff to floor 4
floor 5 is acceptable, i don't think it needs more stuff down there
each tower
has somewhat unique rooms
nothing too crazy
like this is for jungle
gives less crypts
to floor 3
and more dungeons to floor 4
called floor 2 and floor 3 internaly
a list of every room can be found here
holy crap i found a half stack of damascus steel in the spawner room for floor 5
plus two steam age lootbags okay that's pretty good
okay yeah my first fifth floor is pretty good, i'd get full steel armor, 40 damascus steel and 3 steam age lootbags
right so, my thoughts on this first dungeon:
- first floor has a great amount of food and lots of coal and iron
- second floor wasn't too noteworthy
- third floor had a lot of armor in the armor chests, and a lot of tinkers parts
- fourth floor was a dud
- fifth floor has a lot of damascus steel
one thing i can note, i think the amount of torches you give in the other chests is not at all proportionate to the amount of coal you're able to get in the early floors
so either bump up the torch amount in other chests, or tone down the coal ( or swap it for lignite because lol )
onto the next dungeon
already i think the house dungeons are going to be super desirable compared to the other ones
perhaps something to do for the rework is having some kind of starter chest in each dungeon type
because this chest in the house gives so much with no risk
okay, i do have a suggestion for the first two floors for the junk chest, perhaps add in quicksand blocks?
Yeah I think we might have to tone down the starter chests for as long as they spawn directly in the house. They should have stuff useful for the delve, but not the loot you're delving for. As it is those backpacks are an end-of-stoneage item, not the first thing you should pick up.
Though I want to point out I'm not against people getting lucky and having an easier start if they choose to live in the starter houses, or in a city, or in whatever other built structures they find.
I'd really rather it wasn't there. A project red backpack maybe, but the forestry ones are too useful for your first minute of the game.
as @stray gyro points out we have to basically consider those to be starting equipment for players first loading into the world.
i wouldn't be against giving woven cloth in it's place
woven cloth and tanned leather, both are kind of a chore to get early on
It is. Believe it or not it's not trivial for complete noobs to work their way up to tanned leather in this pack
i've been hosting a multiplayer server and i know how clueless some peeps can be
As long as it's not a 100% guaranteed clay bucket
Fruit tree sapplings are also nice yes
Just gotta put other stuff in that pool yeah.
it could also be a project red "backpack" which is basically a pouch and won't auto-pickup items
But some randomization is nice
could be a soft mallet, a project red backpack, shears, or some kind of nice early game food like large sandwiches
nothing that'll knock your socks off, but not totally useless either
ProjectRed backpacks aren't craftable
they're basically a regular backpack but with no extra functionality, can't be equipped, and has no upgrades to it
honestly i think that's a bit strong for early game but it don't think it's too game breaking
plus they come in pretty colors too
Thanks, which file name is this for?
just add it to config
and do /roguelike dungeon here nbtTest
something doesnt work
Okay so file name doesn't matter
Alright well it's time to look at the code and maybe place some breakpoints.
Ah yes that's most likely it. The nbt must be a single string with the proper escapes.
So maybe "{\"GT.ToolStats\":{\"SecondaryMaterial\":\"Wood\", \"PrimaryMaterial\":\"Salt\", \"Mode\":\"0b\", \"MaxDamage\":\"31400L\"}}, \"meta\": 12}, \"weight\": 10}"
hmmmm
The /nbtedit and /nbtedit item commands?
yeah
{SecondaryMaterial:"Wood",PrimaryMaterial:"Salt",Mode:0b,MaxDamage:31400L}
problem is
it doesnt like that json
You need to escape the inner quotation marks
Like in the example I sent
so "Wood" becomes \"Wood\"
So the information you found may not apply to this version
the current code seems to be
if (json.has("nbt")) {
JsonObject nbtdata = json.get("nbt").getAsJsonObject();
this.nbt = JsonNBT.jsonToCompound(nbtdata);
}
So that would imply your first version with an embedded JSON object was correct
Sugestion: Maybe don't translate the Mode and MaxDamage as strings, but as numbers
it isnt strings here
the b and L suffixes are for the NBT format but don't exist in JSOn numbers
so just remove the b and L
actually I think maybe 0b means false
{"data": {"name": "gregtech:gt.metatool.01", "nbt": {"GT.ToolStats":{"SecondaryMaterial":"Wood", "PrimaryMaterial":"Salt", "Mode":0, "MaxDamage":31400}}, "meta": 12}, "weight": 10}
like this
assuming b means boolean
let me set it to false
making it false does not work
maybe backport 1.12
nbt features
No need, the nbt feature is there. I'll look into it when I have time but I'm not sure that's today
If you want to look into it further, test with a simble base minecraft item in the runclicnt for Roguelike-Dungeons
ok
You can launch the runclient in debug mode and place a breakpoint in WeightedRandomLoot at line 82 to see how it's trying to read and convert the nbt
Thank you all for all the work you put into this! I quite enjoy these dungeons in early game so I'm looking forward to these changes 🙂
There's instructions higher up in the thread if you want to give it a try and give your early impressions, which would be most welcome.
A simple nametag modified at the anvil with a name is probably a good test item
yeah, I saw those 🙂 probably won't get around to it this weekend, but Easter weekend might work 👍
Hopefully by then these changes will be in the regular nightly and thus easier to test
i tihnk the last step
is the nbt
and fletching/backpack change
which shouldnt take long
Looking at the JsonNBT it looks like in this version the author is using their own code to translate from json files to NBT
We may or may not need to include the "type" key which explains what type of NBT object a JSON value is
from what ive seen this is the first 1.7.10 pack to use custom settings
i mean we could justp ut single use tools
but that would be janky
No worries, we will either figure out the existing system, or we will change the code to make it work. There's no reason we couldn't use nbt.
so i did a fair bit of exploration of the dungeons, i found about seven of them that i combed through
my initial observation of there being too much armor still stands, i think there's just a lot of it for the entire dungeon's layout, not just with the third floor
also, steel wasn't spawning nearly as much for me, most i found in one dungeon was 14, while in that same dungeon i found 43 Damascus Steel on the fifth floor alone
the food variety is good, i say sprinkle in some top tier foods like Delighted Meals or Curry Rice in some of the loot pools so that there's some meals that can help with regen
the Thaumcraft bone bow spawns a fair bit, i found four in one dungeon
alrighty, i didn't check to see if you did any commits today
the drops for coal is super high in the first two floors, and the amount of torches there is to get in lower levels is pretty low
personally i would bump up the amount of torches we'd get from exploring the deeper parts of the dungeon, it's very easy to blow through like two stacks of torches to light up floor three alone
i'm wondering if giving the stainless steel Pam's kitchenware as a possible floor five drop could be something to consider
the kitchen knife and the mortar
@crimson berry it's not just the NBT, I don't think this config is sufficient to properly configure a full dungeon.
I used this for testing:
{
"name": "test",
"loot_rules": [
{"level": [0, 1, 2, 3, 4], "each": true, "quantity": 1, "loot": [
{"data": {"name": "minecraft:torch", "meta": 0, "min": 1, "max": 3}, "weight": 1}
]
}
]
}
In the code it merges this config with the base config for custom dungeons which has 125 loot rules so you need to override those:
"overrides" : [
"LOOTRULES"
]
After that change I still couldn't get the dungeon to spawn properly so there's probably further issues to be resolved with that minimal config.
Try setting weight to 1000000
I still had issues when i did it properly and add it to the junk pool that was overised
Overided
But for further teting ill add the nbttest to loot all
So that it is guarenteed to work
Maybe i just got very unlucky with 5 sticks spawning every time
As all incorrect items turn into sticks
@crimson berry
@haughty yarrow
i did two brief spelunking trips in a survival world to see how much stuff i could pull from the chests on the first two floors
i also got full quartz armor too, plus the lunchbox has a whole lot of sandwiches
overall threat level wasn't too bad, the only thing that killed me was one of those shadow witches ( who was infernal )
honestly, i don't think i mind having this much loot be obtainable from about three hour's worth of combat/exploration. without any of the machine hulls or components the amount of ingots makes the early parts of the game less of a pain, i think
especially with all this iron, it'll be very useful for getting a railcraft tank as soon as the player is ready to start steam age progression
that seems fairly reasonable
it was really sketchy in some parts, but as long as you're quick to torch up spawners the amount of infernals is ( mostly ) tolerable
Ill try to finish this up on thursday
With fletchings, and removing the forestry backpack
Then try to get nbt working
a project red backpack seems more op, no item restrictions and more slots, ill make it a clay bucket
or even better milk clay bucket
I wouldn't trust milk that's been laying around for so long :p
Loot is a neat place to distribute otherwise unobtainable items.
it is essentialy the other backpack mod backpack but you can use way more than 4 of them
but i do agree about the otherwise unobtainable
no more unobtainable food
and music discs
ok fletchings also down
time for nbt
Is it possible to make superflat worlds
a fully glass superflat world would be nice for theme and room testing
You could make a personal dimension and spawn the dungeons of your choice there
Potentially requiring messing with the dimension whitelist
good idea though
if you take out the default world gen mod, yes
tho itll be all one biome
if you set the y to like, 80, they spawn
What is the simplest vanilla item with nbt
ima see what the code is
in the 1.12 version
left is 1.12
right is gtnh
so idk why it doesnt work, it is the same code im pretty sure, yet following the instructions on how to add nbt in 1.12 doesnt work here
ok
for some reason in the 1.7.10 version
nbt needs to be capitalized
wait nvm
these are invalid
enchanted books
rip
strange, if the code remains the same from the versions, I would think the method to add nbt would remain the same
The name tag seemed very very simple
The main issue I had was getting a valid dungeon config
I tried a named item and it didn't work still, ima see if it works in 1.12 verison
Ideally you would get a config that works in the RogueLike Dungeons runclient and debug with breakpoints
I know this wasn't a sufficient minimal config to configure a dungeon with custom loot:
{
"name": "test",
"loot_rules": [
{"level": [0, 1, 2, 3, 4], "each": true, "quantity": 1, "loot": [
{"data": {"name": "minecraft:torch", "meta": 0, "min": 1, "max": 3}, "weight": 1}
]
}
],
"overrides" : [
"LOOTRULES"
]
}
The config is causing a bug that makes the level generation hang and never return
After further testing, this config works just fine, it just takes forever to actually generate the dungeon for some reason
Good news, I got NBT to work.
Bad news, you won't like what I had to do to make it work.
{
"name": "test",
"loot_rules": [
{"level": [0], "each": true, "quantity": 1, "loot": [
{"data": {"name": "minecraft:name_tag", "meta": 0, "min": 1, "max": 1,
"nbt": {
"display": {"type": "COMPOUND", "value": {
"Name": {
"type": "STRING",
"value": "Bob"
}
}}
}}, "weight": 1}
]
}
],
"overrides" : [
"LOOTRULES"
]
}
Note, Minecraft has a JsonToNBT class, maybe we want to use that instead of the custom JsonNBT class in RLD
Okay, much easier
I just threw away JsonNBT and now I can use the NBT string copied from /nbtedit item
I will make a proper PR to RogueLike dungeons later to add a config to choose either this behavior or the new code, or better yet to support both at the same time
Until then you can test with this version of WeightedRandomLoot(JsonObject json, int weight)
public WeightedRandomLoot(JsonObject json, int weight) throws Exception {
this.name = json.get("name").getAsString();
this.item = (Item) Item.itemRegistry.getObject(name);
try {
this.item.getUnlocalizedName();
} catch (NullPointerException e) {
throw new Exception("Invalid item: " + this.name);
}
this.damage = json.has("meta") ? json.get("meta").getAsInt() : 0;
this.weight = weight;
this.enchLevel = json.has("ench") ? json.get("ench").getAsInt() : 0;
if (json.has("min") && json.has("max")) {
min = json.get("min").getAsInt();
max = json.get("max").getAsInt();
} else {
min = 1;
max = 1;
}
if (json.has("nbt")) {
NBTBase nbtBase = JsonToNBT.func_150315_a(json.get("nbt").getAsString());
assert nbtBase instanceof NBTTagCompound;
this.nbt = (NBTTagCompound) nbtBase;
}
}
As you might have seen from the discussion today in #mod-dev , we just don't break compatibility for fun. There might be someone who made a modpack for 1.7.10 and uses NBT for their Roguelike Dungeon items and who will want to update to our fork's newest version. We have no reason to break them if it just takes us a minute to write the code in a backwards compatible manner.
Thanks
From my brief raid into first three levels, I got couple of bugged GT tools with 0 durability, over a stack of bugged bones that cant be used for anything but tcon tool parts (I suspect lack of bone oredict has something to do with it), I also feel like there is weirdly too much food (though I'm not complaining). Addition of backpacks, tanned leather, decent armor, as well as tcon tool parts was nice, and makes raiding the dungeon early game worth it (especially for backpacks), as before you would only go raid it for some specific stuff, like, idk, iron bars because you are too cheap, or enchanting table/brewing stand, etc
I am not quite sure level 4 and 5 are still worth it, but I will do my best to cheese those for the loot too (and to provide more feedback) 🫡
i done a few more raids too, Level 4 doesn't have nearly enough chests for the size of the floor, it's a lot of hazards and hallways with mob spawners
floor 5 is still worth going down there for early nether blocks and i've pretty consistently got ~30 damascus steel from the eight chest death room
i also found bugged string in my runs, not bugged bones
What is bugged string
it looks like normal string, says it's from Minecraft and not from any mods, but for whatever reason it doesn't stack with string dropped from spiders, nor can it be used in crafting at all
it's only from chests i found in dungeons
Can you send a screenshot
uhh yeah, i'll pop in creative and grab it
Maybe i accidentally gave string block as a item
there's a string block?
ohh that makes sense
I also found bugged string, I removed the post about it earlier since I wanted to add it into more comprehensive feedback on level 4 and 5
But since it was mentioned I might as well mention it again
But overall, level 4 is too dangerous for how little loot there is, mostly due to all the silverfish
pff i was getting string in all the other dungeons but this one is generating all the ingots and food instead
alright how do i turn on oredict for ya, @crimson berry
doesn't make wool
also weirdly enough, the spiders from these spawners also drop this bugged string
just checked by spawning spiders from eggs and with natural generating spiders, seems like all spider string is also the bugged string
the debug says they're the same. Oo
but string made from cotton works as intended
pl
ok
gt tools should be fixed
once the pr happens
im not getting the bone glitch
@feral wren @stray gyro
is it every bone
or only a few bones
i never had any problems with bones, personally
like i was able to grind them into bonemeal
but the string that's found in chests and dropped by spiders is bugged
I had bugged bones, about 72 of them
I also had some regular bones but I presume I acquired them through mob drops
Cannot say at the moment, but I did notice that those bugged bones lacked the bone ore dict
I'll try to get the meta of those bones tomorrow
ok
i fixed the bug
there were meta 1 string and bones
because i copied and pasted the code wrong
it is fixed now
Oh, okay, so I don't need to go get the metadata then?
github updated?
noice, i can copy and double check
you will get sticks in the tool loot now because the meta of the GT tools wont work until yanniks pr
but no broken tools will spawn
hey that's fine with me, coal spawns a lot in the first few floors
i think that the treasure rooms with the special loot should always spawn on their floor instead of it being random chance
okay, i didn't know if that was going to be random chance or not
it will never spawn now
yeah because these dungeons take a couple hours to torch up and loot completely
so making sure the time investment is definitely worthwhile
also, i had a really bad moment on floor 4 in one of the dungeons. a silverfish started drowning or was getting hurt by something and it caused about 80+ silverfish to pop out of blocks and aggro
my PC is pretty good, so i only had a little framerate dip, but for people with worser PCs that would've absolutely caused lag and maybe killed them through no fault of their own
yeah, i think that is an inferno mobs
so perhaps make the silverfish blocks be more rare in the floor gen?
yeah because a whole wing of floor one was completely gutted out
because all the stone blocks had silverfish pop out, pop back in, pop out again, over and over until they hit the deepslate and coagulated on that layer
Could it be caused by silverfish spawners?
Because I know that they can appear in the walls
nawh, i was hearing silverfish being hurt and it was causing their pop out mechanic to happen
there is a silverfish spawner segment
there is, but i never had it happen like that before
( honestly if you can remove the silverfish spawner but keep the infested blocks, that'd be fine )
there does need to be more chests on floor four, it's mostly a nothing layer
Infested blocks dont naturaly spawn
floor five has a lot of loot potential with the eight chest spawner room and the whole layer being pretty valuable with the nether blocks
i thought floor four had silverfish blocks?
jesus i had a bunch of silverfish with that. is there an infernal modifier that makes it so when a mob is hurt it makes more silverfish?
like the whole floor was bugs
I'm quite certain that there is no infernal modifier that causes mob to spawn silverfish
there was a fuckload of silverfish, i dunno if a spawner was able to make all of them
ill check the code
but with custom themes
silverfish blocks wolnt spawn
here is the custom theme branch if oyu wana try it out
yeah, that'd be great
does the custom themes have new rooms to it?
aside from the treasure
yeah
custom rooms
per biome
desert has the desert rooms that have more ore
forest should have the smith room
and more cake rooms
mountian has the enchanting room earier than the other dungeons
mountain is the wizard tower, yah?
yeah
Ill prob change this back because mountain spawns in more biomes now
but every dungeon has enchant on the 4th floor
guaranteed enchantment table?
with mountain having it on the 2nd floor
yeah
that is prob too powerful though
and mountain dungeon spawning in hills is prob good enough to not make it extreme rng
iunno, it's a struggle getting down to floor four, even with trying to cheese it
and, really, the most you'd be getting out of it is fortune III books and prot 4
you'd still need the sigil
unless you're lucky with dungeon loot, that's a wither drop
like, i don't think the enchantment table is as important in the early game, not until you get up to Thaumcraft in MV
i never seen anyone rush getting an enchantment table by going dungeon-hunting, so i think it's more of "if you're willing to risk the dungeon, it'd be worth going down there for loot"
@crimson berry if you'd like, we can pop into one of the VC lobbies and i can stream going through a dungeon
kind of simulate going into one
sure ill join lobby 1
I'd be careful about any accidental or purposeful removal of silverfish. We want to make it harder to cheese your way into the lower floors, not easier.
it is accidental because there are less blocks silverfish can enter
/roguelike dungeon here
/roguelike dungeon here dungeon_ice
/roguelike dungeon here dungeon_forest
/roguelike dungeon here dungeon_desert
/roguelike dungeon here dungeon_jungle
/roguelike dungeon here dungeon_mesa
/roguelike dungeon here dungeon_plains
/roguelike dungeon here dungeon_mountain
@haughty yarrow how good is endstone
as an item
or should i remove it from the themes
seems fine imo, if its in low amounts
and crops
@crimson berry door factory did spawn in 3rd floor dungeon
Right now it is exclusively found in the end and locked behind HV. I'd rather we don't change block availability other than purely decorative blocks
Endstone is needed for endsteel
Ok ill remove the normal endstone
Suggestion: if you want to use many many different themes with all kinds of decorative blocks, consider making multiple variations of each biome dungeon
For instance multiple desert dungeons each with a different theme but the same loot and rooms
Sure
There is still a lot of nornal themes though
And im not sure what decorative blocks would look nice
Also something negative commented was that the 5th floor should have some useful blocks put into it
i wouldnt say thats the primary reason to get endstone 
Helium tungsten and platinum
i forgot about end steel too, that's pretty useful for EnderIO progression
it's not -a lot- of endstone, but you can dupe it with thaumcraft so ¯_(ツ)_/¯
there's a fair bit of chisel blocks that could work
If you got ideas
Lmk
I got one
For swamp
Mushroom themed
And add gt ores to the mesa theme
also remove the fires from the wooden floors
That will be done with the segment addition
also-also add in the smith, haven't seen it generate in anything
do you think it'd be possible to make a Tinkers room on like, floor 4?
with tool forge and a smeltery
since theres steel and itnkers parts in the dungeon
New rooms would be hard, ill need to see how to add in custom rooms
:o ic, nvm then
if that would be an option, the smeltery could have the windows/gauges for Tinker's
because those are pretty annoying to craft
i don't think having a tool forge early would be too much of a game break, it'd be worth exploring floor 4 pretty worthwhile
Villages already does tinkers relyably
You could probably work on themes before you do rooms, they'll be by far the most complex change
And we might also need a custom level generator to get the behaviors we want
The challenge for a room layout update really is to only make purposeful changes.
since you guys are backporting a lot of future blocks, you could also feasibly make rooms that have sugar cane farms in them.
Sugar cnae spawns as junk
just a suggestion, i know it'd be a lot of work ( but free observers would be pretty neat )
right, with the pistons
it's not a requirement, it's an idea that could be nice to spice up the room variety and give different things to go down there for
what is htis chisel block
why is it curved
can I assume that the copper blocks
will get a better recepie
and not just a gt copper block chisel
Can't assume, coordinate with the EFR channel
But if they recycle back into copper dust there's no way we can use theme as theme blocks
it was mentioned in EFR
just hasnt been implemented yet
it would be a travesty if you need 9 copper
per decorative copper block
Here's my take on it, the way to make decorative copper happen is to decouple it entirely from chiseling copper blocks
And then make it unrecyclable
I would make it 4 stone, 4 copper for 16
At that point it can be 1 copper per 64 blocks or whatever else
like this but with copper
and 16
or 32
Ok ill start with desert
a block between red sandstone and nether
heat wise
I guess basalt and magma
works
Red granite too
NBT PR is here
BTW I might have done something wrong but when I tested the new latest loot config with this new version of the mod, all loot turned to sticks
Yeah pretty sure that was my bad, found a bug in my code.
@crimson berry Okay it's time to make your PR mergeable. I see that it still includes changes to size.txt and a bunch of theme changes that, as mentioned before must be removed. We're only changing loot in this PR.
I could do that file cleanup myself if you'd like.
those should only be in the branch
They're still in https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/pull/19542
This is still the first floor of a desert dungeon though
So it looks like the theme is affected heavily after all
Hmm I'll double-check that I don't have those other files still in my instance
@crimson berry trying to equip copter packs from floor 5 loot chests crashes the game
nawh because cheating one in works fine
do you got crash log
i do in prism, i can screencap the crash area
the crash part repeated five times before it kicked me out
ok fixed
once the roguelike pr drops
it needs nbt for some reason to work
no problem, i can just cheat in the stuff that's not working as intended. 😛
going through these dungeons on survival is quite fun, floor three is challenging but not overwhelming
Alright so it looks like the theme I've been seeing in my test run is actually the default theme that every custom dungeon gets unless you overwrite it. It is defined in the SettingsTheme class whereas the base themes are defined in classes like SettingsDesertTheme for instance.
To create our baseline that we will make intentional changes to, I see 2 ways to proceed:
- We could read each one of those classes and build some JSON files which precisely replicate each of the default themes. This might be exactly what you had been trying to do, I thought I understood you were also making changes as well.
- We could add the ability in code to use one of the builtin dungeons as a base, and use that to only override their loot pools.
Option 2 would be the cleanest for now, but might come back to bite us later when we want to make changes and need more flexibility.
I will also point out that we could be definining those themes as code instead if we wanted. It might give us much more flexibility and power, but it's not clear how compatible it would be with JSON configs. I'm sure we could mix the 2 with some effort of course. If we wanted to go that way, the themes would be defined in the NewHorizonsCoreMod mod.
I'll help out as much as possible/needed to achieve that theme baseline.
Yup, that would work.
Desert is the only drasticaly different one
Are you ok with red sandstone for 3rd floor, that is what is intended in the code but doesnt work
Oh and btw, "Laboratory Glass" from Hardcore Ender Expansion seems to be linked to it's quest/Knowledge system and a relatively deep secret. We should probably swap it for some regular black modded glass, like chisel glass.
Ill do some stained glass
I saw that it's in the code so in theory that's good, but ideally the dungeon would spawn completely identical to the normal look so that we can make purposeful changes in the themes PR and actually show people the before and after
But now I wonder why it doesn't work normally
Red sandstone does not exist
Haha, yeah okay that would be problematic
It has all the 1.12 thenes like purpur, andesite, etc
Okay so I still suggest that for the baseline, please replicate the normal 1.7.10 behavior as much as possible if it's not too much trouble
then the theme update can really 100% be evaluated on it's own, just like the loot update will be
btw from looking at the code it looks to me like secrets should be spawning just fine
I'll debug that later to be sure
Ill check once we work on rooms
But the 2 different themed ones
Should be properly themed now
Well they all have a custom theme, including the forest one of course.
in SettingsForestTheme we can see that the bedroom and smith rooms are actually coded as secrets, but secrets can be found among other things behind door segments.
Yes, you're right. I guess I meant the floor definitions here. Swamp and Mountain are custom though.
ok
are you ok with mountain roguelieks spawning in hills
in this PR
and mesa ones spawning in shield biomes
Is that the best way to make them spawn? I ask because we could probably give Roguelike Dungeons the ability to work with our terrain generation mod and know when we're in a mountain or mesa
And generate there
im not sure how that would be possible
mountains arnt defined as biomes
i guess by y-level
That doesn't stop the terrain mod from knowing where mountains are
If it knows, it might be able to tell us.
mountains spawning in hills feel nice in my oppinion, doesnt feel out of place
mesa one is kinda strange
I want to emphasize that I'm not objecting any of those changes to where dungeons spawn, but really they deserve their own separate PR.
We'll get to it, one change at a time
The point of making a baseline first is so we can track what actually has been changed and for what reasons.
I'll check it all out tomorrow
What I'll be doing in case you want to try it out yourself is running 2 instances, one with and one without the new roguelike dungeon configs.
When I find a dungeon (should be the same place in the world) I'm going to enter it and make sure they look the same. If we do it perfectly they will generate exactly the same but I don't expect the game to allow for that so it's fine if it's just a different room layout.
That's what I did to test for instance a desert dungeon with seed 1337
you can do this for manual spawn of dungeon
Oh by the way regarding red sandstone, that can be a base mod fix instead of a custom theme.
We can give it compat for EFR (or whatever other mod adds red sandstone) and use its blocks when the theme is selected
the difference between a custom theme and a actual theme is not realy anything
also wouldn't that give it a efr dependency
An optional dependency, we can add as many of those as we like
That will make the mod better for all users of 1.7.10
Because most other packs will also use EFR
we are still gona use this AOI for the other roguelike stuff right?
I think it fits to the AOI close enough
as theme blocks and rooms are related, maybe tangentaly to loot
For now it seems appropriate, but we'll just want to do a quick check up with Dream to make sure we're headed in the right direction.
Ideally we could close this one as completed (hurray) and open a new one dedicated to the look and structure
I'll do a bunch of PR reviews today before getting to this one. I'm pretty sure we still need to define literally everything found in the theme code files as JSON for it to be a 1:1 baseline. For instance the desert needs crypt rooms, the forest the bedroom, etc. It's not just the stuff I point out here, we'll need to be systematic. I'll do as much of it as I can later.
I can do that today, the rooms
After all this was our original mission and it's good to declare "Mission complete". https://discord.com/channels/181078474394566657/1340286528693207060 (I tried to link the top post but it didn't work) A new thread dedicated to themes will gather opinions on that from people who are ignoring this thread.
Everything :D
That is the things that are left
from the biome settings
The good thing is the bottom 3 floors for all the dungeons are the same
@haughty yarrow do you want the reward room this PR, now that I am remaking the default room list, and it more closely fits the intial PR
nvm, it would be better
to do it next pr
Ok
default rooms have been added
all that is left is segments, then everything will be ready
Awesome thanks, let me know when!
I'm sure we can figure out the reason.
If they spawn by default, we'll make them spawn
They spawn in the lab room
Otherwise, it's reasonable to also have a chance to give out a potion instead of always giving it out
Alright, good enough
and they spawn by default since it is in
the junk or armor pool
i think
not the potions pool
I set each to false
which i dont know how that works
ok
I figured out how to break segments
but not make segments
neither the 1.12 demo settings or the video tutorial work as a guide
Based on the code, it should be working, but ill try to fix it tomorrow
Alrighty, best of luck!
Breakpoints usually let you pin down the issue quickly enough
yeah
Awesome, I'll take a look at it soon, thanks for all your hard work!
ok
Massive W
Good work so far, I generated the dungeon found in seed 1337 at x 50 z 490 both before and after the change, and the dungeon generated with what seemed to be right right segments for the first 2 floors, and with exactly the same corridor and room layout which makes me think we're close to where we need to be config wise!
There's still a few issue. No crypts spawned on the first or second floor, instead I got a cake room on the first floor. The rooms generally didn't generate in the same segments and they weren't the same. I'm now standing in front of the stairs to the third floor and I can see they're of the wrong material.
If you don't mind I'll try to fix issues that I find and push those fixes to the PR.
Or alternatively, to a separate branch which we can merge back into this one.
I'll go compare in the IDE to see why
I'm testing it out live because why not https://www.twitch.tv/yannickmg
witch one is the config one
On the right
Oh
the 3rd floor should be sandstone
redsandstone technichaly
but it defaults to normal
you two need someone to do any runs through the new changes?
because redsandstone does not exist
Feel free
dunno what's new, Oo
i thought it would default to crypts
like, what i should be looking for and checking out
Find any difference from normal dungeons visually
ignore loot for now
ok the theme one is fixed
are the rooms from the dungeons pre-changes back?
like the bedroom, smithy, fireworks room, etc.
Supposed to be
download the master or theme fork?
master
okley dokley
theme is fixed
crypts not spawning might be a issue
with secret rooms not spawning
You're only overriding loot rules I think
could be a problem?
All this other stuff gets added
rooms naturaly overide, if you only add one room to a room config, only that one room will spawn
wait ill try
to overide secrets
that might work
ok
i did something wrong with the desert rooms
rooms mountain work but not desert
so there is something wrong with that specific file
Comparing the loaded dungeons in the IDE, yours has no "levelDifficulty", "rooms", "secrets" or "generator"
Also the wrong segment for level 1 (desert)
Great, please check if the same needs to be done for others
Please override anything you're setting
we need nothing from the "custom dungeon" defaults
just copy and paste the
things that have been changed
@haughty yarrow cake room shouldnt spawn
reloading the game :)
try /rogulike config reload
I think that only reloads the .ini
still dont see secret rooms even with the overides
Or .cfg I mean
so i might need to do sometinh
@haughty yarrow size file does not exist in this branch
so it doesnt inherit it
it just goes to default size
ok looking at the old wiki, from the tutorial video
i think i did the old secret room
incorrectly
did it like the 1.12 version
secrets have to be a seperate array
i just have to make it a seperate array
i mispelt
tomb
@crimson berry i haven't found a bedroom, smithy or fireworks room
They're secrets, they're broken
those rooms were separated by doors, not hallway rooms
ohh okay
everything else is spawning fine so far
ok
desert specificaly didnt work
by i mispelled pyramid
so ill fix that
i fixed it
secrets spawn now
onmce i comit
Awesome!
ok desert is fixed
forest is fixed
fixed mountain
all the secrets
those 3
plains fixed
swamp fixed
thats all the secrets
@haughty yarrow the chances you find a naturaly spawning swamp of jungle dungeon is astronomicaly small
level difficulty is something not in any wiki
i have found
that might need code added
difficulty
is part
of level settings
that might be why
it is different
but it sohuld be able to be done with json
desert should be fixed
added a difficulty
Awesome
might be a easier way to do this
would it possible to add tower settings
in the config likethis
define tower as a pyramid
oh i am
nvm
tower settigns does not get all the dungeon settings with it
i dunno if this is a bug for here or for the rest of GTNH but clay milk buckets don't cure status ailments
Yeah I noticed. Free PR for anyone who wants to take the time to fix it.
which tools are you working on?
uh...well for iron swords it could be "Militia Sword"
aren't vanilla tools borked though
like, you can't use iron or diamond tools at all
shears would be fine though, could call them "Sharp Clippers" and have Sharpness III on them
swords work
for swords on the fifth level you could call them Nethersbane ( it's a wooden sword )
actually memes aside, vampire pigman are a pain in the ass so that actually might be pretty good if it had unbreaking V on it
i think it would, but honestly the mobs oneshot me so often that having a yeet stick in my back pocket wouldn't make me feel too bad
it's not like it does any appreciable amounts of damage
those sprinter baby zombie infernals can eat a bag of dicks
if a KB X stick is in the floor 4 or 5 chest as a possible weapon drop, i think it'd be a nice bonus to have
like, you can get a kawasaki misubichi katana from Ninja Skeletons that ignores i-frames so--
i don't think getting a possible loot drop of a kb X stick wouldn't be too unreasonable
What enchants should i enchant some armor with
prot and unbreaking seem the safest
if theres some magcal gear, repair would go well
That sounds like a good name for it.
added some enchanted and named weapons
Looking good!
Awakend -> Awakened
idea: what if you can pick up loot chests whole and stack them like in gt6
gt6 lets you mine unopened loot chests and open them back at your base
it would be interesting if loot chests had rewards similar to loot bags at your tier (where the easier to find ones would have the lower tier stuff)
there is the dolly for that, but it does slow you and it's late Steam age
you can get it as a loot drop though in the new treasure room
you can store a TON of dollies in a filing cabinet
and even better
you can actually store dollies in a chest
-filled- dollies?
i didn't know that. Oo
and put *that* dolly in a filing cabinet with the rest
if the filing cabinet runs out of room
thats how i put my entire steam age base in one filing cabinet as i prepared to move to shield biome for lv
i still do like the idea of having like a stack of unopened loot chests though
ok, each floor also has a slightly more powerful rare weapon
they also dont fit in the alliteration making them special
@crimson berry could you re-enable the treasure room for the new changes you did? i want to do another test run in survival and see how the new loot is like
A separate branch can be opened for that but it's a bit too early for a PR since we don't yet have a way to add a meaningful challenge that would justify it.
oh no that's fine, really i want to know which of the files from the themes branch i can keep so that the treasure room is enabled, while i check out the new weapons/armor loot
been also having a buddy of mine do his reckless running into the dungeons and seeing how easy it is to cheese versus doing it the intended way
nevermind i figured it out. just did some code splicing. 😛
Before you just start making more changes, say to the structure, I recommend you work on writing down what changes you want to make and explain why they're beneficial. Prepare to make before & after comparison pictures of the visual changes to convince people.
@copper bay No rush at all, but are you interested enough in updating the dungeon structures/visuals/block composition to open a separate AOI for it?
Ok
examples of thes unused/custom themes
@haughty yarrow should i do it here or just make a google doc
A Google doc is easier to reference on an ongoing basis
ok
Roguelike Changes Part 1 Adding Snow biome dungeon: The non forested snow biomes have nothing in them and are barren wastelands with no trees, or many structures. so, they should get a roguelike dungeon like how deserts have roguelike dungeons. It can have a different enough theme from the ot...
It's a bit much. I think I got something like 3-5 stacks of lead ingots last time I did the nether room?
This is getting good enough for people to do a no BBF run
this is vanadium and damascus
not actual steel
Ok
i nerfed floor 5
steel, vanadiumsteel, and damascusteel
Hmm if the loot is in a stable place we could probably feature it in #upcoming-features and encourage people to download a nightly, test the loot and tell us what they think. Maybe before that we can do a round in #beta-testing . Let me ask around first in terms of our policies for gathering user feedback.
floor 5 is such a pain to clear out and loot that i think getting a stack+ of damascus steel and vanadiumsteel is perfectly fine
there's spawners all over the place, that main chest room takes forever to torch up without dying over and over
Even cheesing your way in?
god i tried doing that but all it takes is one gravity infernal or a fishing zombie and it's all joever
you could feasibly dig underneath, but you're below the lava layer and the dungeon has blocks of lava all over the place
I wonder what's the effect of slapping a single Chandelier above/below that 8 chest room.
fucking nothing
Also tried that then?
well the thing is right is that even if you plop that down perfectly to hit all the spawners ( there's like 16 jesus christ ), you still have all the other hallway spawners and corner spawners and that one nether wart room with another 8 spawners
it's such a thorough pain in the ass to clear out, even if you're trying to cheese it
i even tried being an absolute maniac and used the One Ring to see how much i could loot before i got too much warp
i say nerfing the ingot amount is fine, but there does need to be stuff in those chests to be worth going down there for and getting mauled on
iron golem eggs just die immediately to arrows, so they're not helpful either
Huh, wonder if we should have those as loot
it's floor one treasure room loot, you have a chance of getting 2
Awesome
i suggested mob eggs as possible loot
eggs of all kinds
ocelot eggs, wolf eggs, villager eggs, enderman eggs
i think iron golem eggs being part of the loot table for floor three wouldn't be too bad
Do chandeliers effect spawners?
no they don't
i don't know about magnum torches, didn't bother
Ah good I thought they might
i did too. imagine my shock and despair
Magnum torch at least has the decency of being locked behind titanium
so yeah, floor five needs to have some really good loot to be worthwhile, it takes me about two hours to torch it up in survival just by itself
Magnum torch also doesn't hit dungeons
if i gave less of a crap, you could death run with torches, but that's not sustainable
I hope custom rooms partialy fix this
the treasure rooms are really good
I've seen someone do it out of spite, spamming /back and dying over and over again.
At that point though, we can't stop people from hurting their own enjoyment.
like the floor five treasure rooms have insanely good stuff to get killed over
Fix mobs 
i mean yeah. at a certain point it's about how the player wants to get out of the game
when i tested a full looting of a dungeon, i got enough ingots to kickstart the steam age and feasibly get a couple LV machines
@haughty yarrow anything need clarity hete
but it's not worth going down there for as a replacement for a BBF
i would much prefer making a BBF and being holed up in my base than to raid dungeons for a -chance- at about a stack of steel
if the option is there, it'll be good for experienced players to blast through the early game without needing to do the steam age grind
hell, getting lots of lead ingots helps make potin pipes early, and that's super nice to have
i did some math and it's most cost efficient if you put chandeliers under your floors, all spaced with ten blocks in between
That looks good to me as a starting proposition which can be discussed.
2 things that jump out to me:
- If the Mountain dungeon gets muuuuch more common than it is to the point where every player trivially obtains an enchanting table early even without knowing they should hunt them down, we might want to not make the enchanting table guaranteed or as easily obtainable.
- For the Reward room I would mention that ideally getting the reward would be tied to a yet to be determined challenge.
i dont think adding it to hill biomes
would make it extremly common
just one would probably spawn within 10k blocks form you
I suppose testing will show how common/uncommon it is.
I also dont want mountain to be op in comparison to the other dungeons
Unrelated, but I suddenly really want us to find a way to spawn mountain dungeons on the very top of mountains so we can recreated the Endless Stairs from Lord of the Rings.
a lot of the times just getting to the reward room is the challenge. Oo
In theory. In practice we don't have code that can dictate where it is located on the floor plan so it can be the very first room by the stairs.
And very often would be for the smaller floors
i suppose so, but i don't think you'd need to overcomplicate the reward room. like in the most ideal situation, you'd get the reward room next to the stairs, but that happens so rarely that it's more of a happy lucky break than something to try and prevent
miniboss mobs
i mean, part of the appeal of roguelikes is sometimes you get lucky
other times you're fighting for your life the whole floor, only to get a single muffler upgrade
Easy fix, let's bump the muffler upgrade minimal stack size to 2.
yeah it's only generating with one at the moment
Ah, might be a bug
I think replacing infernal mobs with more mob varients and minibosses would make the dungeon more fun
but if there is a challenge for the
reward room right now, i would say a min boss fight would be the best fit
exept there isnt any existing ones
that sounds like it would be something that'd need more coding than it's worth
like, GTNH isn't RLcraft, there's not a lot of options for combat really
these dungeons really ought to give rewards that are nice QoL stuff without breaking progression too bad, if you're willing to put in the work for looting it out
true, but any combat is more interesting than infernal mobs
also true
in my experience, GTNH is at it's best when it presents a problem that the player has to solve somehow
it's why i was suggesting making the loot drops not immediately useful, such as impure dusts
or even ores could be pretty interesting
i think gtnh combat could be like that if it had better mobs
some mobs could be countered better by different weapons
or have different ways of optimaly fighting them
really the problem is that TiC weapons are very wimpy until around MV
and you're not clearing dungeons at that point, probably
and it's not like you can enchant diamond swords or vanilla bows
or get into Thaumcraft's offensive magic options
it sounds like addressing the mob problem is a lot more broad about the modpack as a whole, rather than it being a RLD thing
more apotheosis-esque?
more like
special mobs
but idk much about apotheosis
i think some special mobs are pretty good
like fisherman and gatling/sniper
some are pretty bad like tough spider/brute
god i hate fisher zombies so much
they've killed me the most out of anything else in this pack
They do offer someting interesting though
ninja skeletons are also pretty cool, but this is getting somewhat off topic
yeah
personally, i think it'd be less of a hassle to simply fill the lootpool with stuff that could be nice to have
like, i can come up with a .txt with some suggestions on what'd be nice worthwhile loot for each floor ( as well as my general thoughts about each floor and the risk vs. reward )
i don't think it needs one personally
in fact i would even be so bold as to say that there should be two reward rooms per floor
because i got three flutterlysers in a row in three different dungeons and i wanted to cry
are they even useful at all? i thought butterflies were junk
The easiest thing I'd like to do for the reward room is just hide one key in a random other chest on that floor
If you found the key and the chest you're very likely to deserve a reward
if you make code to hide 1 key, you could just make code to hide the reward item
i guess there is difficulty in getting there and back
And it's nice to have a highlighted reward room that you know has something special, and you know for sure what you got from it is "the good loot"
otherwise you would never know that what you got isn't in the regular loot pool
personally, hear me out on this one, replace the reward room loot chest with a gold chest
so even if you get something kinda meh or not needed, you still get an upgraded chest
As long as it locks :p
i guess that goes into adding modded blocks and custom rooms
this is not safe btw
more custom rooms would be more interesting i think
the current pool of custom rooms are cool but yeah
im pretty sure minecraft does not like dense, nested nbt
is there any way
to turn a build
into easy code
or would I have to do this manualy for custom rooms
Probably by adding a dependency on some of those schematic mods I've heard about, but there's no guarantee they would be efficient during worldgen where performance is very important.
TBH from what I've seen the Roguelike dungeon worldgen code is very well structured, which is how they were able to get in as much variety as they did while retaining their sanity. (presumably)
For the forest dungeons: "Cozy and lived in" is suitable for villages, but this is a dungeon that happens to have had an adventurer build their house on top of it. They may have even made some floors livable but that place is dangerous as hell and it should show very quickly. They're currently the most common dungeon and I'm down to keep them looking the most "vanilla" of the bunch.
For mesa: A mining theme is very cool, but the mesas as we know them are typically populated by all kinds of clay blocks. This might have been an interesting place to fit in glazed terracotta based looks if we can find a way to reliably make them spawn in the RTG mesas.
Jungle: Define "magical". Any injection of magic content into the overworld is subject to review by Dream. Right now magic officially starts in the Twilight Forest and though there's been talks of moving it's content a bit earlier like in the Nether, the AOIs related to magic are all dead right now with no recent movement. Tread carefully.
it wont be like actual magical, like the fantasy blocks, grimstone, hexplating,holystone, marbel, temple, and tyrian
it is possible to have more than one theme set per dungeon
as many sets as people are willing to put effort into
Yup I would definitely love that. We can vary up the towers as well if we like.
jungle could also have a more natural element as well
for the forest cozy for the first two floors, like carpet, paperwall, glass, hempcrete, and the chiseled woods
Just use the word "fantastical" instead of magical :)
ztone is gona be harder to encorperate in a good way without custom rooms or segments
ususaly needs a good shape to look good
If you want to "go hard" with decoration, you can use most blocks with architecturecraft and place them directly as part of worldgen.
Way more complicated obviously, but you can.
Also makes them less useful to mine for re-use
im not sure if archetecture craft works due to orientation
honestly i was planning on making a google doc of every building block at some point
just because there are so many good ones
They are the most re-orientatable blocks in the pack, but would need custom code of course.
there sume underated blocks like svelstone and microblocks in general
We should be on the safe side and remove the one ring, I think.
I didn't realize it made you able to ignore combat entirely. Not what we want to have in dungeons.
Ah, I had found it in a dungeon, but that was probably because it spawned in a "Vanilla dungeon" that happened to overlap
probably
We should probably remove "The One Ring" from the overall loot pool and place it in the level 5 reward pool or other harder to obtain places.
Sure, I just don't want players to spawn in, raid overworld structures until they find it and raid a couple dungeons for all their early game metals
If they made it through thaumcraft they earned it
From what @eager sphinx reported, it really is trivial to raid a dungeon with it while suffering little to no ill effects.