GenerousMobs
GenerousMobs v1.3
Lightweight plugin so mobs drop economy money and more!
This plugin makes it so all mobs can drop a configurable amount of money when killed. All mobs have a separate configuration which allows a minimum and maximum value to be entered, as well as whether or not it's a reward or fine. On top of that it's possible to add custom item drops to mobs. There's also per-mob permissions, localization and more.
Usage
Simply place the GenerousMobs.jar file into your /plugins directory and start/reload your server. You can make changes to the configuration file while the server is online and use the reload command to refresh the changes.
Current Features
- Mobs drop economy money
- Configurable drop amounts
- Rewards, fines, or nothing can be given
- Minimum and maximum drop amounts
- Drop amounts will be randomly chosen between those the values
- Mobs drop custom items
- Custom item drops allow for in-depth editing including display name, lore, enchantments and more
- Per-mob permissions
- Localization
- Option to stop mobs spawned by monster spawners from dropping money
- Reload command
- Reset command
Planned Features
- Kill-streaks
- Suggest below
Plugin Spotlight
Due to DevBukkit's page encoding constraints it is not possible to embed a video. You can check the video out here. The video was made by LeProDude, thanks!
Dependencies
This plugin requires Vault and a Vault supported Economy plugin.
Configuration Snippet
Pig: 0.5#5#gain
Cat: 5#50#loss
IronGolem: 0#0#gain
- Pig/Cat/IronGolem is the name of the mob.
- 0.5/5/0 is the minimum amount the mob will drop.
- 5/50/0 is the maximum amount of the mob will drop.
- gain/loss is whether or not the player should be rewarded or fined.
Other configuration options:
- SpawnerRewards.Enabled - Whether or not players should receive money for defeating mobs that came from monster spawners.
- PreventKillIfBroke.Enabled - Whether or not players should not be able to kill a mob if they can't afford the fine.
The localization settings are pretty self-explanatory. You can use all chat formatting codes. Use %amount% to show the reward/fine and %name% to show the mob name set below.
The CustomDrops section is again, rather self-explanatory. The template is id;data;amount;enchantments;name;lore;dye=chance and you just replace it with the values. An example would be 397;0;1;DURABILITY:10;&6Skeleton_Skull;&dThe_power_of_the_Skeleton,Amazing;null=10 which drops a Skeleton Skull (id 397, damage value 0) of amount 1, with the enchantment Unbreaking X, the name Skeleton Skull in gold font, and the lore The power of the Skeleton and Amazing in pink font, with a chance of 10% to drop. The id, data and amount is necessary, but the rest can be replaced with null if you do not want to have those options. For example 276;0;1;null;null;null;null=100 would drop a diamond sword 100% of the time. The colour option is in RGB, so for example 50,255,50 would be green. All enchantments can be found here.
The default configuration can be found here.
Commands & Permissions
In the column 'Default,' OP means all opped players get the permission, TRUE means everyone gets the permission, and FALSE means no one gets the permission, by default.
Permission Node |
Description |
Default |
GenerousMobs.Mob.* | Inherits all GenerousMobs.Mob.<MobName> permissions. | TRUE |
GenerousMobs.Mob.<MobName> | Loot money from the specific mob. A list of mobs is available here. | N/A |
GenerousMobs.Reload | Access to /GMobs reload - Reloads the configuration file. | OP |
GenerousMobs.Reset | Access to /GMobs reset - Resets the configuration file. | OP |
Change Log
Click here for the change log.
Statistics
Support the Development
If you find this plugin useful then please support the development of it by donating.
Donations so far:
- None
This seems like a great plugin, and I'm considering using it, however it seems it's no longer being developed? Now I may be wrong, but I don't want to use a dead plugin :/
This is by far the best mob/money plugin out there! I thank you so much for your efforts! If I had any money to give I'd give to you!
@YoFuzzy3
Yeah what Xeroxo135 was saying also, and really would like to be able to disable the messages if possible, makes the chat all spammy :/
@YoFuzzy3:
Yeah, like you configurate $5 - $10 and then if they get money looted they only get $5, $6, $7, $8, $9 , $10 indeed. How could i do that?
And another question: Is it possible if a mob drops nothing, just $0, to don't let a message appear? If i remove the message it just regenerates the message and uses it. So just, $0 gives NO message.
@Onewingseraphim @Xeroxo135
So like an option where for example, if you had a mob set to drop between $5 and $10, they could only drop $5, $6, $7 etc?
Is it possible to disable that you get like $5.22? I only want exact numbers like $5 but not 5,22 + how can i make it say nothing if you get $0?
I second that Creative Flag, and also please set in the config if we would like to use messages or not and allow us to change the currency symbol please And lastly please let us choose if we use decimal points in our currency I use whole numbers so this is a little aggrivating lol. :) thanks
@jasonlee0801
I could add the check for creative, but I'm not sure about the god mode one as that would require me to hook into yet more plugins unless I can find a reliable workaround.
You should add in when a player is in creative/god mode, the mobs they kill dont give money
@YoFuzzy3
I know I know, i edited my message but was unclear. All clear now :P
@Burxat
That's a different problem to what the others had. That error would only happen when the economy goes null, a problem most likely to be external to GenerousMobs.
LASTEST EDIT = I got it, it crashes when there's a change in economy metrics, it seems it was my fault!
--------------Original PostNow it seems to work fine but eventually it crashes with every mob and stops giving drops. It's weird because it's just random... you kill, kill, kill, all ok, but then it crashes.
Edit = Now it stays as crashed.
[16:14:52 ERROR]: Could not pass event EntityDeathEvent to GenerousMobs v1.3 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks]
at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:328) [craftbukkit.jar:git-Bukkit-1.6.4-R 2.0-39-g68b702f-b2954jnks] at net.minecraft.server.v1_7_R1.EntityCow.dropDeathLoot(EntityCow.java:76) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks] at net.minecraft.server.v1_7_R1.EntityLiving.die(EntityLiving.java:776) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks] at net.minecraft.server.v1_7_R1.EntityLiving.damageEntity(EntityLiving.java:725) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks]
at net.minecraft.server.v1_7_R1.EntityAnimal.damageEntity(SourceFile:145) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks] at net.minecraft.server.v1_7_R1.EntityArrow.h(EntityArrow.java:228) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks] at net.minecraft.server.v1_7_R1.World.entityJoinedWorld(World.java:1338) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks] at net.minecraft.server.v1_7_R1.World.playerJoinedWorld(World.java:1319) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks] at net.minecraft.server.v1_7_R1.World.tickEntities(World.java:1207) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks] at net.minecraft.server.v1_7_R1.WorldServer.tickEntities(WorldServer.java:480) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:633) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks] at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:541) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:453) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks] at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks] Caused by: java.lang.NullPointerException at net.milkbowl.vault.economy.plugins.Economy_Craftconomy3.getBalance(Economy_Craftconomy3.java:287) [?:?] at net.milkbowl.vault.economy.plugins.Economy_Craftconomy3.getBalance(Economy_Craftconomy3.java:123) [?:?] at com.fuzzoland.GenerousMobs.GenerousMobs.giveReward(GenerousMobs.java:93) [?:?] at com.fuzzoland.GenerousMobs.EventListener.onEntityDeath(EventListener.java:75) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.7.0_45] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [?:1.7.0_45] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1.7.0_45] at java.lang.reflect.Method.invoke(Unknown Source) [?:1.7.0_45] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-39-g68b702f-b2954jnks]
... 18 more//
@SergioYuste
@Mavhill
@Methlon
@B3stcraft
@Burxat
Oops, sorry for not checking the page guys! I have just uploaded v1.3 which fixes this bug and adds CustomDrops.
@Methlon
I have the same problem, I'm using 1.7.2 R0.1
Same problem here ;D
Having the same problem as the fellers below. Skeletons and Wither skeletons don't drop any goodies. Running on 1.7. (I expected a few errors lol) It's the only thing about it that's malfunctioning for me.
does essentually the same thing with citizens, Perhaps a way to ignore these events?
*Hello
Incompatible: GenerousMob v1.2 with MyPet 1.1.6 in server 1.6.4
action: A pet want to kill a mob
_________________________________________
[Server] INFO at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[Server] INFO at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
[Server] INFO at com.fuzzoland.GenerousMobs.EventListener.onEntityDeath(EventListener.java:168)
[Server] INFO at com.fuzzoland.GenerousMobs.GenerousMobs.giveReward(GenerousMobs.java:76)
[Server] INFO Caused by: java.lang.NullPointerException
[Server] INFO at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583)
[Server] INFO at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:421)
[Server] INFO at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:488)
[Server] INFO at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:227)
[Server] INFO at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:592)
[Server] INFO at net.minecraft.server.v1_6_R3.DedicatedServerConnection.b(SourceFile:30)
[Server] INFO at net.minecraft.server.v1_6_R3.ServerConnection.b(SourceFile:37)
[Server] INFO at net.minecraft.server.v1_6_R3.PlayerConnection.e(PlayerConnection.java:116)
[Server] INFO at net.minecraft.server.v1_6_R3.NetworkManager.b(NetworkManager.java:296)
[Server] INFO at net.minecraft.server.v1_6_R3.Packet7UseEntity.handle(SourceFile:36)
[Server] INFO at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java:1130)
[Server] INFO at net.minecraft.server.v1_6_R3.EntityHuman.attack(EntityHuman.java:884)
[Server] INFO at net.minecraft.server.v1_6_R3.EntityMonster.damageEntity(EntityMonster.java:39)
[Server] INFO at net.minecraft.server.v1_6_R3.EntityLiving.damageEntity(EntityLiving.java:710)
[Server] INFO at net.minecraft.server.v1_6_R3.EntitySkeleton.die(EntitySkeleton.java:123)
[Server] INFO at net.minecraft.server.v1_6_R3.EntityLiving.die(EntityLiving.java:758)
[Server] INFO at net.minecraft.server.v1_6_R3.EntitySkeleton.dropDeathLoot(EntitySkeleton.java:172)
[Server] INFO at org.bukkit.craftbukkit.v1_6_R3.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:327)
[Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
[Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
[Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
[Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
[Server] INFO org.bukkit.event.EventException
[Server] SEVERE Could not pass event EntityDeathEvent to GenerousMobs v1.2
Howdy, loving your plugin very simple and highly effective. I've been running it on my 1.7.2 server for the last 24 hours and it's running fine except two things. Skeletons and Wither Skeletons when killed cause errors in the console and do not drop any money. I tried most of the other mobs, the skele's were the only ones causing the errors.
Other plugins I'm running:
NoDrop, Towny. iDisguise, Scribe, Vault, MobeggDrops, PermissionsEx, PlayerHeads, Questioner, WorldGuard, Essentials, ServerSigns, EssentialsSpawn, BottledExp, ChestShop, EssentialsChat.
Here is the error output from the console.
@BryanChung
anyone know a fix for this, i am developer of the server lividiusgaming and this keeps on spamming the console. maybe if you could release the source code i could fix it myself :P