[MECH] Safe Creeper - Control creepers, Enderman, TNT, Fireballs and more!

Discussion in 'Archived: Plugin Releases' started by Tim Visee, Jul 8, 2011.

  1. Offline

    Tim Visee

    [​IMG]
    The Safe Creeper project page has been moved. Go to one of the two pages bellow to get to the Safe Creeper project page, with the newest download available:​
    You can view the orriginal page in the spoiler bellow. It's highly recommended to visit one of the above sites, to view the up-to-date pages.
    Orriginal Page (open)








    InstallationBasicsAdd-ons and Support
    DownloadsCommandsSupported Plugins
    Direct downloadPermissionsAdd-ons
    InstallationConfig
    MoreDevelopmentSupport
    Bugs & IssuesAPIDonate
    ChangelogSource
    Statics


    What is Safe Creeper
    Control creepers, Withers, EnderDragons, Enderman, TNT, Fireballs and a lot more!
    With Safe Creeper you can control creeper explosions and other things like, fireballs, TNT, Enderman and a lot of other things, you can set if a creeper explosions destroys blocks. You can set if Zombie's can break down doors. You can also set a lot of other things, the possibilities are almost endless! A few other examples are that you can set up if players are able to use TNT blocks, if creepers will explode above the surface and underneath they wont, set if Enderman can place and break blocks, even if they can clone blocks, explosion sounds, smoke effects and a lot of more things. The plugins is fully configurable and it has multi world support. This is a must have for most server administrators.

    Example Video
    This is an video witch explains the config file system of an older version of Safe Creeper, it should work very similair with the current version. This video also shows you some features from Safe Creeper:


    Features
    This is a small list of features witch Safe Creeper can provide for your server. If you want to see the full list, and a list of planned features, visit this page: Page: Features
    • Added auto updater, to automaticly install new updates!
    • Added new, more stable, update checking system.
    • Added ability to 'Spawning.ZombieType' to make giants spawn in the ZombieControl.
    • Added 'CanCreateSnow' to the SnowmanControl to disable the Snowman from creating snowlayers.
    • Added feature to make mobs drop skulls inside 'CustomDrops.Skulls', players can drop their own head too. (Available for CreeperControl)
    • Added 'AlwaysAngry' to the PigZombie control
    • Added auto updater settings to config file to disable auto updates, notifications or update checks.
    • PlayerControl, SkeletonControl and ZombieControl)
    • Updated LikeABoss usage methods.
    • Changed default values for 'CanPickupItems' to false for most mob controls.
    • Fixed world config files not converting properly.
    • Fixed live statics returning wrong values.
    • Fixed issue in the config core which caused equipment don't work properly.
    • Fixed withers breaking stuff when they are stuck when DestroyWorld was disabled.
    • Fixed live statistics causing the server to crash.
    • Fixed flying blocks from spawning when destroy world was set to false.
    • Fixed errors caused by unknown mob types.
    • Build against Bukkit-1.5.2-R1.0
    Connections to the outside
    Safe Creeper does setup connections to the outside, to other servers than the server Safe Creeper is running on. In the current versions (v1.3.6 and above) Safe Creeper does connect to the following servers; The first connection Safe Creeper sets up is a connection to the update servers of Safe Creeper. This update server is a separated server hosted by timvisee.com (developer of Safe Creeper). The connections to the update servers are made on each start up, and each hour while the plugin is running. These connections can be disabled inside the config file of Safe Creeper underneath the node 'updateChecker'. Because of the update checker and the auto updater Safe Creeper does also setup a connection to dev.bukkit.org to download the newest plugin versions. Other connections are made to the servers of mcstats.org, this is a service Safe Creeper uses to add live statics, like the amount of servers running Safe Creeper, these statics are fully anonymous. Connections to mcstats.org and live statics usage can be disabled inside the Safe Creeper configuration file.

    Bugs & Issues
    Please go to the following page to see how to report a bug, this page also contains a list with all known bugs in the current Safe Creeper version.
    Page: Bugs


    Donations
    Please donate some money so I can buy some coffee to make better plugins and even update my old ones :) , I really like it if you give any donation! You could go to a donation page using the button bellow or the donate button above the search-box.
    [​IMG]
     
    Valdifer, Mercury, Jeroeny and 3 others like this.
  2. Offline

    Klotzonator

    Thanks a lot :)
     
  3. Offline

    Tim Visee

    Thank you for noting this problem! :cool:
     
  4. Offline

    GoldenX

    Hi Tim Visee!

    Is it possible to configure your plugin in order to permit to creepers to damage the world between two heights?
    Let me explain : I want creepers to damage the world under a certain height, but I want creepers to be able to explode above that height (but without damaging the world) and to give damages to players.
    If it's possible, I don't know how.
    thanks
     
    Tim Visee likes this.
  5. Offline

    Tim Visee

    Yes, this is also a really usefull feature in Safe Creeper! Let me explain how it works, its really easy!

    At first go into your global.yml config file with all the settings and take a look at the 'CreeperControl' part. Inside this 'CreeperControl' part you'll find this piece of settings on the bottom of this part.
    Code:
        # Only enable these settings if you are between two levels (you must enable 'EnableBetweenLevels' to use it).
        EnableBetweenLevels:
            Enabled: false
            MinLevel: 64
            MaxLevel: 256
    With this piece you could set it up like the way you want it to. At first you need to set Enabled to true inside this part of the code (so enable this; CreeperControl.EnableBetweenLevels.Enabled) when this is enabled the settings of the creeper control is only enabled when the creeper is between the two layers/levels (Y coordinate) of 'MinLevel' and 'MaxLevel'. Then also set 'DestroyWorld' to false in the 'CreeperControl'. So for example if you have Enabled set to true inside the 'EnabledBetweenLevels' feature in the 'CreeperControl' and you have 'DestroyWorld' to false creepers will only destroy the world if he isn't between the layer 64 and 256. And when he is inside this layer he will use the settings of CreeperControl where 'DestroyWorld' is set to false so it wouldn't destroy the world between those two layers.
    I hope you clearly understand what I mean because its really hard to explain for me.
    Hope this helps;
    Tim Visée
     
  6. Offline

    GoldenX

    Tim Visee

    Yes thank you! Completely understandable. It works. Thank you very much.

    uh... Does your plugin work with spout and bukkit++ ? Because I get this error :

    Code:
    12:10:55 [GRAVE] Could not pass event org.bukkit.event.entity.EntityChangeBlockE
    vent to Safe Creeper
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$103.execute(JavaPluginLoader.
    java:1026)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:61)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:460)
            at net.minecraft.server.EntitySheep.m_(EntitySheep.java:100)
            at net.minecraft.server.EntityLiving.d(EntityLiving.java:946)
            at net.minecraft.server.EntityAnimal.d(EntityAnimal.java:33)
            at net.minecraft.server.EntitySheep.d(EntitySheep.java:48)
            at net.minecraft.server.EntityLiving.y_(EntityLiving.java:341)
            at net.minecraft.server.World.entityJoinedWorld(World.java:1306)
            at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:1
    10)
            at net.minecraft.server.World.playerJoinedWorld(World.java:1288)
            at net.minecraft.server.World.tickEntities(World.java:1195)
            at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:528)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:435)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            at java.lang.reflect.Method.invoke(Unknown Source)
            at org.bukkit.plugin.java.JavaPluginLoader$103.execute(JavaPluginLoader.
    java:1024)
            ... 14 more
    Caused by: java.lang.NoSuchMethodError: org.bukkit.event.entity.EntityChangeBloc
    kEvent.getEntityType()Lorg/bukkit/entity/EntityType;
            at me.timvisee.SafeCreeper.SafeCreeperEntityListener.onEntityChangeBlock
    (SafeCreeperEntityListener.java:260)
            ... 19 more
    12:10:58 [GRAVE] Could not pass event org.bukkit.event.entity.EntityChangeBlockE
    vent to Safe Creeper
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$103.execute(JavaPluginLoader.
    java:1026)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:61)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:460)
            at net.minecraft.server.EntitySheep.m_(EntitySheep.java:86)
            at net.minecraft.server.EntityLiving.d(EntityLiving.java:946)
            at net.minecraft.server.EntityAnimal.d(EntityAnimal.java:33)
            at net.minecraft.server.EntitySheep.d(EntitySheep.java:48)
            at net.minecraft.server.EntityLiving.y_(EntityLiving.java:341)
            at net.minecraft.server.World.entityJoinedWorld(World.java:1306)
            at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:1
    10)
            at net.minecraft.server.World.playerJoinedWorld(World.java:1288)
            at net.minecraft.server.World.tickEntities(World.java:1195)
            at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:528)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:435)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            at java.lang.reflect.Method.invoke(Unknown Source)
            at org.bukkit.plugin.java.JavaPluginLoader$103.execute(JavaPluginLoader.
    java:1024)
            ... 14 more
    Caused by: java.lang.NoSuchMethodError: org.bukkit.event.entity.EntityChangeBloc
    kEvent.getEntityType()Lorg/bukkit/entity/EntityType;
            at me.timvisee.SafeCreeper.SafeCreeperEntityListener.onEntityChangeBlock
    (SafeCreeperEntityListener.java:260)
            ... 19 more
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 17, 2016
    Tim Visee likes this.
  7. Offline

    Tim Visee

    I don't know if it works. I really really hate spout and I don't even know what bukkit++ is.. But thanks for this error report I know where something goes wrong now I only need to find out what goes wrong. As I said, thanks for this report and I'll check this out!
     
  8. Offline

    GoldenX

  9. Offline

    Tim Visee

  10. Offline

    nuke21

    Thank you for this update Tim Visee. I love this mod but the creeper seems to not do as much damage if any at all, on snow.
    I have all the settings at default, and I double checked that EnableBetweenLevels: is at FALSE and it is. On flat ground with snow, when the creeper is on snow and I am on snow, the explosion does half a heart max. Even when I am hugging him. If I destroy the snow below him, spawn him, and I am still on snow, then it does 5-6 hearts which is what it is supposed to do. Just thought I might give you a heads up so you can test it out for yourself. Everywhere else so far works great, just not on snow.
     
    Tim Visee likes this.
  11. Offline

    Tim Visee

    Ok, thanks for noting this, I probably already know what the problem could be, because this plugin regenerates an explosion and make it a lot smaller so it wouldn't damage the world, it should give you the same damage.. I'll check this out.
     
  12. Offline

    nuke21

    You are welcome. I will check back to see if you found out what it is. It really isn't that big of a deal but thought I would let you know. I will let you know if I find anything else.
     
    Tim Visee likes this.
  13. Offline

    Tim Visee

    Yes I agree it isn't a really bug deal and I'm probably not going to release a new version for this problem, but its usefull to know and it would be great if I could fix it to not affect the usual playing style. Btw this problem should be solved if you turn off 'DestroyWorld' (I'm not really sure) I'll check this out too when I'm going to try to fix those problem. If it is fixed when you turn of destroyworld I probably already know what it is but I'm not sure if I could easily fix it.
     
  14. Offline

    misteryman321

    oh! cool! ill be behind you til this website go's out![diamond][gold]:D[gold][diamond]
     
    Tim Visee likes this.
  15. Offline

    Royalgamer06

    Error met herobrine:
    20:11:15 [SEVERE] Could not pass event EntityExplodeEvent to Safe Creeper
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:303)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:441)
    at net.minecraft.server.Explosion.a(Explosion.java:189)
    at net.minecraft.server.World.createExplosion(World.java:1531)
    at net.minecraft.server.WorldServer.createExplosion(WorldServer.java:225
    )
    at org.bukkit.craftbukkit.CraftWorld.createExplosion(CraftWorld.java:439
    )
    at org.bukkit.craftbukkit.CraftWorld.createExplosion(CraftWorld.java:447
    )
    at org.bukkit.craftbukkit.CraftWorld.createExplosion(CraftWorld.java:443
    )
    at com.steaks4uce.Herobrine.PossibleActions.attackPlayer(PossibleActions
    .java:83)
    at com.steaks4uce.Herobrine.listeners.HeroPlayer.onPlayerMove(HeroPlayer
    .java:40)
    at sun.reflect.GeneratedMethodAccessor108.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:301)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:441)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:208)
    at net.minecraft.server.Packet10Flying.handle(SourceFile:126)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:112)
    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:7
    8)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    Caused by: java.lang.NullPointerException
    at me.timvisee.SafeCreeper.SafeCreeperEntityListener.onEntityExplode(Saf
    eCreeperEntityListener.java:231)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:301)
    ... 24 more
    20:11:15 [INFO] [Herobrine] Herobrine is attacking machielvh1!
     
    Tim Visee likes this.
  16. Offline

    Tim Visee

    I also found this problem. The problem is that if another plugin makes a costum explosion (an 'OtherExplosion' is how its called in Safe Creeper) it will cause problems with Safe Creeper. I already fixed this in the version I'm working on, so when the update comes out you could really block EVERY explosion made by any plugin without this error.
    For now, don't worry. If this error shows up the plugin still works, the only problem is that this error message could be really annoying. but as I said this is fixed in the upcomming version :)
     
    Royalgamer06 likes this.
  17. Offline

    Royalgamer06

    Thanks bro, you're the best.
     
    Tim Visee likes this.
  18. Offline

    Jeroeny

    Doesn't work in beta build, I get this error:

    2012-03-10 10:44:24 [SEVERE] Cannot load plugins\Safe Creeper\global.yml
    org.bukkit.configuration.InvalidConfigurationException: while scanning for the next token
    found character'\t' that cannot start any token
    in "<string>", line 38, column 19:
    Enabled: false
    ^

    at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:55)
    at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:143)
    at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:109)
    at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:177)
    at me.timvisee.SafeCreeper.SafeCreeper.getConfigFromPath(SafeCreeper.java:172)
    at me.timvisee.SafeCreeper.SafeCreeper.getConfigFromPath(SafeCreeper.java:160)
    at me.timvisee.SafeCreeper.SafeCreeper.reloadGlobalConfig(SafeCreeper.java:108)
    at me.timvisee.SafeCreeper.SafeCreeper.reloadAllConfigs(SafeCreeper.java:96)
    at me.timvisee.SafeCreeper.SafeCreeper.onEnable(SafeCreeper.java:60)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:215)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:336)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:363)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:250)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:232)
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:184)
    at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:53)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:156)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    Caused by: while scanning for the next token
    found character'\t' that cannot start any token
    in "<string>", line 38, column 19:
    Enabled: false
    ^

    at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:358)
    at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:179)
    at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:563)
    at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161)
    at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:146)
    at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
    at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237)
    at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:123)
    at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:106)
    at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:121)
    at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480)
    at org.yaml.snakeyaml.Yaml.load(Yaml.java:399)
    at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:53)
    ... 18 more
     
  19. Offline

    Royalgamer06

    your config is wrong (post it)
     
  20. Offline

    Tim Visee

    Yes thats right, you broke your global.yml config file. Thats why you got this error. Please post it right here. You could pase your config file on this web-page and send me the link here, because the config file could be pretty big.
    http://pastie.org/
     
  21. Offline

    Jeroeny

    It's here: http://pastie.org/3565267
     
  22. Offline

    Tim Visee

    Hmm, this is really s trange because the file seems to work fine.
    Have you made any changes in world config files, or in the config.yml file? If no, does this plugin work when you don't make any changes if you redownload it?
     
  23. Offline

    Jeroeny

    I redowloaded it but it still gives the same error.
    This is how my bukkit.yml looks like: http://pastie.org/3565550

    I have these plugins:
    • Chestshop
    • Essentials
    • iConomy
    • Lockette
    • Log
    • SafeCreeper
    • WorldEdit
    • WorldGuard
    maybe it conflicts with one of these? Like worldguard.
    I hope you can help me :)
     
  24. Offline

    Tim Visee

    It could cause problems with Essentials. I don't even like essentials because it causes a lot of problems with plugins.
    Could you use the following command in your server console and send me the line the console returns?
    command: version
     
  25. Offline

    Royalgamer06

    Uhm, I have Essentials and it works fine with SafeCreeper, maybe its worldguard?
     
    Tim Visee likes this.
  26. Offline

    Tim Visee

    Ok, thats great to know. No world guard doesn't cause problems, I've world guard running on my server. Btw, world guard doesn't cause problems to plugins like essentials, thats maybe usefull to know.
     
    Royalgamer06 likes this.
  27. Offline

    Royalgamer06

    ok
     
  28. Offline

    Jeroeny

    I did 'version' and console returns:
    ''This server is running CraftBukkit version git-Bukkit-1.2.3-R0.2-b2060jnks (MC: 1.2.3) (Implementing API version 1.2.3-R0.2)''
     
  29. Offline

    Tim Visee

    Strange, I ran the same version on my localhost server. I really don't know what happend. I'm almost sure another plugin causes this problem. :mad:
     
  30. Offline

    darkgryffon

    Ok i tried downloading and installing this program, so far its the only one i have running on my server so far, and it wont work, no matter what i do, i configured it right and creepers still destroy stuff, any idea what im doing wrong?
     
  31. Offline

    Royalgamer06

    It works for me!
     
    Tim Visee likes this.

Share This Page