More Configurability #1


  • Enhancment
  • Accepted
Open
Assigned to cmilch
  • _ForgeUser10299688 created this issue Aug 3, 2013

    I know configurability isn't a word. But its meaning is still clear. Here's a list of all the things you can make configurable. Some of them seem obvious to implement, but I'm including it anyway for the sake of thoroughness. This list will point out all the aspects you can make configurable, but won't detail how exactly you can make it configurable. (e.g. For most of them, I won't say "can be specified as an integer, or boolean, or etc.", that is mostly up to you.)

    • Whether a certain creeper type leaves behind any explosions at all. If this is set to "true", creepers will leave behind an explosion based on their type, but if set to false, creepers will not leave behind any explosions; they will simply despawn. However, their effects, like stealing or poisoning, will still apply.
    • Whether this explosion causes block damage. Pretty self-explanatory.
    • A configurable explosion radius per creeper type. You can make really huge explosions, or very tiny explosions.
    • A configurable explosive power per creeper type. With both this and the above suggestion, you can make explosions smaller, but deal more damage, vice versa, and anything else in between.
    • How many stacks thief creepers can "steal", and the radius at which they can steal from players.
    • A configurable (of course) list of items of which creepers cannot steal from.
    • How deep/wide of a hole a mining creeper can create.
    • Optionally, the deepest layer a mining creeper can "drill" toward.
    • A list of what blocks a cube creeper can spawn, along with a chance of each block type spawning.
    • The size of the cube, which can be expressed as an integer (e.g. "3") or a range (e.g. "3-5").
    • How many fake creepers a magic creeper can spawn.
    • Probably quite unnecessary, but whether a "fake" creeper simply despawns, or leaves behind a completely fake explosion.
    • For bacon creepers, the amount of pork chops you get showered in.
    • For TNT creepers, the amount of primed TNT they spawn. (You can make a "Cluster Creeper" with this, meaning one less creeper type you have to make, if you make this configurable.)
    • Precious creepers shouldn't be limited to metals and gems; they should be able to drop any item. More specifically, what items, the likelihood of each item, and how much of each item should be the configurable aspects here.
    • The radius at which the speed creeper can speed up other entities, along with the duration and amplitude/potency. Note that the radius at which the potion effect is applied may be different from the explosion radius (see above suggestion).
    • If speed creepers effect hostile entities only, all entities, or player entities only. (I've a feeling this might be iffy to implement.)
    • Whether creepers randomly teleport you somewhere random, based on the location of the explosion, or whether they teleport you to one of many coordinates you can specify via a list in the configuration. Each coordinate listed should be given its own chance. You should also allow "random" as a valid coordinate to specify that the "teleport within the area" mechanic will also be used.
    • What kinds of monsters a monster creeper can leave behind, how much of each mob can appear (specify as an integer or a range), and the chance that a certain mob type will appear.
    • Super creepers dealing a percentage-based damage. In other words, removing health based on your maximum hp, regardless of how close to the center of the explosion you were. The reason behind this is that there are other plugins which can change a player's max hp, and percentage-based damages just seem to make more sense. Flat amounts are problematic because not every player on the same server might have the same max hp. Instant death by one of these creepers seems outright unfair, but if anyone were still interested in keeping the "instant death" idea, they could just set the percentage damage to 100%.
    • How many creepers a cloning creeper can split into.
    • A very rare occurrence, but whether charged creepers, when cloning, will spawn more charged creepers, or just plain creepers.
    • How much hunger is removed by hunger creepers.
    • Whether hunger creepers apply the hunger potion effect. If so, the radius at which the potion effect is applied, along with the duration and the amplitude should be configurable.
    • The amount/density of obsidian that obsidian creepers leave behind.
    • The size of the water fountain that water creepers leave behind.
    • The size of the lava fountain that lava creepers leave behind.
    • How much experience an experience creeper can shower you with.
    • For those of us that use CreeperHeal (link below), generous creepers are absolutely useless, as is. So instead of returning the blocks, there could be a toggle-able feature where the creeper just forces every blown up block to drop what it would normally drop in vanilla Minecraft.
    • Whether or not storm creepers just make it rain, or make it rain with thunderstorms.
    • Whether or not storm creepers can turn rainy/thunderous weather into clear, sunny weather.
    • Whether or not storm creepers leave a lightning bolt behind to signify the change in weather. This doesn't have to be an actual lightning bolt, it could be a fake one, or just the sound. If you really want to, you can include this in this creeper's configuration options, but I don't think it's that necessary.
    • The amount/density of bedrock that bedrock creepers leave behind.
    • Whether defective creepers leave behind a fake explosion, or just simply despawn.
    • Whether lightning creepers supercharge themselves with a lightning effect, or without a lightning effect.
    • Whether lightning creepers can supercharge nearby creepers or not.
    • What kinds of plants a plant creeper can leave behind, along with a specified chance for each plant to appear.
    • Nuclear creepers should give off an explosion with fire. If you implemented some of the suggestions at the top (configurable radius and explosive power), it'll pretty much render this creeper type useless. So, to distinguish this type of creeper from other creepers, this one should come with fire.
    • Speaking of which, the radius of fire-spawning, amount of fire, and density of fire should all be configurable for nuclear creepers. With this, you can make nuclear creepers spawn fire outside or inside of their explosive radius, determine how much fire there can be, and also how bunched up the spawned fire should be.
    • Like all potion effects, make the range at which the potion effect is applied, along with the duration and amplitude configurable for poison creepers.
    • Just like the speed creeper, whether poison creepers affect hostile mobs, players only, or all mobs.
    • For the arrow creeper, the amount of arrows that get shot up per block destroyed, along with the chance of an arrow getting shot up at all. Can specify the amount per-block as an integer or a range.
    • How many arrows an arrow creeper can shoot up into the air, regardless of the amount of blocks destroyed. Can specify as an integer, or a range.
    • How much damage each arrow from an arrow creeper does, in half-hearts. Can specify as an integer or a range.
    • How many cookies per destroyed block a cookie creeper spawns, along with the chance of a cookie appearing at all. Can specify the amount per-block as an integer or a range.

    This one is a weird request, but could you consider the option to have all blocks spawned in by this plugin (only spawned in, not blocks removed) to "disappear" after a configurable amount of time, depending on the creeper type? And note, when I say disappear, this is being nitpicky of me (again), I mean remove the block only if it's the right material. So if the plugin spawned in "iron ore" at (0,0,0), which used to be AIR, and for some reason that position now has a dirt block (due to some other plugin), leave that block alone; don't revert it to AIR. The reason behind this strange request is that some admins like me use a plugin called CreeperHeal, where all blocks that are removed by explosions get regenerated after a specified duration. If you implemented a "revert created blocks" feature, it could potentially interfere with CreeperHeal when that plugin tries to revert block damage.

    Now I know you could just ask, "Okay, but instead of all this hassle, can't you just disable that creeper type?" Well, yes, that's a good hypothetical point. But say a Cube Creeper goes off and spawns a lot of dirt; players won't have the incentive to remove the dirt, unless they're like me and are very meticulous, so the server ends up with a clump of dirt that will never go away until someone does something about it.

    Oh, and last but not least, more advanced multiworld support. This one is a stretch, and is completely optional, but you could possibly have multiple config.yml files, each pertaining to its specified world. The reason this might be necessary, is because with all this configuration, things might become a jumbled mess when you consider intricate multiworld support too.

  • _ForgeUser10299688 added the tags New Enhancment Aug 3, 2013
  • cmilch posted a comment Aug 3, 2013

    These are actually all amazing ideas, thanks :D That being said, it will take a considerable amount of time to implement them, and there may be a few in there that are currently beyond my ability. I'll start going down the list and adding these, they'll probably be released in a mass update. Thanks again for all of the ideas!

    EDIT: Aren't the first and second suggestions basically the same?


    Edited Aug 3, 2013
  • cmilch removed a tag New Aug 3, 2013
  • cmilch added a tag Accepted Aug 3, 2013
  • _ForgeUser10299688 posted a comment Aug 3, 2013

    They're pretty similar, but there's small differences.

    The first point asks "does this creeper type even make an explosion at all?" whereas the second point asks "assuming this creeper type makes an explosion (depending on the first point), will that explosion cause block damage?"

    And take your time. There's no rush. :)


To post a comment, please login or register a new account.