CoreProtect v2.14.0


  • Filename
  • Uploaded by
  • Uploaded
    Nov 19, 2016
  • Size
    266.81 KB
  • Downloads
  • MD5

Supported Bukkit Versions

  • 1.11


CoreProtect has an official IRC channel! Join #coreprotect on | EsperNet Web IRC

CoreProtect 2.14.0

  • Added full support for all 1.11 block and entity types.
  • Added rollback/restore support for a Villager's active trades.
  • Added logging for player deaths (/co l u:<user> a:kill). [244]
  • Added logging for ender crystal placement and removal. [545]
  • Added ability to specify coordinates for radius rollbacks (c:x,y,z). [757]
  • Fixed sign text not being logged when a sign is destroyed from an explosion. [756]
  • Fixed the radius parameter not being detected when running commands inside command blocks. [773]
  • Fixed radius rollbacks displaying "#global" instead of the name of the current world.
  • Fixed nether warts not being logged as removed when the block under them is broken.
  • Fixed a rollback/restore bug that could result in items being changed in the wrong chest.
  • Fixed SSL connection warning shown when using a MySQL 5.5.45+ database.
  • Fixed NullPointerException rollback/restore errors for mob heads and item frames.
  • Fixed NullPointerException errors occurring when placing armor stands and end crystals.
  • Fixed UnsatisfiedLinkError occurring if unable to execute SQLite from the system temporary folder.

CoreProtect 2.13.2

  • Release for Spigot 1.9-1.10. This build contains all the changes in CoreProtect 2.14.0 and earlier, minus version specific features.

CoreProtect 2.13.1

  • Added check to determine if server is running Java 1.7 or higher before starting plugin.
  • Changed MySQL connection handler to use a connection timeout instead of a network timeout.
  • Fixed dynamic patching system failing to detect JAR file under certain conditions.

CoreProtect 2.13.0

  • Added logging for all 1.9/1.10 block and entity types.
  • Improved internal patching system to dynamically detect new patches.
  • Improved purges by having them defragment/recreate the entire database.
  • Improved MySQL connection handling & SQLite index handling.
  • Changed minimum requirements from Java 1.6 to Java 1.7.
  • Fixed internal caches becoming corrupted if the database format (MySQL/SQLite) is switched via "/co reload".
  • Fixed lookups with invalid radius parameters returning confusing results.
  • Fixed being unable to use "block:skull" as a valid lookup parameter.
  • Fixed "/co l u:<user> a:username" randomly failing due to an issue with the UUID cache.
  • Fixed purges on SQlite databases failing under certain conditions. [TICKET-536]
  • Fixed items dragged across slots in chests not being logged. [TICKET-550]
  • Fixed right clicking with the inspector performing a lookup twice. [TICKET-539]
  • Fixed slanted rails not being logged as broken when the adjacent block is removed. [TICKET-421]

CoreProtect 2.12.0

  • Added logging for adding/removing items on armor stands.
  • Added logging for sticky pistons pulling blocks.
  • Added a logChat function to the API.
  • Added a logCommand function to the API.
  • Fixed the "coreprotect.inspect" permission not granting access to the "/co l <page>" command.
  • Fixed the blockLookup API function returning incorrectly formatted data.

CoreProtect 2.11.3

  • Added performPurge method to API.
  • Added previously removed methods back into API, for compatibility with abandoned plugins.
  • Added ability to restrict users, exclude users, and specify actions, for lookups/rollbacks/restores within the API.
  • Improved lookup/rollback/restore commands, so that they now fail if an invalid block or entity name was entered.
  • Fixed sapling growth failure being logged as sapling placement.
  • Fixed broken ParseResult.getType() function in API.

CoreProtect 2.11.2

  • Fixed several ClassCastException and NullPointerException errors.
  • Fixed broken ParseResult.getTypeId() function in API.
  • Fixed named pets not retaining names after a rollback.

CoreProtect 2.11.1

  • Fixed plugin refusing to register with WorldEdit v6+.
  • Fixed broken WorldEdit sign logging.

CoreProtect 2.11.0

  • Added logging for changes made by WorldEdit v6.
  • Added logging for new (Minecraft 1.8) door types.
  • Added logging for new (Minecraft 1.8) fence gate types.
  • Added logging for banner colours and patterns.
  • Added logging for armor stands.
  • Added custom block names for lookups (granite, polished_granite, diorite, polished_diorite, andesite, and polished_andesite).
  • Improved core logging; now uses block and entity names rather than block IDs.
  • Improved lookups; they now use block and entity names rather than block IDs.
  • Fixed MySQL not properly supporting UTF-8 characters.
  • Fixed banners placed in chests not being logged.
  • Fixed logging of paintings relying on Bukkit enum values.
  • Fixed paintings not being able to rollback or restore in Minecraft 1.8+.
  • Fixed item frames not being able to rollback or restore in Minecraft 1.8+.

