Skip to content

Commit

Permalink
Merge pull request #252 from PrisonTeam/bleeding_branch_v3.3.0-alpha.15
Browse files Browse the repository at this point in the history
Bleeding branch v3.3.0 alpha.15
  • Loading branch information
rbluer authored Jul 8, 2023
2 parents 5520d8d + ffdf602 commit 3d647e8
Show file tree
Hide file tree
Showing 114 changed files with 6,458 additions and 2,179 deletions.
11 changes: 9 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,15 @@ subprojects {
dependencies {
implementation 'org.apache.commons:commons-lang3:3.12.0'

implementation 'com.google.guava:guava:19.0'
implementation 'com.google.code.gson:gson:2.8.6'
// https://mvnrepository.com/artifact/com.google.guava/guava
implementation 'com.google.guava:guava:31.1-jre'

//implementation 'com.google.guava:guava:19.0'

// https://mvnrepository.com/artifact/com.google.code.gson/gson
implementation 'com.google.code.gson:gson:2.10.1'
//include(dependency('com.google.code.gson:gson:2.8.6'))

testImplementation 'junit:junit:4.12'
}

Expand Down
258 changes: 255 additions & 3 deletions docs/changelog_v3.3.x.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,264 @@

## Prison Build Logs for v3.3.x

## Build logs
## Change logs
- **[v3.3.0-alpha - Current](changelog_v3.3.x.md)**
- [v3.2.0 through v3.3.0-alpha.14](prison_changelogs.md)

* [Known Issues - Open](knownissues_v3.2.x.md)
* [Known Issues - Resolved](knownissues_v3.2.x_resolved.md)

These build logs represent the work that has been going on within prison.


# 3.3.0-alpha.14 2023-01-23
These change logs represent the work that has been going on within prison.


# 3.3.0-alpha.15 2023-07-07



* **2023-07-07 v3.3.0-alpha.15 Released**


* **This doc was failing to generate github docs due to issues with non utf-8 characters.**
Changed them to dashes. Not sure what caused these characters to become non-compliant.


* **Update the known issues doc...**


* **Doc updates for the latest alpha.15 release.**


* **Added comments to the prison-spigot/build.gradle configs to add more descriptive comments.**
Checked the libraries and all are up to date.


* **Setup the topN stats to be included in the /prison version information.**


* **Added the language files for the three new topN messages.**


* **Update the topN command to eliminate the use of the save file.**
All players are dynamically loaded by the refresh task. Stats have been added and are not a new option for the command.
To act as a form of debugging feature, the save of the topN data has been disconnected from the current process.


* **Updated ItemsAdder from v3.2.5 to v3.5.0b**
because github's build was failing to find v3.2.5 online and was killing the prison build.


* **Update topN Stats.** This is not the same as topNPlayers and this is not yet being used.
This tracks topN on blocks mined, tokens, and the player's ranks and balances.
The comparator was not correct and was fixed.


* **MC 1.18 new world height support.**
Prison now supports the newer world heights as found in mc 1.18.x and newer.
The new range for Y is from -64 to 320.


* **Bug fix: found that under a rare situation that it was trying to use an empty String with decimal formatting.**
This was found while testing some placeholders while players were offline.


* **I made a mistake when adding the new feature to skip player scans on startup.**
I added a new root perm in config.yml that started with `prison-ranks` when `ranks` already existed. Therefore, I changed the defaults in config.sys to fix this and changed the code to allow the old version of the config (the bad version) and the newer version.


* **Changes to the help for `/rankup` and `/prestige` commands to make it a little more clearer** as to what is expected with perms and to provide more details.
Added a new config setting to disable the need to use the prestige perm `ranks.rankup.presetiges` which may make it easier to get presetiges working on most servers.
Prestiges still requires the use of the `ranks.user` perm which is the same perm used for `/rankup`.


* **Updated the PrisonJarReporter tool to include java versions 19, 20, and 21.**
Also fixed a bug in which if the version signature is not known, then it was returning a null. Now it returns an enum of type "JavaSE_UnknownVersion" which will prevent future errors.



* **2023-06-20: Version 3.3.0-alpha.14c released**


* **Totally stupid change: github's compiler forgot how to use overloaded functions so it was trying to use the wrong one.**
Renaming the function should help it's anti-AI skill sets.


* **Fixed the way prison was using the nbt-api.**
Now using the correct repo and the newer API functions.


* **Trying to get nbt-api setup properly with shadowing.** It looks like it's correctly shadowed, but it's being improperly reported as not being shadowed. I have a conversation with the developer open to figure out what's going on with this issue.


* **Update the item-nbt-api library to v2.11.3 from v2.11.2.**
Turned out the maven repo they actually use was not mavencentral.com, of which, has not yet pulled in the updated version. Using the correct repo now.


* **Update libraries:**
Update bstats from v3.0.0 to v3.0.2.
Update XSeries from v9.2.0 to v9.4.0.
Update vaultAPI from v1.7.0 to v1.7.1.


* **Changed config.yml to be able to bypass the add new player at prison startup.** This would be more related to servers that already have a large player base when they switch to this plugin.
NOTE: It's not possible to fully test all conditions where a player object may be null. Use at your own risk if you do not allow prison to scan for new players at startup. If an error is found, please contact support ASAP in our discord server so we can get it fixed for you.


2023-06-13 :
* **Update how the player objects are written when dirty.** There were some situations where the RankPlayer object would be written to the file system 2 or 3 times for one change.
The logic of how things are nested remains the same (to minimize breakage of the code), but the RankPlayer is not utilizing a dirty flag internally so if it's saved once, it skip the other attempts to save without changes.


* **Simple example illustrating the weakness of doubles with large values.**


* **Update nbt api to v2.11.2 from v2.11.1**


* **Added ExaltedEconomy to the soft depends so prison will wait until it is loaded before trying to startup.** 2023-05-24


* **Fixed an issue that if the prison config files are manually modified and as a result, the block events cannot be parsed, this fix prevents a null value being inserted in to the loaded block events.**
For example, a trailing comma would produce a null block event because the parser that prison uses will read the comma, then with nothing else following it, it injects a null in to the collection of raw data for the block events. Then when that raw data is parsed, it passed along that null as a valid block event. The fix, prevents any of the nulls from being added to the active block events.


* **A sellall gui message that was supposed to say that the gui was not enabled only said sellall was not enabled. Added a new message to clearly state it's the gui that is not enabled.**


* **Get part of sellall to work if ranks are disabled. The command /sellall sell works, but the other sellall commands need to be tested and fixed.**


* **Bug fix: bstats and topn was using the wrong function to check to see if ranks were enabled.**


* **Fixed an issue when cannot get a player from bukkit**


* **AutoFeatures bug fix: If normal drops is enabled (no auto pickup), and sellall was disabled, then normal drops were being disabled.**
The location of checking for if sellall was active was in the wrong location, which was preventing prison from actually dropping the blocks for the player.


* **Fixed an issue with prison utils potions where if the player was null, then it was throwing an NPE. **


* **AutoFeatures: Rev Enchants JackHammerEvent: Bug fix: The jackhammer event was not returning a list of all of the blocks involved in the event, which could be excluding hundreds if not more than 1000 blocks.**
The fix, uses the two points to calculate which blocks to include, and then include them through that cuboid instead of getting a list of blocks from the event.


* **BugFix: Fixes an issue with sellall where it is trying to sell an invalid ItemStack.**
As a result, the sellall pays the player for the itemstack but the itemstack is not removed. This fixes it by not trying to sell the questionable itemstacks.


* **AutoFeatures: Add a bukkit drops multiplier which is applied to the bukkit drops before the fortune calculations are performed.**
This can be used to reduce the total number of drops if a value less than 1.0 is used. A value of 1.0 does nothing. A value greater than one will increase the bukkit drops. All values are floored and are integers.


**Update to v3.3.0-alpha.14b** 2023-02-26


* **AutoFeatures bug fix: If global fortune multiplier is set to a value lower than 1, then there is a risk of zero drops; this prevents zero drops and returns a drop of one.**


* **Fixed an issue with the initial event check for events that will break multiple blocks.**
The issue is that the initial check will ignore the event if the primary block is air. The issue is that since the events are fired based upon the BlockBreakEvent then the odds of the primary block is AIR is very high. So for those events, the primary block should not be checked for AIR to be bypassed. This fix allows things like explosions to work.


**Update to v3.3.0-alpha.14a** 2023-02-25


* **Enhanced the debug reporting for fortune calculations and fixed a few uses of the newer fortune settings, some of which were used in the wrong locations.**


* **Updated the formatting on the prison's mine wand for debug reporting of which blocks are clicked on.**
The information has been cleaned up to be easier to read and follow. It's now being logged in the console too so the details can more easily be reported back for troubleshooting.


* **Updated the auto features config file to include the ACCESS priorities in the list of priorities so its better understood what the real options are.**


* **Enhanced some of the auto features logging related to fortune, silk touch, and event and drop canceling to eliminate ambiguity and provide more specific details.**


* **Fixed an issue with player counts being doubled. Counts should no longer be done within the auto pickup or the normal drops... it's being handled at a higher level for consistency with other priorities.**


* **Added a fortune multiplier that is applied to all fortune calculations, which allows for increasing or decreasing the results of the fortune.**


* **French support added by Maxcension. Thanks Maxcension!**


* **Move the check for access to the OnBlockBreakMines.ignoreMinesBlockBreakEvent so it is logged with the other conditions.**


* **Setup minecraft statistics so prison can report block mining through a new setting within the auto features.**


* **Enable silk touch enchantment by dropping the actual blocks that are being broke.**
If alt fortune is being used, then fortune will apply to these silked drops.
If players place silked blocks back in the mines (fi that feature is enabled), prison will ignore those blocks and won't break them... it will let bukkit or another plugin deal with them, but it will not apply any fortune to them.


* **Bug Fix autosell: was trying to access autosell when it was disabled.**


* **Update google gson (json IO tool) from v2.8.6 to v2.10.1**


* **Update google guava from v19.0 to v31.1-jre. Guava is used for internal event listeners.**


* **Prison Debug Block Inspector: Expand and enhanced the prison tool to provide an inspection of the block break events.**
Added event block details and drops being canceled for each listener. Reformatted to make it easier to read.


* **Remove the optional from getModule functions since java 17.0.6 was failing.**
Not sure if it's an actual java issue, or a problem caused by another plugin, or etc... this works well with java 17.0.2.


* **Minor improvements to the EventResultsReasons to show a success and more detailed debug logging.**


* **Relocate the ACCESS failure which will trigger a TP to an accessible mine...**
this is relocated because it's not an event, but a behavior triggered by an event condition.


* **Setup a temp test to test ItemsAdder.**


* **AutoFeatures: new feature to process MONITOR and BLOCKEVENTS only if the block is AIR.**
The reason for this is that if we are monitoring a blockbreak event, then we can assume that the block should be AIR. This setting is important for enchantment plugins handling the block break events, since a non-AIR value would indicate that the player was not successful in breaking the block.
Added more detailed debugging logging if the event is fast-failed or under normal conditions.


* **Change the block break priority BLOCKEVENTS to MONITOR. Updated the docs too.**


* **Add new autoFeature setting to allow non-prison placed blocks to be handled by bukkit: ifBlockIsAlreadyCountedThenCancelEvent: true. (default setting).**
Prison was canceling the event if it found a block placed in the mine that it did not place during a mine reset. This would allow players to place blocks and then remove them if they have the worldguard perms to do block breaks.
These blocks are not tracked in prison and are not handled. Prison just ignores them.


* **Fixed the gui config which it needed to load after loading ranks and mines. So it's initialized a second time in the startup process.**


* **Gui Player Mine config settings: Added `Options.Mines.MaterialType.NoMineAccess` which defaults to REDSTONE_BLOCK.**
If it does not exist in a player's GuiConfig.yml file, it will now be auto added.
Also if the `Options.Mines.MaterialType` block list of material types to use for each mine does not exist, it will auto add them, using the first block in the mine's block list.


* **Some adjustments to AutoFeatures and monitor priority... it was processing block events under some conditions.**


* **Mine BlockEvents: Enables the use of pipes in commands and messages now.**


* **MineBombs: Added a new field specifically for the item name for the bomb.**
The mine bombs now auto load upon startup and will auto update now if there is a change in mine data versions.


* Changed the example world names in the config.yml file where Prison is disabled. Too many people were running in to the problem where they just happened to have those worlds, and that's where they were trying to use prison. So they were thinking Prison was not working instead of Prison being disable in those worlds because that's what was in the configs.


**Prison v3.3.0-alpha.14 2023-01-23**
Expand Down Expand Up @@ -57,6 +306,9 @@ The following are significant changes that are included in the alpha.14 release
* Prison support new feature: tracking command usage along with average run times: `/prison support cmdStats`.


* Improved some of the `/prison support submit` features to include more of the newer data that prison is using.


* Updates to a number of libraries that prison uses:
placeholderApi: v2.10.9 to v2.11.2
XSeries: v9.0.0 to v9.2.0
Expand Down
19 changes: 15 additions & 4 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,29 @@
Prison's table of contents of all documents.


<hr style="height:1px; border:none; color:#aaf; background-color:#aaf;">
# Prison Now Fully Supports Spigot 1.20.x and Java 20 !!


<hr style="height:3px; border:none; color:#aaf; background-color:#aaf;">

# Prison Now Fully Supports Spigot 1.17 and Java 16 !!

### Prison Build Logs for v3.2.0 (2019-12-03) through v3.2.6-alpha (current)


### Prison Build Logs for v3.2.0 (2019-12-03) through v3.3.0-alpha-15 (2023-07-07-)


- **[v3.3.0-alpha - Current](changelog_v3.3.x.md)**
- [v3.2.0 through v3.2.10](prison_changelogs.md)
- [v3.2.0 through v3.3.0-alpha.15](prison_changelogs.md)


### Prison Known Issues

These are internal notes that may initially record ideas and issues. They may not
reflect the final actions taken as expressed in the change logs below, so these
may be insightful in to some of the evolutionary processes.

* [Known Issues - Open](knownissues_v3.2.x.md)
* [Known Issues - Resolved](knownissues_v3.2.x_resolved.md)

<hr style="height:1px; border:none; color:#aaf; background-color:#aaf;">

6 changes: 4 additions & 2 deletions docs/knownissues_v3.2.x.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
[Prison Documents - Table of Contents](prison_docs_000_toc.md)

# Prison Known Issues and To Do's for v3.2.x
# Prison Known Issues and To Do's

This document is intended to keep track of known issues and also provide for
a short list of To Do's. This list is intended to help work through known
issues, and/or to serve as items that should be added, or fixed.


* [Known Issues - Resolved](knownissues_v3.2.x_resolved.md)


# To Do Items - During Alpha v3.2.5

# To Do Items



Expand Down
Loading

0 comments on commit 3d647e8

Please sign in to comment.