Enderdragons+
Enderdragons Plus
Description
The plugin controls the spawning of Enderdragons. It fixes the feature that Enderdragons will always fly to the point 0,70,0 if they have no target. It also gives the dragons a home position, where it will return, if he flies to far away.
The Plugin will replace all dragons witch are spawned by these dragons. (except they are not of class: net.minecraft.server.EntityEnderdragon). It is compatible with DragonTravel. It is compatible with RideThaDragon.
There are multiple possibility to configure Dragons. Also there is the possibility to have different Dragon types (different Ages of Dragons) on the Server (see the section Dragon Ages).
Also you can ride dragons with this plugin and fire fireballs while riding (pure Awsomeness)!!
IMPORTANT! This will only work with CraftBukkit!!! (Tested with Version 1.7.2 R0.1) All other Bukkit Implementation and Versions can work, but it is not guaranteed.
Commands
- /edp : gives some info to the plugin
- /sedp : spawns an EnderDragon.
- /kedp [range] : kills all registered EnderDragons in the given range. range = 0 means All Enderdragons regardless of range and world.
- /edpunload : unloads all EnderDragons to an extenal files.
- /edpload : loads all external EnderDragons from files.
- /edpinfo : gives info how many EnderDragons are loaded.
- /edpreload : reloads the config of EnderDragons+.
- /edpgohome : sends all Enderdragons to their Home-Locations
- /edprespawner ... : does respawner commands
- /edpride [speed] : lets you ride a dragon.
PermissionNodes
Permissions are bound to the commands:
- edplus.create : /sedp
- edplus.kill : /kedp [range]
- edplus.commandback : /edpgohome
- edplus.reloadconfig : /edpreload
- edplus.unloadall : /edpuload
- edplus.loadall : /edpload
- edplus.info : /edpinfo
- edplus.riding.ride : /edpride [speed]
- edplus.riding.fireball : firing a fireball while riding a dragon (press q, key for throwing item away. Has to have an Item in hand)
Others:
- edplus.targeting.ignore : The person gets ignored by Dragons
- edplus.riding.fireball : fires a Fireball while riding with key 'q' (throw Item away).
Riding a Dragon
Simply use /edpride [speed] . The Speed is from very slow to unlimited. Recomondations are: slow: speed = 1, medium: speed = 3, fast: speed = 5.
You can Fire fireballs when riding a dragon. Simply press 'q' (throw Item away Key). Then The Dragon will fire a fireball on your Target location.
There are 2 Permissions. One for Riding, one for Fireball spitting. -> see Chapter: PermissionNodes.
Respawners:
IMPORTANT!!!!: if a player does not have the edplus.resawner.see Permission, he will not see the Respawner-Sign! Permissions:
- edplus.respawner.create: '/edprespawner create <spawnername> [respawnTime] [dragons]' and '/edprespawner link <spawnername>'
- edplus.respawner.remove: Hitting the sign to kill the respawner
- edplus.respawner.clear: /edprespawner clear
- edplus.respawner.info: /edprespawner info
- edplus.respawner.debug: /edprespawner debugsigns
- edplus.respawner.see: IMPORTANT: If the Player has this permission, he sees the Respawner Sign, if not, he does not see it!!
- edplus.respawner.port: /edprespawner port [number]
Commands:
- /edprespawner create <spawnername> [RespawnTime] [MaxDragons] : creates a respawner named: as in <spawnername>, with [RespawnTime] as respawn time and [MaxDragons] as maximum dragons at the same time (respawn time is in SECONDS).
- /edprespawner link <spawnername> : links your current location to the spawner named in: <spawnername>
- /edprespawner clear : clears all respawners and deletes them. (Emergency command)
- /edprespawner info : gives info where and how many Respawners are.
- /edprespawner debugsigns : if the respawner exists, but the Sign is not there, it will be replaced. ATTENTION, noticing, if the Sign is invisible!!
- /edprespawner port <Respawner Name> [number] : ports to the respawner with the name in <Respawner Name> and the Number: [number] (can be seen on sign or with /edprespawner info)
The Plugin is compatible to the following PermissionSystems:
- Vault
- PermissionsEx
- GroupManager
- BukkitPermissions
- bPermissions (experimental)
- No permissions (Op only)
Config
The Configuration is mostly good documented (config.yml).
Dragon Ages
There is another configuration. The Dragon ages located in the ageTable.yml.
Different Dragons with different ages can be spawned. This makes it possible to have different difficulties (like: small, normal, hard, etc.). For further information and syntax look at: Dragon Ages.
API (for developer)
API class: de.tobiyas.enderdragonsplus.API.DragonAPI Methods:
- public static boolean setTarget(LivingEntity dragon, LivingEntity target);
- public static boolean setTarget(LivingEntity dragon, Player player);
- public static boolean setTarget(LivingEntity dragon, Location location);
- public static boolean sendHome(LivingEntity dragon);
- public static boolean setNewHome(LivingEntity dragon, Location location);
- public static boolean setNewHomeAndGoTo(LivingEntity dragon, Location location);
- public static LivingEntity spawnNewEnderdragon(Location location);
- public static boolean setPropertyToDragon(LivingEntity dragon, String property, Object value);
- public static Object getPropertyToDragon(LivingEntity dragon, String property);
- public static boolean spitFireballOnTarget(LivingEntity dragon, Entity target);
Information that has to be given (Disclaimer):
- The Plugin is capable of uploading errors to a database. This is disabled by default. To Enable this feature, enable it in the configuration (uploadErrors: true).
- The Plugin collects metric data for usage (https://mcstats.org/). This is enabled by default. To disable this feature, set the config option to false (uploadMetrics: false).
Known Bugs (V1.11.0)
- On dragon reloading (chunk unload and reload) it will give a Bukkit warning that the dragon was stored wrong
Upcoming in next Version (V1.11.1)
- Currently working on V1.11.1:
- Untested:
- Still missing: - Fire breath (70%, looks promising, but needs more testing)
Thanks To:
- @NazzyDragon: for the Idea and the support for testing :)
- @V10Lator: for the Plugin: RideThaDragon (gonna miss you :( thanks for the cool plugin!)
- @XemsDoom, @Phiwa: for the Plugin: DragonTravel (gonna miss you :( thanks for the cool plugin!)
- @CraftBukkit team: for the API and "cleaning" Notch's code
OTHER
If you want to help me by donating, this would be great! This Project consumes a lot of time. The changes the bukkit Team / Mojang do are not always that fine to look through. Donating always motivates to do more/better work ;) . The link is on the top right!
I need some 'Beta testing people' to help me find bugs to already existing stuff. :/ can't do coding + testing at once (unfortunately I only have 2 arms...).
@Tobiyas
I got this error using the new 1.6.4 and it crashed the server. Just though you ought to know ;D
http://paste.md-5.net/lakenimuvi.avrasm
What if I used terraincontrol to create mountains wich are at 130 height?
Well, I actualy have and since I've installed the plugin the dragon flies beneath the mountain, is this configurable? Like in ''enderdragon minimum & max fly height, this could be really awesome!
Hope this is possibile, and if it is please notify me so I'll keep track on this plugin :)
Things are working for me again, apparently one of my admins messed around with the config then changed it back to normal, but managed to changed the character encoding to like ansi dos which borked the yaml.
@Tobiyas
Thankyou for the update and your continued development on this great plugin!!
New Version (V 1.11.0 ) For CraftBukkit 1.6.4 is out.
Just needing aproval. For pre approval download, try it here: link
@TheNicklander
Update for 1.6.4 is done. I will test it tomorrow and upload it afterwards.
@tremor77
That's really strange. :( Everything works fine for me.
@technolians
I can also add this to the Ages. But this will be a bit more work. :) Especially because the Ages are COMPLETELY saved in the NBTTags of the Dragon.
Plugin doesn't work with 1.6.4. Please update, thanks !
Btw. awesome plugin
Plugin was working for me for a couple weeks nicely then i tried to make a new spawner sign, and the Error during age evaluation error has just suddenly returned out of nowhere.. :( I've made no changes to any of the config.
uploaded to server, works good. server is still reasonably new but we have frequent players and this has already become popular in less then 1 day with default config
1. what is "rank" for? (EDIT: IGNORE, i found out) 2. could you add the target player option to the age table rather then a general option 3. dragon kill msg does not work 4.finish fixing health and drop issue
Edit: 5. also add idle sit for individual ages along with fireball: true/false + damage?
if these are fixed then i can "perfectly" finish something for my server
Hey Tobiyas,
I have been using 1.10.1 for awhile now as it works great. Not really changed anything recently and I have not seen this error before today. http://pastebin.com/0jxq46KR
Might be a one off or already patched in recent releases, hope it helps.
@tremor77
Nop. I'm not working with the Bukkit API.
@Tobiyas
http://forums.bukkit.org/threads/oops-i-didnt-break-your-plugins-ambiguous-gethealth.156975/
I think this is the entity health issue you are looking for.
@killerp9
Sorry for the long response time. I'm aware of that bug. And it's due to some funny Craft bukkit Implementation of Entities.
I Think i know a way to fix that though. (yeah... even more scheduler tasks...).
@tremor77 Yeah. Sure. Here is my GitHub repo: link.
And here is my private Jenkins: link. (Note: Only online, when my PC is powered. :D )
Do you have a source link somewhere? Jenkins/Github, I'd love to review your code and see if I can make any contributions to your project.
@killerp9
This problem happens for me to. There is no way around it. Plugin is bugged.
I'm having some issues with the drake's HP when they spawn.
I tried to change the spawnHealth value in my ageTable.yml to 1000 for example but seems like the plugin ignore it, and the drake still spawning with 200 HP. I tried to change the dragonSpawnHealth in the config.yml too and it didn't work.
¿Any idea about how to fix this? The server log isn't showing errors.
@timsandtoms
That's really wierd... could you try deleting the ageTable.yml? The plugin will regenerate it.
@kobol1990
That's really strange... Could you try spawning an Dragon with '/sedp'. Afterwards type '/edpinfo'. It should then say something like: 1 Dragon loaded. Do you have any plugin replacing Entities?
@Tobiyas
Thanks again, The server log isn't showing any errors, and so i tried reloading both Enderdragons+ and the plugins through the console... Still the dragons are miss behaving and flying straight down to ,70,~
CraftBukkit #2838, I haven't been able to get any of the 1.6 versions of EnderDragon+ to work correctly, including the just-released 1.10.3 RELEASE version. They all give me the "Error during age evaluation." error message. I've tried the solution someone mentioned of removing decimals from ageTable.yml, and it didn't help. The config.yml is all default. No errors appear in console, or in EnderDragon+'s debug.log or error.log files.
@kobol1990
Could you please check your server.log after startup / reload if there is any error or malfunction of the plugin?