- Contributors
- noftaly
- Supported Minecraft Versions
- 1.8
- 1.9
- 1.10
- 1.11
- 1.12
I’m french, so sorry for the errors. If in the configuration or in the description there is errors, please let me know (via PM) and I will correct them.
Betas 3.1 and before works perfectly on 1.8.x, 1.9.x, 1.10.x, 1.11.x, 1.12.x
(thanks to @gamingshow and @Mikioul for the test)
Betas 3.2 and over were not tested in 1.11.x, 1.10.x, 1.9.x, 1.8.x, but I think they will work
Description
Betas 3.1 and before works perfectly on 1.8.x, 1.9.x, 1.10.x, 1.11.x, 1.12.x
(thanks to @gamingshow and @Mikioul for the test)
Betas 3.2 and over were not tested in 1.11.x, 1.10.x, 1.9.x, 1.8.x, but I think they will work
Description
GiveAll is a skript with allows you to create GiveAll, to give items to your players ! You can create events where your players win some stuff ! All the messages are customizable
Features
▶ Create as many GiveAll as you want
▶ Remove GiveAlls !
▶ Rename GiveAlls !
▶ The names/lore/enchants/NBT of the items are saved
▶ Customise the countdown before the GiveAll (In a GUI or not)
▶ Customize every messages !
▶ Duplicate GiveAlls
▶ Add/Remove/Edit a condition for receiving an item (15 are availables: perm, msg-contain, msg-same, in-region, not-in-region, minkills, maxkills, mindeath, maxdeath, minmoney, maxmoney, in-world, not-in-world, minplaytime, maxplaytime)
▶ Items are give every 1 to 3 seconds !
▶ Set or not and change when you want the duration of a GiveAll ! (In a GUI or with a command)
▶ Copy all the items of a GiveAll in another
▶ Multi-Page system
▶ Clear the content of a GiveAll
▶ You can see the list of all your GiveAll in a GUI wich allows you to delete/start-stop/modify them !
▶ Edits the items of a GiveAll by a GUI
▶ Give the items you’re holding to everybody, without having to create a GiveAll
▶ Messages of the /ga help are clickable !
▶ If your skript is not up to date, you will have a message with all the new feature, and if the update is important or not.
Commands and permissions
Command : /giveall (or /ga)
<> : obligatory
[] : optional
Code:
∙ giveall create <GiveAll’s name> [Duration] → Create a GiveAll, and set its duration (in seconds)
∙ giveall start <GiveAll’s name> [i] → Start a GiveAll (If "i" is set, the GiveAll will start instantly (without the countdown)
∙ giveall stop → Stop the current GiveAll
∙ giveall add <GiveAll’s name> → Add the held’s item to the GiveAll
∙ giveall edit[item] → Open the GUI to modify items gf the GivAll
∙ giveall delete <GiveAll’s name> → Delete a GiveAll
∙ giveall list [gui] → See the GiveAll’s list (if "gui" is set, the list will be in a GUI)
∙ giveall givehand → Give to everybody the held’s item
∙ giveall rename <GiveAll’s name> <new name> → rename a GiveAll
∙ giveall clear <GiveAll’s name> → Delete all the items of a GiveAll
∙ giveall copy <GiveAll 1> <GiveAll2> → Copy the items of GiveAll1 into GiveAll2
∙ giveall duplicate <GiveAll's name> → Duplicate a GiveAll
∙ giveall settime <GiveAll’s name> <time> → (or "changetime") Modify the duration of a GiveAll. 0 = infinite
∙ giveall setcountdown <GiveAll’s name> <time> → (or "setcd", "scd", "changecountdown", "changecd", "ccd") Modify the countdown of a GiveAll. Must be over than or equal to 10
∙ giveall modify <GiveAll’s name> → Modify a GiveAll (with GUI) (time, countdown, rename…)
∙ giveall condition <set/clear/see> <GiveAll's name> [condition] [value] → Modify a GiveAll's condition
∙ giveall update → Check if an update is available
∙ giveall help → Print the help page
∙ giveall reload → Reload the script
Configuration
Code:
#-----------------------------------------------------#
# Prefixes #
#-----------------------------------------------------#
Prefix: &b[&aGiveAll&b]&r
ErrorPrefix: &cError :&c
#-----------------------------------------------------#
# Error-messages #
#-----------------------------------------------------#
#Mesage when we don't have the permission to do something. There is no prefix before the message, so put them.
NoPermission: &b[&aGiveAll&b] &cError : You don't have the permission to do this !
#Message when the Giveall doesn't exist
GADoesntExist: &cThis GiveAll doesn't exist
#Message when the GiveAll already exist
GaAlreadyExists: &cThis GiveAll already exists
#Message when we want to start a Giveall wich is empty
GAIsEmpty: &cAn error occurred while attempting to start this GiveAll : it is empty !
#Message when we want to start a GiveAll, while a GiveAll is already in progress
GAIsAlreadyStarted: &cThere is already a GiveAll in progress ! GiveAll: &c&o%{_ga}%
#Message when we want to stop a Giveall, but there is not GiveAll in progress
NoGAInProgress: &cThere isn't any GiveAll in progress
#Message when we want to add/give an item but we have nothing in our hand
TakeAnItem: &cPlease, take an item in your hand
#Message when we want to delete/rename a GiveAll wich is in progress
CantModifyBecauseGAIsInProgress: &cImpossible de faire cette action : ce giveall est en cours !
#Message when we want to give an item to everybody but there is nobody online
Alone: &cThere is no one online.
#Message when we want to delete a GiveAll wich is in progress
CantDeleteBecauseGAIsInProgress: &cYou can't delete this GiveAll because it is in progress
#Message when we want to create a GiveAll with a name already used
NewGAAlreadyExists: &cThe name %{_newName}% is already used !
#Message when we want enter a integer less than 10
TimeForCDIsTooBig: &cPlease enter an integer witch is over than or equal to 10 !
#-----------------------------------------------------#
# Syntax-error messages #
#-----------------------------------------------------#
#Message when we want to enter the GiveAll duration but the time we've enter is not an integer
WrongSyntaxForTime: &cThe time you've set isn't correct. Make sure to put a whole number
#Message when we do /giveall start wrongly. There is 2 messages
WrongCommandSyntax_Start: &c/giveall start <name> [instant]
WrongCommandSyntaxIndication_Start: &cIf 'instant' (or 'i') is set, the GiveAll will start instantly.
#Message when we do /giveall create wrongly. There is 2 messages
WrongCommandSyntax_Create: &c/giveall create <name> [time (in second)]
WrongCommandSyntaxIndication_Create: &cthe GiveAll will last the indicated time. If the time is not set, you will have to stop it manually.
#Message when we do /giveall add wrongly.
WrongCommandSyntax_Add: &c/giveall add <name>
#Message when we do /giveall edit wrongly.
WrongCommandSyntax_EditItem: &c/giveall edit[item] <name>
#Message when we do /giveall rename wrongly.
WrongCommandSyntax_Rename: &c/giveall rename <old name> <new name>
#Message when we do /giveall copy wrongly. There is 3 messages
WrongCommandSyntax_CopyContent: &c/giveall copy <GiveAll 1> <GiveAll 2>
WrongCommandSyntaxIndication_CopyContent: &cGiveAll 1 = Name of the Giveall whose items will be copied
WrongCommandSyntaxIndication_CopyContent2: &cGiveAll 2 = Name of the Giveall where items will be copied
#Message when we do /giveall clear wrongly.
WrongCommandSyntax_Clear: &c/giveall clear <name>
#Message when we do /giveall changetime wrongly.
WrongCommandSyntax_ChangeTime: &c/giveall changetime <name> <time (in second)>
#Message when we do /giveall modify wrongly.
WrongCommandSyntax_Modify: &c/giveall modify <name>
#Message when we do /giveall countdown wrongly.
WrongCommandSyntax_ChangeCD: &c/giveall countdown <name> <time (in second)>
#-----------------------------------------------------#
# Messages #
#-----------------------------------------------------#
#Message of the countdown, when a GiveAll starts
#PlaceHolders: %{_time.left}% : return the time left
#PlaceHolders: %{_ga}% : return the GiveAll name
GAStartsInXSeconds: &aThe givall starts in &b%{_time.left}% &asecond(s) ! &3&o(GiveAll: %{_ga}%)
#Message when a GiveAll start
#PlaceHolders: %{_ga}% : return the GiveAll name
GAStarts: &aGiveAll is starting ! &3&o(GiveAll: %{_ga}%)
#Message when the giveall is finished
#PlaceHolders: %{_ga}% : return the GiveAll name
GAIsFinished: &aGiveAll is finished ! Thank you for participating !
#Message when the GiveAll is stopped by a player
#PlaceHolders: %{_player}% : return the player's name
#PlaceHolders: %{_ga}% : return the GiveAll name
GAHasBeenStoppedByPlayer: &aThe GiveAll &b%{_ga}%&a has been stopped by %{_player}% !
#Message when the GiveAll is stopped by the console
#PlaceHolders: %{_ga}% : return the GiveAll name
GAHasBeenStoppedByConsole: &aThe GiveAll &b%{_ga}%&a has been stopped !
#Message when we do /ga givehand
#PlaceHolders: %{_item}% : return the given item
#PlaceHolders: %{_number}% : return the number of player
GAHandHasBeenGiven: &aYou've successfully gave &b%{_item}%&a to &b%{_number}% player(s)
#Broadcast when we do /ga givehand
#PlaceHolders: %{_item}% : return the given item
#PlaceHolders: %{_player}% : return the giver's name
GAHandBroadcast: &b%{_player}%&a gave &b%{_item}% &ato everyone !
#Small addition, wich will be put in place of "%{_stop}%" in the "GACreated" message, wich return the way that the GiveAll will be stopped
#PlaceHolders: %{_seconds}% : return the duration of the GiveAll
GAMustBeStoppedManually: &aIt will stop manually. #It will be put in place of "%{_stop}%"
GAWillBeStoppedAutomatically: It will stop after %{_seconds}%&asec. #It will be put in place of "%{_stop}%"
#Message when we create a GiveAll
#PlaceHolders: %{_stop}% : return the way that the GiveAll will be stopped
GACreated: &aThe GiveAll &b&l%{_ga}%&a has been created ! %{_stop}%
#Message when we delete
#PlaceHolders: %{_ga}% : return the GiveAll name
GADeleted: &aYou've deleted the GiveAll &b&l%{_ga}%&a !
#Message when we add an item to a giveall (with /giveall add <name>)
#PlaceHolders: %{_ga}% : return the GiveAll name
#PlaceHolders: %{_item}% : return the added item
ItemAdded: &aYou've added &byour item &ain the &b%{_ga}%'s items &7&o(item added : %{_item}%)
#Message when we rename a GiveAll
#PlaceHolders: %{_ga}% : return the old name of the GiveAll
#PlaceHolders: %{_newName}% : return the new name of the GiveAll
RenamedSuccessfully: &aYou have successfully rename the GiveAll &b%{_ga}% &ain &b%{_newName}% &a!
#Message when we copy the items of a giveall into another
#PlaceHolders: %{_ga1}% : return the name of the Giveall whose items will be copied
#PlaceHolders: %{_ga2}% : return the name of the Giveall where items will be copied
SuccessfullyCopied: &aYou've successfully copied items of the giveall &b%{_ga1}% &ainto &b%{_ga2}%&a !
#Message when we clear the items of a Giveall
#PlaceHolders: %{_ga}% : return the GiveAll name
SuccessfullyCleared: &aYou've successfully cleared the GiveAll &b%{_ga}%
#Message when we change the duration of a GiveAll
#PlaceHolders: %{_ga}% : return the GiveAll name
#PlaceHolders: %{_time}% : return the duration
SuccessfullyChangedTime: &aYou've successfully changed the duration of the GiveAll &b%{_ga}%&a (%{_time}%s)
#Message when we change the countdown of a GiveAll
#PlaceHolders: %{_ga}% : return the GiveAll name
#PlaceHolders: %{_time}% : return the countdown
SuccessfullyChangedCD: &aYou've successfully changed the countdown of the giveall &b%{_ga}% &a(%{_time}%s)
#Message where we have to click to rename (MSG), and its tooltip (TTP)
#PlaceHolders: %{_ga}% : return the GiveAll's name
MSGClickForRename: &aClick-me to rename &b%{_ga}%&a !
TTPClickForRename: &aClick to do /ga rename %{_ga}%
#Message when the skript is Reloading
Reloading: &aReloading...
#-----------------------------------------------------#
# Configuration of the list #
#-----------------------------------------------------#
#Color of the comma and of the "and" in the list
ComaColorInList: &a
#Color of the GiveAll's names in the list
GAColorInList: &b
#Message when the list is empty
GAListIsEmpty: &aThere is no giveall !
#Message before the list
#PlaceHolders: %{_number}% : return the number of GiveAlls
GAList: &aList of all GiveAlls &f&o(%{_number}%) &a:&b
#-----------------------------------------------------#
# Name of GUIs #
#-----------------------------------------------------#
#Name of the GUI when you have to confirm to delete a GiveAll
#PlaceHolders: %{_ga}% : return the GiveAll name
ConfirmDeleteGUI: &cRemove &c&o%{_ga}%
#Name of the GUI to edit items of a GiveAll
#PlaceHolders: %{_ga}% : return the GiveAll name
EditItems: &b[&aGiveAll&b] &b%{_ga}%
#Name of the list's GUI
TitleGUIList: &b[&aGiveAll&b]
#Name of the GUI to modify a giveall (/ga modify <name>)
#PlaceHolders: %{_ga}% : return the GiveAll name
ModifyGA: &aGiveAll &b%{_ga}%
#-----------------------------------------------------#
# Name of the Items, in the GUI #
#-----------------------------------------------------#
#Name of the book to indicate the name of the Giveall
# (In the Delete GUI and the Modify GUI)
#PlaceHolders: %{_ga}% : return the GiveAll name
InfoGAName: &eGiveAll : %{_ga}%
#Name of the button to cancel the delete of a GiveAll
CancelDelete: &cCancel
#Name of the button to confirm the delete of a GiveAll
ConfirmDelete: &aRemove
#Name of the button to close the GUI
CloseGUIItem: &cQuit
#Name of the button to go back to the list
BackToGAList: &cBack to the list
#Name of the button to go to the next page
NextPage: &fNext page
#Name of the button to go to the previous page
PreviousPage: &fPrevious page
#Name of the button to add an item
AddItemToGA: &aAdd an item
#Name of the book, in the GiveAll list
#PlaceHolders: %{_ga}% : return the GiveAll name
GAListItem: &aGiveAll &b%{_ga}%
#Lore of the book, in the GiveAll list
#PlaceHolders: %{_action}% : return what will happen when we will left click on the book (stop or start)
#PlaceHolders: %{_satut}% : return the actual status of the GiveAll (I know, we write "status", and not "statut", but in french we write "statut" and I didn't change...)
#PlaceHolders: %{_nbitem}% : return the amount of items in the GiveAll
#PlaceHolders: %{_time}% : return the duration of the GiveALl
LoreGAList: ||&7&m--------------------||&cMiddle click: modify items||&cRight click: delete||&cLeft click: &c%{_action}%||&cShift left click: modify the GiveAll||&r||&7&m--------------------||&e&oInformations||&aNumber of items: &b%{_nbitem}%||&aDuration: &b%{_time}%||&aCountdown: &b%{_cd}%||&aStatus: &b%{_statut}%
#Name if the item between the two button to go to the next/previous page
SeveralPageItem: &e&oSoon: Several pages #The item between 'next page' and 'previous page'. In the future, it will be replaced by a Several-page system
#The action that will be executed (when we click while it is not in progress)
LeftClickActionStart: &cstart
#The action that will be executed (when we click while it is in progress)
LeftClickActionStop: &cstop
#The status of the GiveAll (when it is in progress)
StatusInProgress: In progress...
#The status of the GiveAll (when it is not in progress)
StatusStop: stopped
#Name of the items to clear items of a Giveall
ClearGA: &cClear the items of the GiveAll
#When a GiveAll is infinite (in the Giveall list)
InifiteTimeForGUIList: Infinite
#Name of the items to rename a Giveall, in the "modify" GUI
GAModifyRename: &eRename
#Name of the button to modify items of a Giveall, in the "modify" GUI
GAEditItems: &eModify items
#Name of the button to delete a Giveall, in the "modify" GUI
DeleteInModifyGUI: &cDelete
#Name of buttons to modify the duration of a Giveall, in the "modify" GUI
AddTimeByGUI: &aAdd %{_time}%&as to the duration of the GiveAll
RemoveTimeByGUI: &cRemove %{_time}%&cs from the duration of the GiveAll
SeeTimeByGUI: &aDuration of the GiveAll : &b%{_time}%&as
LoreSeeTimeByGUI: &r||&b0 &a= Infinite
#Name of buttons to modify the countdown of a Giveall, in the "modify" GUI
AddCDByGUI: &aAdd %{_time}%&as to the countdown
RemoveCDByGUI: &cRemove %{_time}%&cs from the countdown
SeeCDByGUI: &aCountdown: &b%{_time}%&as
#-----------------------------------------------------#
# Commands #
#-----------------------------------------------------#
#Name of the mains command
MainCommand: GiveAll #we don't care about uppercases/lowercases
#Name of aliases
AliasesCommands: ga, givea, gall, give-all #Separate with a coma
#-----------------------------------------------------#
# Permissions #
#-----------------------------------------------------#
#Permissions.
PermissionAll: giveall.*
PermissionCreate: giveall.create
PermissionStart: giveall.start
PermissionReload: giveall.reload
PermissionStop: giveall.stop
PermissionGiveHand: giveall.givehand
PermissionDelete: giveall.delete
PermissionAddItem: giveall.additem
PermissionEditItem: giveall.edititem
PermissionChatList: giveall.list.chat
PermissionGUIList: giveall.list.gui
PermissionRename: giveall.rename
PermissionHelp: giveall.help
PermissionUpdateCheck: giveall.updatecheck
PermissionCopyContent: giveall.copycontent
PermissionClearGA: giveall.clear
PermissionModify: giveall.modify
PermissionChangeTime: giveall.settime
PermissionChangeCountDown: giveall.setcountdown
Images and videos
Help page (/ga help)
List of all the GiveAlls,
The "Edit" GUI (to add/remove items) (/ga edit <nom>)
(Add items: drag-and-drop it on the gold-block
remove all the items: click on the redstone dust
remove an items: right click on it)
The "Modify" GUI, to modify a loads of parameter of your GiveAll, such as CountDown, Duration, Rename, Edit Items, delete, start/stop... (/ga modify <nom>)
Countdown when a GiveAll starts
List of all the GIveAll (/ga list)
Message when a GiveAll is stop (/ga stop <name>)
Videos:
If you want to do a video, you can !
But don't forget to say my name (noftaly), and to put the download link in the description. I will add the video on the ressource page
Add-ons and version
Must:
Java 8
Spigot
TuSKe
Skript 2.2
SkQuery
Developed and tested with:
Java 8
Spigot 1.12.2
Skript 2.2-dev31c
TuSKe 1.8.2-dev7
SkQuery 3.21.4
Changelog
Code:
Beta 1.0 : (private)
- Creation of the skript
Beta 2.0 : (public)
- Added: /ga update
- Added: Configuration
- Fix of some bugs
- Added Json in the /ga help
- Added permission
Beta 3.0 :
- Modification of the Configuration
- Added some link in the "update check"
- Code modification
- Ressource's page modification
- Added a Trello
Beta 3.2 :
- Added: /ga rename <ancien nom> <nouveau nom>
- Added: /ga copy <GiveAll> <GiveAll>
- Added: /ga clear <GiveAll>
- Added: /ga changetime <GiveAll> <time>
- Added an item to clear all the items in the "Edit" GUI
- Added some permissions
- Added the "Informations" part in the lore of the book, in the list
- Modification of the Configuration
- Modification of the code
Beta 3.2.1 :
- Modification of the configuration
Beta 3.2.2 :
- Modification of the code
Beta 4 :
- Added: /ver GiveAll
- Added: /ga modify
- Added: /ga setcountdown
- Fix of the « internal occurred while etc. » in the /list gui
- Modification of the configuration
- Modification of the items in the GUI list
- Modification of the /ga help
- Modification of the way that the countdown works
- Optimisation
Betas 4.1 ; 4.2 ; 4.3 :
- BugFix
Version 1.0 :
- Added /ga condition <set/clear/see> <GiveAll> [condition] [value]
- Added an item to modify the condition, in the /ga modify
- Added a GUI to modify the condition
- Added an information on the condition of a GiveAll and its value in te /ga list gui
- Modification of the configuration
- Modification of the way that some commands worked
- Modification of the way that the items are given
- Modification of an item in a GUI (the "Back to the list" item become "Back", to be used in other GUIs)
Version 1.0.1 :
- Added a permission for the /ga condition
- Deleted a message with was 2 times in the configuration
Version 1.0.2 :
- Added an error message if we put an integer smaller than 0 in the /ga settime
- Fixing a bug wich allows us to define a negative duration
- Modification of the configuration
Version 1.1.0 :
- Added 6 conditions: max-kill, min-kill, max-death, min-death, max-money, min-money
- Added /ga duplicate <GiveAll> with allows you to duplicate a GiveAll. It will create an other giveall wich will be name like this: <nom_du_giveall>-copy. If this name already exist, it will be "copy2" or "copy3" or "copy4" etc.
- Added some items to modify the condition in the condition's configuration panel
- Modification of the clock's item in the /ga modify: right click on it now reset the time or the countdown
- Modification of the configuration
- Modification of the /ga help
Version 1.2.0, 1.2.1 et 1.2.2 :
- Added 4 conditions: min-playtime, max-playtime, in-region, not-in-region
- Optimisation of the code
- Modification of the 'launch' line in the gui of the list
- Modification of the configuration
- Modification of the /ga delete/create/duplicate
- Deleting API (still available here if you want)
Version 1.3.0 :
- Added a MultiPage system (Thanks @McLincoln2 for the help)
- Added the version in the file name
- Added log in a log file (plugins/giveall/actions.log)
- Fix of the Ghost Item's bug
- Improve of some GUI (nicer)
- Modification with conditions
- Changing some items
- Remake of the Condition's GUI
- Updated video tutorial (still in french)
- Modification of the configuration
- Optimisation of the code
- Deleting the old GUI's system (to replace them with MultiPage)
- Merging the 2 pages in the /ga help in only one
To-Do and bugs
▶ Add a .yml
✔ Add Several-Page system
✔ /ga rename <Old name> <new name>
✔ Add a log file
✔ Add other language, as english
▶ Let-me know your ideas !
Known Bugs:
✔ Sometimes, when we add an item that already exist, by the "edit" GUI, the old one become ghost
↪ Fixed (in the next updated. Let me some time to translate all the 700 lines of configuration...)
▶ Say-me if you found a bug !
Servers using the skript
Let-me know if you use the skript, and i will add you're IP and your TeamSpeak/discord/site... here !
Servers using the skript:
- ...
- ...
Informations
Thanks a lot for downloading this skript !
A trello with all the things about the skript is available here ! (in french) : https://trello.com/b/Fid0us18/skript-giveall
You're not alow to claim this skript, or any of its parts as yours.
You're not alow to post this skript on a forum, without my permission.
You can do videos on it !
But don't forget to say my name (noftaly), and to put the download link in the description. I will add the video on the ressource page
The skript has ★★★★★ (15 reviews) on skript-mc !