FrameProtect
Item frames, paintings, armor stands and leash knots are, for simplicity, called objects on this page.
Protect your item frames, paintings, armor stands and leash knots!
Very simple to use.
Overview | Permissions | Internationalization (Language)
How it works (commands and stuff) | Help
Features
- Protect item frames, paintings, armor stands, leash knots and end crystals (objects)
- Per player protections
- Prevent natural destruction of objects (global)
- floating objects that would get destroyed instantly by default game physics
- other such things
- Prevent destruction by mobs, unfortunate coincidences and other causes (global)
- skeletons shooting at objects
- players shooting at objects
- creepers or other explosives exploding next to objects
- piston movement
- Prevent objects from malicious players (protected objects)
- stop players stealing items from your shop item frames
- protected objects can only be destroyed by their owner (or admins)
- Stop players from placing specific objects at all (via permissions)
- Respawn disappeared objects (protected objects)
- when you have floating, protected, item frames and have to start the server without FrameProtect and they get removed by default game physics, it will respawn them when it is loaded again
- The latest version supports Minecraft 1.7.10 and up
- Players, worlds and entities are always referred to via UUID to ensure correct assignment
- Protections can be saved to an SQLite or a MySQL database
- Fine tuning via configuration file and permissions
- Pre-made translations in several languages + fully customizable in-game messages
- Customizable prefix and command
- Many configuration options
FrameProtect 2.8.7 is here!
What's new? (since 2.7)
- add 1.12+ support
- add end crystal support
- major performance improvements due to asynchronous saving
- improve respawn mechanism
- temporarily generate blocks to make sure item frames, paintings and leash knots get spawned where they normaly would not
- minimize console output (no more "Unable to respawn disappeared *" spam)
- add new translations (Japanese, Simplified Chinese, Korean)
- use bStats (bstats.org) for plugin metrics
- use spiget (spiget.org) for update checks (no more console spam with UnknownHostException)
- add option to disable error logging (writing log files)
- add option to get rid of disappeared object respawning related messages (enabled by default)
- some other fixes
Installation
Your server is not running 1.7.10 or newer? Info page for older versions of FrameProtect
If you want to import old data, please have a look at import old data.
> Make sure that your server is running at least Minecraft 1.7.10 and Java 8.
> Put FrameProtect.jar into your plugins folder and restart the server.
Import old data (from 2.5 / 2.6)
FrameProtect 2.8 has integrated data import functionality.
Click here for detailed data import instructions.
Data migration SQLite <-> MySQL
FrameProtect 2.8 has integrated data migration functionality.
Click here for detailed migration instructions.
Configuration
You can find all configuration options including description and default value in the config.yml file.
Future Features / Todo
- Add world specific configuration
- Add purge command to remove all protections of a specific player.
- Add debug commands (remove broken protections, etc.)
- Add the possibility to add members to your protections, so they can be accessed by other players.
- Readd some commands and add the option to disable direct protecting/deprotecting by clicking.
- Any requests?
Known Bugs
- See Help
Update Checking
FrameProtect checks for new versions every now and then using the spiget API (check only, no download). You can disable this by setting settings.allowUpdateCheck in config.yml to false.
Metrics
FrameProtect sends statistics about the usage to bstats.org. You can disable this for all plugins by setting the option enabled in the YourServerFolder/plugins/bStats/config.yml file to false.
View stats
@J0schlZ
Hm ja bei der jetzigen Version sollten die Fehler eigentlich abgefangen werden. Falls es doch nicht klappt muss ich mir das wohl nochmal genauer anschauen.
@Dragon252525
Ja, die neuen Tabellen habe ich gelöscht bevor ich es erneut versucht habe. Es wurden 123 Datensätze eingetragen bevor der Fehler auftrat.
Das manche Spieler und Sicherungs-Daten verloren gehen lässt sich sicher wenn überhaupt nur schwer ausschließen, das verstehe ich natürlich.
Es wäre aber schön wenn der Fehler nicht den ganzen Vorgang beendet :)
@J0schlZ
Wurden vor dem Fehler noch irgendwelche Datensätze eingetragen? Hast du die neuen Tabellen gelöscht oder waren da noch die "alten" Einträge drinn?
Es könnte sein dass einige Spielerdateien fehlen oder einige Spieler schon ihren Namen geändert haben. (Auf sowas lässt zumindest die Fehlermeldung schliessen)
Ich lade gleich noch mal ne neue Version hoch ._.
@Dragon252525
Danke für die schnelle Antwort. ...leider besteht das Problem bei mir weiterhin. Ich habe außerdem die Datenbank von allen Einträgen bereinigt welche eine nicht existierende Welt beinhalten.
http://pastebin.com/ayDK3XXD
@externo6
@J0schlZ
This error happens when a protection thtat should be converted was in a world that no longer exists.
I've uploaded a fix for this. (download 2.6 again when it's approved)
Hey,
danke dir für dieses tolle Plugin. ich habe mich riesig gefreut als ich gesehen habe das es aktualisiert wurde.
Beim updaten der Datenbank tritt jedoch ein Fehler auf und es werden nur 54 von ~ 2800 Sicherungen konvertiert :(
http://pastebin.com/66QUBsMW
-SNIP- Nvm fixed everything.
Updater not working for me error: http://pastebin.com/BaU2YVaf
@GermanTutorials
Das kommt drauf an warum genau sie verschwinden.
Die bisherigen Versionen sind zwar in der Lage die natürlichen Ursachen aufzuhalten aber wenn die Frames einfach so verschwinden sind sie für immer weg.
Die neue Version (2.6; sollte diese Woche rauskommen) speichert die Frames & anderen Objekte plus deren Inhalt in die Datenbank und kann sie (meistens) neu spawnen wenn sie Verschwinden. (dazu einfach /fp reload eingeben)
Hoffe das beantwortet deine Frage.
@frizzbee30
It will be released very soon, just waiting for some translations ;)
cant wait for the new update :)
Da du die deutsche übersetzung selbst geschreiben hast gehe ich davon aus, dass du deutsch auch sprichst... Auf meinem Server habe ich das Problem, dass die Frames nach eier bestimmt anzahl an ticks verschwinden (oder so ähnlich, aber sie verschwinden nach und nach (nicht auf einmal). Schützt dieses Plugin dies auch?
New translations needed!
Since I'm rewriting the whole plugin, I had to make a new language file.
I would be very happy to get some new translations C:
If you're interested, download the example file (english) and edit it, then send it back to me (send me a PM and post it on pastebin/how ever you want). You can find the download and some additional information HERE.
@Formula350
I think the processing time depends on the amount of entities (till v2.5, newer versions will have problems with the amount of protections). 20 players might not cause >that< much events.
The BlockExpEvent seems to be shown because BlockBreakEvent, which FrameProtect listens to, is a subclass of it.
But thanks anyways ;)
@Dragon252525
I don't know if this helps or not, but since my server generally has 20-30 people on it (not exactly "a lot" by any means), and we have a huge map (8gb just for world), I figured may as well see how much of a "hog" FrameProtect actually is... and compared to the majority of plugins I have (66 total) it certainly does not eat up that much processing time...
(Sorry for the length, [spoiler] doesn't seem to work and I don't know any replacement in Bukkit's comments)
/memory details:
Timings for FrameProtect (mine lists BlockExpEvent as well BTW, but I think that's a result of Merged timing report? Maybe not, I'm really ignorant on these reports for the most part lol):
For comparison, a plugin that has comparatively little usage or player interaction on my server outside of the new player spawn (accounting for 4 portals) and one from Olympus to the Underworld (3 portals, the one I formed at a 90 deg angle):
@Iwitrag
WorldGuard only protects item frames per WorldGuard regions while FrameProtect generates protected areas for each protected object (if enabled). This is much more expensive than just checking if the object is inside a huge region :/
What I'm most worried about is the new backup function -> for example for armor stands, all items and poses belonging to them are cloned to the RAM. I'll have to do something about that very soon.
@Dragon252525
WorldGuard can protect item-frames too - why don't you just look at their code and learn? :)
@chistian95
The plugin is done so far. I'm now testing it and writing the Updater for older versions. It will hopefully be released this week.
@Iwitrag
I know that it takes lot of resources :/ But FrameProtect doesn't even capture the BlockExpEvent O_o
I'm trying to make it run smoother but I can't realy test it out since I've no big server to try it out on. Some options like piston protection and block protection will be very expensive to calculate when you have many many protections around so I added some config options to turn those functions off. Sadly it has to load all protections to the RAM and I don't realy know else I could do this... Now when I added a backup functon it will use even more RAM (much more I guess). I've to find a solution for this.
This plugin takes a lot of resources. We have 74 plugins and FrameProtect 2.5 takes 35% of all computing time. BlockExpEvent is the problem.
Any release date?
@syberia97
Could you please be more specific? Do you get any errors?