Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Update phpstan.neon.dist * Fixed PHPDoc * Update Main.php * Update Main.php * Test * Test 2 * Test 3 * Test 4 * Fixing PHPStan issue * Removed useless comment. * Removing some void usage * Populate skylight on rollback. * Fixed crash on executeInsertRaw and fixed PHPStan void error. * Update PluginQueries.php * Tracking entities killed by blocks (fire, lava, etc...) * Fixed useless tracking of player death. * Updated to libasynql v3.3 * Minor improvements on forms * Updated to new await-generator v2.3.0 * Don't throw an exception during the data request, it could be a false friend. * Removed unused and useless Query::getLastLogId() * Removed unused mcpe-protocol (there was also a typo... lol) * Fixed /co l not correctly working * Using isset in this case. * Added /bcp undo command. * Minor improvements * Implemented block restrictions during lookup/rollback * Added permission and doc. for /bcp undo * Fixed unreacheable point. * Changed order of permission check. * Update README.md * Fixed order of plugin data folder creation. * Fixed wrong position calculation of liquid tracking * Minor improvements for player interactions. * Fixed crash during lookup command on console * Removed unused assignment. * Micro-optimization * Hack fixes for block place tracking, closes #9 (read description) - Fixed correct meta (damage) value of block. - Fixed wrong restore of bed and doors when placed. - Fixed logging of not placeable blocks. (#9) - Minor improvements. * Fixed duplicated door log when breaking. * Removing tiles when rollbacking placed blocks. * Improved time parsing. * Using getVanillaName() instead getName() * Fixed purge command not correctly working on SQLite. * Fixed missing array counter on parsing time * Get rid of BlockFactory and BlockIds where possible. * Using equals to compare items * Removed excessive log during inventory transaction * Rollback improvements! - Removed useless calculation of block to exclude/include during the rollback, they were already calculated on query! - Get rid of unused and useless CommandParser from rollback steps. - Now the /co undo is able to undo changes without the time constraint. * Renamed DB file to logs.db * Using new version of UpdateNotifier * Minor improvements * Fixed missing database name saving to be related to config. * Refactored some methods * Woops * Minor change * The ignited TNT is now logged. * Saving ConfigParser instance for each event. * Improved Painting break tracking. * Unset events onDisable() * Wops * Always check for empty logs * Improved events handling and splitted inspector handlers from track handlers * Added undo command on forms. * Some code formatting * Fixed possible inconsistency issues with entities and tile blocks that get some null values due to asynchronous methods. * Wrong exception import... * Split EntityUtils from Utils * Better inconsistency check for inventory slot log. * Minor code code formatting * Trying new autoloaded dirs for PHPStan removed untested code * PHPStan test * Update phpstan.neon.dist * Revert "Update phpstan.neon.dist" This reverts commit 4e352ad. * Trying PHPStan level 6 * Revert "Trying PHPStan level 6" This reverts commit e71b4f5. * Update phpstan.neon.dist * Update phpstan.neon.dist * Trying level 7 * Minor change * Trying to fix PHPStan * Revert enum changes and excluded dir from analysis. * Testing * Ignoring errors * Update phpstan.neon.dist * Update phpstan.neon.dist * Update phpstan.neon.dist * Update phpstan.neon.dist * Update phpstan.neon.dist * Update phpstan.neon.dist * Update phpstan.neon.dist * Update phpstan.neon.dist * Update phpstan.neon.dist * Update phpstan.neon.dist * Trying max level * Resolving some PHPStan issues * Fixed more PHPStan issues... * Fixing PHPStan issues * PHPStan * More PHPStan... * More PHPStan again * Woopss * Removed useless empty functions (I don't remember why I put them...) * Minor improvement * Renamed functions * Fixed block burning tracking. * Downgrade to libasynql v3.2.0 * WTF Git? * Starting v0.7.0 development (see description about changes) - Performance boost during log process, not use serializable classes. - Removed address column from entities table because not used. - The log time is now calculated from the plugin instead of database, so it avoids to get some stupid logs due to concurrency. * Fixed FenceGate and Levers not logged when clicked. * Fixed important bug introduced in v0.6.2: when rollback some falling blocks it causes a log recursion due to block update. This could be cause of #32 * Do not serialize SerializaBlocks in the BlocksQueryGeneratorTask * Added __toString() values in Serializable classes * Implemented Farmland and Grasspath logging. * Do not allow more than one rollback in the same area or by the same player. * Fixed restore logs not correctly ordered * Fixed Fallable blocks not logged when placed. * Dropped BlockSniper support. * Fixed lily pad not logged when placed. * Fixed double plant not logged when placed. * Updated enum to last PMMP changes. * Updated Action enum to be compatible * Fixed ItemFrame not correctly logged. * Fixed possible null itemframe. * Removed some PHPStan ignoredErrors * Simplified and fixed an issue with BlocksQueryGeneratorTask * Code format * Wops * Require ContainerInventory instead of Inventory + do not store in a var the positions * Fixed #19 * Check active rollbacks outside the await call. * Improved rollback report * Improved painting and spawn eggs logging. * Minor optimizations * Fixing some PHPStan issues * Remove entity from fire when logged * Require API 3.13.0 * Fixed flint and steel not logging correctly TNT ignites. * Do not log click action when player is sneaking. * Using Position::getLevelNonNull() instead of Utils:getLevelNonNull() * Forgot to commit this changes * Fixed IronDoor not logged when clicked. * Fixed possible null position when placing itemframe. * Reverted 25ef5e7 + get first array key instead of 0. * Fixed LogsQueryGenerator not inserting the time param. * Removed SpawnEgg tracking.. not really useful in case of AI. * Fixed liquids tracking when breaking blocks. * Removed unused parameter * Fixed liquids not updated after the rollback * Fixed trapped chest not rollback correctly. * Fixed /co undo during inventories rollback. * Revert "Fixed liquids not updated after the rollback" This reverts commit fde165d. * Fixed tracking sign text when placed. * Fixed lilypad logged when placed inside the water. * Liquids flow is now tracked * Fixed logging liquid when placed in another different liquid. * Fixed cake not logged when eaten. * Fixed flint and steel not able to log "click" actions. * Fixed block sides not correctly logged. NOTE: This change do not recurively find all sides to avoid performance issues. * Fixed wrong action while placing/breaking paintings * Minor improvements while rollbacking entities. * Trying fixing PHPStan issue * Implemented ConfigUpdater * Change again the way to log sides block... the previuos was too expensive... * Useless condition or condition... * Remove array index key check... It should never happen. * Forgot to temporary change the config version to 0. * Added translation for config updater, increment config version * 0.7.0 is done. * Improved management of time when saving log. Now it directly uses UNIX time without any timezone conversion. * Re-ordered parameters of InventoriesQueries::addInventorySlotLog() * Fixed inclusions/exclusions not working on MySQL + re-implemented support for meta when include/exclude blocks + fixed missing rollback binding parameter * Fixed crash when using restricted block in UI + updated form library * ConfigUpdater: now it maintains the previous settings where possible. * Fixed user filter not working on MySQL * Re-structured database tables (see description) - Added constraint names for foreign keys - Allow negative Y coordinate (ready for MC 1.17) - Reduced X/Z coordinates to INTEGER instead of BIGINT - All the column with data type BIGINT UNSIGNED are converted to SIGNED because PHP does not handle unsigned integer properly. * Allowed radius in lookup command * Fixed radius not optional in the lookup menu UI * Forgot do add "ON DELETE CASCADE" in MySQL patch file * Allow negative ID + allowed more space for meta (fixed #44) * Fixed lookup taking the default radius instead of null * Fixed #37 * Fixed entity filter not working * Entities names are now saved with "#" * Update Forms.php * Fixed rollback radius not required but optional. * Show "Just now" when an log just happend * Show which options are implemented/changed/removed in the configuration when it's updated. * Next version is v0.9.0 * QueryManager::addReportMessage() does not require anymore a translated string. * Exposed as protected RollbackTask::getSerializedChunks() * Updated comment * Thanks to Git for ignoring this change from the stable branch... * Renamed Database to DatabaseManager * Added DefaultQueries where locate all insertXxx functions * Drop support for PHP 7.3, minimum is now PHP 7.4. API required is 3.21.0 * Minor PHP 7.4 fixes * Fixed RollbackTask not using array as Threaded object. Removed AbstractSerializable class * Transformed DefaultQueries in DefaultQueriesTrait * Made DatabaseManager final class * Trying to fix PHPStan lint * Revert "Trying to fix PHPStan lint" This reverts commit 6d4d6e8. * Minor changes * Removed unused plugin's API + minor change to MathUtils::floorBoundingBox * Changed version to v0.8.4, there will be not any new feature in this update * Revert "Changed version to v0.8.4, there will be not any new feature in this update" This reverts commit 4780ddc. * [WIP] New features and improvements! DON'T USE VERSION 0.10.0, IT IS INCOMPLETE AND NOT TESTED. Changelog: - The subcommands rollback, restore and undo can now be used from console - Added new command parameter "world". With this parameter you can specify which world you need to rollback blocks. - Added global radius parameter. Use "r=#global". - Removed the subcommand menu/ui (/bcp menu). To access the UI commands, you need to enable the flag in the configuration and simply run the command "/bcp" to show the UI in-game. - Fixed #51 - Refactored the plugin command system and form management. * More fixes and improvements * The world should never be null * Added missing type * Removed unused variables * Update queries with limit and offsets * Split rollback/restore queries in max 25000 rows. I have to decide whether to leave this number constant or let the user decide the maximum based on memory availability. Increasing the number will decrease the time for a world to rollback * Fixed crash in case of rollback/restore from console * Added message indicating if the world is going to be rollbacked or restored when using "undo" command * BlockUtils::asTile() now accepts Position instead of Block * Updated translations * Fixed inspector show two times the output message when clicking an inventory block * Minor help messages styles changes * Finished to update all translations * Cosmetic change * Added missing language key * Update translations when reload the config * Shut-up PHPStan * Fixed wrong time calculation int the report * Removed getPlugin() override * Code reformat * Fixed wrong doc. comment * Build SerializableBlock with Vector3 * Minor changes * Update README.md * Ops * Fixed purge command not working from console + minor changes/fixes on ParsableSubCommand * Added PRAGMA optimize for SQLite database. This should improves the database speed if necessary after a long usage (according to SQLite docs). The pragma will be executed before closing the database connection and every 8 hour after the server starts. * Implemented additional parameters + improved puge command Additional parameters: they are special parameters (#parameter) to be added in the command allowing different features. Actually only #optimize has been added and can be used in the /bcp purge command. (e.g. /bcp purge t=30d #optimize) and it allows to reduce the database space occupation and optimize the query insertion. The purge command now also allow to choose which world delete the log by using "/bcp purge t=1s w=my_world_name" * Minor changes to Action enum * Minor improvement for CommandParameter::fromString() * Code reformat * Changed UpdateNotifier src * Support PHP 8 * Updated to last libasynql version to support PHP8 * Added missing /bcp show command alias * Revamp the README file * Woops
- Loading branch information