Compare commits

...
113 Commits
Author SHA1 Message Date
Ben12345rocks 132d871039 Update version number 2019-02-16 18:51:38 -05:00
Ben12345rocks aea6954dbb Bug fix 2019-02-16 18:47:40 -05:00
Ben12345rocks 1ee8819e4c Add ability to transfer vote points 2019-02-16 08:12:45 -05:00
Ben12345rocks 41e3b7fbf6 Bug fix 2019-02-12 16:39:46 -05:00
Ben12345rocks 4218d240bc Bug fix 2019-02-11 17:09:17 -05:00
Ben12345rocks 683d6fcc42 Test commit 2019-02-11 17:07:12 -05:00
Ben12345rocks c9f6ab2fa6 Add event for when points received 2019-02-09 20:33:42 -05:00
Ben12345rocks c99d3baa3c Bug fix 2019-02-09 10:31:59 -05:00
Ben12345rocks d0ade2feff Add MVdW placeholders 2019-02-08 20:32:51 -05:00
Ben12345rocks dcebe5a701 Add authme support 2019-02-08 20:16:21 -05:00
Ben12345rocks d33791fb28 Update version number 2019-02-03 12:13:26 -05:00
Ben12345rocks 8512b3ab4f Bug fix 2019-02-01 20:12:06 -05:00
Ben12345rocks 4395d8cc89 Update version number 2019-01-19 19:30:37 -05:00
Ben12345rocks 55f4e6872c Add option to disable skulls for vote top 2019-01-13 12:19:09 -05:00
Ben12345rocks 6699a9204c Bug fix 2019-01-12 17:40:49 -05:00
Ben12345rocks 14e1a975c9 Improvements 2019-01-09 17:26:27 -05:00
Ben12345rocks 7ab3c4bcf9 Possible bug fix 2019-01-08 18:25:52 -05:00
Ben12345rocks 1866196571 Improvements 2019-01-07 16:47:25 -05:00
Ben12345rocks 301c21ed20 Preload skull for top voter 2019-01-06 14:01:55 -05:00
Ben12345rocks 2d5208a568 Update version number 2018-12-30 18:34:37 -05:00
Ben12345rocks 44a543e64c Bug fix 2018-12-30 18:34:09 -05:00
Ben12345rocks 458c66819a Bug fix 2018-12-30 17:35:27 -05:00
Ben12345rocks dcf4f3f15d Update version number 2018-12-30 15:20:25 -05:00
Ben12345rocks e33ef5420a Added another command 2018-12-30 13:05:55 -05:00
Ben12345rocks 8d1c3a05ce Add new command 2018-12-30 12:27:40 -05:00
Ben12345rocks 9a167a46d8 More command work 2018-12-29 20:54:45 -05:00
Ben12345rocks ffe60808b6 Added sound for inv clicks, command improvements 2018-12-29 20:45:54 -05:00
Ben12345rocks 1affd6c2fa Increase player name length 2018-12-29 19:27:02 -05:00
Ben12345rocks 17225dca5b Bug fixes 2018-12-22 19:54:20 -05:00
Ben12345rocks fc9f55ead8 Bug fix 2018-12-17 16:47:19 -05:00
Ben12345rocks eec877623e Add a class to make voting plugin hooks a lot easier 2018-12-16 19:15:48 -05:00
Ben12345rocks a06b0573c5 Made day vote streak update faster 2018-12-16 19:09:03 -05:00
Ben12345rocks dfcfee302f Bug fix 2018-12-16 12:39:21 -05:00
Ben12345rocks cb1cc27c60 Update version number 2018-12-15 09:18:56 -05:00
Ben12345rocks aed30a94c0 Bug fixes 2018-12-15 09:17:41 -05:00
Ben12345rocks 8e172e2647 Change default value 2018-12-15 09:01:10 -05:00
Ben12345rocks ca355e1a01 Add new commands 2018-12-14 20:26:46 -05:00
Ben12345rocks b0e18d5224 Added ability to disable aliases 2018-12-13 20:34:17 -05:00
Ben12345rocks f5fc80ef14 Performance improvement 2018-12-13 19:50:10 -05:00
Ben12345rocks 21f846f0bc Added ability to set percentage for vote streak 2018-12-13 19:43:18 -05:00
Ben12345rocks a6a742b91e Performance improvement 2018-12-13 19:23:32 -05:00
Ben12345rocks 4ca6510910 Test commit 2018-12-12 17:02:50 -05:00
Ben12345rocks e06ea06884 Code cleanup 2018-12-12 16:57:00 -05:00
Ben12345rocks 2c79dff678 Added new option 2018-12-12 16:43:37 -05:00
Ben12345rocks 56c4a094cf Little fix 2018-12-09 17:01:45 -05:00
Ben12345rocks 1898af9fea Little fix 2018-12-09 16:39:46 -05:00
Ben12345rocks 885d2bc019 Improvements 2018-12-09 15:39:54 -05:00
Ben12345rocks 12c604d09c Bug fix 2018-12-08 21:55:49 -05:00
Ben12345rocks 7b48699b39 Another spelling mistake 2018-12-08 19:49:24 -05:00
Ben12345rocks 3b5593882f Fix spelling mistake 2018-12-08 19:46:28 -05:00
Ben12345rocks 8c72154eed Update version number 2018-12-08 19:29:48 -05:00
Ben12345rocks 0dc942ecfd Add option to disable update checks 2018-12-07 17:24:36 -05:00
Ben12345rocks bc4d051590 Fix description 2018-12-06 18:57:10 -05:00
Ben12345rocks 011a0322ea Added new canvote placeholder for votesites 2018-12-06 18:56:30 -05:00
Ben12345rocks ed90db12a4 Add more placeholders 2018-12-05 19:51:29 -05:00
Ben12345rocks 3afea03485 Added ability to convert from superbvote 2018-12-05 19:26:58 -05:00
Ben12345rocks 6da17ee181 Minor fixes 2018-12-05 19:10:49 -05:00
Ben12345rocks e5d1c255c0 Add debug to vote party 2018-12-05 17:42:15 -05:00
Ben12345rocks b43754661c Added vote reward back button 2018-12-04 16:51:55 -05:00
Ben12345rocks 89c419c8df Bug fix 2018-12-03 21:23:47 -05:00
Ben12345rocks bd6b2b1edb Add permission for base /vote 2018-12-03 21:21:08 -05:00
Ben12345rocks b7c73902f2 Bug fix for vote party 2018-12-02 12:57:28 -05:00
Ben12345rocks c0995447de Broadcast before vote party rewards 2018-12-02 12:11:15 -05:00
Ben12345rocks d970506c76 Little improvements 2018-11-23 20:37:27 -05:00
Ben12345rocks 74fb06302a Little bits of cleanup 2018-11-23 20:28:03 -05:00
Ben12345rocks 1cfed8aa98 Bug fix 2018-11-22 18:31:59 -05:00
Ben12345rocks 9f563c37e5 Bug fix 2018-11-22 18:23:15 -05:00
Ben12345rocks d311588984 Update version number 2018-11-22 18:18:27 -05:00
Ben12345rocks 8c5324f602 Fully fix tab complete 2018-11-22 17:40:14 -05:00
Ben12345rocks 17832a0bf7 Bug fix for now 2018-11-21 16:55:04 -05:00
Ben12345rocks 3c415c63c9 Bug fix 2018-11-19 16:55:59 -05:00
Ben12345rocks 6ab27775d2 Bug fix 2018-11-19 16:39:56 -05:00
Ben12345rocks e04bf8210f Minor change 2018-11-18 14:06:19 -05:00
Ben12345rocks 7b4879ddf1 Bug fix 2018-11-18 13:57:22 -05:00
Ben12345rocks 081ac7bb3c Fix misspelling in config 2018-11-18 13:38:48 -05:00
Ben12345rocks d9894c6b74 Add description for placeholders 2018-11-18 13:35:30 -05:00
Ben12345rocks f13f56c830 Add ability to set description for placeholders 2018-11-18 13:26:21 -05:00
Ben12345rocks b6a67f2aeb Update version number 2018-11-18 12:56:04 -05:00
Ben12345rocks a5b416b210 Bug fix 2018-11-14 16:50:37 -05:00
Ben12345rocks caa4a7a714 Change help message 2018-11-13 20:17:27 -05:00
Ben12345rocks 72aa819361 Add command to force vote party 2018-11-13 20:16:26 -05:00
Ben12345rocks cf52db0c7d Bug fix 2018-11-13 20:13:43 -05:00
Ben12345rocks 5021c4bf67 Remove option 2018-11-13 19:45:16 -05:00
Ben12345rocks 9dd8e757d4 Fix typo 2018-11-13 19:26:00 -05:00
Ben12345rocks da7cdb74d4 Bug fix 2018-11-13 16:55:05 -05:00
Ben12345rocks 18c6ee6614 Bug fixes 2018-11-13 16:53:08 -05:00
Ben12345rocks cafe2b1de7 Slight case change on command 2018-11-05 19:29:56 -05:00
Ben12345rocks 74c94746c1 Check milestones on amount edit 2018-11-04 12:27:31 -05:00
Ben12345rocks 61130a1b2b Slight changes 2018-11-03 20:48:39 -04:00
Ben12345rocks 7dafa5c8eb Bug fix 2018-11-03 20:45:13 -04:00
Ben12345rocks c89edc47c3 Add more placeholders 2018-11-03 20:30:05 -04:00
Ben12345rocks 0b89df6262 Improve /av servicesites 2018-11-03 20:20:36 -04:00
Ben12345rocks c2218b2c67 Added command to set milestone count 2018-11-02 16:50:06 -04:00
Ben12345rocks 1950cfdd2d Little bug fixes 2018-11-01 19:23:08 -04:00
Ben12345rocks 71af70a026 Add new commands 2018-10-30 20:40:03 -04:00
Ben12345rocks b269c29f7c Add option to wait until votedelay is over to accept vote, closes #437 2018-10-29 19:28:31 -04:00
Ben12345rocks c9e8ade60f Update version number 2018-10-28 13:12:44 -04:00
Ben12345rocks 2364fd7ac6 Simple cleanup 2018-10-27 21:59:57 -04:00
Ben12345rocks 7135ed0f95 Code cleanup 2018-10-27 21:33:25 -04:00
Ben12345rocks b5fbaaaf92 More config api changes 2018-10-27 21:30:25 -04:00
Ben12345rocks 94c025886a Move more config options to newer api 2018-10-27 20:15:58 -04:00
Ben12345rocks 0956466edb Little bit of cleanup 2018-10-26 21:03:20 -04:00
Ben12345rocks b2b23ab622 Add option to only update with players online 2018-10-26 17:09:35 -04:00
Ben12345rocks 0e6529efbe Bug fix 2018-10-25 17:24:39 -04:00
Ben12345rocks f7ce51f63a Clear cache for voteshop 2018-10-25 17:19:48 -04:00
Ben12345rocks 68334ef1a2 Config improvements 2018-10-24 20:03:19 -04:00
Ben12345rocks 404c1eeb4d Added clearcacheonjoin option 2018-10-23 21:00:16 -04:00
Ben12345rocks 347c1d975d Update to 1.13.2 2018-10-23 20:55:17 -04:00
Ben12345rocks 3b022fc841 Bug fixes 2018-10-23 20:48:47 -04:00
Ben12345rocks 88afb70fad Add new option to always update 2018-10-23 16:54:01 -04:00
Ben12345rocks 62e21d9f93 Use lombok 2018-10-21 15:18:36 -04:00
Ben12345rocks 20289a5d7b Slight change 2018-10-21 13:52:24 -04:00
Ben12345rocks 02b0103fbd Add option to process rewards 2018-10-21 13:25:36 -04:00
47 changed files with 2412 additions and 2247 deletions

No files matched your search

