Prison Pearl
Description
PrisonPearl allows players to imprison and control other players through the use of ender pearls. If you kill a player with an ender pearl in your possession, the pearl is converted to a prison pearl, and the player is imprisoned in the end. You must then secure the pearl from anyone who might wish to free the evildoer. You can also elect to use your prisoner as slave, by holding his pearl and summoning him from the end. He is bound to the pearl, and will die and return to the end if he attempts to flee.
Imprisoning
Players are imprisoned when they die and have taken sufficient (configurable) damage from a player who has one or more ender pearls placed in his hotbar. The person who dealt the most damage to the player gets one pearl converted into a prison pearl. If a player stops taking damage for a configurable a period of time, his damage log is reset and he will not be imprisoned if he dies.
Securing pearls
A pearl is only secure when placed in an inventory block, such as a chest or dispenser. A prison pearl in a players inventory will be freed if that player logs out. A prison pearl left on the ground will be freed if it despawns, or if the chunk containing it is unloaded. A burned or laved prison pearl will also be freed. Also Pearls will need to be stored with the food item the admins have selected for the server. You will have to place the food item in the chest along with the pearls.
Freeing players
To free a player, simply throw his prison pearl, or use the ppfree command with the pearl in your inventory. If the player is online and free_tppearl is set to true, the player will be teleported to your location. If not, he will be respawned normally in the overworld.
Using slave labor
Use the ppsummon command with a pearl in your inventory to summon that player back to the real world. This player can do anything as he pleases, but if he travels a configurable distance from the pearl he will begin to take damage. You can place the pearl in the chest if you think it is secure enough to prevent the prisoner from freeing himself. If he dies for any reason, he will be respawned in the end. You can reward your slave by using the ppreturn command, which sends him back to the end where he was with his inventory intact. A bad slave can instead be punished by using the ppkill command, which will put him back at the end spawn with no inventory.
Be careful not to allow your slaves to come in to contact with other people, because they could be stolen! Simply re-imprison an enslaved player to obtain their prison pearl, and use them for your own needs or free them on the spot.
Rescue missions
An imprisoned player can at any time locate his pearl with the pplocate command. Any interested parties can then attempt to break in to the pearls storage location to free it.
Commands
All commands operate on the pearl in your hand. You can also use a command on a pearl in your inventory by supplying the name of that pearl.
- /ppl or /pplocate locates a prisoner's prison pearl
- /ppf or /ppfree [player] frees the pearl
- /pps or /ppsummon [player] summons a prisoner
- /ppr or /ppreturn [player] returns a prisoner to the end, inventory intact
- /ppk or /ppkill [player] instantly kills a prisoner, sending them to the end with no inventory
- /ppb or /ppbroadcast player broadcast your pplocates to the given player automatically.
- /ppi or /ppinfo [player] tells you the pearl's damage value and the location/status of the player in the pearl. This can be used to set up shops or other mechanisms which require the damage value of an item.
- /ppsetdist [player] Sets distance prisoner can move.
- /ppsetdamage: Sets damage prisoner receives.
- /pptogglespeech: Toggles whether prisoner can talk in public chat.
- /pptoggledamage: Toggles whether prisoner can damage players and mobs.
- /pptoggleblocks: Toggles whether prisoner can break blocks.
- /ppsetmotd: Sets prisoner's MOTD.
Op commands
- /pplocateany player will locate player's pearl
- /ppfreeany player will free any player
- /ppsave will cause PrisonPearl to save its data to the disk
- /ppimprisonany player will imprison any player.
- /ppf activates the feed command.
Configuration options
- free_world is the name of the world a player will be teleported he's freed and has no bed (or if prison_resetbed).
- free_respawn causes players to be killed (allowing them to respawn) instead of teleporting them to the free_world's spawn, which allows respawn altering plugins to kick in.
- free_tppearl when an online player is free, teleport the player to the pearl instead of free_world
- damagelog_min minimum amount of damage a player must inflict before he will be considered a candidate for imprisoning a player.
- damagelog_ticks causes damage logs on a player to expire after he goes this many ticks unharmed.
- ppkill_enabled allows the ppkill command to be used when true.
- prison_stealing allows prisoners to be reimprisoned by another player when summoned.
- prison_musthotbar requires players to hold an ender pearl in their hot bar when they wish to imprison someone.
- summon_damage_radius is the distance a summoned player can travel from his pearl before taking damage.
- summon_damage_ticks is the amount of ticks between damage inflicted to a summoned player.
- summon_damage_amt is the amount of damage inflicted to a summoned player.
- prison_world is the world players are teleported/respawned in when players are imprisoned.
- prison_resetbed causes all imprisoned players to lose their current set bed location.
- prison_motd is a list of strings which are sent to players whenever the teleport or respawn in prison.
- prison_grant_perms is a list of permissions granted to an imprisoned player.
- prison_deny_perms is a list of permissions denied to an imprisoned player.
- save_ticks is the amount of ticks between prisonpearl saving data to its text files.
- upkeep: resource: (item wanted to keep prisoners pearled. Quantity: amount needed.
Permissions
Source Code
Have something you want to contribute to Prison Pearl? Here is the Source Code.
Recommended Plugins
Citadel: Is a plugin that allows players to protect anything they have with either stone (25 breaks), iron (250 breaks), or Diamond (1800 breaks). This plugin combined with Prison Pearl gives the players a chance to be freed by another player once they are in the end.
CivChat: CivChat is a mod that used citadel groups to have group chats.
JukeAlert: A plugin that creates snitches and helps player's identify grief done by another player.
Expensive Beacons: A plugin that makes beacons expensive to use but limits the effects to citadel groups and a longer range.
Name Layer: A plugin that controls uuids and player names.
Better Associations: is a plugin that associates players. Has built in support for PrisonPearl and provides useful other services for managing player accounts.
Civcraft
PrisonPearl was designed and customized for Civcraft (ip= untamedears.com) as a way to allow players be able to take into their own hands the capturing of griefers or other players. The subreddit for this server is http://www.reddit.com/r/Civcraft/
The Civcraft Description.
@crore
A 1.5 version will appear whenever it's approved. Added a Permissions page.
thus the "needs update" some plugins dont need updates with new bukkit versions this is just a friendly reminder for you wonderful folks because i hadnt seen another note about it. also i have not seen where the permsissions for this plugin are listed if there are any?
@crore
My guess is you're running a 1.5 server, which it has yet to be updated to support.
super cool looking plugin gonna use it for my guns server i think =)
( needs update getting http://pastebin.com/eRGmWswe
@xColourTheory Fix will be approved shortly.
@redundantgaming
Fix will be approved shortly.
@rourke750
No, I am not.
Im having the same issue as xColur only its doing with or without combat tag this version does a terrible job at determining if a player is free or not whenever a player is actually released if they die they still spawn in the end when they type /pplocate they get sent to the overworld because "You've been freed!" please fix it :(!
@xColourTheory
are you using combat tag? Especially the one listed on this page?
15.03 02:54:21 [Server] SEVERE at net.minecraft.server.v1_4_R1.ThreadServerApplication.run(SourceFile:849) 15.03 02:54:21 [Server] SEVERE at net.minecraft.server.v1_4_R1.MinecraftServer.run(MinecraftServer.java:399) 15.03 02:54:21 [Server] SEVERE at net.minecraft.server.v1_4_R1.DedicatedServer.init(DedicatedServer.java:149) 15.03 02:54:21 [Server] SEVERE at net.minecraft.server.v1_4_R1.MinecraftServer.a(MinecraftServer.java:259) 15.03 02:54:21 [Server] SEVERE at net.minecraft.server.v1_4_R1.MinecraftServer.e(MinecraftServer.java:300) 15.03 02:54:21 [Server] SEVERE at net.minecraft.server.v1_4_R1.MinecraftServer.j(MinecraftServer.java:321) 15.03 02:54:21 [Server] SEVERE at org.bukkit.craftbukkit.v1_4_R1.CraftServer.enablePlugins(CraftServer.java:264) 15.03 02:54:21 [Server] SEVERE at org.bukkit.craftbukkit.v1_4_R1.CraftServer.loadPlugin(CraftServer.java:282) 15.03 02:54:21 [Server] SEVERE at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) 15.03 02:54:21 [Server] SEVERE at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) 15.03 02:54:21 [Server] SEVERE at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) 15.03 02:54:21 [Server] SEVERE at com.untamedears.PrisonPearl.PrisonPearlPlugin.onEnable(PrisonPearlPlugin.java:90) 15.03 02:54:21 [Server] SEVERE at com.untamedears.PrisonPearl.PrisonPearlPlugin.loadAlts(PrisonPearlPlugin.java:577) 15.03 02:54:21 [Server] SEVERE at com.untamedears.PrisonPearl.AltsList.load(AltsList.java:22) 15.03 02:54:21 [Server] SEVERE at com.untamedears.PrisonPearl.AltsList.loadAlts(AltsList.java:34) 15.03 02:54:21 [Server] SEVERE at java.io.FileInputStream.<init>(Unknown Source) 15.03 02:54:21 [Server] SEVERE at java.io.FileInputStream.open(Native Method) 15.03 02:54:21 [Server] SEVERE java.io.FileNotFoundException: plugins\PrisonPearl\alts.txt (The system cannot find the file specified) 15.03 02:54:21 [Server] SEVERE Plugin PrisonPearl v1.5.3 has failed to register events for class com.untamedears.PrisonPearl.PrisonPearlManager because com/trc202/CombatTagEvents/NpcDespawnEvent does not exist.
Also; After the person is freed they still spawn at The End.
Any feature that if after a certain amount of time players are automatically released?
@bubbasmack
A problem with that is that it is not real life, the goal is to make it as close as possible but it is infact still a game. The idea with having the feeding is that it forces captors to have a constant reminder to try and keep up and if it becomes to easy for captors to imprison than the admin of the server should just increase the amount of the item needed.
I think a great feature would be to allow prisoners to free themselves if they can manage to kill their owner. A good idea would be to allow prisoners to keep whatever inventory they have at all times, so that they can attempt to gather materials to plan on killing their owner. This would encourage slave owners to keep a closer watch on their prisoner's, and also make it more life-like.
@redundantgaming
I'm not sure, a new version is going into testing. After it is done i'll upload it and than if you still get that error ill just give you a prisonpearl folder and maybe the error will go away.
@rourke750
Didn't have a folder for prison pearl i never ran the dev build on the test server on top of that after the errors it wont even generate a prison pearl folder
@rourke750
2013-03-06 18:53:28 [SEVERE] Could not load 'plugins\Prisonpearl.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: com/untamedears/PrisonPearl/PrisonPearlPlugin : Unsupported major.minor version 51.0 at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:184) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:305) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230) at org.bukkit.craftbukkit.v1_4_R1.CraftServer.loadPlugins(CraftServer.java:239) at org.bukkit.craftbukkit.v1_4_R1.CraftServer.<init>(CraftServer.java:217) at net.minecraft.server.v1_4_R1.PlayerList.<init>(PlayerList.java:55) at net.minecraft.server.v1_4_R1.DedicatedPlayerList.<init>(SourceFile:11) at net.minecraft.server.v1_4_R1.DedicatedServer.init(DedicatedServer.java:104) at net.minecraft.server.v1_4_R1.MinecraftServer.run(MinecraftServer.java:399) at net.minecraft.server.v1_4_R1.ThreadServerApplication.run(SourceFile:849) Caused by: java.lang.UnsupportedClassVersionError: com/untamedears/PrisonPearl/PrisonPearlPlugin : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:173)
@redundantgaming
what error are you getting? Also permission nodes are developed and going to be updated soon, I also changed pearl on logout freeing the player to just dropping the pearl and there is a problem with combat tag that im currently working on.
@rourke750
Permission nodes/ more advanced configuration options (PS: The latest version isn't working for me even when i run it alone on 1.4.7 R1 :/)
Hey what new features would you guys be interested in?
I would really use this, if only you could set the options to only allow catching in one world...
Cool Plugin, nice one! :D