SmoofyDungeon - An advanced dungeon generator


#1

This is a discussion topic for the Ore project, SmoofyDungeon. View the full project on Ore for downloads and more information.


SmoofyDungeon

Presentation

SmoofyDungeon is an advanced world generator which generates an infinite complex dungeon with a lot of monsters, structures and treasures! This plugin is a full rewrite of his bukkit equivalent by timvisee but has been greatly optimized and improved to increase performances and support new additions. Currently, this plugin add 7 underground layers of dungeon for a total of 28 rooms per chunk. Some rooms contains treasures or structures and some others contains monsters. Sometimes it’s easy to survive but if you go deeper the difficulty will increase and some rooms are just insane. Can you survive ? How longer will you survive ? Try by yourself or with your friends!

Screenshots

Screenshots can be found for each populator on this page: Populators.

Usage

To create a new dungeon world you must have a world manager plugin installed on your server. SmoofyDungeon has been tested with ProjectWorld and Nucleus. While creating your world you must add the following modifier to the world: smoofydungeon:default. For exemple, with ProjectWorld or Nucleus you must type the following command: /world create theNameOfMyDungeon -m smoofydungeon:default.

Configuration

SmoofyDungeon generates a configuration for each world loaded with the following modifier: smoofydungeon:default. These configurations might be modified to enable or disable specific populators or change the number of layers. Configuration files can be found in the config/smoofydungeon/worlds/ folder, the structure of a file is pretty simple but for more information, open this page: Configuration.

If you want to edit a configuration before creating the corresponding world you can use this command: /smoofydungeonconfig help or /sdcfg help.

Populators

In Minecraft, a populator is an algorithm used to add structures, decorations, entities, etc… during the generation of a world. SmoofyDungeon add many populators which can be enabled or disabled per world to customize the generation. For more information about these populators and what they are doing, open this page: Populators.

Updates

SmoofyDungeon automatically connects to the Ore repository to check for updates. By default, the console and all players having the permission smoofydungeon.update.notify will be notified when an update is available but it can be disabled by editing the following configuration file: config/smoofydungeon/global.conf.

Statistics (removed in 1.2.4)

SmoofyDungeon can use bStats to collect anonymous statistics, this is disabled by default (since version 1.2.0) but it can be enabled by editing the following file: config/sponge/global.conf. Here is a list of all currently tracked informations:

  • The count of servers using my plugin
  • The count of players on these servers
  • Online mode
  • Minecraft version
  • Plugin version
  • Core count
  • System arch
  • Operating system
  • Server country
  • Java version

Todo list

  • Add new populators
  • Make things more configurable

#2

Great! Can’t wait to see this progress! :smiley:


#3

Thanks :slight_smile: ! I was busy these last months but I will publish updates soon :smile: !


#4

A new version has been released for SmoofyDungeon, it is available for download here.


  • Add CeilingSpawnerPopulator (ceiling_spawner)
  • Add moss on cobblestone_wall blocks
  • Add basic config updater
  • Improve ChestContentGenerator and FurnaceContentGenerator
  • Add EntityEquipmentGenerator and ArmoryRoomPopulator (armory)
  • Add automatic update checker

#5

Just downloaded, and I love it! Is there any tutorial for how to make our own populators?
Also, is there any way to make the world spawn even more dungeons? Say, from build limit to bedrock?


#6

Thanks!
For now, there is no way to add your own populator, but this may change. The problem is that each populator have a custom algorithm to obtain the best generation possible and so you will be able to add a new populator only if your a developer. I will try to find a solution a make things more configurable, including the world height and the number of dungeons for exemple. :slight_smile:


#7

Thank you very much! Quick last thing, which populator is it that has Shulker boxes in it? I’d like to be able to disable that one in the config


#8

That’s armory_room :slight_smile:


#9

A new version has been released for SmoofyDungeon, it is available for download here.


Warning! The world generation has completely changed. I highly suggest to backup your old dungeon worlds and create new ones, or just stay with the previous version if you prefer the old generation.

  • Refactor ChunkPopulator, LayerPopulator and RoomPopulator
  • Change few parameters
  • Improve algorithms of few populators
  • Add IronBarsPopulator (iron_bars)
  • Add RedstonePopulator (redstone)
  • Add RiftPopulator (rift)
  • Disable bStats by default
  • Merge all populators in DungeonParentPopulator
  • Refactor ChunkInfo, improve memory usage
  • Make layers count configurable
  • Really improve surface generation
  • Improve oasis and entrances generation
  • Refactor WorldConfig
  • Allow to register custom populators through the API
  • Improve update checking

#10

@LemonGraham Your wish has been fulfilled! You can now type /sdcfg layers 30 theNameOfMyDungeon before creating a new dungeon world to generate a maximum of dungeon rooms. :slight_smile:
However, I warn you, the generation is likely to be very heavy and to take some time. :wink:


#11

Amazing work! This is a good way to mix up plain servers and give it a unique twist. Is there any chance for a full “Populators” list? Also it would be great if we can choose what items appear in the chest, I understand it being difficult with algorithms. Does this support modded blocks as well?

Keep up the great work!\


#12

I just posted the list of populators and some screenshots on this page: Populators. :slight_smile:
I will try to make loots configurable in the future but I don’t have enough time for now. Once done, you will be able to add modded blocks in loots configurations but default populators will always place vanilla blocks.


#13

A new version has been released for SmoofyDungeon, it is available for download here.


  • Make command messages more explicit
  • Fix TorchPopulator

#14

A new version has been released for SmoofyDungeon, it is available for download here.


  • Require SpongeAPI 7.1.0 and so SpongeForge/Vanilla 7.1.2 or +.
  • Add EndRoomPopulator
  • Add PressurePlateTrapPopulator
  • Fix floor offset of layer 0
  • Update to bStats 1.4

#15

A new version has been released for SmoofyDungeon, it is available for download here.


  • Require SpongeAPI 7.1.0 and so SpongeForge/Vanilla 7.1.2 or +. (since 1.2.2)
  • Fix bStats
  • Improve update checking (again)

#16

A new version has been released for SmoofyDungeon, it is available for download here.


  • Remove bStats

#17

Hey I’m wondering if this is compatible with mapping mods? I tried to enter a dimension I created and it keeps crashing my server. Heres the crash log: https://pastebin.com/YC3aXxZS


#18

The crash is related to a furnace and my plugin does generate furnaces. Apart from that, there is nothing related to my plugin in your crash report. I suspect a mod to interfere with furnaces, according to your mod list, it’s probably FastFurnace.


#19

Thanks, I’ll take a look into it.