# The DJ Device: An easy mod/plugin controller

**URL:** <https://discourse.cataclysmdda.org/t/the-dj-device-an-easy-mod-plugin-controller/1089>\
**Category:** The Lab\
**Created:** [May 2, 2013, 6:47pm UTC](https://discourse.cataclysmdda.org/t/the-dj-device-an-easy-mod-plugin-controller/1089 "2013-05-02T18:47:11Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![GlyphGryph](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/glyphgryph/32/847_2.png) [@GlyphGryph](https://discourse.cataclysmdda.org/u/GlyphGryph)\
**Post date:** [May 2, 2013, 6:47pm UTC](https://discourse.cataclysmdda.org/t/the-dj-device-an-easy-mod-plugin-controller/1089/1 "2013-05-02T18:47:11Z")

</div>

The Disaster Juxtaposition Device is an idea I’ve been working on for a bit now, still in the planning stages. As a side effect of much of the awesome work that’s been going to moving things into data files recently, there is the potential for some amazing changes to Cataclysm.

The Goal is simple:  
Create the ability to dynamically, at application time, generate the world based on one or more mods or plugins. Structures, Monsters, Items, Recipes, Tiles, and more.

Want dinosaurs? Simply download the “Dinomod” and stick it in the “Plugins” folder. When starting a new game, go to the World DJ, and select which mods you want to apply. JUST want dinosaurs? Deselect the default “Cataclysm” plugin, leaving ONLY the Dinomod. Want both? Load “Cataclysm” first to let the “Dinomod” redefine what it sees fit and add stuff on top.

Obviously, I need to finish my work on items first, but quite a bit of the potential for something like this already exists. I plan on working on tiles next, but while I’m doing that I’ll be planning how to implement this.

And yes, I know I’ve basically included no details at this point. This post is essentially a promise to myself. I WILL see to it this happens, sooner or later.

---

<div class="post-metadata">

**Author:** ![Nopkar](https://avatars.discourse-cdn.com/v4/letter/n/34f0e0/32.png) [@Nopkar](https://discourse.cataclysmdda.org/u/Nopkar)\
**Post date:** [May 2, 2013, 9:55pm UTC](https://discourse.cataclysmdda.org/t/the-dj-device-an-easy-mod-plugin-controller/1089/2 "2013-05-02T21:55:53Z")

</div>

I fully endorse this with banana’s and twizzlers.

---

<div class="post-metadata">

**Author:** ![Soron](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/soron/32/885_2.png) [@Soron](https://discourse.cataclysmdda.org/u/Soron)\
**Post date:** [May 2, 2013, 10:47pm UTC](https://discourse.cataclysmdda.org/t/the-dj-device-an-easy-mod-plugin-controller/1089/3 "2013-05-02T22:47:06Z")

</div>

Give me something that lets me choose which world to load from within the game, and I’ll help you code it.

It’d be so much better than the repeated “cp -r foo/ bar && rm -rf foo/” commands I currently use when testing save-breaking stuff \>\_\>.

---

<div class="post-metadata">

**Author:** ![GlyphGryph](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/glyphgryph/32/847_2.png) [@GlyphGryph](https://discourse.cataclysmdda.org/u/GlyphGryph)\
**Post date:** [May 3, 2013, 1:49am UTC](https://discourse.cataclysmdda.org/t/the-dj-device-an-easy-mod-plugin-controller/1089/4 "2013-05-03T01:49:05Z")

</div>

I’m actually hoping to save the settings as part of world gen, actually. So yes, maintaining multiple worlds, and being able to build them with different mods, is a core component of what I hope to accomplish.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/cataclysmdda/original/1X/21b5d044e8473b25d0bf905d60477e25f6fbe0cf.png) [@system](https://discourse.cataclysmdda.org/u/system)\
**Post date:** [May 10, 2013, 2:58am UTC](https://discourse.cataclysmdda.org/t/the-dj-device-an-easy-mod-plugin-controller/1089/5 "2013-05-10T02:58:06Z")

</div>

I love games that are like: “Just chuck all the damned mods in you want in this folder and play the fuck out of it!”

---

<div class="post-metadata">

**Author:** ![drake1storm](https://avatars.discourse-cdn.com/v4/letter/d/54ee81/32.png) [@drake1storm](https://discourse.cataclysmdda.org/u/drake1storm)\
**Post date:** [May 10, 2013, 3:00am UTC](https://discourse.cataclysmdda.org/t/the-dj-device-an-easy-mod-plugin-controller/1089/6 "2013-05-10T03:00:38Z")

</div>

Would this be able to override some of the more basic cpps as well?

---

<div class="post-metadata">

**Author:** ![GlyphGryph](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/glyphgryph/32/847_2.png) [@GlyphGryph](https://discourse.cataclysmdda.org/u/GlyphGryph)\
**Post date:** [May 10, 2013, 5:02am UTC](https://discourse.cataclysmdda.org/t/the-dj-device-an-easy-mod-plugin-controller/1089/7 "2013-05-10T05:02:48Z")

</div>

The entire purpose is run time modifications, so no.

---

<div class="post-metadata">

**Author:** ![vultures](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/vultures/32/69_2.png) [@vultures](https://discourse.cataclysmdda.org/u/vultures)\
**Post date:** [May 10, 2013, 10:18am UTC](https://discourse.cataclysmdda.org/t/the-dj-device-an-easy-mod-plugin-controller/1089/8 "2013-05-10T10:18:34Z")

</div>

So basically, you’re leaving items, spawning, skills and game dynamix intact, whilst changing the the challenge level somewhat?  
I humbly ask, doesn’t that look like a scenario editor to you? Lemme draw it in a bit - Airforce One has crashed on an island in the Pacific, and you’re to retrieve codes for one of the game factions; and yes, expect prehistoric beasts?  
The “plugin” logic is fine, I’m just interested if it’s a whole different game…

---

<div class="post-metadata">

**Author:** ![GlyphGryph](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/glyphgryph/32/847_2.png) [@GlyphGryph](https://discourse.cataclysmdda.org/u/GlyphGryph)\
**Post date:** [May 10, 2013, 5:28pm UTC](https://discourse.cataclysmdda.org/t/the-dj-device-an-easy-mod-plugin-controller/1089/9 "2013-05-10T17:28:04Z")

</div>

…No? All of those things will be trivially editable, aside from the game mechanics and maaaybe skills.

Mapgen, Spawning, Skills, Enemies, Items, Recipes, Vehicles, etc. and so on will all be standard modifications.

---

<div class="post-metadata">

**Author:** ![vultures](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/vultures/32/69_2.png) [@vultures](https://discourse.cataclysmdda.org/u/vultures)\
**Post date:** [May 11, 2013, 4:55pm UTC](https://discourse.cataclysmdda.org/t/the-dj-device-an-easy-mod-plugin-controller/1089/10 "2013-05-11T16:55:22Z")

</div>

My bad… you’re breaking egg shells while I break the egg. 🙂  
I’m not gonna brag about compatibility so… give me a wink if you need a thing or two. I’m pretty sure I have a wonderful miscellania list of items somewhere.

---

<div class="post-metadata">

**Author:** ![ArgusTheCat](https://avatars.discourse-cdn.com/v4/letter/a/53a042/32.png) [@ArgusTheCat](https://discourse.cataclysmdda.org/u/ArgusTheCat)\
**Post date:** [May 11, 2013, 9:52pm UTC](https://discourse.cataclysmdda.org/t/the-dj-device-an-easy-mod-plugin-controller/1089/11 "2013-05-11T21:52:05Z")

</div>

You have NO IDEA how much I want dinosaurs.

---

<div class="post-metadata">

**Author:** ![drake1storm](https://avatars.discourse-cdn.com/v4/letter/d/54ee81/32.png) [@drake1storm](https://discourse.cataclysmdda.org/u/drake1storm)\
**Post date:** [May 11, 2013, 9:54pm UTC](https://discourse.cataclysmdda.org/t/the-dj-device-an-easy-mod-plugin-controller/1089/12 "2013-05-11T21:54:03Z")

</div>

> [@ArgusTheCat](#):
>
> You have NO IDEA how much I want dinosaurs.

There is a dinomod in this same forum.
