This is a script to catch mobs with a snowball. Just insert into scriptsfolder, grab a snowball and throw it on a mob. If you are op you are not charged money but a spawnegg will also not be dropped.
Code:
mobcatcher:
type: world
debug: false
mobinject:
- if <player.money> >= <def[amount]> && !<player.is_op> {
- remove "<context.entity>"
- drop i@monster_egg[spawn_egg=<def[type]>] <player.location.add[2,0,2]>
#In english: You have captured context.entity
- narrate "<red> Du hast <context.entity.name> gefangen"
- money take quantity:<def[amount]>
#In english: You were charged def[amount]
- narrate "<red> Du zahlst <def[amount]> EM für den Fang"
}
- if <player.is_op> {
- remove "<context.entity>"
#in english: You were charged nuthin for being a op
- narrate "<red> Du hast <context.entity.name> gefangen, Du zahlst nix wegen Op"
}
else {
#english: not enough money for capturung: You need def[amount]
- narrate "<red>Du hast nicht genug Geld: Du brauchst <def[amount]> Eulen Mark!"
}
events:
on entity damaged by snowball:
#https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html
#Add other Mobs as you wish. Since this Script does not create own Spawneggs, look if a Spawnegg is existing for your mob type you want to catch!
- choose "<context.entity.entity_type>":
- case "sheep":
#Mob Type to determine which Spawnegg will be dropped
- define type "91"
#Price which a catch will be cost
- define amount "<util.random.int[250].to[300]>"
#Do the ddenizenmagic - see mobinject-section above
- inject locally mobinject
- case "zombie":
- define type "54"
- define amount "<util.random.int[450].to[500]>"
- inject locally mobinject
- case "pig_zombie":
- define type "57"
- define amount "<util.random.int[400].to[500]>"
- inject locally mobinject
- case "zombie_villager":
- define type "27"
- define amount "<util.random.int[450].to[500]>"
- inject locally mobinject
- case "spider":
- define type "52"
- define amount "<util.random.int[250].to[350]>"
- inject locally mobinject
- case "cave_spider":
- define type "59"
- define amount "<util.random.int[500].to[600]>"
- inject locally mobinject
- case "creeper":
- define type "50"
- define amount "<util.random.int[900].to[1000]>"
- inject locally mobinject
- case "horse":
- define type "100"
- define amount "<util.random.int[2000].to[3000]>"
- inject locally mobinject
- case "skeleton":
- define type "51"
- define amount "<util.random.int[450].to[500]>"
- inject locally mobinject
- case "slime":
- define type "55"
- define amount "<util.random.int[450].to[500]>"
- inject locally mobinject
- case "ghast":
- define type "56"
- define amount "<util.random.int[4000].to[5000]>"
- inject locally mobinject
- case "blaze":
- define type "61"
- define amount "<util.random.int[4000].to[5000]>"
- inject locally mobinject
- case "witch":
- define type "66"
- define amount "<util.random.int[600].to[650]>"
- inject locally mobinject
- case "pig":
- define type "90"
- define amount "<util.random.int[250].to[300]>"
- inject locally mobinject
- case "cow":
- define type "92"
- define amount "<util.random.int[250].to[300]>"
- inject locally mobinject
- case "chicken":
- define type "93"
- define amount "<util.random.int[250].to[300]>"
- inject locally mobinject
- case "mushroom_cow":
- define type "96"
- define amount "<util.random.int[250].to[300]>"
- inject locally mobinject
- case "villager":
- define type "120"
- define amount "<util.random.int[10000].to[20000]>"
- inject locally mobinject
- default:
#Error message if Mob can not be catched
- narrate "<red>Dieser Mob kann nicht gefangen werden!"