CoreProtect 2.10.0

  • Fixed killing horses not logging correct data, such as the horse color.
  • Fixed firing an arrow at an item frame logging as "#arrow", rather than the username of the player.
  • Fixed server operators being unable to use "/co l u:#container".
  • Fixed new MySQL installs not using UTF-8 as the default character set.
  • Improved CoreProtect's internal versioning system.
  • Added internal support for UUIDs.
  • Added name change logging and lookups (action:username).
  • Added a new config.yml option for disabling name change logging.

CoreProtect 2.9.0

  • Fixed EntityDeathEvent errors occurring when using the "MyPet" plugin.
  • Fixed StructureGrowEvent errors occurring when another plugin creates a badly formed event.
  • Fixed blocks visually disappearing from player inventories when using the inspector.
  • Improved management of deprecated Bukkit methods.
  • Added logging for items taken out of item frames.
  • Added logging for snow generated by Snow Golems.
  • Added logging for fire punched out by players.
  • Added logging for crops trampled by players.
  • Added logging for carpet and double plants broken by water/lava.
  • Added support for rolling back & restoring double plants, such as sunflowers.
  • Added description information for Minecraft 1.7 block types.

CoreProtect 2.8.0

  • Fixed "/co reload" not being able to switch between SQLite and MySQL.
  • Fixed "coreprotect.lookup.block" permission controlling page lookups.
  • Fixed placing stairs not logging the direction they were placed.
  • Fixed rolling back a container not setting the correct container direction.
  • Improved version system to better reflect the current version number.
  • Improved API to use its own versioning system. Code changes are required to utilize the CoreProtect v2.0.8+ API. Updated example code can be found here:
  • Added support for usernames containing special characters.
  • Added description information for Minecraft 1.6 block types.

CoreProtect 2.7.0

  • Fixed version system not working with non-standard number formats.
  • Fixed replacing a block (ex: snow) not always logging the block removal.
  • Fixed rare instances of "Asynchronous entity track" error on rollbacks/restores.
  • Improved time taken for performing rollback/restore previews.
  • Improved preview interface, now displays block count.
  • Added "coreprotect.lookup.block" permission, for blocking block data lookups.
  • Added "" permission, for blocking interaction lookups.
  • Added "coreprotect.lookup.container" permission, for blocking container lookups.
  • Added "coreprotect.lookup.kill" permission, for blocking kill lookups.

CoreProtect 2.6.0

  • Fixed it so upgrades are able to continue if the enchantment data is invalid.
  • Fixed entity data not being properly filtered out for rollback/restore previews.
  • Fixed water from an ice block not logging as the person who broke the block.
  • Fixed piston movement logging the piston extension as a placed block.
  • Fixed placing pistons/chests/repeaters not logging the direction the block is facing.
  • Fixed asynchronous entity tracking error on the player chat event.
  • Fixed rare instances of starting a purge causing the plugin to lock up.
  • Fixed not being able to exclude non-standard block IDs in commands.
  • Fixed running a purge showing "database busy" instead of "purge in progress".
  • Fixed version managing system enforcing arbitrary limits on the version number.
  • Fixed custom potions in containers throwing NotSerializableException errors.
  • Fixed ClassCastException errors for rollbacks/restores when a container type is changed.
  • Fixed killing an entity with a splash potion not logging the username of the killer.

CoreProtect 2.5.0

  • Fixed player names not always linking to broken item frames / paintings.
  • Fixed skulls, cobwebs and tripwire broken by water/lava not being logged.
  • Fixed null pointer when accessing API if CoreProtect hasn't yet initialized.
  • Fixed TNT minecart explosions logging as "#explosion" instead of "#tnt"
  • Fixed multiple users modifying a container at once causing discrepancies in the logs.
  • Fixed not being able to do a "#container" rollback after inspecting a chest.
  • Fixed custom pagination on container lookups not persisting across pages.
  • Fixed a single user being able to start conflicting rollbacks simultaneously.
  • Added automatic patching system for CoreProtect database changes.
  • Added support for non-standard text length (for usernames/signs).
  • Added container transaction support for droppers, hoppers and trapped chests.
  • Added support for logging commands stored in command blocks.
  • Added complete support for Minecraft 1.5 block types.

CoreProtect 2.4.0

  • Fixed flower pots not being logged when the block under them is broken.
  • Fixed item frames / paintings not logging if destroyed by an obstruction.
  • Improved item frame / painting rollback accuracy, by making them run delayed.
  • Added player interaction logging for note blocks.
  • Added logging for blocks destroyed by Silverfish.

CoreProtect 2.3.0

  • Fixed it so errors aren't shown on startup if the update server is down.
  • Fixed breaking both sides of a double chest quickly causing discrepancies in the logs.
  • Fixed TNT destroying double chests logging double the amount of items removed.
  • Fixed WorldEdit logging not working if CoreProtect initialized before WorldEdit.
  • Fixed certain SNAPSHOT versions of WorldEdit not being compatible with CoreProtect.
  • Fixed falling sand/gravel (etc) from above a broken block not being logged.
  • Fixed interaction logging so it only works for right clicks.
  • Added interaction logging for repeaters, wooden buttons, anvils, hoppers and droppers.
  • Improved error message if WorldEdit logging is unable to initialize.
  • Further improved performance of event processing.

