Bomb Bloke, on 16 May 2015 - 07:26 AM, said:
Many thanks for findinding a suitable mod pack and the details to help people try it out!
Create all 5 pyramids:
Bomb Bloke, on 16 May 2015 - 07:26 AM, said:
...
pastebin get qapgmdFu build.lua
pastebin get h2URG0mE interiorData.lua
build.lua 40 69 -42 3 3 1
You can use this set-up up also to generate the other 4 pyramids.
In game I use different coordinates to not overwrite the pyramids, but for testing you can use:
build.lua 40 69 -42 4 3 2 -- for pyramid 2
build.lua 40 69 -42 4 4 3 -- for pyramid 3
build.lua 40 69 -42 5 4 4 -- for pyramid 4
build.lua 40 69 -42 5 5 5 -- for pyramid 5
However, in the later pyramids, you should give you also some protection like leather armor.
In game the ceiling glass and the sandstone is unbreakable. So in the test set-up TNT might destroy a bit too much.
Balancing:
Bomb Bloke, on 16 May 2015 - 07:26 AM, said:
...
What I've played seems to work well, but I do notice that some rooms take dramatically less time to clear than others (eg, a room may contain ladders that you have to navigate, or... just a few flowers, that you can ignore). Dunno if you're already doing this, but it may pay to weight the odds of certain rooms appearing, or outright ensure all players get even amounts of "easy" and "hard" rooms per maze.
Absolutely true. This is still on my to do list, but I had to postpone it to meet the deadline (was not the only thing
). In all 5 pyramids together there are atm 82 rooms, so to some degree it will balance it out.
Probably more an issue for fair balancing is the random door set-up. In some cases there are really nasty constellations. This is especially true for the higher levels, where there are two new room types ("jukebox" and "sand-TNT"). Both need you to find an item before you can pass.
Actually, I find it hard for myself to not loose orientation on level 5
Format used in interiorData.lua:
As the format of the interiorData is now relativley stable I sould do a detailed description of it. For now here are some basic infos, for those who would like to play around with it a little bit.
Example "teleport" room:
{"interiors",{name="teleporter",maxCount={0,0,1,2,2},noExit=true,noEntrance=true}}
-- floor
{"base",{y=0,mat="chisel:woolen_clay",dmg=15}}
-- tank walls
{"base",{x1=2,x2=8,y1=1,y2=2,z=2,mat="OpenBlocks:tank"}}
{"base",{x1=2,x2=8,y1=1,y2=2,z=8,mat="OpenBlocks:tank"}}
-- ...
-- teleporters
-- -- left to bottom (white)
{"blocks",{x=2,y= 0,z=1,mat="chisel:woolen_clay",dmg=0}}
{"blocks",{x=2,y=-1,z=1,mat="minecraft:command_block",extra="{Command:/tp @p ~-1 ~2 ~4 }",absolute=true}}
{"blocks",{x=2,y= 1,z=1,mat="ObsidiPlates:ObsidianPressurePlate"}}
{"blocks",{x=1,y= 0,z=5,mat="chisel:woolen_clay",dmg=0}}
-- top to left (orange)
-- ...
-- chests
{"blocks",{x=5,y=3,z=5,mat="minecraft:trapped_chest",dmg={2,3,4,5}}}
-- ...
-- randomization access to chest
{"subinterior",{name={"teleporter1","teleporter2","teleporter3","teleporter4"}}}
{"interior", ...}
- starts a new room definiton
- maxCount={0,0,1,2,2}: how often may this design be used in level 1, 2, 3, 4, 5.
- The example room "teleporter" is a level 3+ room and may occure twice on level 4 and 5. It is neither allowed to be in the entrance nor in the exit room, as it would mess up the redstone.
{"blocks", ...}
- sets one block
- {x,y,z,material,damageValue,extras}: If you set "x=3" this will set the block always there. You can also define an array "x={1,2,3,4,5}", then one of the options will be choosen randomly. This concept applies also to many other options (but not all).
{"summon", ...}
- summons one entity (quite complicated NBT-syntax)
{"base", ...}
- makes a base/wall/cube from one block type. You may either give a fixed value for x/y/z or you define a range, e.g. "x1=3, x2=7"
{"subinterior", ...}
- applies a further interior definition to the same room.
- In the example only one of the 4 sub-interiors will be applied. This randomizes the 4 differnet access ways to the chest.
Edit: Ups, just realized that the teleporter needs ObsidiPlates installed...
Edited by Kaikaku, 16 May 2015 - 11:21 AM.