@@ -0,0 +1,4 @@
eclipse.preferences.version=1
encoding/<project>=Cp1252
encoding/Resources=Cp1252
encoding/src=Cp1252
@@ -1,13 +1,4 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
@@ -17,40 +8,14 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.doc.comment.support=disabled
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
org.eclipse.jdt.core.compiler.problem.deadCode=warning
org.eclipse.jdt.core.compiler.problem.deprecation=warning
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
@@ -59,65 +24,4 @@ org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
org.eclipse.jdt.core.compiler.problem.nullReference=warning
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=info
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.source=1.8
Binary file not shown.
Binary file not shown.
+88 -28
View File
@@ -10,6 +10,7 @@
DataStorage: SQLITE
# Information for mysql
# See the end of the config for cache options
MySQL:
Host: ''
# Default port is 3306
@@ -31,20 +32,6 @@ MySQL:
# Recommend: False (Will prevent creating random user data)
AllowUnjoined: false
# If true, plugin will send scoreboards on some commands
SendScoreboards: true
# If true, plugin will automaticly generate votesites
# Disable this if you experience issues with sites being created randomly
# Most cases this will work all the time
AutoCreateVoteSites: true
# Automaticly download the latest version
# Will require a restart to actually update
# Note: It takes 30-40 minutes before being able to download the latest build
# You can also use /av download
AutoDownload: false
# ------------------------------------------------
# VoteReminding
# ------------------------------------------------
@@ -178,9 +165,10 @@ Format:
# Lines for each vote site
# %time% = time, using timeformat below
# %timesince% = time since vote
Line: '&3%SiteName%: &6%timeSince% ago'
Line: '&3%SiteName%: &6%timeSince%'
# Spelling of TimeType can be changed under Format.Commands.TimeFormats
TimeFormat: '%amount% %TimeType%'
LastVoted: '%times% ago'
NeverVoted: 'Never voted'
# Format for /vote total
@@ -258,7 +246,7 @@ Format:
# See https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
TimeFormat: 'EEE, d MMM yyyy HH:mm'
TimeFomrats:
TimeFormats:
Day: 'Day'
Days: 'Days'
Hour: 'Hour'
@@ -402,6 +390,8 @@ GUI:
Data: 0
Amount: 1
URLText: '%VoteUrl%'
VoteRewardBackButton: false
# Customize /vote reward
# Show players what you get when you vote on each site
VoteReward:
@@ -452,6 +442,11 @@ GUI:
# Number of topvoters to display on page +9
# 9 Slots on the botton are used for page buttons
Size: 27
# If true, /vote top will show player heads
UseSkull: true
# Item for player in GUI if use skull is false
PlayerItem:
Material: 'PAPER'
VoteTotal:
Name: 'VoteTotal: %player%'
BackButton: true
@@ -572,7 +567,7 @@ Shop:
Permission: ''
# Limit how many times you can buy this
#Limit: 3
# Rewards to run if player buys succesfully
# Rewards to run if player buys successfully
Rewards:
Items:
Diamond:
@@ -648,7 +643,7 @@ VoteParty:
Material: 'DIAMOND'
Amount: 1
# Reset milestons at end of the month
# Reset milestones at end of the month
ResetMilestonesMonthly: false
MileStones:
@@ -661,7 +656,7 @@ MileStones:
Rewards:
Messages:
Player: '&aYou got %milestone% milestone votes!'
VoteStreak:
# Valid options: Day, Week, Month
Day:
@@ -695,6 +690,14 @@ VoteStreak:
Rewards:
Messages:
Player: "&aYou voted for %Streak% %Type%'s in a row!"
Requirement:
# Require certain percentage of votes
UsePercentage: false
# Percentage requirements of votes
# 50 = %50
Day: 50
Week: 50
Month: 50
# ONLY USE THIS FOR TITLES/SOUNDS AND OTHER EFFECTS
@@ -711,6 +714,7 @@ AnySiteRewards: []
# ------------------------------------------------
# Top voter blacklist
# Hide these names from top voter lists
BlackList:
- 'Notch'
@@ -783,7 +787,7 @@ DailyAwards:
# ------------------------------------------------
# Advanced
# Most of these values can be left untouched
# Most of these values can be left untouched for most setups
# ------------------------------------------------
# Number of points to give on vote
@@ -794,6 +798,13 @@ PointsOnVote: 1
# Not really recommended
AddTotals: true
# Click sound when using gui
# Set to none for no sound
ClickSound:
Sound: 'UI_BUTTON_CLICK'
Volume: 1.0
Pitch: 1.0
# Debug
Debug: false
@@ -825,19 +836,17 @@ RequestAPI:
# Not recommended though
LogVotesToFile: false
# Only update in the background when needed when set to false
AlwaysUpdate: false
# Update in the background only if players are online
UpdateWithPlayersOnlineOnly: false
# Delay between background updates like signs and more
# Default: 3 Minutes
# Longer times result in longer wait in stuff updating after a vote, like topvoter
DelayBetweenUpdates: 3
# Clear cache on update, setting to true reduces performance
ClearCacheOnUpdate: false
# Clears cache for the player who voted only
# Only effects if using mysql
# Would recommend for some bungee setups
ClearCacheOnVote: false
# Set to true to disable no service site message on voting
# You should never have to touch this if everything is setup properly
# Will also disable a few other warnings about vote sites
@@ -861,6 +870,57 @@ PurgeMin: 90
# Whether or not to create daily backups. (Only the most recent ones get kept)
CreateBackups: true
# If true, plugin will send scoreboards on some commands
SendScoreboards: true
# If true, plugin will automaticly generate votesites
# Disable this if you experience issues with sites being created randomly
# Most cases this will work all the time
AutoCreateVoteSites: true
# Automaticly download the latest version
# Will require a restart to actually update
# Note: It takes 30-40 minutes before being able to download the latest build
# You can also use /av download
AutoDownload: false
# Whether or not to disable update checks
DisableUpdateChecking: false
# Allow transfer of vote points
AllowVotePointTransfers: false
# Disable this on a hub server for example
# Still processes rewards for offline rewards (just won't give any)
ProcessRewards: true
# Disable checking permissions on tab complete
DisableAdvancedTab: false
# Load command aliases, such as /avgui
# Requires restart to take effect
LoadCommandAliases: true
# Wait until user is logged in with AuthMe
# Requires AuthMe
WaitUntilLoggedIn: true
# ---------------------------------------------------------
# Mysql cache options
# Clearing cache forces the plugin to pull from database
# ---------------------------------------------------------
# Clear cache on update, setting to true reduces update speed
ClearCacheOnUpdate: false
# Clear mysql on player join always
ClearCacheOnJoin: false
# Clears cache for the player who voted only
# Only effects if using mysql
# Would recommend for some bungee setups
ClearCacheOnVote: false
# ###############################################################
# Deprecated options, don't recommend using any of these
+3
View File
@@ -28,6 +28,9 @@ VoteSites:
# Most sites are 24 hours
VoteDelay: 24
# Require waiting until votedelay time has pasted in order to accept vote
WaitUntilVoteDelay: false
# Reset vote delay each day (for certain sites that do this)
VoteDelayDaily: false
+14 -35
View File
@@ -27,9 +27,6 @@ commands:
votetop:
description: See top voters
aliases: vtop
voteinfo:
description: See player info
aliases: vinfo
votetoday:
description: See who voted today
aliases: vtoday
@@ -63,8 +60,6 @@ commands:
votepoints:
description: A command
aliases: vpoints
votegivereward:
description: A command
votechoices:
description: A command
alaises: vchoices
@@ -74,8 +69,6 @@ commands:
adminvote?:
description: Open adminvote help
aliases: av?
adminvoteconvert:
description: A command
adminvotereport:
description: Command Alias
aliases: avreport
@@ -97,24 +90,15 @@ commands:
adminvoterewards:
description: Command Alias
aliases: avrewards
adminvotereward:
description: Command Alias
aliases: avreward
adminvoteuuid:
description: Command Alias
aliases: avuuid
adminvotereset:
description: Command Alias
aliases: avreset
adminvotevotesite:
description: Command Alias
aliases: avvotesite
adminvoteconfig:
description: Command Alias
aliases: avconfig
adminvoteserverdata:
description: Command Alias
aliases: avserverdata
adminvotesettotal:
description: Command Alias
aliases: avsettotal
@@ -124,36 +108,20 @@ commands:
adminvotevote:
description: Command Alias
aliases: [avvote, fakevote]
adminvoteTriggerPlayerVoteEvent:
description: Command Alias
aliases: avTriggerPlayerVoteEvent
adminvotesetpoints:
description: Command Alias
aliases: avsetpoints
adminvoteaddpoints:
description: Command Alias
aliases: avaddpoints
adminvotegui:
description: Command Alias
aliases: avgui
votesetrequestmethod:
description: Command Alias
aliases: [vsetrequestmethod, setrequesetmethod]
adminvotegivereward:
description: Command Alias
aliases: avgivereward
adminvoteusers:
description: Command Alias
aliases: avusers
adminvoteClearTotal:
description: Command Alias
aliases: avClearTotal
adminvoteConvertFromData:
description: Command Alias
aliases: avConvertFromData
adminvoteClearTotal:
description: Command Alias
aliases: avClearTotal
adminvoteBackgroundUpdate:
description: Command Alias
aliases: avBackgroundUpdate
@@ -163,9 +131,6 @@ commands:
adminvoteConvertFrom:
description: Command Alias
aliases: avConvertFrom
adminvoteRemovePoints:
description: Command Alias
aliases: avRemovePoints
adminvoteServiceSites:
description: Command Alias
aliases: avServiceSites
@@ -214,6 +179,18 @@ commands:
adminvoteDownloadJenkins:
description: Command Alias
aliases: avDownloadJenkins
adminvoteForceVoteParty:
description: Command Alias
aliases: avForceVoteParty
adminvoteUserEditValue:
description: Command Alias
aliases: avUserEditValue
adminvoteSetRequestMethod:
description: Command Alias
aliases: avSetRequestMethod
adminvoteUser:
description: Command Alias
aliases: avUser
permissions:
VotingPlugin.Player:
description: Allows basic access player commands
@@ -233,4 +210,6 @@ permissions:
VotingPlugin.NoRemind:
description: Ignore vote reminding
default: false
VotingPlugin.Sign.Create:
description: Permission to create sign
+73 -3
View File
@@ -4,13 +4,14 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.Ben12345rocks</groupId>
<artifactId>VotingPlugin</artifactId>
<version>5.16</version>
<version>5.18</version>
<packaging>jar</packaging>
<name>VotingPlugin</name>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<github.global.server>github</github.global.server>
<project.build.sourceEncoding>Cp1252</project.build.sourceEncoding>
</properties>
<distributionManagement>
<repository>
@@ -34,6 +35,34 @@
</resource>
</resources>
<sourceDirectory>src</sourceDirectory>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<versionRange>[1,)</versionRange>
<goals>
<goal>delombok</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -45,6 +74,25 @@
<finalName>${project.name}</finalName>
</configuration>
</plugin>
<plugin>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<version>1.18.2.0</version>
<executions>
<execution>
<id>delombok</id>
<phase>deploy</phase>
<goals>
<goal>delombok</goal>
</goals>
<configuration>
<addOutputDirectory>false</addOutputDirectory>
<outputDirectory>${project.basedir}/target/delombok</outputDirectory>
<sourceDirectory>${project.basedir}/src</sourceDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
@@ -93,7 +141,6 @@
</excludes>
</artifactSet>
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
</execution>
</executions>
@@ -109,6 +156,9 @@
<goal>jar</goal>
</goals>
<phase>deploy</phase>
<configuration>
<sourcepath>${project.basedir}/target/delombok</sourcepath>
</configuration>
</execution>
</executions>
</plugin>
@@ -191,7 +241,7 @@
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.13.1-R0.1-SNAPSHOT</version>
<version>1.13.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -215,5 +265,25 @@
<scope>system</scope>
<systemPath>${project.basedir}/Jars/VoteRoulette.jar</systemPath>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.mimimum.minecraft</groupId>
<artifactId>SuperbVote</artifactId>
<version>0.5.3</version>
<scope>system</scope>
<systemPath>${project.basedir}/Jars/SuperbVote-0.5.3.jar</systemPath>
</dependency>
<dependency>
<groupId>be.maximvdw</groupId>
<artifactId>MVdWPlaceholderAPI</artifactId>
<version>LATEST</version>
<scope>system</scope>
<systemPath>${project.basedir}/Jars/MVdWPlaceholderAPI.jar</systemPath>
</dependency>
</dependencies>
</project>
File diff suppressed because it is too large. Load diff
@@ -120,7 +120,7 @@ public class Commands {
boolean requirePerms = Config.getInstance().getFormatCommandsVoteHelpRequirePermission();
for (CommandHandler cmdHandle : plugin.adminVoteCommand) {
for (CommandHandler cmdHandle : plugin.getAdminVoteCommand()) {
if (sender.hasPermission(cmdHandle.getPerm()) && requirePerms) {
unsorted.put(cmdHandle.getHelpLineCommand("/adminvote"), cmdHandle.getHelpLine("/adminvote"));
} else {
@@ -192,7 +192,7 @@ public class Commands {
ArrayList<String> msg = new ArrayList<String>();
msg.add("&c&lCommand : Permissions (seperated by |)");
for (CommandHandler handle : plugin.voteCommand) {
for (CommandHandler handle : plugin.getVoteCommand()) {
if (sender instanceof Player) {
if (handle.hasPerm(sender)) {
msg.add("&a" + handle.getHelpLineCommand("/vote") + " : " + handle.getPerm() + " : true");
@@ -205,7 +205,7 @@ public class Commands {
}
for (CommandHandler handle : plugin.adminVoteCommand) {
for (CommandHandler handle : plugin.getAdminVoteCommand()) {
if (sender instanceof Player) {
if (handle.hasPerm(sender)) {
msg.add("&a" + handle.getHelpLineCommand("/av") + " : " + handle.getPerm() + " : true");
@@ -241,7 +241,7 @@ public class Commands {
ArrayList<String> msg = new ArrayList<String>();
ArrayList<String> text = new ArrayList<String>();
for (CommandHandler handle : plugin.voteCommand) {
for (CommandHandler handle : plugin.getVoteCommand()) {
if (handle.hasPerm(p)) {
msg.add("&a" + handle.getHelpLineCommand("/vote") + " : " + handle.getPerm() + " : true");
} else {
@@ -250,7 +250,7 @@ public class Commands {
}
for (CommandHandler handle : plugin.adminVoteCommand) {
for (CommandHandler handle : plugin.getAdminVoteCommand()) {
if (handle.hasPerm(p)) {
msg.add("&a" + handle.getHelpLineCommand("/av") + " : " + handle.getPerm() + " : true");
} else {
@@ -536,7 +536,7 @@ public class Commands {
}
public void updateVoteToday(ArrayList<User> users) {
plugin.voteToday.clear();
plugin.getVoteToday().clear();
for (User user : users) {
HashMap<VoteSite, LocalDateTime> times = new HashMap<VoteSite, LocalDateTime>();
@@ -551,7 +551,7 @@ public class Commands {
}
}
if (times.keySet().size() > 0) {
plugin.voteToday.put(user, times);
plugin.getVoteToday().put(user, times);
}
}
@@ -620,60 +620,61 @@ public class Commands {
if (diffDays == 1) {
info += StringUtils.getInstance()
.replacePlaceHolder(StringUtils.getInstance().replacePlaceHolder(
Config.getInstance().formatCommandsVoteLastTimeFormat, "TimeType",
Config.getInstance().formatTimeFormatsDay), "amount", "" + diffDays);
Config.getInstance().getFormatCommandsVoteLastTimeFormat(), "TimeType",
Config.getInstance().getFormatTimeFormatsDay()), "amount", "" + diffDays);
info += " ";
} else if (diffDays > 1) {
info += StringUtils.getInstance()
.replacePlaceHolder(StringUtils.getInstance().replacePlaceHolder(
Config.getInstance().formatCommandsVoteLastTimeFormat, "TimeType",
Config.getInstance().formatTimeFormatsDays), "amount", "" + diffDays);
Config.getInstance().getFormatCommandsVoteLastTimeFormat(), "TimeType",
Config.getInstance().getFormatTimeFormatsDays()), "amount", "" + diffDays);
info += " ";
}
if (diffHours == 1) {
info += StringUtils.getInstance()
.replacePlaceHolder(StringUtils.getInstance().replacePlaceHolder(
Config.getInstance().formatCommandsVoteLastTimeFormat, "TimeType",
Config.getInstance().formatTimeFormatsHour), "amount", "" + diffHours);
Config.getInstance().getFormatCommandsVoteLastTimeFormat(), "TimeType",
Config.getInstance().getFormatTimeFormatsHour()), "amount", "" + diffHours);
info += " ";
} else if (diffHours > 1) {
info += StringUtils.getInstance()
.replacePlaceHolder(StringUtils.getInstance().replacePlaceHolder(
Config.getInstance().formatCommandsVoteLastTimeFormat, "TimeType",
Config.getInstance().formatTimeFormatsHours), "amount", "" + diffHours);
Config.getInstance().getFormatCommandsVoteLastTimeFormat(), "TimeType",
Config.getInstance().getFormatTimeFormatsHours()), "amount", "" + diffHours);
info += " ";
}
if (diffMinutes == 1) {
info += StringUtils.getInstance()
.replacePlaceHolder(StringUtils.getInstance().replacePlaceHolder(
Config.getInstance().formatCommandsVoteLastTimeFormat, "TimeType",
Config.getInstance().formatTimeFormatsMinute), "amount", "" + diffMinutes);
Config.getInstance().getFormatCommandsVoteLastTimeFormat(), "TimeType",
Config.getInstance().getFormatTimeFormatsMinute()), "amount", "" + diffMinutes);
info += " ";
} else if (diffMinutes > 1) {
info += StringUtils.getInstance()
.replacePlaceHolder(StringUtils.getInstance().replacePlaceHolder(
Config.getInstance().formatCommandsVoteLastTimeFormat, "TimeType",
Config.getInstance().formatTimeFormatsMinutes), "amount", "" + diffMinutes);
info += StringUtils.getInstance().replacePlaceHolder(StringUtils.getInstance().replacePlaceHolder(
Config.getInstance().getFormatCommandsVoteLastTimeFormat(), "TimeType",
Config.getInstance().getFormatTimeFormatsMinutes()), "amount", "" + diffMinutes);
info += " ";
}
if (diffSeconds == 1) {
info += StringUtils.getInstance()
.replacePlaceHolder(StringUtils.getInstance().replacePlaceHolder(
Config.getInstance().formatCommandsVoteLastTimeFormat, "TimeType",
Config.getInstance().formatTimeFormatsSecond), "amount", "" + diffSeconds);
Config.getInstance().getFormatCommandsVoteLastTimeFormat(), "TimeType",
Config.getInstance().getFormatTimeFormatsSecond()), "amount", "" + diffSeconds);
} else {
info += StringUtils.getInstance()
.replacePlaceHolder(StringUtils.getInstance().replacePlaceHolder(
Config.getInstance().formatCommandsVoteLastTimeFormat, "TimeType",
Config.getInstance().formatTimeFormatsSeconds), "amount", "" + diffSeconds);
info += StringUtils.getInstance().replacePlaceHolder(StringUtils.getInstance().replacePlaceHolder(
Config.getInstance().getFormatCommandsVoteLastTimeFormat(), "TimeType",
Config.getInstance().getFormatTimeFormatsSeconds()), "amount", "" + diffSeconds);
}
info = StringUtils.getInstance()
.replacePlaceHolder(Config.getInstance().getFormatCommandsVoteLastLastVoted(), "times", info);
return info;
}
return Config.getInstance().formatCommandsVoteLastNeverVoted;
return Config.getInstance().getFormatCommandsVoteLastNeverVoted();
}
public String voteCommandLastLine(User user, VoteSite voteSite) {
@@ -685,7 +686,7 @@ public class Commands {
placeholders.put("SiteName", voteSite.getDisplayName());
placeholders.put("timesince", timeSince);
return StringUtils.getInstance().replacePlaceHolder(Config.getInstance().formatCommandsVoteLastLine,
return StringUtils.getInstance().replacePlaceHolder(Config.getInstance().getFormatCommandsVoteLastLine(),
placeholders);
}
@@ -858,7 +859,7 @@ public class Commands {
boolean requirePerms = config.getFormatCommandsVoteHelpRequirePermission();
for (CommandHandler cmdHandle : plugin.voteCommand) {
for (CommandHandler cmdHandle : plugin.getVoteCommand()) {
if (cmdHandle.hasPerm(sender)) {
unsorted.put(cmdHandle.getHelpLineCommand("/vote"), cmdHandle.getHelpLine("/vote"));
} else if (!requirePerms) {
@@ -882,11 +883,11 @@ public class Commands {
*/
public String[] voteToday() {
ArrayList<String> msg = new ArrayList<String>();
for (User user : plugin.voteToday.keySet()) {
for (User user : plugin.getVoteToday().keySet()) {
for (VoteSite voteSite : plugin.voteToday.get(user).keySet()) {
for (VoteSite voteSite : plugin.getVoteToday().get(user).keySet()) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(Config.getInstance().getFormatTimeFormat());
String timeString = plugin.voteToday.get(user).get(voteSite).format(formatter);
String timeString = plugin.getVoteToday().get(user).get(voteSite).format(formatter);
msg.add("&6" + user.getPlayerName() + " : " + voteSite.getKey() + " : " + timeString);
}
}
@@ -55,14 +55,13 @@ public class CommandAdminVote implements CommandExecutor {
/*
* (non-Javadoc)
*
* @see org.bukkit.command.CommandExecutor#onCommand(org.bukkit.command.
* CommandSender , org.bukkit.command.Command, java.lang.String,
* java.lang.String[])
*/
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
for (CommandHandler commandHandler : plugin.adminVoteCommand) {
for (CommandHandler commandHandler : plugin.getAdminVoteCommand()) {
if (commandHandler.runCommand(sender, args)) {
return true;
}
@@ -32,7 +32,6 @@ public class CommandAliases implements CommandExecutor {
/*
* (non-Javadoc)
*
* @see org.bukkit.command.CommandExecutor#onCommand(org.bukkit.command.
* CommandSender , org.bukkit.command.Command, java.lang.String,
* java.lang.String[])
@@ -50,9 +49,9 @@ public class CommandAliases implements CommandExecutor {
ArrayList<CommandHandler> handles = new ArrayList<CommandHandler>();
if (adminCommand) {
handles.addAll(plugin.adminVoteCommand);
handles.addAll(plugin.getAdminVoteCommand());
} else {
handles.addAll(plugin.voteCommand);
handles.addAll(plugin.getVoteCommand());
}
for (CommandHandler cmdHandle : handles) {
@@ -47,7 +47,6 @@ public class CommandVote implements CommandExecutor {
/*
* (non-Javadoc)
*
* @see org.bukkit.command.CommandExecutor#onCommand(org.bukkit.command.
* CommandSender , org.bukkit.command.Command, java.lang.String,
* java.lang.String[])
@@ -55,7 +54,7 @@ public class CommandVote implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
for (CommandHandler commandHandler : plugin.voteCommand) {
for (CommandHandler commandHandler : plugin.getVoteCommand()) {
if (commandHandler.runCommand(sender, args)) {
return true;
}
@@ -10,11 +10,12 @@ import org.bukkit.inventory.ItemStack;
import com.Ben12345rocks.AdvancedCore.Util.EditGUI.EditGUI;
import com.Ben12345rocks.AdvancedCore.Util.EditGUI.EditGUIButton;
import com.Ben12345rocks.AdvancedCore.Util.EditGUI.EditGUIValueType;
import com.Ben12345rocks.AdvancedCore.Util.EditGUI.ValueTypes.EditGUIValueBoolean;
import com.Ben12345rocks.AdvancedCore.Util.EditGUI.ValueTypes.EditGUIValueNumber;
import com.Ben12345rocks.AdvancedCore.Util.EditGUI.ValueTypes.EditGUIValueString;
import com.Ben12345rocks.AdvancedCore.Util.Inventory.BInventory;
import com.Ben12345rocks.AdvancedCore.Util.Inventory.BInventory.ClickEvent;
import com.Ben12345rocks.AdvancedCore.Util.Inventory.BInventoryButton;
import com.Ben12345rocks.AdvancedCore.Util.Item.ItemBuilder;
import com.Ben12345rocks.AdvancedCore.Util.Misc.ArrayUtils;
import com.Ben12345rocks.AdvancedCore.Util.Misc.PlayerUtils;
import com.Ben12345rocks.AdvancedCore.Util.ValueRequest.InputMethod;
@@ -163,99 +164,91 @@ public class AdminGUI {
}
});
inv.addButton(new EditGUIButton(new ItemBuilder(Material.DIAMOND), "Priority", voteSite.getPriority(),
EditGUIValueType.NUMBER) {
inv.addButton(new EditGUIButton(new EditGUIValueNumber("Priority", voteSite.getPriority()) {
@Override
public void setValue(Player player, Object value) {
VoteSite voteSite = (VoteSite) getMeta(player, "VoteSite");
ConfigVoteSites.getInstance().setPriority(voteSite.getKey(), (int) value);
public void setValue(Player player, Number num) {
VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
ConfigVoteSites.getInstance().setPriority(voteSite.getKey(), num.intValue());
plugin.reload();
}
});
}));
inv.addButton(new EditGUIButton(new ItemBuilder(Material.DIAMOND), "ServiceSite", voteSite.getServiceSite(),
EditGUIValueType.STRING) {
inv.addButton(new EditGUIButton(new EditGUIValueString("ServiceSite", voteSite.getServiceSite()) {
@Override
public void setValue(Player player, Object value) {
VoteSite voteSite = (VoteSite) getMeta(player, "VoteSite");
public void setValue(Player player, String value) {
VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
String siteName = voteSite.getKey();
ConfigVoteSites.getInstance().setServiceSite(siteName, (String) value);
ConfigVoteSites.getInstance().setServiceSite(siteName, value);
plugin.reload();
}
});
}));
inv.addButton(new EditGUIButton(new ItemBuilder(Material.DIAMOND), "Name", voteSite.getDisplayName(),
EditGUIValueType.STRING) {
inv.addButton(new EditGUIButton(new EditGUIValueString("Name", voteSite.getDisplayName()) {
@Override
public void setValue(Player player, Object value) {
VoteSite voteSite = (VoteSite) getMeta(player, "VoteSite");
ConfigVoteSites.getInstance().setDisplayName(voteSite.getKey(), (String) value);
public void setValue(Player player, String value) {
VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
ConfigVoteSites.getInstance().setDisplayName(voteSite.getKey(), value);
plugin.reload();
}
});
}));
inv.addButton(new EditGUIButton(new ItemBuilder(Material.DIAMOND), "VoteURL", voteSite.getVoteURL(),
EditGUIValueType.STRING) {
inv.addButton(new EditGUIButton(new EditGUIValueString("VoteURL", voteSite.getVoteURL()) {
@Override
public void setValue(Player player, Object value) {
VoteSite voteSite = (VoteSite) getMeta(player, "VoteSite");
public void setValue(Player player, String value) {
VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
String siteName = voteSite.getKey();
ConfigVoteSites.getInstance().setVoteURL(siteName, (String) value);
ConfigVoteSites.getInstance().setVoteURL(siteName, value);
plugin.reload();
}
});
}));
inv.addButton(new EditGUIButton(new ItemBuilder(Material.DIAMOND), "VoteDelay", voteSite.getVoteDelay(),
EditGUIValueType.NUMBER) {
inv.addButton(new EditGUIButton(new EditGUIValueNumber("VoteDelay", voteSite.getVoteDelay()) {
@Override
public void setValue(Player player, Object value) {
VoteSite voteSite = (VoteSite) getMeta(player, "VoteSite");
public void setValue(Player player, Number num) {
VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
String siteName = voteSite.getKey();
ConfigVoteSites.getInstance().setVoteDelay(siteName, (int) value);
ConfigVoteSites.getInstance().setVoteDelay(siteName, num.intValue());
plugin.reload();
}
});
}));
inv.addButton(new EditGUIButton(new ItemBuilder(Material.DIAMOND), "Enabled", voteSite.isEnabled(),
EditGUIValueType.BOOLEAN) {
inv.addButton(new EditGUIButton(new EditGUIValueBoolean("Enabled", voteSite.isEnabled()) {
@Override
public void setValue(Player player, Object value) {
VoteSite voteSite = (VoteSite) getMeta(player, "VoteSite");
public void setValue(Player player, boolean value) {
VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
String siteName = voteSite.getKey();
ConfigVoteSites.getInstance().setEnabled(siteName, (boolean) value);
ConfigVoteSites.getInstance().setEnabled(siteName, value);
plugin.reload();
}
});
}));
inv.addButton(new EditGUIButton(new ItemBuilder(Material.DIAMOND), "ForceOffline", voteSite.isGiveOffline(),
EditGUIValueType.BOOLEAN) {
inv.addButton(new EditGUIButton(new EditGUIValueBoolean("ForceOffline", voteSite.isGiveOffline()) {
@Override
public void setValue(Player player, Object value) {
VoteSite voteSite = (VoteSite) getMeta(player, "VoteSite");
public void setValue(Player player, boolean value) {
VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
String siteName = voteSite.getKey();
ConfigVoteSites.getInstance().setForceOffline(siteName, (boolean) value);
ConfigVoteSites.getInstance().setForceOffline(siteName, value);
plugin.reload();
}
});
}));
inv.addButton(new EditGUIButton(new ItemBuilder(Material.DIAMOND), "VoteDelayDaily",
voteSite.isVoteDelayDaily(), EditGUIValueType.BOOLEAN) {
inv.addButton(new EditGUIButton(new EditGUIValueBoolean("VoteDelayDaily", voteSite.isVoteDelayDaily()) {
@Override
public void setValue(Player player, Object value) {
VoteSite voteSite = (VoteSite) getMeta(player, "VoteSite");
public void setValue(Player player, boolean value) {
VoteSite voteSite = (VoteSite) getInv().getMeta(player, "VoteSite");
String siteName = voteSite.getKey();
ConfigVoteSites.getInstance().setVoteDelayDaily(siteName, (boolean) value);
ConfigVoteSites.getInstance().setVoteDelayDaily(siteName, value);
plugin.reload();
}
});
}));
inv.openInventory(player);
}
@@ -1,10 +1,12 @@
package com.Ben12345rocks.VotingPlugin.Commands.GUI;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
@@ -64,90 +66,6 @@ public class PlayerGUIs {
return str;
}
public void openVoteShop(Player player) {
if (!Config.getInstance().getVoteShopEnabled()) {
player.sendMessage(StringUtils.getInstance().colorize("&cVote shop disabled"));
return;
}
BInventory inv = new BInventory(Config.getInstance().getVoteShopName());
for (final String identifier : Config.getInstance().getIdentifiers()) {
String perm = Config.getInstance().getVoteShopPermission(identifier);
boolean hasPerm = false;
if (perm.isEmpty()) {
hasPerm = true;
} else {
hasPerm = player.hasPermission(perm);
}
int limit = Config.getInstance().getIdentifierLimit(identifier);
boolean limitPass = true;
if (limit > 0) {
User user = UserManager.getInstance().getVotingPluginUser(player);
if (user.getVoteShopIdentifierLimit(identifier) >= limit) {
limitPass = false;
}
}
if (hasPerm && limitPass) {
ItemBuilder builder = new ItemBuilder(Config.getInstance().getIdentifierSection(identifier));
inv.addButton(new BInventoryButton(builder) {
@Override
public void onClick(ClickEvent event) {
Player player = event.getWhoClicked();
User user = UserManager.getInstance().getVotingPluginUser(player);
String identifier = (String) getData("identifier");
int limit = (int) getData("Limit");
int points = Config.getInstance().getIdentifierCost(identifier);
if (identifier != null) {
HashMap<String, String> placeholders = new HashMap<String, String>();
placeholders.put("identifier", identifier);
placeholders.put("points", "" + points);
placeholders.put("limit", "" + limit);
if (user.removePoints(points)) {
RewardHandler.getInstance().giveReward(user, Config.getInstance().getData(),
Config.getInstance().getIdentifierRewardsPath(identifier),
new RewardOptions().setPlaceholders(placeholders));
user.sendMessage(StringUtils.getInstance().replacePlaceHolder(
Config.getInstance().getFormatShopPurchaseMsg(), placeholders));
if (limit > 0) {
user.setVoteShopIdentifierLimit(identifier,
user.getVoteShopIdentifierLimit(identifier) + 1);
}
} else {
user.sendMessage(StringUtils.getInstance().replacePlaceHolder(
Config.getInstance().getFormatShopFailedMsg(), placeholders));
}
}
}
}.addData("identifier", identifier).addData("Limit", limit));
}
}
if (Config.getInstance().getVoteShopBackButton()) {
inv.addButton(new BInventoryButton(PlayerGUIs.getInstance().getBackButton()) {
@Override
public void onClick(ClickEvent event) {
PlayerGUIs.getInstance().openVoteGUI(event.getPlayer(),
UserManager.getInstance().getVotingPluginUser(player));
}
});
}
inv.openInventory(player);
}
public void openVoteBest(Player player, User user) {
setSelectedPlayer(player, user);
BInventory inv = new BInventory(StringUtils.getInstance()
@@ -245,30 +163,36 @@ public class PlayerGUIs {
@Override
public void onClick(ClickEvent event) {
Player player = event.getWhoClicked();
String cmd = Config.getInstance().getVoteGUISlotCommand(slot);
User user = getSelectedPlayer(player);
if (!cmd.equals("")) {
player.performCommand(cmd);
} else {
if (slot.equalsIgnoreCase("url")) {
openVoteURL(player);
} else if (slot.equalsIgnoreCase("next")) {
openVoteNext(player, user);
} else if (slot.equalsIgnoreCase("last")) {
openVoteLast(player, user);
} else if (slot.equalsIgnoreCase("total")) {
openVoteTotal(player, user);
} else if (slot.equalsIgnoreCase("top")) {
openVoteTop(player, null);
} else if (slot.equalsIgnoreCase("today")) {
openVoteToday(player);
} else if (slot.equalsIgnoreCase("help")) {
player.performCommand("vote help");
} else if (slot.equalsIgnoreCase("shop")) {
openVoteShop(player);
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
Player player = event.getWhoClicked();
String cmd = Config.getInstance().getVoteGUISlotCommand(slot);
User user = getSelectedPlayer(player);
if (!cmd.equals("")) {
player.performCommand(cmd);
} else {
if (slot.equalsIgnoreCase("url")) {
openVoteURL(player);
} else if (slot.equalsIgnoreCase("next")) {
openVoteNext(player, user);
} else if (slot.equalsIgnoreCase("last")) {
openVoteLast(player, user);
} else if (slot.equalsIgnoreCase("total")) {
openVoteTotal(player, user);
} else if (slot.equalsIgnoreCase("top")) {
openVoteTop(player, null);
} else if (slot.equalsIgnoreCase("today")) {
openVoteToday(player);
} else if (slot.equalsIgnoreCase("help")) {
player.performCommand("vote help");
} else if (slot.equalsIgnoreCase("shop")) {
openVoteShop(player);
}
}
}
}
});
}
});
@@ -334,6 +258,103 @@ public class PlayerGUIs {
inv.openInventory(player);
}
public void openVoteShop(Player player) {
if (!Config.getInstance().getVoteShopEnabled()) {
player.sendMessage(StringUtils.getInstance().colorize("&cVote shop disabled"));
return;
}
BInventory inv = new BInventory(Config.getInstance().getVoteShopName());
for (final String identifier : Config.getInstance().getIdentifiers()) {
String perm = Config.getInstance().getVoteShopPermission(identifier);
boolean hasPerm = false;
if (perm.isEmpty()) {
hasPerm = true;
} else {
hasPerm = player.hasPermission(perm);
}
int limit = Config.getInstance().getIdentifierLimit(identifier);
boolean limitPass = true;
if (limit > 0) {
User user = UserManager.getInstance().getVotingPluginUser(player);
if (user.getVoteShopIdentifierLimit(identifier) >= limit) {
limitPass = false;
}
}
if (hasPerm && limitPass) {
ItemBuilder builder = new ItemBuilder(Config.getInstance().getIdentifierSection(identifier));
inv.addButton(new BInventoryButton(builder) {
@Override
public void onClick(ClickEvent event) {
Player player = event.getWhoClicked();
User user = UserManager.getInstance().getVotingPluginUser(player);
user.clearCache();
String identifier = (String) getData("identifier");
int limit = (int) getData("Limit");
int points = Config.getInstance().getIdentifierCost(identifier);
if (identifier != null) {
// limit fail-safe, should never be needed, except in rare cases
boolean limitPass = true;
if (limit > 0) {
if (user.getVoteShopIdentifierLimit(identifier) >= limit) {
limitPass = false;
}
}
if (limitPass) {
HashMap<String, String> placeholders = new HashMap<String, String>();
placeholders.put("identifier", identifier);
placeholders.put("points", "" + points);
placeholders.put("limit", "" + limit);
if (user.removePoints(points)) {
RewardHandler.getInstance().giveReward(user, Config.getInstance().getData(),
Config.getInstance().getIdentifierRewardsPath(identifier),
new RewardOptions().setPlaceholders(placeholders));
user.sendMessage(StringUtils.getInstance().replacePlaceHolder(
Config.getInstance().getFormatShopPurchaseMsg(), placeholders));
if (limit > 0) {
user.setVoteShopIdentifierLimit(identifier,
user.getVoteShopIdentifierLimit(identifier) + 1);
}
} else {
user.sendMessage(StringUtils.getInstance().replacePlaceHolder(
Config.getInstance().getFormatShopFailedMsg(), placeholders));
}
}
}
}
}.addData("identifier", identifier).addData("Limit", limit));
}
}
if (Config.getInstance().getVoteShopBackButton()) {
inv.addButton(new BInventoryButton(PlayerGUIs.getInstance().getBackButton()) {
@Override
public void onClick(ClickEvent event) {
PlayerGUIs.getInstance().openVoteGUI(event.getPlayer(),
UserManager.getInstance().getVotingPluginUser(player));
}
});
}
inv.openInventory(player);
}
public void openVoteStreak(Player player, User user) {
setSelectedPlayer(player, user);
BInventory inv = new BInventory(StringUtils.getInstance()
@@ -411,11 +432,11 @@ public class PlayerGUIs {
public void openVoteToday(Player player) {
setSelectedPlayer(player, null);
BInventory inv = new BInventory(Config.getInstance().getGUIVoteTodayName());
for (User user : plugin.voteToday.keySet()) {
for (User user : plugin.getVoteToday().keySet()) {
for (VoteSite voteSite : plugin.voteToday.get(user).keySet()) {
for (VoteSite voteSite : plugin.getVoteToday().get(user).keySet()) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(Config.getInstance().getFormatTimeFormat());
String timeString = plugin.voteToday.get(user).get(voteSite).format(formatter);
String timeString = plugin.getVoteToday().get(user).get(voteSite).format(formatter);
String msg = "&6" + voteSite.getDisplayName() + " : " + timeString;
inv.addButton(inv.getNextSlot(), new BInventoryButton(user.getPlayerName(), new String[] { msg },
MiscUtils.getInstance().setSkullOwner(user.getOfflinePlayer())) {
@@ -458,25 +479,27 @@ public class PlayerGUIs {
int pos = 1;
for (Entry<User, Integer> entry : users) {
ItemBuilder playerItem;
inv.addButton(new BInventoryButton(
new ItemBuilder(MiscUtils.getInstance().setSkullOwner(entry.getKey().getOfflinePlayer()))
.setName(Config.getInstance().getGUIVoteTopItemName())
.addLoreLine(Config.getInstance().getGUIVoteTopItemLore())
.addPlaceholder("position", "" + pos)
.addPlaceholder("player", entry.getKey().getPlayerName())
.addPlaceholder("votes", "" + entry.getValue())) {
if (Config.getInstance().isGuiVoteTopUseSkull()) {
playerItem = new ItemBuilder(entry.getKey().getPlayerHead());
} else {
playerItem = new ItemBuilder(Material.valueOf(Config.getInstance().getGuiVoteTopPlayerItemMaterial()));
}
playerItem.setLore(new ArrayList<String>());
inv.addButton(new BInventoryButton(playerItem.setName(Config.getInstance().getGUIVoteTopItemName())
.addLoreLine(Config.getInstance().getGUIVoteTopItemLore()).addPlaceholder("position", "" + pos)
.addPlaceholder("player", entry.getKey().getPlayerName())
.addPlaceholder("votes", "" + entry.getValue())) {
@Override
public void onClick(ClickEvent clickEvent) {
// ItemBuilder item = new ItemBuilder(clickEvent.getClickedItem());
// String name = ChatColor.stripColor(item.getName()).split(":")[1].trim();
String name = (String) clickEvent.getButton().getData("player");
User user = UserManager.getInstance().getVotingPluginUser(name);
User user = (User) getData("User");
openVoteGUI(player, user);
}
}.addData("player", entry.getKey().getPlayerName()));
}.addData("player", entry.getKey().getPlayerName()).addData("User", entry.getKey()));
pos++;
}
@@ -571,8 +594,6 @@ public class PlayerGUIs {
@Override
public void onClick(ClickEvent event) {
User user = UserManager.getInstance().getVotingPluginUser(event.getPlayer());
Player player = event.getWhoClicked();
player.closeInventory();
user.sendMessage(Commands.getInstance().voteURLs(user));
}
@@ -596,11 +617,9 @@ public class PlayerGUIs {
@Override
public void onClick(ClickEvent event) {
Player player = event.getWhoClicked();
Player player = event.getPlayer();
if (player != null) {
player.closeInventory();
if (Config.getInstance().commandsVoteRewardFromVoteURL
if (Config.getInstance().isCommandsVoteRewardFromVoteURL()
&& event.getClick().equals(ClickType.RIGHT)) {
voteReward(player, voteSite.getKey());
} else {
@@ -728,6 +747,16 @@ public class PlayerGUIs {
}
}
if (Config.getInstance().isVoteRewardBackButton()) {
inv.addButton(new BInventoryButton(getBackButton()) {
@Override
public void onClick(ClickEvent event) {
openVoteGUI(event.getPlayer(), getSelectedPlayer(event.getPlayer()));
}
});
}
inv.openInventory(player);
}
}
@@ -24,7 +24,6 @@ public class AdminVoteTabCompleter implements TabCompleter {
/*
* (non-Javadoc)
*
* @see org.bukkit.command.TabCompleter#onTabComplete(org.bukkit.command.
* CommandSender, org.bukkit.command.Command, java.lang.String,
* java.lang.String[])
@@ -36,7 +35,7 @@ public class AdminVoteTabCompleter implements TabCompleter {
Set<String> cmds = new HashSet<String>();
cmds.addAll(TabCompleteHandler.getInstance().getTabCompleteOptions(plugin.adminVoteCommand, sender, args,
cmds.addAll(TabCompleteHandler.getInstance().getTabCompleteOptions(plugin.getAdminVoteCommand(), sender, args,
args.length - 1));
for (String str : cmds) {
@@ -32,7 +32,6 @@ public class AliasesTabCompleter implements TabCompleter {
/*
* (non-Javadoc)
*
* @see org.bukkit.command.TabCompleter#onTabComplete(org.bukkit.command.
* CommandSender, org.bukkit.command.Command, java.lang.String,
* java.lang.String[])
@@ -54,9 +53,9 @@ public class AliasesTabCompleter implements TabCompleter {
ArrayList<CommandHandler> cmdHandlers = new ArrayList<CommandHandler>();
if (adminCommand) {
cmdHandlers.addAll(plugin.adminVoteCommand);
cmdHandlers.addAll(plugin.getAdminVoteCommand());
} else {
cmdHandlers.addAll(plugin.voteCommand);
cmdHandlers.addAll(plugin.getVoteCommand());
}
ConcurrentHashMap<String, ArrayList<String>> tabCompletes = TabCompleteHandler.getInstance()
.getTabCompleteOptions();
@@ -25,7 +25,6 @@ public class VoteTabCompleter implements TabCompleter {
/*
* (non-Javadoc)
*
* @see org.bukkit.command.TabCompleter#onTabComplete(org.bukkit.command.
* CommandSender, org.bukkit.command.Command, java.lang.String,
* java.lang.String[])
@@ -37,7 +36,7 @@ public class VoteTabCompleter implements TabCompleter {
Set<String> cmds = new HashSet<String>();
cmds.addAll(TabCompleteHandler.getInstance().getTabCompleteOptions(plugin.voteCommand, sender, args,
cmds.addAll(TabCompleteHandler.getInstance().getTabCompleteOptions(plugin.getVoteCommand(), sender, args,
args.length - 1));
for (String str : cmds) {
@@ -9,11 +9,15 @@ import org.bukkit.configuration.ConfigurationSection;
import com.Ben12345rocks.AdvancedCore.Util.Annotation.AnnotationHandler;
import com.Ben12345rocks.AdvancedCore.Util.Annotation.ConfigDataBoolean;
import com.Ben12345rocks.AdvancedCore.Util.Annotation.ConfigDataDouble;
import com.Ben12345rocks.AdvancedCore.Util.Annotation.ConfigDataInt;
import com.Ben12345rocks.AdvancedCore.Util.Annotation.ConfigDataString;
import com.Ben12345rocks.AdvancedCore.YML.YMLFile;
import com.Ben12345rocks.VotingPlugin.Main;
import com.Ben12345rocks.VotingPlugin.TopVoter.TopVoter;
import lombok.Getter;
// TODO: Auto-generated Javadoc
/**
* The Class Config.
@@ -35,50 +39,233 @@ public class Config extends YMLFile {
return instance;
}
@ConfigDataString(path = "Format.Commands.Vote.ToggleBroadcasts.Enabled", defaultValue = "&cYou will now see vote broadcasts")
public String formatCommandsVoteToggleBroadcastEnabled;
@ConfigDataString(
path = "Format.Commands.Vote.ToggleBroadcasts.Enabled", defaultValue = "&cYou will now see vote broadcasts"
)
@Getter
private String formatCommandsVoteToggleBroadcastEnabled;
@ConfigDataString(path = "Format.Commands.Vote.ToggleBroadcasts.Disabled", defaultValue = "&cYou will no longer see vote broadcasts")
public String formatCommandsVoteToggleBroadcastDisabled;
@ConfigDataString(
path = "Format.Commands.Vote.ToggleBroadcasts.Disabled",
defaultValue = "&cYou will no longer see vote broadcasts"
)
@Getter
private String formatCommandsVoteToggleBroadcastDisabled;
@ConfigDataBoolean(path = "Commands.VoteRewardFromVoteURL", defaultValue = false)
public boolean commandsVoteRewardFromVoteURL;
@ConfigDataBoolean(path = "Commands.VoteRewardFromVoteURL")
@Getter
private boolean commandsVoteRewardFromVoteURL = false;
@ConfigDataString(path = "Format.Commands.Vote.Last.TimeFormat", defaultValue = "%amount% %TimeType%")
public String formatCommandsVoteLastTimeFormat;
@Getter
private String formatCommandsVoteLastTimeFormat;
@ConfigDataString(path = "Format.Commands.Vote.Last.Line", defaultValue = "&3%SiteName%: &6%timeSince% ago")
public String formatCommandsVoteLastLine;
@Getter
private String formatCommandsVoteLastLine;
@ConfigDataString(path = "Format.Commands.Vote.Last.NeverVoted", defaultValue = "Never voted")
public String formatCommandsVoteLastNeverVoted;
@Getter
private String formatCommandsVoteLastNeverVoted;
@ConfigDataString(path = "Format.Commands.Vote.Last.LastVoted", defaultValue = "%times% ago")
@Getter
private String formatCommandsVoteLastLastVoted;
@ConfigDataString(path = "Format.TimeFormats.Days", defaultValue = "Days")
public String formatTimeFormatsDays;
@Getter
private String formatTimeFormatsDays;
@ConfigDataString(path = "Format.TimeFormats.Day", defaultValue = "Day")
public String formatTimeFormatsDay;
@Getter
private String formatTimeFormatsDay;
@ConfigDataString(path = "Format.TimeFormats.Hours", defaultValue = "Hours")
public String formatTimeFormatsHours;
@Getter
private String formatTimeFormatsHours;
@ConfigDataString(path = "Format.TimeFormats.Hour", defaultValue = "Hour")
public String formatTimeFormatsHour;
@Getter
private String formatTimeFormatsHour;
@ConfigDataString(path = "Format.TimeFormats.Minutes", defaultValue = "Minutes")
public String formatTimeFormatsMinutes;
@Getter
private String formatTimeFormatsMinutes;
@ConfigDataString(path = "Format.TimeFormats.Minute", defaultValue = "Minute")
public String formatTimeFormatsMinute;
@Getter
private String formatTimeFormatsMinute;
@ConfigDataString(path = "Format.TimeFormats.Seconds", defaultValue = "Seconds")
public String formatTimeFormatsSeconds;
@Getter
private String formatTimeFormatsSeconds;
@ConfigDataString(path = "Format.TimeFormats.Second", defaultValue = "Second")
public String formatTimeFormatsSecond;
@Getter
private String formatTimeFormatsSecond;
@ConfigDataBoolean(path = "Commands.DisableVoteRewardGUIs", defaultValue = false)
public boolean commandsDisableVoteRewardGUIs;
@ConfigDataBoolean(path = "Commands.DisableVoteRewardGUIs")
@Getter
private boolean commandsDisableVoteRewardGUIs;
@ConfigDataBoolean(path = "AlwaysUpdate")
@Getter
private boolean alwaysUpdate = false;
@ConfigDataBoolean(path = "UpdateWithPlayersOnlineOnly")
@Getter
private boolean updateWithPlayersOnlineOnly = false;
@ConfigDataBoolean(path = "AllowUnjoined")
@Getter
private boolean allowUnjoined = false;
@ConfigDataBoolean(path = "AddTotals")
@Getter
private boolean addTotals = true;
@Getter
private String allSitesRewardPath = "AllSites";
@ConfigDataBoolean(path = "AlternateUUIDLookup")
@Getter
private boolean alternateUUIDLookup = false;
@Getter
private String anySiteRewardsPath = "AnySiteRewards";
@ConfigDataBoolean(path = "AutoCreateVoteSites")
@Getter
private boolean autoCreateVoteSites = true;
@ConfigDataBoolean(path = "Format.BroadcastVote")
@Getter
private boolean broadcastVotesEnabled = true;
@ConfigDataBoolean(path = "clearCacheOnUpdate")
@Getter
private boolean clearCacheOnUpdate = false;
@ConfigDataBoolean(path = "ClearCacheOnVote")
@Getter
private boolean clearCacheOnVote = false;
@ConfigDataBoolean(path = "Commands.UseGUI.Best")
@Getter
private boolean commandsUseGUIBest = true;
@ConfigDataBoolean(path = "Commands.UseGUI.Last")
@Getter
private boolean commandsUseGUILast = true;
@ConfigDataBoolean(path = "Commands.UseGUI.Next")
@Getter
private boolean commandsUseGUINext = true;
@ConfigDataBoolean(path = "Commands.UseGUI.Streak")
@Getter
private boolean commandsUseGUIStreak = true;
@ConfigDataBoolean(path = "Commands.UseGUI.Today")
@Getter
private boolean commandsUseGUIToday = true;
@ConfigDataBoolean(path = "Commands.UseGUI.TopVoter")
@Getter
private boolean commandsUseGUITopVoter = true;
@ConfigDataBoolean(path = "Commands.UseGUI.Total")
@Getter
private boolean commandsUseGUITotal = true;
@ConfigDataBoolean(path = "Commands.UseGUI.Vote")
@Getter
private boolean commandsUseGUIVote = true;
@ConfigDataBoolean(path = "CountFakeVotes")
@Getter
private boolean countFakeVotes = true;
@ConfigDataBoolean(path = "GUI.VoteRewardBackButton")
@Getter
private boolean voteRewardBackButton = false;
@ConfigDataInt(path = "ConvertDelay", defaultValue = 30000)
@Getter
private int convertDelay;
@ConfigDataBoolean(path = "EnableDailyRewards")
@Getter
private boolean enableDailyRewards = false;
@ConfigDataBoolean(path = "DisableUpdateChecking")
@Getter
private boolean disableUpdateChecking = false;
@ConfigDataInt(path = "DelayBetweenUpdates")
@Getter
private int delayBetweenUpdates = 3;
@ConfigDataBoolean(path = "DisableNoServiceSiteMessage")
@Getter
private boolean disableNoServiceSiteMessage = false;
@ConfigDataBoolean(path = "DisableAdvancedTab")
@Getter
private boolean disableAdvancedTab = false;
@Getter
private String firstVoteRewardsPath = "FirstVote";
@ConfigDataBoolean(path = "LogVotesToFile")
@Getter
private boolean logVotesToFile = false;
@ConfigDataBoolean(path = "EnableMonthlyAwards")
@Getter
private boolean enableMonthlyAwards = false;
@Getter
private String votePartyRewardsPath = "VoteParty.Rewards";
@ConfigDataBoolean(path = "EnableWeeklyAwards")
@Getter
private boolean enableWeeklyAwards = false;
@ConfigDataDouble(path = "VoteStreak.Requirement.Day")
@Getter
private double voteStreakRequirementDay = 50;
@ConfigDataDouble(path = "VoteStreak.Requirement.Week")
@Getter
private double voteStreakRequirementWeek = 50;
@ConfigDataDouble(path = "VoteStreak.Requirement.Month")
@Getter
private double voteStreakRequirementMonth = 50;
@ConfigDataBoolean(path = "VoteStreak.Requirement.UsePercentage")
@Getter
private boolean voteStreakRequirementUsePercentage = false;
@ConfigDataBoolean(path = "LoadCommandAliases")
@Getter
private boolean loadCommandAliases = true;
@ConfigDataBoolean(path = "GUI.VoteTop.UseSkull")
@Getter
private boolean guiVoteTopUseSkull = true;
@ConfigDataString(path = "GUI.VoteTop.PlayerItem.Material")
@Getter
private String guiVoteTopPlayerItemMaterial = "PAPER";
@ConfigDataBoolean(path = "AllowVotePointTransfers")
@Getter
private boolean allowVotePointTransfers = false;
@Getter
private int formatPageSize = 10;
/**
* Instantiates a new config.
@@ -87,59 +274,6 @@ public class Config extends YMLFile {
super(new File(Main.plugin.getDataFolder(), "Config.yml"));
}
/**
* Allow un joined.
*
* @return true, if successful
*/
public boolean allowUnJoined() {
return getData().getBoolean("AllowUnjoined");
}
public boolean getAddTotals() {
return getData().getBoolean("AddTotals", true);
}
/**
* Gets the all sites reward.
*
* @return the all sites reward
*/
public String getAllSitesRewardPath() {
return "AllSites";
}
public boolean getAlternateUUIDLookup() {
return getData().getBoolean("AlternateUUIDLookup");
}
/**
* Gets the rewards.
*
* @return the rewards
*/
public String getAnySiteRewardsPath() {
return "AnySiteRewards";
}
/**
* Gets the auto create vote sites.
*
* @return the auto create vote sites
*/
public boolean getAutoCreateVoteSites() {
return getData().getBoolean("AutoCreateVoteSites");
}
public boolean getAutoDownload() {
return getData().getBoolean("AutoDownload");
}
public boolean getAutoKillInvs() {
return getData().getBoolean("AutoKillInvs", true);
}
public ConfigurationSection getBackButton() {
return getData().getConfigurationSection("BackButton");
}
@@ -154,67 +288,6 @@ public class Config extends YMLFile {
return (ArrayList<String>) getData().getList("BlackList", new ArrayList<String>());
}
/**
* Gets the broad cast votes enabled.
*
* @return the broad cast votes enabled
*/
public boolean getBroadCastVotesEnabled() {
return getData().getBoolean("BroadcastVote", true);
}
public boolean getCheckNameMojang() {
return getData().getBoolean("CheckNameMojang", false);
}
public boolean getClearCacheOnUpdate() {
return getData().getBoolean("ClearCacheOnUpdate");
}
public boolean getClearCacheOnVote() {
return getData().getBoolean("ClearCacheOnVote");
}
public boolean getCommandsUseGUIBest() {
return getData().getBoolean("Commands.UseGUI.Best");
}
public boolean getCommandsUseGUILast() {
return getData().getBoolean("Commands.UseGUI.Last", true);
}
public boolean getCommandsUseGUINext() {
return getData().getBoolean("Commands.UseGUI.Next", true);
}
public boolean getCommandsUseGUIStreak() {
return getData().getBoolean("Commands.UseGUI.Streak");
}
public boolean getCommandsUseGUIToday() {
return getData().getBoolean("Commands.UseGUI.Today", true);
}
public boolean getCommandsUseGUITopVoter() {
return getData().getBoolean("Commands.UseGUI.TopVoter", true);
}
public boolean getCommandsUseGUITotal() {
return getData().getBoolean("Commands.UseGUI.Total", true);
}
public boolean getCommandsUseGUIVote() {
return getData().getBoolean("Commands.UseGUI.Vote", true);
}
public int getConvertDelay() {
return getData().getInt("ConvertDelay", 30000);
}
public boolean getCountFakeVotes() {
return getData().getBoolean("CountFakeVotes", true);
}
/**
* Gets the cumulative reward enabled.
*
@@ -273,15 +346,6 @@ public class Config extends YMLFile {
return "DailyAwards." + path + ".Rewards";
}
/**
* Gets the daily awards enabled.
*
* @return the daily awards enabled
*/
public boolean getDailyAwardsEnabled() {
return getData().getBoolean("EnableDailyAwards");
}
/**
* Gets the daily possible reward places.
*
@@ -296,53 +360,6 @@ public class Config extends YMLFile {
}
}
public String getDataStorage() {
return getData().getString("DataStorage", "FLAT");
}
/**
* Gets the debug enabled.
*
* @return the debug enabled
*/
public boolean getDebugEnabled() {
return getData().getBoolean("Debug");
}
/**
* Gets the debug info ingame.
*
* @return the debug info ingame
*/
public boolean getDebugInfoIngame() {
return getData().getBoolean("DebugInfoIngame");
}
public int getDelayBetweenUpdates() {
return getData().getInt("DelayBetweenUpdates", 3);
}
public boolean getDisableCheckOnWorldChange() {
return getData().getBoolean("DisableCheckOnWorldChange");
}
public boolean getDisableNoServiceSiteMessage() {
return getData().getBoolean("DisableNoServiceSiteMessage");
}
public boolean getExtraDebug() {
return getData().getBoolean("ExtraDebug");
}
/**
* Gets the first vote rewards.
*
* @return the first vote rewards
*/
public String getFirstVoteRewardsPath() {
return "FirstVote";
}
/**
* Gets the broad cast msg.
*
@@ -598,15 +615,6 @@ public class Config extends YMLFile {
return getData().getString("Format.NotNumber", "&cError on &6%arg%&c, number expected!");
}
/**
* Gets the page size.
*
* @return the page size
*/
public int getFormatPageSize() {
return 10;
}
public String getFormatPrevPage() {
return getData().getString("Format.PrevPage", "&aPrevious Page");
}
@@ -836,22 +844,6 @@ public class Config extends YMLFile {
return getData().getConfigurationSection("GUI.VoteTotal.AllTimeTotal.Item");
}
public ConfigurationSection getGUIVoteTotalItem(TopVoter top) {
switch (top) {
case AllTime:
return getGUIVoteTotalAllTimeTotalItem();
case Daily:
return getGUIVoteTotalDayTotalItem();
case Monthly:
return getGUIVoteTotalMonthTotalItem();
case Weekly:
return getGUIVoteTotalWeekTotalItem();
default:
return getGUIVoteTotalAllTimeTotalItem();
}
}
public boolean getGUIVoteTotalBackButton() {
return getData().getBoolean("GUI.VoteTotal.BackButton");
}
@@ -860,6 +852,22 @@ public class Config extends YMLFile {
return getData().getConfigurationSection("GUI.VoteTotal.DayTotal.Item");
}
public ConfigurationSection getGUIVoteTotalItem(TopVoter top) {
switch (top) {
case AllTime:
return getGUIVoteTotalAllTimeTotalItem();
case Daily:
return getGUIVoteTotalDayTotalItem();
case Monthly:
return getGUIVoteTotalMonthTotalItem();
case Weekly:
return getGUIVoteTotalWeekTotalItem();
default:
return getGUIVoteTotalAllTimeTotalItem();
}
}
public ConfigurationSection getGUIVoteTotalMonthTotalItem() {
return getData().getConfigurationSection("GUI.VoteTotal.MonthTotal.Item");
}
@@ -913,6 +921,21 @@ public class Config extends YMLFile {
return getData().getConfigurationSection("Shop." + identifier);
}
public boolean getLoadTopVoter(TopVoter top) {
switch (top) {
case AllTime:
return getLoadTopVoterAllTime();
case Daily:
return getLoadTopVoterDaily();
case Monthly:
return getLoadTopVoterMonthly();
case Weekly:
return getLoadTopVoterWeekly();
default:
return false;
}
}
public boolean getLoadTopVoterAllTime() {
return getData().getBoolean("LoadTopVoter.AllTime", true);
}
@@ -929,24 +952,6 @@ public class Config extends YMLFile {
return getData().getBoolean("LoadTopVoter.Weekly");
}
/**
* Gets the log debug to file.
*
* @return the log debug to file
*/
public boolean getLogDebugToFile() {
return getData().getBoolean("LogDebugToFile", true);
}
/**
* Gets the log votes to file.
*
* @return the log votes to file
*/
public boolean getLogVotesToFile() {
return getData().getBoolean("LogVotesToFile");
}
/**
* Gets the milestone reward enabled.
*
@@ -990,15 +995,6 @@ public class Config extends YMLFile {
return "MonthlyAwards." + path + ".Rewards";
}
/**
* Gets the monthly awards enabled.
*
* @return the monthly awards enabled
*/
public boolean getMonthlyAwardsEnabled() {
return getData().getBoolean("EnableMonthlyAwards");
}
/**
* Gets the monthly possible reward places.
*
@@ -1012,10 +1008,6 @@ public class Config extends YMLFile {
}
}
public ConfigurationSection getMySql() {
return getData().getConfigurationSection("MySQL");
}
public int getPointsOnVote() {
return getData().getInt("PointsOnVote", 1);
}
@@ -1051,15 +1043,6 @@ public class Config extends YMLFile {
return getData().getBoolean("ResetMilestonesMonthly");
}
/**
* Gets the send scoreboards.
*
* @return the send scoreboards
*/
public boolean getSendScoreboards() {
return getData().getBoolean("SendScoreboards");
}
/**
* Gets the store top voters daily.
*
@@ -1095,10 +1078,6 @@ public class Config extends YMLFile {
return getData().getBoolean("TopVoterIgnorePermission");
}
public int getUserVotesRequired() {
return getData().getInt("VoteParty.UserVotesRequired");
}
/**
* Gets the vote GUI slot command.
*
@@ -1194,13 +1173,8 @@ public class Config extends YMLFile {
return getData().getBoolean("VoteParty.ResetMonthly");
}
/**
* Gets the vote party rewards.
*
* @return the vote party rewards
*/
public String getVotePartyRewardsPath() {
return "VoteParty.Rewards";
public int getVotePartyUserVotesRequired() {
return getData().getInt("VoteParty.UserVotesRequired");
}
/**
@@ -1406,15 +1380,6 @@ public class Config extends YMLFile {
return "WeeklyAwards." + path + ".Rewards";
}
/**
* Gets the weekly awards enabled.
*
* @return the weekly awards enabled
*/
public boolean getWeeklyAwardsEnabled() {
return getData().getBoolean("EnableWeeklyAwards");
}
/**
* Gets the weekly possible reward places.
*
@@ -1437,110 +1402,4 @@ public class Config extends YMLFile {
plugin.saveResource("Config.yml", true);
}
/**
* Sets the allow un joined.
*
* @param value
* the new allow un joined
*/
public void setAllowUnJoined(boolean value) {
getData().set("AllowUnjoined", value);
saveData();
}
/**
* Sets the rewards.
*
* @param rewards
* the new rewards
*/
public void setAnySiteRewards(ArrayList<String> rewards) {
getData().set("AnySiteRewards", rewards);
saveData();
}
/**
* Sets the broadcast vote enabled.
*
* @param value
* the new broadcast vote enabled
*/
public void setBroadcastVoteEnabled(boolean value) {
getData().set("BroadcastVote", value);
saveData();
}
/**
* Sets the debug enabled.
*
* @param value
* the new debug enabled
*/
public void setDebugEnabled(boolean value) {
getData().set("Debug", value);
saveData();
}
/**
* Sets the debug info ingame.
*
* @param value
* the new debug info ingame
*/
public void setDebugInfoIngame(boolean value) {
getData().set("DebugInfoIngame", value);
saveData();
}
/**
* Sets the top voter awards enabled.
*
* @param value
* the new top voter awards enabled
*/
public void setTopVoterAwardsEnabled(boolean value) {
getData().set("TopVoterAwards", value);
saveData();
}
public void setVoteRemindingEnabled(boolean value) {
getData().set("VoteReminding.Enabled", value);
saveData();
}
public void setVoteRemindingRemindDelay(int value) {
getData().set("VoteReminding.RemindDelay", value);
saveData();
}
public void setVoteRemindingRemindOnLogin(boolean value) {
getData().set("VoteReminding.RemindOnLogin", value);
saveData();
}
public void setVoteRemindingRemindOnlyOnce(boolean value) {
getData().set("VoteReminding.RemindOnlyOnce", value);
saveData();
}
public void setVoteRemindingRewards(ArrayList<String> value) {
getData().set("VoteReminding.Rewards", value);
saveData();
}
public boolean getLoadTopVoter(TopVoter top) {
switch (top) {
case AllTime:
return getLoadTopVoterAllTime();
case Daily:
return getLoadTopVoterDaily();
case Monthly:
return getLoadTopVoterMonthly();
case Weekly:
return getLoadTopVoterWeekly();
default:
return false;
}
}
}
@@ -51,7 +51,7 @@ public class ConfigVoteSites extends YMLFile {
* the site name
*/
public void generateVoteSite(String siteName) {
if (Config.getInstance().getAutoCreateVoteSites()) {
if (Config.getInstance().isAutoCreateVoteSites()) {
String org = siteName;
siteName = siteName.replace(".", "_");
plugin.getLogger().warning("VoteSite " + siteName
@@ -252,6 +252,10 @@ public class ConfigVoteSites extends YMLFile {
return getData(siteName).getString("VoteURL");
}
public boolean getWaitUntilVoteDelay(String siteName) {
return getData(siteName).getBoolean("WaitUntilVoteDelay", false);
}
/**
* Checks if is service site good.
*
@@ -353,6 +357,11 @@ public class ConfigVoteSites extends YMLFile {
set(siteName, "Enabled", disabled);
}
public void setForceOffline(String siteName, boolean value) {
set(siteName, "ForceOffline", value);
}
/**
* Sets the priority.
*
@@ -401,6 +410,10 @@ public class ConfigVoteSites extends YMLFile {
set(siteName, "VoteDelay", voteDelay);
}
public void setVoteDelayDaily(String siteName, boolean value) {
set(siteName, "VoteDelayDaily", value);
}
/**
* Sets the vote URL.
*
@@ -432,13 +445,4 @@ public class ConfigVoteSites extends YMLFile {
return pass;
}
public void setForceOffline(String siteName, boolean value) {
set(siteName, "ForceOffline", value);
}
public void setVoteDelayDaily(String siteName, boolean value) {
set(siteName, "VoteDelayDaily", value);
}
}
@@ -78,7 +78,7 @@ public class ServerData {
getData().set("Signs." + count + ".Data", data);
getData().set("Signs." + count + ".Position", position);
saveData();
plugin.signs.add(new SignHandler("" + count, getSignLocation("" + count), getSignData("" + count),
plugin.getSigns().add(new SignHandler("" + count, getSignLocation("" + count), getSignData("" + count),
getSignPosition("" + count)));
}
@@ -0,0 +1,60 @@
package com.Ben12345rocks.VotingPlugin.Events;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import com.Ben12345rocks.VotingPlugin.Objects.User;
import lombok.Getter;
import lombok.Setter;
// TODO: Auto-generated Javadoc
/**
* The Class PlayerVoteEvent.
*/
public class PlayerReceivePointsEvent extends Event {
/** The Constant handlers. */
private static final HandlerList handlers = new HandlerList();
/**
* Gets the handler list.
*
* @return the handler list
*/
public static HandlerList getHandlerList() {
return handlers;
}
@Getter
@Setter
private User player;
@Getter
@Setter
private int points;
@Getter
@Setter
private boolean cancelled;
@Getter
@Setter
private String serviceSite = "";
public PlayerReceivePointsEvent(User user, int points) {
super(true);
setPlayer(user);
setPoints(points);
}
/*
* (non-Javadoc)
* @see org.bukkit.event.Event#getHandlers()
*/
@Override
public HandlerList getHandlers() {
return handlers;
}
}
@@ -5,6 +5,9 @@ import org.bukkit.event.HandlerList;
import com.Ben12345rocks.VotingPlugin.Objects.User;
import lombok.Getter;
import lombok.Setter;
// TODO: Auto-generated Javadoc
/**
* The Class PlayerVoteEvent.
@@ -23,36 +26,26 @@ public class PlayerSpecialRewardEvent extends Event {
return handlers;
}
@Getter
@Setter
private User user;
@Getter
@Setter
private SpecialRewardType type;
/**
* @return the type
*/
public SpecialRewardType getType() {
return type;
}
/**
* @param type
* the type to set
*/
public void setType(SpecialRewardType type) {
this.type = type;
}
/** The cancelled. */
@Getter
@Setter
private boolean cancelled;
public PlayerSpecialRewardEvent(User user, SpecialRewardType type) {
super();
super(true);
setType(type);
setUser(user);
}
/*
* (non-Javadoc)
*
* @see org.bukkit.event.Event#getHandlers()
*/
@Override
@@ -60,38 +53,4 @@ public class PlayerSpecialRewardEvent extends Event {
return handlers;
}
/**
* @return the user
*/
public User getUser() {
return user;
}
/**
* Checks if is cancelled.
*
* @return true, if is cancelled
*/
public boolean isCancelled() {
return cancelled;
}
/**
* Sets the cancelled.
*
* @param bln
* the new cancelled
*/
public void setCancelled(boolean bln) {
cancelled = bln;
}
/**
* @param user
* the user to set
*/
public void setUser(User user) {
this.user = user;
}
}
@@ -5,6 +5,9 @@ import org.bukkit.event.HandlerList;
import com.Ben12345rocks.VotingPlugin.Objects.VoteSite;
import lombok.Getter;
import lombok.Setter;
// TODO: Auto-generated Javadoc
/**
* The Class PlayerVoteEvent.
@@ -23,15 +26,26 @@ public class PlayerVoteEvent extends Event {
return handlers;
}
/** The player. */
@Getter
@Setter
private String player;
/** The vote site. */
@Getter
@Setter
private VoteSite voteSite;
/** The cancelled. */
@Getter
@Setter
private boolean cancelled;
@Getter
@Setter
private boolean realVote = true;
@Getter
@Setter
private String serviceSite = "";
public PlayerVoteEvent(VoteSite voteSite, String voteUsername, String serviceSite, boolean realVote) {
super(true);
setPlayer(voteUsername);
@@ -42,7 +56,6 @@ public class PlayerVoteEvent extends Event {
/*
* (non-Javadoc)
*
* @see org.bukkit.event.Event#getHandlers()
*/
@Override
@@ -50,81 +63,4 @@ public class PlayerVoteEvent extends Event {
return handlers;
}
/**
* Gets the player.
*
* @return the player
*/
public String getPlayer() {
return player;
}
/**
* Gets the vote site.
*
* @return the vote site
*/
public VoteSite getVoteSite() {
return voteSite;
}
/**
* Checks if is cancelled.
*
* @return true, if is cancelled
*/
public boolean isCancelled() {
return cancelled;
}
/**
* Sets the cancelled.
*
* @param bln
* the new cancelled
*/
public void setCancelled(boolean bln) {
cancelled = bln;
}
public void setPlayer(String voteUsername) {
this.player = voteUsername;
}
/**
* Sets the vote site.
*
* @param voteSite
* the new vote site
*/
public void setVoteSite(VoteSite voteSite) {
this.voteSite = voteSite;
}
private boolean realVote = true;
public void setRealVote(boolean b) {
realVote = b;
}
/**
* @return the realVote
*/
public boolean isRealVote() {
return realVote;
}
private String serviceSite = "";
public void setServiceSite(String value) {
serviceSite = value;
}
/**
* @return the serviceSite
*/
public String getServiceSite() {
return serviceSite;
}
}
@@ -1,16 +1,19 @@
package com.Ben12345rocks.VotingPlugin.Events;
import lombok.Getter;
public enum SpecialRewardType {
ALLSITE, CUMMULATIVE, MILESTONE, VOTESTREAK, FIRSTVOTE;
@Getter
private int amount = -1;
@Getter
private String type = "";
/**
* @return the type
*/
public String getType() {
return type;
public SpecialRewardType setAmount(int num) {
amount = num;
return this;
}
public SpecialRewardType setType(String type) {
@@ -18,16 +21,4 @@ public enum SpecialRewardType {
return this;
}
public SpecialRewardType setAmount(int num) {
amount = num;
return this;
}
/**
* @return the amount
*/
public int getAmount() {
return amount;
}
}
@@ -3,6 +3,9 @@ package com.Ben12345rocks.VotingPlugin.Events;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import lombok.Getter;
import lombok.Setter;
// TODO: Auto-generated Javadoc
/**
* The Class PlayerVoteEvent.
@@ -21,16 +24,16 @@ public class VotePartyEvent extends Event {
return handlers;
}
/** The cancelled. */
@Getter
@Setter
private boolean cancelled;
public VotePartyEvent() {
super();
super(true);
}
/*
* (non-Javadoc)
*
* @see org.bukkit.event.Event#getHandlers()
*/
@Override
@@ -38,23 +41,4 @@ public class VotePartyEvent extends Event {
return handlers;
}
/**
* Checks if is cancelled.
*
* @return true, if is cancelled
*/
public boolean isCancelled() {
return cancelled;
}
/**
* Sets the cancelled.
*
* @param bln
* the new cancelled
*/
public void setCancelled(boolean bln) {
cancelled = bln;
}
}
@@ -45,7 +45,7 @@ public class BlockBreak implements Listener {
@Override
public void run() {
for (SignHandler sign : plugin.signs) {
for (SignHandler sign : plugin.getSigns()) {
if (sign.getLocation().equals(loc)) {
sign.removeSign();
sign.setValid(false);
@@ -0,0 +1,48 @@
package com.Ben12345rocks.VotingPlugin.Listeners;
import java.util.ArrayList;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandSendEvent;
import com.Ben12345rocks.VotingPlugin.Main;
import com.Ben12345rocks.VotingPlugin.Commands.CommandLoader;
import com.Ben12345rocks.VotingPlugin.Config.Config;
// TODO: Auto-generated Javadoc
/**
* The Class PlayerJoinEvent.
*/
public class PlayerCommandSendListener implements Listener {
@SuppressWarnings("unused")
private static Main plugin;
public PlayerCommandSendListener(Main plugin) {
PlayerCommandSendListener.plugin = plugin;
}
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onTab(PlayerCommandSendEvent event) {
if (Config.getInstance().isDisableAdvancedTab()) {
return;
}
ArrayList<String> removeCmds = new ArrayList<String>();
ArrayList<String> whiteListed = new ArrayList<String>();
for (String cmd : event.getCommands()) {
if (CommandLoader.getInstance().isVotingPluginCommand(event.getPlayer(), cmd)) {
if (!CommandLoader.getInstance().hasPermission(event.getPlayer(), cmd) && !whiteListed.contains(cmd)) {
removeCmds.add(cmd);
// plugin.debug("removed " + cmd);
} else {
removeCmds.remove(cmd);
whiteListed.add(cmd);
// plugin.debug("has " + cmd);
}
}
}
event.getCommands().removeAll(removeCmds);
}
}
@@ -44,7 +44,7 @@ public class PlayerInteract implements Listener {
// plugin.debug("Checking for sign click");
if (event.getClickedBlock().getState() instanceof Sign) {
// plugin.debug(player.getName() + " right clicked a sign");
for (SignHandler sign : plugin.signs) {
for (SignHandler sign : plugin.getSigns()) {
if (sign.isLocationSame(event.getClickedBlock().getLocation())) {
// plugin.debug(player.getName() +
// " right clicked a top voter sign, sending message");
@@ -4,9 +4,9 @@ import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerLoginEvent;
import com.Ben12345rocks.AdvancedCore.AdvancedCoreHook;
import com.Ben12345rocks.AdvancedCore.Listeners.AdvancedCoreLoginEvent;
import com.Ben12345rocks.AdvancedCore.UserManager.UserStorage;
import com.Ben12345rocks.VotingPlugin.Main;
import com.Ben12345rocks.VotingPlugin.Objects.User;
@@ -19,6 +19,7 @@ import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
public class PlayerJoinEvent implements Listener {
/** The plugin. */
@SuppressWarnings("unused")
private static Main plugin;
/**
@@ -38,36 +39,22 @@ public class PlayerJoinEvent implements Listener {
* the event
*/
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onPlayerLogin(PlayerLoginEvent event) {
plugin.getServer().getScheduler().runTaskLaterAsynchronously(plugin, new Runnable() {
public void onPlayerLogin(AdvancedCoreLoginEvent event) {
if (event.getPlayer() == null || (AdvancedCoreHook.getInstance().getStorageType().equals(UserStorage.MYSQL)
&& AdvancedCoreHook.getInstance().getMysql() == null)) {
return;
}
Player player = event.getPlayer();
@Override
public void run() {
User user = UserManager.getInstance().getVotingPluginUser(player);
if (event.getPlayer() == null
|| (AdvancedCoreHook.getInstance().getStorageType().equals(UserStorage.MYSQL)
&& AdvancedCoreHook.getInstance().getMysql() == null)) {
return;
}
Player player = event.getPlayer();
// run remind
user.loginMessage();
if (player != null) {
User user = UserManager.getInstance().getVotingPluginUser(player);
// run remind
user.loginMessage();
if (user.getData().hasData()) {
// give offline vote (if they voted offline)
user.offVote();
}
}
}
}, 20L);
if (user.getData().hasData()) {
// give offline vote (if they voted offline)
user.offVote();
}
}
}
@@ -7,7 +7,6 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import com.Ben12345rocks.AdvancedCore.AdvancedCoreHook;
import com.Ben12345rocks.AdvancedCore.UserManager.UserStorage;
import com.Ben12345rocks.AdvancedCore.Util.Misc.ArrayUtils;
import com.Ben12345rocks.AdvancedCore.Util.Misc.PlayerUtils;
import com.Ben12345rocks.VotingPlugin.Main;
@@ -57,7 +56,7 @@ public class PlayerVoteListener implements Listener {
public void onplayerVote(PlayerVoteEvent event) {
String playerName = event.getPlayer();
if (!PlayerUtils.getInstance().isValidUser(playerName)) {
if (!config.allowUnJoined()) {
if (!config.isAllowUnjoined()) {
plugin.getLogger().warning("Player " + playerName
+ " has not joined before, disregarding vote, set AllowUnjoined to true to prevent this");
return;
@@ -68,7 +67,7 @@ public class PlayerVoteListener implements Listener {
// check valid service sites
if (voteSite == null) {
if (!Config.getInstance().getDisableNoServiceSiteMessage()) {
if (!Config.getInstance().isDisableNoServiceSiteMessage()) {
plugin.getLogger().warning("No voting site with the service site: '" + event.getServiceSite() + "'");
plugin.getLogger().warning(
"Please read here on how to fix it: https://github.com/Ben12345rocks/VotingPlugin/wiki/Common-Problems");
@@ -84,6 +83,16 @@ public class PlayerVoteListener implements Listener {
}
User user = UserManager.getInstance().getVotingPluginUser(playerName);
user.updateName();
if (Config.getInstance().isClearCacheOnVote()) {
user.clearCache();
}
if (voteSite.isWaitUntilVoteDelay() && !user.canVoteSite(voteSite)) {
plugin.getLogger().info(user.getPlayerName() + " must wait until votedelay is over, ignoring vote");
return;
}
synchronized (object) {
@@ -91,7 +100,7 @@ public class PlayerVoteListener implements Listener {
VoteParty.getInstance().vote(user, event.isRealVote());
// broadcast vote if enabled in config
if (config.getBroadCastVotesEnabled()) {
if (config.isBroadcastVotesEnabled()) {
if (!Config.getInstance().getFormatBroadcastWhenOnline() || user.isOnline()) {
voteSite.broadcastVote(user);
}
@@ -109,7 +118,8 @@ public class PlayerVoteListener implements Listener {
// check if player has voted on all sites in one day
if (user.isOnline() || voteSite.isGiveOffline()) {
if ((user.isOnline() || voteSite.isGiveOffline())
&& AdvancedCoreHook.getInstance().getOptions().isProcessRewards()) {
user.playerVote(voteSite, true, false);
user.closeInv();
} else {
@@ -119,8 +129,8 @@ public class PlayerVoteListener implements Listener {
}
// add to total votes
if (Config.getInstance().getCountFakeVotes() || event.isRealVote()) {
if (Config.getInstance().getAddTotals()) {
if (Config.getInstance().isCountFakeVotes() || event.isRealVote()) {
if (Config.getInstance().isAddTotals()) {
user.addTotal();
user.addTotalDaily();
user.addTotalWeekly();
@@ -128,16 +138,12 @@ public class PlayerVoteListener implements Listener {
user.addPoints();
}
user.checkDayVoteStreak();
// other rewards
SpecialRewards.getInstance().checkAllSites(user);
SpecialRewards.getInstance().checkCumualativeVotes(user);
SpecialRewards.getInstance().checkMilestone(user);
if (Config.getInstance().getClearCacheOnVote()) {
if (AdvancedCoreHook.getInstance().getStorageType().equals(UserStorage.MYSQL)) {
AdvancedCoreHook.getInstance().getMysql().removePlayer(user.getUUID());
}
}
}
plugin.setUpdate(true);
@@ -78,12 +78,12 @@ public class VotiferEvent implements Listener {
ArrayList<String> sites = configVoteSites.getVoteSitesNames();
if (sites != null) {
if (!sites.contains(voteSiteName) && Config.getInstance().getAutoCreateVoteSites()) {
if (!sites.contains(voteSiteName) && Config.getInstance().isAutoCreateVoteSites()) {
plugin.getLogger()
.warning("VoteSite " + voteSiteName + " doe not exist, generaterating one...");
ConfigVoteSites.getInstance().generateVoteSite(voteSiteName);
}
} else if (Config.getInstance().getAutoCreateVoteSites()) {
} else if (Config.getInstance().isAutoCreateVoteSites()) {
plugin.getLogger().warning("VoteSite " + voteSiteName + " doe not exist, generaterating one...");
ConfigVoteSites.getInstance().generateVoteSite(voteSiteName);
}
@@ -16,6 +16,7 @@ import java.util.Timer;
import java.util.TimerTask;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
@@ -27,9 +28,14 @@ import org.bukkit.plugin.java.JavaPlugin;
import com.Ben12345rocks.AdvancedCore.AdvancedCoreHook;
import com.Ben12345rocks.AdvancedCore.CommandAPI.CommandHandler;
import com.Ben12345rocks.AdvancedCore.NMSManager.NMSManager;
import com.Ben12345rocks.AdvancedCore.Rewards.Reward;
import com.Ben12345rocks.AdvancedCore.Rewards.RewardHandler;
import com.Ben12345rocks.AdvancedCore.Rewards.Injected.RewardInjectInt;
import com.Ben12345rocks.AdvancedCore.UserManager.UUID;
import com.Ben12345rocks.AdvancedCore.UserManager.UserStorage;
import com.Ben12345rocks.AdvancedCore.Util.EditGUI.EditGUIButton;
import com.Ben12345rocks.AdvancedCore.Util.EditGUI.ValueTypes.EditGUIValueNumber;
import com.Ben12345rocks.AdvancedCore.Util.Item.ItemBuilder;
import com.Ben12345rocks.AdvancedCore.Util.Javascript.JavascriptPlaceholderRequest;
import com.Ben12345rocks.AdvancedCore.Util.Logger.Logger;
import com.Ben12345rocks.AdvancedCore.Util.Metrics.BStatsMetrics;
@@ -47,6 +53,7 @@ import com.Ben12345rocks.VotingPlugin.Config.Config;
import com.Ben12345rocks.VotingPlugin.Config.ConfigVoteSites;
import com.Ben12345rocks.VotingPlugin.Data.ServerData;
import com.Ben12345rocks.VotingPlugin.Listeners.BlockBreak;
import com.Ben12345rocks.VotingPlugin.Listeners.PlayerCommandSendListener;
import com.Ben12345rocks.VotingPlugin.Listeners.PlayerInteract;
import com.Ben12345rocks.VotingPlugin.Listeners.PlayerJoinEvent;
import com.Ben12345rocks.VotingPlugin.Listeners.PlayerVoteListener;
@@ -61,10 +68,14 @@ import com.Ben12345rocks.VotingPlugin.TopVoter.TopVoter;
import com.Ben12345rocks.VotingPlugin.TopVoter.TopVoterHandler;
import com.Ben12345rocks.VotingPlugin.Updater.CheckUpdate;
import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
import com.Ben12345rocks.VotingPlugin.Util.PlaceHolders.MVdWPlaceholders;
import com.Ben12345rocks.VotingPlugin.Util.PlaceHolders.PlaceHolders;
import com.Ben12345rocks.VotingPlugin.VoteParty.VoteParty;
import com.Ben12345rocks.VotingPlugin.VoteReminding.VoteReminding;
import lombok.Getter;
import lombok.Setter;
/**
* The Class Main.
*/
@@ -79,48 +90,49 @@ public class Main extends JavaPlugin {
/** The plugin. */
public static Main plugin;
@Getter
private LinkedHashMap<TopVoter, LinkedHashMap<User, Integer>> topVoter;
/**
* @return the topVoter
*/
public LinkedHashMap<TopVoter, LinkedHashMap<User, Integer>> getTopVoter() {
return topVoter;
}
@Getter
@Setter
private Updater updater;
public LinkedHashMap<User, Integer> getTopVoter(TopVoter top) {
return topVoter.get(top);
}
@Getter
@Setter
private ArrayList<CommandHandler> voteCommand;
/** The updater. */
public Updater updater;
@Getter
@Setter
private ArrayList<CommandHandler> adminVoteCommand;
/** The vote command. */
public ArrayList<CommandHandler> voteCommand;
/** The admin vote command. */
public ArrayList<CommandHandler> adminVoteCommand;
/** The vote sites. */
@Getter
private List<VoteSite> voteSites;
/** The vote today. */
public LinkedHashMap<User, HashMap<VoteSite, LocalDateTime>> voteToday;
@Getter
private LinkedHashMap<User, HashMap<VoteSite, LocalDateTime>> voteToday;
/** The signs. */
public ArrayList<SignHandler> signs;
@Getter
@Setter
private ArrayList<SignHandler> signs;
/** The vote log. */
public Logger voteLog;
@Getter
private Logger voteLog;
@Getter
@Setter
private boolean update = true;
@Getter
private boolean updateStarted = false;
public AdvancedCoreHook getAdvancedCoreHook() {
return AdvancedCoreHook.getInstance();
}
/**
* Check votifier.
*/
public void checkVotifier() {
private void checkVotifier() {
try {
Class.forName("com.vexsoftware.votifier.model.VotifierEvent");
} catch (ClassNotFoundException e) {
@@ -215,30 +227,8 @@ public class Main extends JavaPlugin {
AdvancedCoreHook.getInstance().debug(plugin, message);
}
public ArrayList<CommandHandler> getAdminVoteCommand() {
return adminVoteCommand;
}
public ArrayList<SignHandler> getSigns() {
return signs;
}
/*
* public LinkedHashMap<User, Integer> getTopVoterAllTime() { return
* topVoterAllTime; }
*
* public LinkedHashMap<User, Integer> getTopVoterDaily() { return
* topVoterDaily; }
*
* public LinkedHashMap<User, Integer> getTopVoterMonthly() { return
* topVoterMonthly; }
*
* public LinkedHashMap<User, Integer> getTopVoterWeekly() { return
* topVoterWeekly; }
*/
public Updater getUpdater() {
return updater;
public LinkedHashMap<User, Integer> getTopVoter(TopVoter top) {
return topVoter.get(top);
}
/**
@@ -256,14 +246,6 @@ public class Main extends JavaPlugin {
return UserManager.getInstance();
}
public ArrayList<CommandHandler> getVoteCommand() {
return voteCommand;
}
public Logger getVoteLog() {
return voteLog;
}
public VoteParty getVoteParty() {
return VoteParty.getInstance();
}
@@ -282,7 +264,7 @@ public class Main extends JavaPlugin {
return voteSite;
}
}
if (Config.getInstance().getAutoCreateVoteSites() && !configVoteSites.getVoteSitesNames().contains(siteName)) {
if (Config.getInstance().isAutoCreateVoteSites() && !configVoteSites.getVoteSitesNames().contains(siteName)) {
configVoteSites.generateVoteSite(siteName);
return new VoteSite(siteName.replace(".", "_"));
}
@@ -343,14 +325,6 @@ public class Main extends JavaPlugin {
}
public List<VoteSite> getVoteSites() {
return voteSites;
}
public LinkedHashMap<User, HashMap<VoteSite, LocalDateTime>> getVoteToday() {
return voteToday;
}
public boolean hasVoteSite(String site) {
String siteName = getVoteSiteName(site);
for (VoteSite voteSite : getVoteSites()) {
@@ -361,14 +335,6 @@ public class Main extends JavaPlugin {
return false;
}
public boolean isUpdate() {
return update;
}
public boolean isUpdateStarted() {
return updateStarted;
}
private void loadTimer() {
Bukkit.getScheduler().runTaskLaterAsynchronously(plugin, new Runnable() {
@@ -413,7 +379,7 @@ public class Main extends JavaPlugin {
* the vote site
*/
public void logVote(Date date, String playerName, String voteSite) {
if (Config.getInstance().getLogVotesToFile()) {
if (Config.getInstance().isLogVotesToFile()) {
String str = new SimpleDateFormat("EEE, d MMM yyyy HH:mm").format(date);
voteLog.logToFile(str + ": " + playerName + " voted on " + voteSite);
}
@@ -592,14 +558,14 @@ public class Main extends JavaPlugin {
@Override
public String getValue() {
return "" + Config.getInstance().getAutoCreateVoteSites();
return "" + Config.getInstance().isAutoCreateVoteSites();
}
});
metrics.addCustomChart(new BStatsMetrics.SimplePie("sendscoreboards") {
@Override
public String getValue() {
return "" + Config.getInstance().getSendScoreboards();
return "" + AdvancedCoreHook.getInstance().getOptions().isSendScoreboards();
}
});
metrics.addCustomChart(new BStatsMetrics.SimplePie("numberofuser") {
@@ -618,14 +584,14 @@ public class Main extends JavaPlugin {
@Override
public String getValue() {
return Config.getInstance().getDataStorage().toUpperCase();
return AdvancedCoreHook.getInstance().getOptions().getStorageType().toString();
}
});
metrics.addCustomChart(new BStatsMetrics.SimplePie("DisableCheckOnWorldChange") {
@Override
public String getValue() {
return "" + Config.getInstance().getDisableCheckOnWorldChange();
return "" + AdvancedCoreHook.getInstance().getOptions().isDisableCheckOnWorldChange();
}
});
metrics.addCustomChart(new BStatsMetrics.SimplePie("votereminding_enabled") {
@@ -639,56 +605,56 @@ public class Main extends JavaPlugin {
@Override
public String getValue() {
return "" + Config.getInstance().getCommandsUseGUIToday();
return "" + Config.getInstance().isCommandsUseGUIToday();
}
});
metrics.addCustomChart(new BStatsMetrics.SimplePie("UseGUI_TopVoter") {
@Override
public String getValue() {
return "" + Config.getInstance().getCommandsUseGUITopVoter();
return "" + Config.getInstance().isCommandsUseGUITopVoter();
}
});
metrics.addCustomChart(new BStatsMetrics.SimplePie("UseGUI_Last") {
@Override
public String getValue() {
return "" + Config.getInstance().getCommandsUseGUILast();
return "" + Config.getInstance().isCommandsUseGUILast();
}
});
metrics.addCustomChart(new BStatsMetrics.SimplePie("UseGUI_Next") {
@Override
public String getValue() {
return "" + Config.getInstance().getCommandsUseGUINext();
return "" + Config.getInstance().isCommandsUseGUINext();
}
});
metrics.addCustomChart(new BStatsMetrics.SimplePie("UseGUI_Total") {
@Override
public String getValue() {
return "" + Config.getInstance().getCommandsUseGUITotal();
return "" + Config.getInstance().isCommandsUseGUITotal();
}
});
metrics.addCustomChart(new BStatsMetrics.SimplePie("UseGUI_Vote") {
@Override
public String getValue() {
return "" + Config.getInstance().getCommandsUseGUIVote();
return "" + Config.getInstance().isCommandsUseGUIVote();
}
});
metrics.addCustomChart(new BStatsMetrics.SimplePie("UseGUI_Best") {
@Override
public String getValue() {
return "" + Config.getInstance().getCommandsUseGUIBest();
return "" + Config.getInstance().isCommandsUseGUIBest();
}
});
metrics.addCustomChart(new BStatsMetrics.SimplePie("UseGUI_Streak") {
@Override
public String getValue() {
return "" + Config.getInstance().getCommandsUseGUIStreak();
return "" + Config.getInstance().isCommandsUseGUIStreak();
}
});
metrics.addCustomChart(new BStatsMetrics.SimplePie("LoadTopVoter_Monthly") {
@@ -716,7 +682,6 @@ public class Main extends JavaPlugin {
/*
* (non-Javadoc)
*
* @see org.bukkit.plugin.java.JavaPlugin#onDisable()
*/
@Override
@@ -734,7 +699,6 @@ public class Main extends JavaPlugin {
/*
* (non-Javadoc)
*
* @see org.bukkit.plugin.java.JavaPlugin#onEnable()
*/
@Override
@@ -749,15 +713,13 @@ public class Main extends JavaPlugin {
registerCommands();
registerEvents();
checkVotifier();
CheckUpdate.getInstance().startUp();
VoteReminding.getInstance().loadRemindChecking();
plugin.signs = new ArrayList<SignHandler>();
Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override
public void run() {
Signs.getInstance().loadSigns();
@@ -769,11 +731,11 @@ public class Main extends JavaPlugin {
topVoter.put(top, new LinkedHashMap<User, Integer>());
}
voteToday = new LinkedHashMap<User, HashMap<VoteSite, LocalDateTime>>();
voteLog = new Logger(plugin, new File(plugin.getDataFolder() + File.separator + "Log", "votelog.txt"));
AdminGUI.getInstance().loadHook();
// vote party
if (Config.getInstance().getVotePartyEnabled()) {
VoteParty.getInstance().check();
}
@@ -795,6 +757,10 @@ public class Main extends JavaPlugin {
PlaceHolders.getInstance().load();
if (Bukkit.getPluginManager().isPluginEnabled("MVdWPlaceholderAPI")) {
MVdWPlaceholders.getInstance().loadMVdWPlaceholders();
}
// set columns
if (AdvancedCoreHook.getInstance().getStorageType().equals(UserStorage.MYSQL)) {
AdvancedCoreHook.getInstance().getMysql().alterColumnType("TopVoterIgnore", "VARCHAR(5)");
@@ -802,7 +768,7 @@ public class Main extends JavaPlugin {
AdvancedCoreHook.getInstance().getMysql().alterColumnType("Reminded", "VARCHAR(5)");
AdvancedCoreHook.getInstance().getMysql().alterColumnType("DisableBroadcast", "VARCHAR(5)");
AdvancedCoreHook.getInstance().getMysql().alterColumnType("LastOnline", "VARCHAR(20)");
AdvancedCoreHook.getInstance().getMysql().alterColumnType("PlayerName", "VARCHAR(20)");
AdvancedCoreHook.getInstance().getMysql().alterColumnType("PlayerName", "VARCHAR(30)");
AdvancedCoreHook.getInstance().getMysql().alterColumnType("DailyTotal", "INT DEFAULT '0'");
AdvancedCoreHook.getInstance().getMysql().alterColumnType("WeeklyTotal", "INT DEFAULT '0'");
AdvancedCoreHook.getInstance().getMysql().alterColumnType("DayVoteStreak", "INT DEFAULT '0'");
@@ -820,19 +786,34 @@ public class Main extends JavaPlugin {
AdvancedCoreHook.getInstance().getMysql().alterColumnType("MonthTotal", "INT DEFAULT '0'");
AdvancedCoreHook.getInstance().getMysql().alterColumnType("HighestWeeklyTotal", "INT DEFAULT '0'");
AdvancedCoreHook.getInstance().getMysql().alterColumnType("LastMonthTotal", "INT DEFAULT '0'");
}
RewardHandler.getInstance().getInjectedRewards().add(new RewardInjectInt("Points", 0) {
@Override
public void onRewardRequest(Reward reward, com.Ben12345rocks.AdvancedCore.UserManager.User user, int num,
HashMap<String, String> placeholders) {
UserManager.getInstance().getVotingPluginUser(user).addPoints(num);
}
}.addEditButton(new EditGUIButton(new ItemBuilder(Material.PAPER), new EditGUIValueNumber("Points", null) {
@Override
public void setValue(Player player, Number value) {
Reward reward = (Reward) getInv().getData("Reward");
reward.getConfig().set("Points", value.intValue());
}
})));
plugin.getLogger().info("Enabled VotingPlugin " + plugin.getDescription().getVersion());
boolean hasRewards = RewardHandler.getInstance().hasRewards(ConfigVoteSites.getInstance().getData(),
ConfigVoteSites.getInstance().getEverySiteRewardPath());
boolean noIssues = true;
boolean issues = true;
ArrayList<String> services = ServerData.getInstance().getServiceSites();
for (VoteSite site : getVoteSites()) {
if (!site.hasRewards() && !hasRewards) {
noIssues = false;
issues = false;
plugin.getLogger().warning("No rewards detected for the site: " + site.getKey()
+ ". See https://github.com/Ben12345rocks/AdvancedCore/wiki/Rewards on how to add rewards");
}
@@ -844,13 +825,13 @@ public class Main extends JavaPlugin {
}
}
if (!contains) {
noIssues = false;
issues = false;
plugin.getLogger().warning("No vote has been recieved from " + site.getServiceSite()
+ ", may be an invalid service site. Vote on the site and look in console for a service site, if you get nothing then there is an issue with votifier");
}
}
if (!noIssues) {
if (!issues) {
Bukkit.getScheduler().runTaskLaterAsynchronously(plugin, new Runnable() {
@Override
@@ -862,8 +843,8 @@ public class Main extends JavaPlugin {
}
if (NMSManager.getInstance().isVersion("1.7", "1.8", "1.9", "1.10", "1.11", "1.12")) {
plugin.getLogger().warning("Detected running " + NMSManager.getInstance().getVersion()
+ ", this version is not supported on this build");
plugin.getLogger().severe("Detected running " + NMSManager.getInstance().getVersion()
+ ", this version is not supported on this build. Support is limited");
}
}
@@ -908,14 +889,11 @@ public class Main extends JavaPlugin {
pm.registerEvents(new PlayerJoinEvent(this), this);
pm.registerEvents(new VotiferEvent(this), this);
pm.registerEvents(new PlayerVoteListener(this), this);
pm.registerEvents(new SignChange(this), this);
pm.registerEvents(new BlockBreak(this), this);
pm.registerEvents(new PlayerInteract(this), this);
pm.registerEvents(new VotingPluginUpdateEvent(this), this);
pm.registerEvents(new PlayerCommandSendListener(this), this);
plugin.debug("Loaded Events");
@@ -934,18 +912,9 @@ public class Main extends JavaPlugin {
AdvancedCoreHook.getInstance().setConfigData(Config.getInstance().getData());
AdvancedCoreHook.getInstance().reload();
PlaceHolders.getInstance().load();
// loadTimer();
}
public void setUpdate(boolean update) {
this.update = update;
}
/**
* Setup files.
*/
public void setupFiles() {
private void setupFiles() {
try {
config = Config.getInstance();
config.setup();
@@ -985,55 +954,60 @@ public class Main extends JavaPlugin {
* Update.
*/
public void update() {
if (update && plugin != null && !updateStarted) {
updateStarted = true;
update = false;
if (update || Config.getInstance().isAlwaysUpdate()) {
if (!updateStarted && plugin != null) {
if (!Config.getInstance().isUpdateWithPlayersOnlineOnly() || Bukkit.getOnlinePlayers().size() != 0) {
updateStarted = true;
update = false;
synchronized (plugin) {
if (AdvancedCoreHook.getInstance().getStorageType().equals(UserStorage.MYSQL)) {
if (AdvancedCoreHook.getInstance().getMysql() == null) {
plugin.debug("MySQL not loaded yet");
return;
} else if (Config.getInstance().getClearCacheOnUpdate()) {
AdvancedCoreHook.getInstance().getMysql().clearCache();
} else {
AdvancedCoreHook.getInstance().getMysql().clearCacheBasic();
}
}
synchronized (plugin) {
if (AdvancedCoreHook.getInstance().getStorageType().equals(UserStorage.MYSQL)) {
if (AdvancedCoreHook.getInstance().getMysql() == null) {
plugin.debug("MySQL not loaded yet");
return;
} else if (Config.getInstance().isClearCacheOnUpdate()) {
AdvancedCoreHook.getInstance().getMysql().clearCache();
} else {
AdvancedCoreHook.getInstance().getMysql().clearCacheBasic();
}
}
plugin.debug("Starting background task");
long time = System.currentTimeMillis();
try {
ArrayList<String> uuids = UserManager.getInstance().getAllUUIDs();
ArrayList<User> users = new ArrayList<User>();
for (String uuid : uuids) {
if (uuid != null && !uuid.isEmpty()) {
User user = UserManager.getInstance().getVotingPluginUser(new UUID(uuid));
users.add(user);
// AdvancedCoreHook.getInstance().extraDebug("Loading " + uuid);
// java.lang.Thread.sleep(5000);
plugin.debug("Starting background task");
long time = System.currentTimeMillis();
try {
ArrayList<String> uuids = UserManager.getInstance().getAllUUIDs();
ArrayList<User> users = new ArrayList<User>();
for (String uuid : uuids) {
if (uuid != null && !uuid.isEmpty()) {
User user = UserManager.getInstance().getVotingPluginUser(new UUID(uuid));
users.add(user);
// AdvancedCoreHook.getInstance().extraDebug("Loading " + uuid);
// java.lang.Thread.sleep(5000);
}
}
update = false;
long time1 = ((System.currentTimeMillis() - time) / 1000);
plugin.debug("Finished loading player data in " + time1 + " seconds, " + users.size()
+ " users");
TopVoterHandler.getInstance().updateTopVoters(users);
Commands.getInstance().updateVoteToday(users);
ServerData.getInstance().updateValues();
Signs.getInstance().updateSigns();
for (Player player : Bukkit.getOnlinePlayers()) {
UserManager.getInstance().getVotingPluginUser(player).offVote();
}
time1 = ((System.currentTimeMillis() - time) / 1000);
plugin.debug("Background task finished in " + time1 + " seconds");
} catch (Exception ex) {
ex.printStackTrace();
plugin.getLogger().info("Looks like something went wrong.");
}
}
update = false;
long time1 = ((System.currentTimeMillis() - time) / 1000);
plugin.debug("Finished loading player data in " + time1 + " seconds, " + users.size() + " users");
TopVoterHandler.getInstance().updateTopVoters(users);
Commands.getInstance().updateVoteToday(users);
ServerData.getInstance().updateValues();
Signs.getInstance().updateSigns();
for (Player player : Bukkit.getOnlinePlayers()) {
UserManager.getInstance().getVotingPluginUser(player).offVote();
}
time1 = ((System.currentTimeMillis() - time) / 1000);
plugin.debug("Background task finished in " + time1 + " seconds");
} catch (Exception ex) {
ex.printStackTrace();
plugin.getLogger().info("Looks like something went wrong.");
updateStarted = false;
}
}
updateStarted = false;
}
}
@@ -11,6 +11,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.stream.Collectors;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import com.Ben12345rocks.AdvancedCore.AdvancedCoreHook;
@@ -23,6 +24,7 @@ import com.Ben12345rocks.AdvancedCore.Util.Misc.StringUtils;
import com.Ben12345rocks.VotingPlugin.Main;
import com.Ben12345rocks.VotingPlugin.Config.Config;
import com.Ben12345rocks.VotingPlugin.Config.ConfigVoteSites;
import com.Ben12345rocks.VotingPlugin.Events.PlayerReceivePointsEvent;
import com.Ben12345rocks.VotingPlugin.SpecialRewards.SpecialRewards;
import com.Ben12345rocks.VotingPlugin.TopVoter.TopVoter;
import com.Ben12345rocks.VotingPlugin.VoteParty.VoteParty;
@@ -111,6 +113,47 @@ public class User extends com.Ben12345rocks.AdvancedCore.UserManager.User {
setOfflineVotes(offlineVotes);
}
public boolean hasPercentageTotal(TopVoter top, double percentage, LocalDateTime time) {
int total = getTotal(top);
switch (top) {
case Daily:
return total / plugin.getVoteSites().size() * 100 > percentage;
case Monthly:
return total / (plugin.getVoteSites().size() * time.getMonth().length(false)) * 100 > percentage;
case Weekly:
return total / (plugin.getVoteSites().size() * 7) * 100 > percentage;
default:
return false;
}
}
public void checkDayVoteStreak() {
if (!voteStreakUpdatedToday(LocalDateTime.now())) {
if (!Config.getInstance().isVoteStreakRequirementUsePercentage()
|| hasPercentageTotal(TopVoter.Daily, Config.getInstance().getVoteStreakRequirementDay(), null)) {
addDayVoteStreak();
SpecialRewards.getInstance().checkVoteStreak(this, "Day");
setDayVoteStreakLastUpdate(System.currentTimeMillis());
}
}
}
public boolean voteStreakUpdatedToday(LocalDateTime time) {
return MiscUtils.getInstance().getTime(getDayVoteStreakLastUpdate()).getDayOfYear() == time.getDayOfYear();
}
public long getDayVoteStreakLastUpdate() {
String str = getData().getString("DayVoteStreakLastUpdate");
if (str.isEmpty()) {
return 0;
}
return Long.parseLong(str);
}
public void setDayVoteStreakLastUpdate(long time) {
getData().setString("DayVoteStreakLastUpdate", "" + time);
}
/**
* Adds the points.
*/
@@ -128,7 +171,14 @@ public class User extends com.Ben12345rocks.AdvancedCore.UserManager.User {
* the value
*/
public void addPoints(int value) {
setPoints(getPoints() + value);
PlayerReceivePointsEvent event = new PlayerReceivePointsEvent(this, value);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
setPoints(getPoints() + event.getPoints());
}
/**
@@ -356,9 +406,9 @@ public class User extends com.Ben12345rocks.AdvancedCore.UserManager.User {
for (VoteSite voteSite : plugin.getVoteSites()) {
times.put(voteSite, getTime(voteSite));
}
LinkedHashMap<VoteSite, Long> sorted = (LinkedHashMap<VoteSite, Long>) times.entrySet().stream()
.sorted(Collections.reverseOrder(Map.Entry.comparingByValue()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
LinkedHashMap<VoteSite, Long> sorted = new LinkedHashMap<>(
times.entrySet().stream().sorted(Collections.reverseOrder(Map.Entry.comparingByValue()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)));
return sorted;
}
@@ -371,14 +421,6 @@ public class User extends com.Ben12345rocks.AdvancedCore.UserManager.User {
return getData().getInt("MonthTotal");
}
public int getVoteShopIdentifierLimit(String identifier) {
return getData().getInt("VoteShopLimit" + identifier);
}
public void setVoteShopIdentifierLimit(String identifier, int value) {
getData().setInt("VoteShopLimit" + identifier, value);
}
public int getMonthVoteStreak() {
return getData().getInt("MonthVoteStreak");
}
@@ -415,10 +457,30 @@ public class User extends com.Ben12345rocks.AdvancedCore.UserManager.User {
return 0;
}
public int getTotal(TopVoter top) {
switch (top) {
case AllTime:
return getUserData().getInt("AllTimeTotal");
case Daily:
return getUserData().getInt("DailyTotal");
case Monthly:
return getData().getInt("MonthTotal");
case Weekly:
return getUserData().getInt("WeeklyTotal");
default:
break;
}
return 0;
}
public int getVotePartyVotes() {
return getUserData().getInt("VotePartyVotes");
}
public int getVoteShopIdentifierLimit(String identifier) {
return getData().getInt("VoteShopLimit" + identifier);
}
@Deprecated
public int getWeeklyTotal() {
return getUserData().getInt("WeeklyTotal");
@@ -430,12 +492,14 @@ public class User extends com.Ben12345rocks.AdvancedCore.UserManager.User {
public void giveDailyTopVoterAward(int place, String path) {
new RewardBuilder(Config.getInstance().getData(), Config.getInstance().getDailyAwardRewardsPath(path))
.withPlaceHolder("place", "" + place).withPlaceHolder("topvoter", "Daily").send(this);
.withPlaceHolder("place", "" + place).withPlaceHolder("topvoter", "Daily").setOnline(isOnline())
.send(this);
}
public void giveMonthlyTopVoterAward(int place, String path) {
new RewardBuilder(Config.getInstance().getData(), Config.getInstance().getMonthlyAwardRewardsPath(path))
.withPlaceHolder("place", "" + place).withPlaceHolder("topvoter", "Monthly").send(this);
.withPlaceHolder("place", "" + place).withPlaceHolder("topvoter", "Monthly").setOnline(isOnline())
.send(this);
}
public void giveOfflineOtherRewards() {
@@ -490,7 +554,8 @@ public class User extends com.Ben12345rocks.AdvancedCore.UserManager.User {
public void giveWeeklyTopVoterAward(int place, String path) {
new RewardBuilder(Config.getInstance().getData(), Config.getInstance().getWeeklyAwardRewardsPath(path))
.withPlaceHolder("place", "" + place).withPlaceHolder("topvoter", "Weekly").send(this);
.withPlaceHolder("place", "" + place).withPlaceHolder("topvoter", "Weekly").setOnline(isOnline())
.send(this);
}
/**
@@ -499,7 +564,7 @@ public class User extends com.Ben12345rocks.AdvancedCore.UserManager.User {
* @return true if user got the first vote reward
*/
public boolean hasGottenFirstVote() {
return getAllTimeTotal() != 0;
return getTotal(TopVoter.AllTime) != 0;
}
/**
@@ -518,11 +583,11 @@ public class User extends com.Ben12345rocks.AdvancedCore.UserManager.User {
}
public boolean isReminded() {
return Boolean.valueOf(getUserData().getString("Reminded"));
return getUserData().getBoolean("Reminded");
}
public boolean isTopVoterIgnore() {
return Boolean.valueOf(getUserData().getString("TopVoterIgnore"));
return getUserData().getBoolean("TopVoterIgnore");
}
/**
@@ -538,6 +603,10 @@ public class User extends com.Ben12345rocks.AdvancedCore.UserManager.User {
* Off vote.
*/
public void offVote() {
if (!AdvancedCoreHook.getInstance().getOptions().isProcessRewards()) {
AdvancedCoreHook.getInstance().debug("Processing rewards is disabled");
return;
}
AdvancedCoreHook.getInstance().extraDebug("Checking offline vote site votes");
Player player = getPlayer();
if (player != null) {
@@ -577,54 +646,13 @@ public class User extends com.Ben12345rocks.AdvancedCore.UserManager.User {
* the broadcast
*/
public void playerVote(VoteSite voteSite, boolean online, boolean broadcast) {
if (Config.getInstance().getFormatBroadcastWhenOnline() && Config.getInstance().getBroadCastVotesEnabled()
if (Config.getInstance().getFormatBroadcastWhenOnline() && Config.getInstance().isBroadcastVotesEnabled()
&& broadcast) {
voteSite.broadcastVote(this);
}
voteSite.giveRewards(this, online);
}
public int getTotal(TopVoter top) {
switch (top) {
case AllTime:
return getUserData().getInt("AllTimeTotal");
case Daily:
return getUserData().getInt("DailyTotal");
case Monthly:
return getData().getInt("MonthTotal");
case Weekly:
return getUserData().getInt("WeeklyTotal");
}
return 0;
}
public void setTotal(TopVoter top, int value) {
switch (top) {
case AllTime:
getUserData().setInt("AllTimeTotal", value);
break;
case Daily:
getUserData().setInt("DailyTotal", value);
break;
case Monthly:
getData().setInt("MonthTotal", value);
break;
case Weekly:
getUserData().setInt("WeeklyTotal", value);
break;
default:
break;
}
}
public void resetTotals(TopVoter topVoter) {
if (topVoter.equals(TopVoter.Monthly)) {
setLastMonthTotal(getTotal(TopVoter.Monthly));
}
setTotal(topVoter, 0);
}
/**
* Removes the points.
*
@@ -640,6 +668,13 @@ public class User extends com.Ben12345rocks.AdvancedCore.UserManager.User {
return false;
}
public void resetTotals(TopVoter topVoter) {
if (topVoter.equals(TopVoter.Monthly)) {
setLastMonthTotal(getTotal(TopVoter.Monthly));
}
setTotal(topVoter, 0);
}
/**
* Send vote effects.
*
@@ -776,10 +811,34 @@ public class User extends com.Ben12345rocks.AdvancedCore.UserManager.User {
getUserData().setString("TopVoterIgnore", "" + topVoterIgnore);
}
public void setTotal(TopVoter top, int value) {
switch (top) {
case AllTime:
getUserData().setInt("AllTimeTotal", value);
break;
case Daily:
getUserData().setInt("DailyTotal", value);
break;
case Monthly:
getData().setInt("MonthTotal", value);
break;
case Weekly:
getUserData().setInt("WeeklyTotal", value);
break;
default:
break;
}
}
public void setVotePartyVotes(int value) {
getUserData().setInt("VotePartyVotes", value);
}
public void setVoteShopIdentifierLimit(String identifier, int value) {
getData().setInt("VoteShopLimit" + identifier, value);
}
@Deprecated
public void setWeeklyTotal(int total) {
getUserData().setInt("WeeklyTotal", total);
@@ -20,6 +20,9 @@ import com.Ben12345rocks.VotingPlugin.Config.ConfigVoteSites;
import com.Ben12345rocks.VotingPlugin.Data.ServerData;
import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
import lombok.Getter;
import lombok.Setter;
/**
* The Class VoteSite.
*/
@@ -34,32 +37,49 @@ public class VoteSite {
/** The plugin. */
static Main plugin = Main.plugin;
/** The vote URL. */
@Getter
@Setter
private String voteURL;
/** The service site. */
@Getter
@Setter
private String serviceSite;
/** The site name. */
@Getter
@Setter
private String key;
@Getter
@Setter
private String displayName;
/** The vote delay. */
@Getter
@Setter
private double voteDelay;
/** The enabled. */
@Getter
@Setter
private boolean enabled;
@Getter
@Setter
private boolean voteDelayDaily;
/** The priority. */
@Getter
@Setter
private int priority;
@Setter
private ConfigurationSection item;
@Getter
@Setter
private boolean giveOffline;
@Getter
@Setter
private boolean waitUntilVoteDelay;
/**
* Instantiates a new vote site.
*
@@ -109,13 +129,6 @@ public class VoteSite {
}
}
/**
* @return the displayName
*/
public String getDisplayName() {
return displayName;
}
/**
* @return the item
*/
@@ -129,49 +142,6 @@ public class VoteSite {
}
}
/**
* @return the key
*/
public String getKey() {
return key;
}
/**
* Gets the priority.
*
* @return the priority
*/
public int getPriority() {
return priority;
}
/**
* Gets the service site.
*
* @return the service site
*/
public String getServiceSite() {
return serviceSite;
}
/**
* Gets the vote delay.
*
* @return the vote delay
*/
public double getVoteDelay() {
return voteDelay;
}
/**
* Gets the vote URL.
*
* @return the vote URL
*/
public String getVoteURL() {
return voteURL;
}
/**
* Give rewards.
*
@@ -193,10 +163,6 @@ public class VoteSite {
public boolean hasRewards() {
return RewardHandler.getInstance().hasRewards(configVoteSites.getData(), configVoteSites.getRewardsPath(key));
}
public boolean isVaidServiceSite() {
return ArrayUtils.getInstance().containsIgnoreCase(ServerData.getInstance().getServiceSites(), getServiceSite());
}
/**
* Inits the.
@@ -214,119 +180,12 @@ public class VoteSite {
item = configVoteSites.getItem(key);
voteDelayDaily = configVoteSites.getVoteSiteResetVoteDelayDaily(key);
giveOffline = configVoteSites.getVoteSiteGiveOffline(key);
waitUntilVoteDelay = configVoteSites.getWaitUntilVoteDelay(key);
}
/**
* Checks if is enabled.
*
* @return true, if is enabled
*/
public boolean isEnabled() {
return enabled;
}
/**
* @return the giveOffline
*/
public boolean isGiveOffline() {
return giveOffline;
}
/**
* @return the voteDelayDaily
*/
public boolean isVoteDelayDaily() {
return voteDelayDaily;
}
/**
* @param displayName
* the displayName to set
*/
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
/**
* Sets the enabled.
*
* @param enabled
* the new enabled
*/
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
/**
* @param giveOffline
* the giveOffline to set
*/
public void setGiveOffline(boolean giveOffline) {
this.giveOffline = giveOffline;
}
/**
* @param item
* the item to set
*/
public void setItem(ConfigurationSection item) {
this.item = item;
}
/**
* @param key
* the key to set
*/
public void setKey(String key) {
this.key = key;
}
/**
* Sets the priority.
*
* @param priority
* the new priority
*/
public void setPriority(int priority) {
this.priority = priority;
}
/**
* Sets the service site.
*
* @param serviceSite
* the new service site
*/
public void setServiceSite(String serviceSite) {
this.serviceSite = serviceSite;
}
/**
* Sets the vote delay.
*
* @param voteDelay
* the new vote delay
*/
public void setVoteDelay(double voteDelay) {
this.voteDelay = voteDelay;
}
/**
* @param voteDelayDaily
* the voteDelayDaily to set
*/
public void setVoteDelayDaily(boolean voteDelayDaily) {
this.voteDelayDaily = voteDelayDaily;
}
/**
* Sets the vote URL.
*
* @param voteURL
* the new vote URL
*/
public void setVoteURL(String voteURL) {
this.voteURL = voteURL;
public boolean isVaidServiceSite() {
return ArrayUtils.getInstance().containsIgnoreCase(ServerData.getInstance().getServiceSites(),
getServiceSite());
}
}
@@ -19,19 +19,25 @@ import com.Ben12345rocks.VotingPlugin.Data.ServerData;
import com.Ben12345rocks.VotingPlugin.Objects.User;
import com.Ben12345rocks.VotingPlugin.TopVoter.TopVoter;
import lombok.Getter;
import lombok.Setter;
// TODO: Auto-generated Javadoc
/**
* The Class SignHandler.
*/
public class SignHandler {
/** The sign. */
@Getter
@Setter
private String sign;
/** The location. */
@Getter
@Setter
private Location location;
/** The data. */
@Getter
@Setter
private String data;
/** The lines. */
@@ -49,8 +55,9 @@ public class SignHandler {
/** The votes. */
private int votes;
/** The is valid. */
private boolean isValid;
@Getter
@Setter
private boolean valid;
/**
* Instantiates a new sign handler.
@@ -117,24 +124,6 @@ public class SignHandler {
}
/**
* Gets the data.
*
* @return the data
*/
public String getData() {
return data;
}
/**
* Gets the location.
*
* @return the location
*/
public Location getLocation() {
return location;
}
/**
* Gets the right click message.
*
@@ -149,15 +138,6 @@ public class SignHandler {
return msg;
}
/**
* Gets the sign.
*
* @return the sign
*/
public String getSign() {
return sign;
}
/**
* Checks if is location same.
*
@@ -169,15 +149,6 @@ public class SignHandler {
return loc.equals(getLocation());
}
/**
* Checks if is valid.
*
* @return true, if is valid
*/
public boolean isValid() {
return isValid;
}
/**
* Removes the sign.
*/
@@ -185,46 +156,6 @@ public class SignHandler {
ServerData.getInstance().removeSign(sign);
}
/**
* Sets the data.
*
* @param data
* the new data
*/
public void setData(String data) {
this.data = data;
}
/**
* Sets the location.
*
* @param location
* the new location
*/
public void setLocation(Location location) {
this.location = location;
}
/**
* Sets the sign.
*
* @param sign
* the new sign
*/
public void setSign(String sign) {
this.sign = sign;
}
/**
* Sets the valid.
*
* @param isValid
* the new valid
*/
public void setValid(boolean isValid) {
this.isValid = isValid;
}
/**
* Store sign.
*/
@@ -65,10 +65,10 @@ public class Signs {
* Load signs.
*/
public void loadSigns() {
plugin.signs = new ArrayList<SignHandler>();
plugin.setSigns(new ArrayList<SignHandler>());
for (String sign : ServerData.getInstance().getSigns()) {
// plugin.getLogger().info("Loading sign " + sign);
plugin.signs.add(new SignHandler(sign, ServerData.getInstance().getSignLocation(sign),
plugin.getSigns().add(new SignHandler(sign, ServerData.getInstance().getSignLocation(sign),
ServerData.getInstance().getSignData(sign), ServerData.getInstance().getSignPosition(sign)));
}
}
@@ -77,7 +77,7 @@ public class Signs {
* Store signs.
*/
public void storeSigns() {
for (SignHandler sign : plugin.signs) {
for (SignHandler sign : plugin.getSigns()) {
sign.storeSign();
}
}
@@ -87,14 +87,14 @@ public class Signs {
*/
public void updateSigns() {
int time = 0;
for (int i = plugin.signs.size() - 1; i >= 0; i--) {
if (!plugin.signs.get(i).isValid()) {
for (int i = plugin.getSigns().size() - 1; i >= 0; i--) {
if (!plugin.getSigns().get(i).isValid()) {
plugin.debug("Sign " + i + " invalid, removing from data.");
plugin.signs.get(i).removeSign();
plugin.signs.remove(i);
plugin.getSigns().get(i).removeSign();
plugin.getSigns().remove(i);
} else {
plugin.signs.get(i).updateLines();
plugin.signs.get(i).updateSign(time);
plugin.getSigns().get(i).updateLines();
plugin.getSigns().get(i).updateSign(time);
time += 5;
}
}
@@ -10,12 +10,13 @@ import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
public class VoteTester {
private static VoteTester instance = new VoteTester();
private Main plugin = Main.plugin;
public static VoteTester getInstance() {
return instance;
}
private Main plugin = Main.plugin;
public void testVotes(int amount, String name, String site) {
long time1 = System.currentTimeMillis();
ArrayList<Long> timesPerVote = new ArrayList<Long>();
@@ -24,6 +24,18 @@ public enum TopVoter {
return AllTime;
}
public String getName() {
if (this.equals(TopVoter.Monthly)) {
return Config.getInstance().getFormatTopVoterMonthly();
} else if (this.equals(TopVoter.Weekly)) {
return Config.getInstance().getFormatTopVoterWeekly();
} else if (this.equals(TopVoter.Daily)) {
return Config.getInstance().getFormatTopVoterDaily();
} else {
return Config.getInstance().getFormatTopVoterAllTime();
}
}
public TopVoter next() {
ArrayList<TopVoter> list = new ArrayList<TopVoter>();
if (Config.getInstance().getLoadTopVoterAllTime()) {
@@ -75,16 +87,4 @@ public enum TopVoter {
}
return TopVoter.AllTime;
}
public String getName() {
if (this.equals(TopVoter.Monthly)) {
return Config.getInstance().getFormatTopVoterMonthly();
} else if (this.equals(TopVoter.Weekly)) {
return Config.getInstance().getFormatTopVoterWeekly();
} else if (this.equals(TopVoter.Daily)) {
return Config.getInstance().getFormatTopVoterDaily();
} else {
return Config.getInstance().getFormatTopVoterAllTime();
}
}
}
@@ -100,18 +100,18 @@ public class TopVoterHandler implements Listener {
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onDateChanged(DateChangedEvent event) {
plugin.setUpdate(true);
plugin.update();
}
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onDayChange(DayChangeEvent event) {
for (String uuid : UserManager.getInstance().getAllUUIDs()) {
User user = UserManager.getInstance().getVotingPluginUser(new UUID(uuid));
if (user.getTotal(TopVoter.Daily) == 0 && user.getDayVoteStreak() != 0) {
user.setDayVoteStreak(0);
} else {
user.addDayVoteStreak();
if (!user.voteStreakUpdatedToday(LocalDateTime.now().minusDays(1))) {
if (user.getDayVoteStreak() != 0) {
user.setDayVoteStreak(0);
}
}
SpecialRewards.getInstance().checkVoteStreak(user, "Day");
if (user.getHighestDailyTotal() < user.getTotal(TopVoter.Daily)) {
user.setHighestDailyTotal(user.getTotal(TopVoter.Daily));
@@ -123,7 +123,7 @@ public class TopVoterHandler implements Listener {
storeTopVoters(TopVoter.Daily);
}
if (Config.getInstance().getDailyAwardsEnabled()) {
if (Config.getInstance().isEnableDailyRewards()) {
HashMap<Integer, String> places = handlePlaces(Config.getInstance().getDailyPossibleRewardPlaces());
int i = 0;
int lastTotal = -1;
@@ -154,8 +154,12 @@ public class TopVoterHandler implements Listener {
if (user.getTotal(TopVoter.Monthly) == 0 && user.getMonthVoteStreak() != 0) {
user.setMonthVoteStreak(0);
} else {
user.addMonthVoteStreak();
SpecialRewards.getInstance().checkVoteStreak(user, "Month");
if (!Config.getInstance().isVoteStreakRequirementUsePercentage() || user.hasPercentageTotal(
TopVoter.Monthly, Config.getInstance().getVoteStreakRequirementMonth(),
LocalDateTime.now().minusDays(1))) {
user.addMonthVoteStreak();
SpecialRewards.getInstance().checkVoteStreak(user, "Month");
}
}
if (user.getHighestMonthlyTotal() < user.getTotal(TopVoter.Monthly)) {
@@ -168,7 +172,7 @@ public class TopVoterHandler implements Listener {
storeTopVoters(TopVoter.Monthly);
}
if (Config.getInstance().getMonthlyAwardsEnabled()) {
if (Config.getInstance().isEnableMonthlyAwards()) {
HashMap<Integer, String> places = handlePlaces(Config.getInstance().getMonthlyPossibleRewardPlaces());
int i = 0;
int lastTotal = -1;
@@ -214,8 +218,11 @@ public class TopVoterHandler implements Listener {
if (user.getTotal(TopVoter.Weekly) == 0 && user.getWeekVoteStreak() != 0) {
user.setWeekVoteStreak(0);
} else {
user.addWeekVoteStreak();
SpecialRewards.getInstance().checkVoteStreak(user, "Week");
if (!Config.getInstance().isVoteStreakRequirementUsePercentage() || user.hasPercentageTotal(
TopVoter.Weekly, Config.getInstance().getVoteStreakRequirementWeek(), null)) {
user.addWeekVoteStreak();
SpecialRewards.getInstance().checkVoteStreak(user, "Week");
}
}
if (user.getHighestWeeklyTotal() < user.getTotal(TopVoter.Weekly)) {
@@ -228,7 +235,7 @@ public class TopVoterHandler implements Listener {
storeTopVoters(TopVoter.Weekly);
}
if (Config.getInstance().getWeeklyAwardsEnabled()) {
if (Config.getInstance().isEnableWeeklyAwards()) {
HashMap<Integer, String> places = handlePlaces(Config.getInstance().getWeeklyPossibleRewardPlaces());
int i = 0;
int lastTotal = -1;
@@ -7,6 +7,7 @@ import org.bukkit.Bukkit;
import com.Ben12345rocks.AdvancedCore.Util.Updater.Updater;
import com.Ben12345rocks.VotingPlugin.Main;
import com.Ben12345rocks.VotingPlugin.Config.Config;
// TODO: Auto-generated Javadoc
/**
@@ -49,44 +50,51 @@ public class CheckUpdate {
* Check update.
*/
public void checkUpdate() {
plugin.updater = new Updater(plugin, 15358, false);
final Updater.UpdateResult result = plugin.updater.getResult();
if (Config.getInstance().isDisableUpdateChecking()) {
return;
}
plugin.setUpdater(new Updater(plugin, 15358, false));
final Updater.UpdateResult result = plugin.getUpdater().getResult();
switch (result) {
case FAIL_SPIGOT: {
plugin.getLogger().info("Failed to check for update for " + plugin.getName() + "!");
break;
}
case NO_UPDATE: {
plugin.getLogger().info(plugin.getName() + " is up to date! Version: " + plugin.updater.getVersion());
break;
}
case UPDATE_AVAILABLE: {
plugin.getLogger()
.info(plugin.getName() + " has an update available! Your Version: "
+ plugin.getDescription().getVersion() + " New Version: " + plugin.updater.getVersion()
+ " Use /av download to get the latest update!");
break;
}
default: {
break;
}
case FAIL_SPIGOT: {
plugin.getLogger().info("Failed to check for update for " + plugin.getName() + "!");
break;
}
case NO_UPDATE: {
plugin.getLogger()
.info(plugin.getName() + " is up to date! Version: " + plugin.getUpdater().getVersion());
break;
}
case UPDATE_AVAILABLE: {
plugin.getLogger()
.info(plugin.getName() + " has an update available! Your Version: "
+ plugin.getDescription().getVersion() + " New Version: "
+ plugin.getUpdater().getVersion() + " Use /av download to get the latest update!");
break;
}
default: {
break;
}
}
}
public void checkUpdateBasic() {
plugin.updater = new Updater(plugin, 15358, false);
final Updater.UpdateResult result = plugin.updater.getResult();
if (Config.getInstance().isDisableUpdateChecking()) {
return;
}
plugin.setUpdater(new Updater(plugin, 15358, false));
final Updater.UpdateResult result = plugin.getUpdater().getResult();
switch (result) {
case UPDATE_AVAILABLE: {
plugin.getLogger()
.info(plugin.getName() + " has an update available! Your Version: "
+ plugin.getDescription().getVersion() + " New Version: " + plugin.updater.getVersion()
+ " Use /av download to get the latest update!");
break;
}
default: {
break;
}
case UPDATE_AVAILABLE: {
plugin.getLogger()
.info(plugin.getName() + " has an update available! Your Version: "
+ plugin.getDescription().getVersion() + " New Version: "
+ plugin.getUpdater().getVersion() + " Use /av download to get the latest update!");
break;
}
default: {
break;
}
}
}
@@ -94,6 +102,9 @@ public class CheckUpdate {
* Start up.
*/
public void startUp() {
if (Config.getInstance().isDisableUpdateChecking()) {
return;
}
Bukkit.getScheduler().runTaskLaterAsynchronously(plugin, new Runnable() {
@Override
@@ -32,6 +32,10 @@ public class UserManager {
return com.Ben12345rocks.AdvancedCore.UserManager.UserManager.getInstance().getAllUUIDs();
}
public User getVotingPluginUser(com.Ben12345rocks.AdvancedCore.UserManager.User user) {
return getVotingPluginUser(java.util.UUID.fromString(user.getUUID()));
}
public User getVotingPluginUser(java.util.UUID uuid) {
return getVotingPluginUser(new UUID(uuid.toString()));
}
@@ -0,0 +1,86 @@
package com.Ben12345rocks.VotingPlugin.Util.PlaceHolders;
import org.bukkit.Bukkit;
import com.Ben12345rocks.VotingPlugin.Main;
import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
import be.maximvdw.placeholderapi.PlaceholderAPI;
import be.maximvdw.placeholderapi.PlaceholderReplaceEvent;
import be.maximvdw.placeholderapi.PlaceholderReplacer;
// TODO: Auto-generated Javadoc
/**
* The Class PlaceHolders.
*/
public class MVdWPlaceholders {
/** The instance. */
static MVdWPlaceholders instance = new MVdWPlaceholders();
/** The plugin. */
static Main plugin = Main.plugin;
/**
* Gets the single instance of PlaceHolders.
*
* @return single instance of PlaceHolders
*/
public static MVdWPlaceholders getInstance() {
return instance;
}
/**
* Instantiates a new place holders.
*/
private MVdWPlaceholders() {
}
/**
* Instantiates a new place holders.
*
* @param plugin
* the plugin
*/
public MVdWPlaceholders(Main plugin) {
MVdWPlaceholders.plugin = plugin;
}
public void loadMVdWPlaceholders() {
if (Bukkit.getPluginManager().isPluginEnabled("MVdWPlaceholderAPI")) {
// The plugin is enabled
for (final PlaceHolder place : PlaceHolders.getInstance().getPlaceholders()) {
String str = place.getIdentifier();
if (!str.endsWith("_")) {
PlaceholderAPI.registerPlaceholder(Main.plugin, "VotingPlugin_" + str, new PlaceholderReplacer() {
@Override
public String onPlaceholderReplace(PlaceholderReplaceEvent event) {
return place.placeholderRequest(event.getOfflinePlayer(),
UserManager.getInstance().getVotingPluginUser(event.getOfflinePlayer()),
event.getPlaceholder().substring("VotingPlugin_".length()));
}
});
}
}
for (final PlaceHolder place : PlaceHolders.getInstance().getNonPlayerPlaceholders()) {
String str = place.getIdentifier();
if (!str.endsWith("_")) {
PlaceholderAPI.registerPlaceholder(Main.plugin, "VotingPlugin_" + str, new PlaceholderReplacer() {
@Override
public String onPlaceholderReplace(PlaceholderReplaceEvent event) {
return place.placeholderRequest(event.getOfflinePlayer(), null,
event.getPlaceholder().substring("VotingPlugin_".length()));
}
});
}
}
}
}
}
@@ -5,16 +5,15 @@ import org.bukkit.OfflinePlayer;
import com.Ben12345rocks.AdvancedCore.Util.Misc.StringUtils;
import com.Ben12345rocks.VotingPlugin.Objects.User;
public abstract class PlaceHolder {
private String identifier;
private boolean useStartsWith = false;
import lombok.Getter;
/**
* @return the identifier
*/
public String getIdentifier() {
return identifier;
}
public abstract class PlaceHolder {
@Getter
private String identifier;
@Getter
private boolean useStartsWith = false;
@Getter
private String description;
public PlaceHolder(String identifier) {
this.identifier = identifier;
@@ -25,9 +24,8 @@ public abstract class PlaceHolder {
this.useStartsWith = useStartsWith;
}
public PlaceHolder useStartsWith() {
useStartsWith = true;
return this;
public boolean hasDescription() {
return description != null;
}
public boolean matches(String identifier) {
@@ -43,13 +41,16 @@ public abstract class PlaceHolder {
return false;
}
/**
* @return the useStartsWith
*/
public boolean isUseStartsWith() {
return useStartsWith;
}
public abstract String placeholderRequest(OfflinePlayer p, User user, String identifier);
public PlaceHolder useStartsWith() {
useStartsWith = true;
return this;
}
public PlaceHolder withDescription(String desc) {
description = desc;
return this;
}
}
@@ -9,12 +9,15 @@ import org.bukkit.entity.Player;
import com.Ben12345rocks.AdvancedCore.Util.Misc.StringUtils;
import com.Ben12345rocks.VotingPlugin.Main;
import com.Ben12345rocks.VotingPlugin.Commands.Commands;
import com.Ben12345rocks.VotingPlugin.Config.Config;
import com.Ben12345rocks.VotingPlugin.Objects.User;
import com.Ben12345rocks.VotingPlugin.Objects.VoteSite;
import com.Ben12345rocks.VotingPlugin.TopVoter.TopVoter;
import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
import com.Ben12345rocks.VotingPlugin.VoteParty.VoteParty;
import lombok.Getter;
// TODO: Auto-generated Javadoc
/**
* The Class PlaceHolders.
@@ -36,6 +39,12 @@ public class PlaceHolders {
return instance;
}
@Getter
private ArrayList<PlaceHolder> placeholders = new ArrayList<PlaceHolder>();
@Getter
private ArrayList<PlaceHolder> nonPlayerPlaceholders = new ArrayList<PlaceHolder>();
/**
* Instantiates a new place holders.
*/
@@ -52,326 +61,6 @@ public class PlaceHolders {
PlaceHolders.plugin = plugin;
}
private ArrayList<PlaceHolder> placeholders = new ArrayList<PlaceHolder>();
private ArrayList<PlaceHolder> nonPlayerPlaceholders = new ArrayList<PlaceHolder>();
/**
* @return the nonPlayerPlaceholders
*/
public ArrayList<PlaceHolder> getNonPlayerPlaceholders() {
return nonPlayerPlaceholders;
}
/**
* @return the placeholders
*/
public ArrayList<PlaceHolder> getPlaceholders() {
return placeholders;
}
public void load() {
placeholders.clear();
nonPlayerPlaceholders.clear();
// older placeholders, might be removed in the future
placeholders.add(new PlaceHolder("total") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getTotal(TopVoter.Monthly));
}
});
placeholders.add(new PlaceHolder("alltimetotal") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getTotal(TopVoter.AllTime));
}
});
placeholders.add(new PlaceHolder("lastmonthtotal") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getLastMonthTotal());
}
});
// end of older placeholders
for (final TopVoter top : TopVoter.values()) {
placeholders.add(new PlaceHolder("total_" + top.toString()) {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getTotal(top));
}
});
}
placeholders.add(new PlaceHolder("BestDailyTotal") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getHighestDailyTotal());
}
});
placeholders.add(new PlaceHolder("BestWeeklyTotal") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getHighestWeeklyTotal());
}
});
placeholders.add(new PlaceHolder("BestMonthlyTotal") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getHighestMonthlyTotal());
}
});
placeholders.add(new PlaceHolder("DailyVoteStreak") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getDayVoteStreak());
}
});
placeholders.add(new PlaceHolder("WeeklyVoteStreak") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getWeekVoteStreak());
}
});
placeholders.add(new PlaceHolder("MonthVoteStreak") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getMonthVoteStreak());
}
});
placeholders.add(new PlaceHolder("BestDailyVoteStreak") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getBestDayVoteStreak());
}
});
placeholders.add(new PlaceHolder("BestWeeklyVoteStreak") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getBestWeekVoteStreak());
}
});
placeholders.add(new PlaceHolder("BestMonthVoteStreak") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getBestMonthVoteStreak());
}
});
placeholders.add(new PlaceHolder("Points") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getPoints());
}
});
placeholders.add(new PlaceHolder("CanVote") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Boolean.toString(user.canVoteAll());
}
});
for (final VoteSite voteSite : plugin.getVoteSites()) {
placeholders.add(new PlaceHolder("Next_" + voteSite.getKey()) {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Commands.getInstance().voteCommandNextInfo(user, voteSite);
}
});
}
for (final VoteSite voteSite : plugin.getVoteSites()) {
placeholders.add(new PlaceHolder("Last_" + voteSite.getKey()) {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Commands.getInstance().voteCommandLastDuration(user, voteSite);
}
});
}
placeholders.add(new PlaceHolder("Top_All_Position") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.AllTime).entrySet()) {
if (entry.getKey().getUUID().equals(p.getUniqueId().toString())) {
return "" + num;
}
num++;
}
return "";
}
});
placeholders.add(new PlaceHolder("Top_All_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[2]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.AllTime).entrySet()) {
if (num == number) {
return entry.getKey().getPlayerName();
}
num++;
}
return "";
}
}.useStartsWith());
placeholders.add(new PlaceHolder("Top_Month_Position") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Monthly).entrySet()) {
if (entry.getKey().getUUID().equals(p.getUniqueId().toString())) {
return "" + num;
}
num++;
}
return "";
}
});
placeholders.add(new PlaceHolder("Top_Month_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[2]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Monthly).entrySet()) {
if (num == number) {
return entry.getKey().getPlayerName();
}
num++;
}
return "";
}
}.useStartsWith());
placeholders.add(new PlaceHolder("Top_Week_Position") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Weekly).entrySet()) {
if (entry.getKey().getUUID().equals(p.getUniqueId().toString())) {
return "" + num;
}
num++;
}
return "";
}
});
placeholders.add(new PlaceHolder("Top_Week_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[2]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Weekly).entrySet()) {
if (num == number) {
return entry.getKey().getPlayerName();
}
num++;
}
return "";
}
}.useStartsWith());
placeholders.add(new PlaceHolder("Top_Daily_Position") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Daily).entrySet()) {
if (entry.getKey().getUUID().equals(p.getUniqueId().toString())) {
return "" + num;
}
num++;
}
return "";
}
});
placeholders.add(new PlaceHolder("Top_Daily_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[3]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Daily).entrySet()) {
if (num == number) {
return entry.getKey().getPlayerName();
}
num++;
}
return "";
}
}.useStartsWith());
// non players
nonPlayerPlaceholders.add(new PlaceHolder("VotePartyVotesCurrent") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(VoteParty.getInstance().getTotalVotes());
}
});
nonPlayerPlaceholders.add(new PlaceHolder("VotePartyVotesNeeded") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(VoteParty.getInstance().getNeededVotes());
}
});
nonPlayerPlaceholders.add(new PlaceHolder("VotePartyVotesRequired") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(VoteParty.getInstance().getVotesRequired());
}
});
}
public String getPlaceHolder(OfflinePlayer p, String identifier) {
identifier = StringUtils.getInstance().replaceJavascript(p, identifier);
@@ -396,4 +85,400 @@ public class PlaceHolders {
identifier = StringUtils.getInstance().replaceJavascript(p, identifier);
return getPlaceHolder((OfflinePlayer) p, identifier);
}
public void load() {
placeholders.clear();
nonPlayerPlaceholders.clear();
// older placeholders, might be removed in the future
placeholders.add(new PlaceHolder("total") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getTotal(TopVoter.Monthly));
}
}.withDescription("Month total"));
placeholders.add(new PlaceHolder("alltimetotal") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getTotal(TopVoter.AllTime));
}
}.withDescription("Alltime total"));
placeholders.add(new PlaceHolder("lastmonthtotal") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getLastMonthTotal());
}
}.withDescription("Last month total"));
// end of older placeholders
placeholders.add(new PlaceHolder("DisableBroadcast") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return "" + user.getDisableBroadcast();
}
}.withDescription("Returns true/false if user has broadcast disabled"));
placeholders.add(new PlaceHolder("MilestoneCount") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return "" + user.getMilestoneCount();
}
}.withDescription("User milestonecount"));
for (final String identifier : Config.getInstance().getIdentifiers()) {
if (Config.getInstance().getIdentifierLimit(identifier) > 0) {
placeholders.add(new PlaceHolder("VoteShopLimit_" + identifier) {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String ident) {
return "" + user.getVoteShopIdentifierLimit(identifier);
}
}.withDescription("User voteshop limit for " + identifier));
}
}
for (final TopVoter top : TopVoter.values()) {
placeholders.add(new PlaceHolder("Total_" + top.toString()) {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getTotal(top));
}
}.withDescription("User total for " + top.getName()));
}
placeholders.add(new PlaceHolder("BestDailyTotal") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getHighestDailyTotal());
}
}.withDescription("Best daily total"));
placeholders.add(new PlaceHolder("BestWeeklyTotal") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getHighestWeeklyTotal());
}
}.withDescription("Best weekly total"));
placeholders.add(new PlaceHolder("BestMonthlyTotal") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getHighestMonthlyTotal());
}
}.withDescription("Best monthly total"));
placeholders.add(new PlaceHolder("DailyVoteStreak") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getDayVoteStreak());
}
}.withDescription("Current daily votestreak"));
placeholders.add(new PlaceHolder("WeeklyVoteStreak") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getWeekVoteStreak());
}
}.withDescription("Current weekly votestreak"));
placeholders.add(new PlaceHolder("MonthVoteStreak") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getMonthVoteStreak());
}
}.withDescription("Current month votestreak"));
placeholders.add(new PlaceHolder("BestDailyVoteStreak") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getBestDayVoteStreak());
}
}.withDescription("Best daily votestreak"));
placeholders.add(new PlaceHolder("BestWeeklyVoteStreak") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getBestWeekVoteStreak());
}
}.withDescription("Best weekly votestreak"));
placeholders.add(new PlaceHolder("BestMonthVoteStreak") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getBestMonthVoteStreak());
}
}.withDescription("Best month votestreak"));
placeholders.add(new PlaceHolder("Points") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(user.getPoints());
}
}.withDescription("User points"));
placeholders.add(new PlaceHolder("CanVote") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Boolean.toString(user.canVoteAll());
}
}.withDescription("Return true/false if player can vote on all sites"));
for (final VoteSite voteSite : plugin.getVoteSites()) {
placeholders.add(new PlaceHolder("Next_" + voteSite.getKey()) {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Commands.getInstance().voteCommandNextInfo(user, voteSite);
}
}.withDescription("How long until user can vote on " + voteSite.getKey()));
placeholders.add(new PlaceHolder("Last_" + voteSite.getKey()) {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Commands.getInstance().voteCommandLastDuration(user, voteSite);
}
}.withDescription("How long ago user voted on " + voteSite.getKey()));
placeholders.add(new PlaceHolder("CanVote_" + voteSite.getKey()) {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return "" + user.canVoteSite(voteSite);
}
}.withDescription("Whether or not player can vote on " + voteSite.getKey()));
}
placeholders.add(new PlaceHolder("Top_All_Position") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.AllTime).entrySet()) {
if (entry.getKey().getUUID().equals(p.getUniqueId().toString())) {
return "" + num;
}
num++;
}
return "";
}
}.withDescription("Get user top voter position"));
placeholders.add(new PlaceHolder("Top_AllVotes_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[2]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.AllTime).entrySet()) {
if (num == number) {
return "" + entry.getKey().getTotal(TopVoter.AllTime);
}
num++;
}
return "";
}
}.useStartsWith().withDescription("Get user votes at position in top voter"));
placeholders.add(new PlaceHolder("Top_All_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[2]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.AllTime).entrySet()) {
if (num == number) {
return entry.getKey().getPlayerName();
}
num++;
}
return "";
}
}.useStartsWith().withDescription("Get user at postion in top voter"));
placeholders.add(new PlaceHolder("Top_Month_Position") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Monthly).entrySet()) {
if (entry.getKey().getUUID().equals(p.getUniqueId().toString())) {
return "" + num;
}
num++;
}
return "";
}
}.withDescription("Get user top voter position"));
placeholders.add(new PlaceHolder("Top_Month_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[2]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Monthly).entrySet()) {
if (num == number) {
return entry.getKey().getPlayerName();
}
num++;
}
return "";
}
}.useStartsWith().withDescription("Get user at position in top voter"));
placeholders.add(new PlaceHolder("Top_MonthVotes_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[2]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Monthly).entrySet()) {
if (num == number) {
return "" + entry.getKey().getTotal(TopVoter.Monthly);
}
num++;
}
return "";
}
}.useStartsWith().withDescription("Get user votes at position in top voter"));
placeholders.add(new PlaceHolder("Top_Week_Position") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Weekly).entrySet()) {
if (entry.getKey().getUUID().equals(p.getUniqueId().toString())) {
return "" + num;
}
num++;
}
return "";
}
}.withDescription("Get user top voter position"));
placeholders.add(new PlaceHolder("Top_Week_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[2]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Weekly).entrySet()) {
if (num == number) {
return entry.getKey().getPlayerName();
}
num++;
}
return "";
}
}.useStartsWith().withDescription("Get user at postion in top voter"));
placeholders.add(new PlaceHolder("Top_WeekVotes_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[2]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Weekly).entrySet()) {
if (num == number) {
return "" + entry.getKey().getTotal(TopVoter.Weekly);
}
num++;
}
return "";
}
}.useStartsWith().withDescription("Get user votes at position in top voter"));
placeholders.add(new PlaceHolder("Top_Daily_Position") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Daily).entrySet()) {
if (entry.getKey().getUUID().equals(p.getUniqueId().toString())) {
return "" + num;
}
num++;
}
return "";
}
}.withDescription("Get user top voter position"));
placeholders.add(new PlaceHolder("Top_Daily_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[2]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Daily).entrySet()) {
if (num == number) {
return entry.getKey().getPlayerName();
}
num++;
}
return "";
}
}.useStartsWith().withDescription("Get user at postion in top voter"));
placeholders.add(new PlaceHolder("Top_DailyVotes_") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
int num = 1;
int number = Integer.parseInt(identifier.split("_")[2]);
for (Entry<User, Integer> entry : plugin.getTopVoter(TopVoter.Daily).entrySet()) {
if (num == number) {
return "" + entry.getKey().getTotal(TopVoter.Daily);
}
num++;
}
return "";
}
}.useStartsWith().withDescription("Get user votes at position in top voter"));
// non players
nonPlayerPlaceholders.add(new PlaceHolder("VotePartyVotesCurrent") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(VoteParty.getInstance().getTotalVotes());
}
}.withDescription("Current amount of voteparty votes"));
nonPlayerPlaceholders.add(new PlaceHolder("VotePartyVotesNeeded") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(VoteParty.getInstance().getNeededVotes());
}
}.withDescription("Voteparty votes needed"));
nonPlayerPlaceholders.add(new PlaceHolder("VotePartyVotesRequired") {
@Override
public String placeholderRequest(OfflinePlayer p, User user, String identifier) {
return Integer.toString(VoteParty.getInstance().getVotesRequired());
}
}.withDescription("Amount of votes needed for voteparty"));
}
}
@@ -95,8 +95,8 @@ public class VoteParty implements Listener {
if (event.isCancelled()) {
return;
}
giveRewards();
MiscUtils.getInstance().broadcast(Config.getInstance().getVotePartyBroadcast());
giveRewards();
if (Config.getInstance().getVotePartyIncreaseVotesRquired() > 0) {
ServerData.getInstance().setVotePartyExtraRequired(ServerData.getInstance().getVotePartyExtraRequired()
@@ -173,14 +173,16 @@ public class VoteParty implements Listener {
return required;
}
public void giveReward(User user) {
if (Config.getInstance().getVotePartyUserVotesRequired() > 0) {
if (user.getVotePartyVotes() < Config.getInstance().getVotePartyUserVotesRequired()) {
return;
}
}
giveReward(user, user.isOnline());
}
public void giveReward(User user, boolean online) {
/*
* if (PlayerUtils.getInstance().isPlayerOnline(user.getPlayerName())) { if
* (user.getVotePartyVotes() >= Config.getInstance().getUserVotesRequired()) {
* RewardHandler.getInstance().giveReward(user, Config.getInstance().getData(),
* Config.getInstance().getVotePartyRewardsPath()); } } else {
* user.addOfflineOtherReward("VoteParty"); }
*/
new RewardBuilder(Config.getInstance().getData(), Config.getInstance().getVotePartyRewardsPath())
.setOnline(online)
.withPlaceHolder("VotesRequired", "" + Config.getInstance().getVotePartyVotesRequired()).send(user);
@@ -202,14 +204,16 @@ public class VoteParty implements Listener {
}
if (Config.getInstance().getVotePartyGiveAllPlayers()) {
plugin.debug("Giving all players vote party");
for (String uuid : UserManager.getInstance().getAllUUIDs()) {
User user = UserManager.getInstance().getVotingPluginUser(new UUID(uuid));
giveReward(user, true);
giveReward(user);
}
} else {
plugin.debug(ArrayUtils.getInstance().makeStringList(getVotedUsers()));
for (String uuid : getVotedUsers()) {
User user = UserManager.getInstance().getVotingPluginUser(new UUID(uuid));
giveReward(user, true);
giveReward(user);
}
}
reset();
@@ -0,0 +1,26 @@
package com.Ben12345rocks.VotingPlugin;
import com.Ben12345rocks.AdvancedCore.Rewards.RewardHandler;
import com.Ben12345rocks.AdvancedCore.Rewards.Injected.RewardInject;
import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
public class VotingPluginHooks {
private static VotingPluginHooks instance = new VotingPluginHooks();
public static VotingPluginHooks getInstance() {
return instance;
}
public Main getMainClass() {
return Main.plugin;
}
public void addCustomReward(RewardInject inject) {
RewardHandler.getInstance().getInjectedRewards().add(inject);
}
public UserManager getUserManager() {
return UserManager.getInstance();
}
}