CoreProtect 2.2.0

  • Fixed errors being thrown if an arrow is shot by a non-entity.
  • Fixed no error message displaying when invalid command entered.
  • Added ability to use aliases for help commands (ex: "/co help l")
  • Added "/co ro", "/co re", "/co rb" and "/co rs" as command shortcuts.
  • Sped up rollbacks/restores, making them run nearly twice as fast.
  • Sped up event processing, for even less time spent in the main server thread.

CoreProtect 2.1.0

  • Fixed errors on startup for systems using non-standard decimal formatting.
  • Fixed "coreprotect.*" permission not giving access to reload command.
  • Fixed bug with rolled back redstone torches (etc) not always putting out power.
  • Fixed bug with rolled back glowstone blocks (etc) not always lighting up surrounding area.
  • Fixed MySQL upgrades so invalid enchantment data is filtered out.
  • Fixed it so the upgrade still continues properly if the config.yml file is missing.
  • Fixed it so if the upgrade fails, database connections are closed so the server doesn't lock up.
  • Fixed it so "apply", "cancel", "undo", and "near" aliases use parent permissions.
  • Changed it so any child permission can be used as a negative permission against "coreprotect.*"
  • Added "" permission, for blocking chat lookups.
  • Added "coreprotect.lookup.command" permission, for blocking command lookups.
  • Added "coreprotect.lookup.session" permission, for blocking session lookups.

CoreProtect 2.0.0

  • Changed it so MySQL databases use a more efficient database structure.
  • Made it so flat file storage is now done via a single SQLite database.
  • Future proof. Can now properly handle non-standard data types.
  • Made it so all logging events now use a consumer, rather than generating new threads.
  • Made it so block names now display on the lookup page.
  • Made it so chests broken in explosions log the items that were in the chest.
  • Cleaned up the interface and implemented a new colour theme.
  • Made it so using the inspector now does a full block lookup.
  • Made it so item transactions now log ALL item data (enchantments, item names, etc)
  • Made it so all skull data, such as skull owners and skull rotation, is logged.
  • Made it so radius lookups no longer require a time parameter (ex: "/co l r:10" for all nearby data).
  • Made it so lookups can now do block-type only searches (ex: "/co l b:56 t:1d")
  • Added a default radius of 10, which is auto added if you don't specify a radius. Changeable in config.yml
  • Added a maximum radius of 100. Use "r:#global" to do a global search. Changeable in config.yml
  • Made it so if you're inside a block that gets rolled back or restored, you get teleported on top of it.
  • Added ability to specify number of results shown on lookup pages by using "/co l <page>:<results>".
  • Added "/co reload" command for reloading configuration. Permissions can be set with "coreprotect.reload" node.
  • Changed "noisy" to "#verbose". Also added a "#silent" option tag for rollback/restores if verbose mode is enabled.
  • Added ability to specify multiple users in a rollback/restore/lookup (ex: "/co l u:Notch,Intelli t:1d")
  • Added ability to exclude users (ex: "/co l r:5 e:Notch"). Can be used in combination with block ID's.
  • Added ability to do global world lookups/rollbacks/restores. (Ex: "/co l u:Notch t:1d r:#nether")
  • Made it so purges now use regular time syntax, but require a minimum time of 30 days unless run via console.
  • Added ability to create per-world config files, that match the world folder name (ex: world_the_end.yml).
  • Added "a:<action>" option for rollback/restores/lookups. See "/co help actions" for info.
  • Added ability to search the last inspected container by using "/co l u:#container <params>".
  • Added ability to rollback/restore the last inspected container (ex: "/co rollback u:#container,Notch t:1d").
  • Added ability to have items taken from containers (etc) rollback by enabling "rollback-items" in config.yml
  • Made it so adding "#count" to the end of a lookup command returns the # of rows found.
  • Added ability to preview rollbacks/restores by adding "#preview" to the end of your command.
  • Added "/co undo" alias as a shortcut to undo a rollback/restore via the opposite action.
  • Added "/co near" alias as a shortcut to do a lookup with a radius of 5.
  • Added chat logging. Search using "/co l u:Notch a:chat" or "/co l a:chat"
  • Added command logging. search using "/co l u:Notch a:command" or "/co l a:command"
  • Added login/logout logging. Search using "/co l u:Notch a:login" (etc).
  • Made it so all new configuration values are by default enabled for less confusion.
  • Added entity kill logging. Search using "/co l u:Notch t:1d a:kill" (etc).
  • Added ability to rollback entity kills (ex: "/co rollback a:kill r:5 t:1d")
  • Added ability to automatically rollback/restore mob deaths by enabling "rollback-entities" in config.yml
  • Added ability to use worldedit selections by using "r:#worldedit" (or just "r:#we").
  • Created a Tekkit version of CoreProtect 2.0
  • Improved the base code and fixed a ton of minor bugs.