Sueta
GU

Guilds Contracts (addon for Glare's Guilds plugin)

1.1

Allow Guilds to buy contracts that requires items and gives rewards.

·Plugin

Guilds Contract for Guilds 3.4.9+

An addon for Glare's guilds plugin:
https://www.spigotmc.org/resources/guilds-1-8-1-14-x-support-rpg-guis-land-claims-and-more.66176/

Features:

- Generates contracts every day at a configured time.
- Contracts requires money and gives more money when completed. Money is taken and given in the guild's bank (/guild bank withdraw/deposit/balance)
- Contracts are completed by putting the required items in the guild vaults (/guild vault)
- A penalty comes if the guild doesn't complete the contract in due time: The guild loses money and is unable to take other objectives for some days
- A guild can take 1 contract per day and 1 contract at a time
- Two guilds cannot take the same contract! So they have to go fast if they want the best one
- Commands can be executed when the contract is finished. The guild name and the player name can be both used in it.

Config:

#All contracts are generated randomly with these properties 

contract: 
#sorry, I should have put "hour", put I'm french. 
#Here, the contracts will reset at 00:00! 
  Reset: 
    heure: 0 
    minute: 0 
  Number: 5 
# Price to take the contract 
  Cost: 
    min: 1000 
    max: 4000 
# Stacks of materials needed 
  Quantity: 
    min: 2 
    max: 12 
# Number of material types needed 
  NumberMaterial: 
    min: 3 
    max: 4 
# Material types 
  Materials: 
  - DIAMOND 
  - STONE 
  - QUARTZ_BLOCK 
# Reward given, and commands executed 
  Reward: 
    min: 1000 
    max: 20000 
    Command: 
   # format: - 'command': percentage of chance for the command to be executed 
      'guild admin upgrade [Guild]': 10 
      'guild admin give [Player] 1': 10 
#Time iin days to finish the contract 
  Time: 
    min: 3 
    max: 14 
  Penalty: 
    Time: 
#Penality time where guild will be unable to take a contract, if they don't do the contract in due time 
      min: 3 
      max: 7 
# Penalty money, that will result in a debt if guild hasn't enough money 
    Money: 
      min: 1000 
      max: 10000
noPermission: "&cYou don't have permission [Permission]" 
guildHasDebt: "&cSorry, your guild has a debt of [Debt] and have to pay for it before you can take objectives" 
guildHasDaysPenalty: "&cSorry, but your guild have to wait [Days] to take a new objective" 
notInAnyGuild: "&cSorry, but you aren't in any guild right now" 
tookObjective: "&aYou took a contract for your guild, but be warned, you have a limited time to complete it!" 
youLackSomeItems: "&cSorry, but you still need some items: [Items]" 
objectiveCompleted: "&aYour guild has completed an objective! Your Guild won [Recompense] $ !" 
guildNeedsMoney: "&cYour guild still needs [Money] $ to take this objective" 
alreadyDoneContract: "&cSorry, you already done a contract today" 

Menu: 
  dailyContracts: 
    name: "&1Daily contracts" 
    lore: "&fPrice: [Prix]||Reward: [Recompense]||Penalty: [Penalite]||Time: [Temps] days||Penalty time: [TempsPenalite] days||Required items:||[Items]" 
    freeObjective:  "Contract n°[Number] (Click to take)" 
    takenObjective:  "Contract n°[Number] (&4Already reserved!&f)" 
  currentContract: 
    name: "&1Current contract" 
    lore: "&fPrice: [Prix]||Reward: [Recompense]||Penalty: [Penalite]||Time left: [Temps] days||Penalty time: [TempsPenalite] days||Required items:||[Items]" 
    itemName: "Contract (Click to end it)" 
  loreItemListFormat: "- [Number] stacks of [Item]||"

Commands and permissions:

-/contract: Opens the contract list if guild hasn't any contract, and opens the contract informations if guild has a contract.
Permission: contract.use

-/contract reload: not tested, should work
Permission: contract.admin

-/contract reset: reset daily contracts, not tested but should also work
Permission: contract.admin

Known bugs:
- Not for the moment, give me bugs to solve <3


To do:

- PLEASE SAY ME WHAT YOU WANT
More infos:
Mail: [email protected]
Discord: Black_Eyes#5538
Screens:

Similar projects

Plugin →