WarpAds 1.1.0

Advertise your player warps for a limited time!

  1. Swiftlicious
    Native Minecraft Version:
    1.16
    Tested Minecraft Versions:
    • 1.15
    • 1.16
    Contributors:
    Swiftlicious
    Information:
    The purpose of this plugin is to advertise your warps set using the plugin Warpalicious using a currency value from Vault, you have access to completely customize sounds, menus and messages within the configuration file provided. By default warps are advertised for 2 days keeping data saved in player yml files. Players have access to choose which warp they want to advertise (only advertising 1 warp at a time) and can set their custom description to get traffic to their ad. Things that are stored per player's ads are personal descriptions (keeps saved after ads expired), a list of unique visitors, a total amount of money the players have invested, the total time you have left until the ad expires, the warp name that is being advertised, the username for the player that owns the ad and the purchased date (in the format defined in the config). Ads have an auto safe detection so you can't be suffocated or teleported to lava or in the sky as well.

    Required Dependencies:
    Warpalicious (Other warp plugins if requested can be supported!)
    Vault

    Screenshots:
    [​IMG] [​IMG] [​IMG] [​IMG][​IMG] [​IMG]

    Permissions:
    "warpads.admin" (op) - Access to admin commands.
    "warpads.purchase" (default) - Access to purchase an advertisement in the warp menu.
    "warpads.invest" (default) - Access to increase your investment on your ad.
    "warpads.remove" (default) - Access to remove your ad from the warp menu.
    "warpads.description" (default) - Access to change your warp description.
    "warpads.visit" (default) - Access to visit an advertised warp.
    "warpads.bypass.color" (permission required) - Access to bypass blocked color codes when setting your description.
    "warpads.bypass.filter" (permission required) - Access to bypass blocked words when setting your description.
    "warpads.view" (default) - Access to view all advertisements and your profile in the warp menu.

    Commands:
    /warpads - To reload the config.yml and remove player's advertisements or descriptions.
    /ads - To View all the current ads.
    /ads help - View the help page for all admin pages.
    /ads profile - View your ad profile.
    /ads expiration - Sees how long left your ad has left before expiring.
    /ads setdescription - Allows you to set your description in chat.
    /ads increase [low/high] - Allows you to invest a configurable low ($100 default) or high ($1,000 default) amount of money into your ad making it be placed higher.
    /ads invest - Lets you purchase a fresh advertisement.
    /ads visits - Lets you view how many unique visitors you have had visit your advertised warp.
    /ads investment - Lets you see how much you have invested into your warp.
    /ads removead - Lets you remove your warp advertisement, you won't get a refund for how much you've invested however.
    /ads confirm - Lets you confirm removing your ad (only works while in confirm mode after typing /ads removad).

    Default Config:
    Code (YAML):
    # WARP ADS CONFIG #
     
    Data
    :
      ad-funds
    :
       # The amount of the starting/lowest/highest ad price.
        starting-investment
    : 1000
        lowest-investment
    : 100
        highest-investment
    : 1000
      # Command(s) to run when visiting a warp.
      visiting-commands
    :
       - "warp %warp-name%"
      # The time in hours that the ad will expire after purchase (you can't extend this time after purchase you must repurchase it).
      ad-expiration
    : 48
      # Whether it should format numbers with commmas or not.
      comma-formatting
    : true
      # The sound that should play when an ad expires for the player who owns the ad
      expiration-sound
    : ENTITY_ENDER_DRAGON_DEATH
      # The amount of seconds it should wait after having typed the removead command to confirm their choice.
      confirm-wait-time
    : 10
      # Hide private warps when selecting a warp to advertise? You can't choose a private warp regardless.
      hide-private-warps
    : false
      # Show action bar when confirm time is counting down?
      show-actionbar
    : true
      # Check if a warp is safe to be teleported to before creating an ad for it, or if it already has an ad on it and it is then considered unsafe it will remove those ads
      check-safety
    : true
      # The date format that dates are stored when purchased
      # Examples can be found here: https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
      purchase-date-format
    : "MM-dd-yyyy"
      # A list of blocked color codes from being used in descriptions unless bypassable.
      # Must be in proper alphabetic order.
      blocked-color-codes
    : "klmnor0"
      # Whether or not to completely block an attempt at an inappropriate description or to just replace the blocked word with asterisks (***)
      block-inappropriate-description
    : false
      # Whether or not to block any attempts to input ips (numerical and alphabetical) into a description, if true it will replace the ip with www.spigotmc.org
      block-description-ips
    : true
      # A list of banned words that can't be used in descriptions.
      banned-description-words
    :
       - "fuck"
        - "bitch"
        - "cunt"
        - "slut"
     
    Messages
    :
     # Variables: %prefix% %cmd-label% %warp-name% %balance% %price% %player% %countdown% %visits% %description% %rank% %investment% %owner% %wait-time% %time-expired% %purchase-date%
      prefix
    : "&7[&bWarp&dAds&7]"
      help-header
    : "%prefix% &aWarpAds Help Commands:"
      help-page
    :
       - " "
        - "&6/%cmd-label% &7- &eThis will open the advertisements interface."
        - "&6/%cmd-label% profile &7- &eThis will open your profile interface."
        - "&6/%cmd-label% setdescription &7- &eThis will let you change your description using chat."
        - "&6/%cmd-label% expiration &7- &eThis will let you see how long until your ad expires."
        - "&6/%cmd-label% invest &7- &eThis will let you invest in starting an advertisement."
        - "&6/%cmd-label% visits &7- &eThis will let you see how many unique visits you have."
        - "&6/%cmd-label% investment &7- &eThis will let you see how much you have invested."
        - "&6/%cmd-label% increase [low/high] &7- &eThis will let you increase your investment for the least or highest amount possible."
        - "&6/%cmd-label% removead &7- &eThis will let you remove your advertisement &c&l(YOU DON'T GET A REFUND)&e."
        - " "
      admin-help-header
    : "%prefix% &cAdmin Help Commands:"
      admin-help-page
    :
       - " "
        - "&6/%cmd-label% reload &7- &eReload the config.yml!"
        - "&6/%cmd-label% getad [user] &7- &eGets this player's current advertisement info!"
        - "&6/%cmd-label% cleardesc [user] &7- &eClear this player's current description!"
        - "&6/%cmd-label% clearad [user] &7- &eClear this player's current advertisement!"
        - " "
      reloaded-config
    : "%prefix% &aThe config.yml has been reloaded!"
      no-user-found
    : "%prefix% &cThe user &e%player% &cwasn't found!"
      missing-user
    : "%prefix% &cYou need to provide a valid username!"
      ad-cleared
    : "%prefix% &aYou cleared &6%player%&a's current advertisement!"
      description-cleared
    : "%prefix% &aYou cleared &6%player%&a's current description!"
      no-description-found
    : "%prefix% &cThe user &e%player% &chas no description to clear!"
      no-ad-found-to-clear
    : "%prefix% &cThe user &e%player% &chas no current advertisement to clear!"
      no-ad-found-to-view
    : "%prefix% &cThe user &e%player% &chas no current advertisement to view!"
      no-ad-found-to-visit
    : "%prefix% &cThe user &e%player% &chas no current advertisement to visit!"
      forced-ad-removed
    : "%prefix% &eYou've had your advertisement removed by &6%player%&e!"
      console-log-expired
    : "&e[%prefix%] &b%player%&a's advertisement on the warp &d%warp-name% &ahas expired at &f%time-expired%&a!"
      ad-info-header
    : "%prefix% &a%player%&f's Warp Advertisement:"
      ad-info-page
    :
       - " "
        - "&bWarp Name
    : &6%warp-name%"
        - "&bWarp Description:"
        - "&7- &6%description%"
        - "&bTime Left Until Expire
    : &6%countdown%"
        - "&bUnique Visitor Count
    : &6%visits%"
        - "&bInvested Amount
    : &6$%investment%"
        - "&bRanked Position
    : &6#%rank%"
        - "&bPurchased Date
    : &6%purchase-date%"
        - " "
      no-permission-to-view
    : "%prefix% &cYou don't have permission to view advertisements or your profile!"
      no-permission-to-visit
    : "%prefix% &cYou don't have permission to visit an advertised warp!"
      no-permission-to-purchase
    : "%prefix% &cYou don't have permission to purchase an advertisement!"
      no-permission-to-invest
    : "%prefix% &cYou don't have permission to increase your investment on your advertisement!"
      no-permission-to-remove-ad
    : "%prefix% &cYou don't have permission to remove your advertisement!"
      no-permission-to-set-description
    : "%prefix% &cYou don't have permission to set the description!"
      slot-available
    : "%prefix% &7This slot is available for purchase!"
      warp-is-unsafe
    : "%prefix% &cThe warp &4%warp-name% &cis considered unsafe, Please make sure it's not floating, blocked or in a liquid!"
      no-warps-set
    : "%prefix% &cYou don't own any warps to advertise!"
      warp-is-private
    : "%prefix% &cThe warp &4%warp-name% &cis currently private, Please make it public to advertise!"
      warp-does-not-exist
    : "%prefix% &cThe warp &4%warp-name% &cdoesn't exist, Please try advertising an existing warp!"
      warp-deleted
    : "%prefix% &cYou've deleted your warp &4%warp-name% &cso it was removed from being advertised!"
      warp-was-locked
    : "%prefix% &cYou've privated your warp &4%warp-name% &cso it was removed from being advertised!"
      warp-was-dangerous
    : "%prefix% &cYou've made your warp &4%warp-name% &cunsafe for other players to teleport to so it was removed from being advertised!"
      removed-ad-on-warp
    : "%prefix% &aYou've removed your ad on &b%warp-name%&a!"
      confirm-removal-cmd
    : "%prefix% &ePlease type &a/%cmd-label% confirm &eto remove your ad in the next &6%wait-time% &eseconds!"
      already-started-confirm-process-cmd
    : "%prefix% &eYou're already in the process of removing your ad, Please type &a/%cmd-label% confirm &eto complete it!"
      missed-approval-cmd
    : "%prefix% &cYou didn't type &4/%cmd-label% confirm &cin time to remove your ad, Please try again if you wish to remove it!"
      confirm-removal-menu
    : "%prefix% &ePlease click the confirm button to remove your ad in the next &6%wait-time% &eseconds!"
      already-started-confirm-process-menu
    : "%prefix% &eYou're already in the process of removing your ad, Please click the confirm button to complete it!"
      missed-approval-menu
    : "%prefix% &cYou didn't click the confirm button in time to remove your ad, Please try again if you wish to remove it!"
      current-investment
    : "%prefix% &eYou currently have an investment of &a$%investment%&e!"
      unique-visitor-count
    : "%prefix% &eYou have had &a%visits% &eunique visits to your warp &b%warp-name%&e!"
      increase-type-missing
    : "%prefix% &cPlease define if you would like to increase your investment by the lowest or highest amount! &4/%cmd-label% increase [low/high]"
      action-bar-confirm
    : "&bYou have &6%countdown% &bleft to confirm your ad removal!"
      no-confirmation
    : "%prefix% &cYou haven't confirmed your removal for your ad yet!"
      advertising-warp
    :
       - "&aYou've started advertising the warp &b%warp-name% &afor &6$%price%&a!"
        - "&bYour balance is now
    : &a$%balance%&b."
      no-current-ad
    : "%prefix% &cYou don't have a current advertisement up!"
      time-left-on-ad
    : "%prefix% &aYou have &b%countdown% &aleft on your advertisement!"
      already-advertising
    : "%prefix% &cYou already have an advertisement on your warp &4%warp-name%&c!"
      warp-expired
    : "%prefix% &aYour advertisement on your warp &b%warp-name% &ahas expired!"
      increased-funds-on-investment
    :
       - "&bYou've invested &a$%price% &bon your advertisement!"
        - "&bYour balance is now
    : &a$%balance%&b."
      not-enough-funds
    :
       - "&cYou don't have enough funds to do this!"
        - "&cYou require &4$%price% &cmore to purchase this!"
      input-description
    : "%prefix% &aPlease enter the description in chat! Type &ccancel &ato exit!"
      already-inputting-description
    : "%prefix% &cYou're already inputting your description, Please type it in chat!"
      cancelled-description-input
    : "%prefix% &cYou've cancelled your current input for the description!"
      invalid-description
    : "%prefix% &cYou typed an invalid description, Please input your desired text!"
      updated-description
    :
       - "&bDescription has been updated!"
        - "&aYour new description is (&a&l%length%&r&a/240):"
        - "&7%description%"
      banned-word-in-description
    : "%prefix% &cPlease don't include offensive words or links in your description!"
      max-character-limit-reached
    : "%prefix% &cThe maximum amount of characters you can put your description at is &4240&c!"
      default-warp-description
    :
       - "&7This is %player%'s Warp!"
      visiting-warp
    :
       - "&6Loading..."
        - "&aVisiting %player%'s warp (&b%warp-name%&a)!"
     
    # Material List: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
    # Sounds List: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html
    # Variables: %warp-name% %starting-price%
    Warp-Decider-Menu
    :
     # The title of the inventory menu
      title
    : "&8Warp Decider | &9Ads"
      # If the title is centered or not
      center-title
    : false
      # The sound that plays when you open the menu
      opening-sound
    : BLOCK_END_PORTAL_SPAWN
      # The border item's data:
      border-item
    :
        material
    : BLUE_STAINED_GLASS_PANE
        name
    : " "
        #lore:
          #- " "
          #- " "
      # The item that takes you to the profile menu:
      profile-menu-item
    :
        slot
    : 8
        click-sound
    : BLOCK_END_PORTAL_FRAME_FILL
        material
    : NETHER_STAR
        name
    : "&7Return to Profile"
        #lore:
          #- " "
          #- " "
      # The item that shows up for warps that you own to choose from:
      public-warp-item
    :
        click-sound
    : ENTITY_SLIME_JUMP
        material
    : ENDER_EYE
        enchanted
    : true
        name
    : "&b%warp-name%"
        lore
    :
         - " "
          - "&aClick to start advertising"
          - "&athis warp today for &6$%starting-price%&a!"
      # The item that shows up for warps that are private:
      private-warp-item
    :
        click-sound
    : BLOCK_NOTE_BLOCK_BASS
        material
    : ENDER_PEARL
        name
    : "&b%warp-name%"
        lore
    :
         - " "
          - "&cThis warp is currently private!"
          - "&cYou can only advertise public warps!"
     
    # Material List: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
    # Sounds List: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html
    # Variables: %starting-price% %investment% %player% %visits% %rank% %countdown% %warp-name% %description% %star% %lowest-invest% %highest-invest%
    Profile-Menu
    :
     # The title of the inventory menu
      title
    : "&8Profile | &9Ads"
      # If the title is centered or not
      center-title
    : false
      # The inventory size (can be 1-6):
      size
    : 3
      # The sound that plays when you open the menu
      opening-sound
    : BLOCK_LAVA_POP
      # The border item's data:
      border-item
    :
        material
    : WHITE_STAINED_GLASS_PANE
        name
    : " "
        #lore:
          #- " "
          #- " "
      # The item that returns you to the main menu (warps):
      main-menu-item
    :
        slot
    : 18
        click-sound
    : ENTITY_CHICKEN_EGG
        material
    : SPRUCE_DOOR
        name
    : "&e%star% Main Menu"
        #lore:
          #- " "
          #- " "
      # The item that lets you set your warp description:
      description-item
    :
        slot
    : 12
        click-sound
    : ENTITY_VILLAGER_YES
        fail-sound
    : BLOCK_ANVIL_BREAK
        set-sound
    : BLOCK_LAVA_POP
        material
    : BOOK
        name
    : "&aSet Description"
        #lore:
          #- " "
          #- " "
      # The item that shows you your warp profile info if ranked:
      profile-ranked-item
    :
        slot
    : 13
        material
    : PLAYER_HEAD
        name
    : "&a%player%'s Warp &7(&b%warp-name%&7)"
        lore
    :
          - "&fRank
    : &b#%rank%"
          - " "
          - "&fDescription:"
          - "&7%description%"
          - " "
          - "&fBucks Paid
    : &a$%investment%"
          - "&fVisits
    : &e%visits%"
          - " "
          - "&fExpires in:"
          - "&6%countdown%"
          - " "
          - "&b* Click to visit warp *"
      # The item that shows you your warp profile info if not ranked:
      profile-not-ranked-item
    :
        slot
    : 13
        material
    : PLAYER_HEAD
        name
    : "&a%player%'s Warp &7(&bNone&7)"
        lore
    :
          - "&fRank
    : &eNOT RANKED"
          - "
    "
          - "
    &fDescription:"
          - "
    &7%description%"
          - " "
          - "&fBucks Paid
    : &a$0"
          - "&fVisits
    : &e0"
      # The item that tells you if you don't have a currently active ad:
      no-active-ad-item
    :
        slot
    : 14
        material
    : CLOCK
        name
    : "&eNo active ad"
        #lore:
          #- " "
          #- " "
      # The item that tells you if you do have a current active ad:
      active-ad-item
    :
        slot
    : 14
        material
    : CLOCK
        enchanted
    : true
        name
    : "&eExpires in: &6%countdown%"
        #lore:
          #- " "
          #- " "
      # The item that lets you invest into showing your warp on the ad page:
      invest-item
    :
        slot
    : 17
        click-sound
    : ENTITY_PLAYER_LEVELUP
        fail-sound
    : BLOCK_STONE_BREAK
        material
    : GOLD_BLOCK
        name
    : "&eStart advertising"
        lore
    :
         - "&f* Invest &a$%starting-price% &fto start *"
      # The item that lets you increase your invest by the lowest amount:
      increase-low-item
    :
        slot
    : 17
        click-sound
    : ENTITY_EXPERIENCE_ORB_PICKUP
        fail-sound
    : BLOCK_STONE_BREAK
        material
    : EMERALD
        name
    : "&eIncrease your ranking"
        lore
    :
         - "&f* Invest &a$%lowest-invest% &fmore *"
      # The item that lets you increase your invest by the highest amount:
      increase-high-item
    :
        slot
    : 8
        click-sound
    : ENTITY_EXPERIENCE_ORB_PICKUP
        fail-sound
    : BLOCK_STONE_BREAK
        material
    : EMERALD_BLOCK
        name
    : "&eIncrease your ranking"
        lore
    :
         - "&f* Invest &a$%highest-invest% &fmore *"
      # The item that lets you remove your advertisement:
      remove-ad-item
    :
        slot
    : 26
        click-sound
    : ENTITY_PARROT_AMBIENT
        fail-sound
    : BLOCK_STONE_BREAK
        material
    : BARRIER
        name
    : "&cRemove Ad"
        #lore:
          #- " "
          #- " "
      # The item that lets you confirm to remove your advertisement:  (This item will appear when the above item is clicked in the same slot)
      confirm-item
    :
        click-sound
    : ENTITY_VILLAGER_NO
        fail-sound
    : BLOCK_STONE_BREAK
        material
    : BARRIER
        enchant
    : true
        name
    : "&cConfirm Ad Removal"
        lore
    :
         - "&fYou have &4%countdown% &fto confirm"
          - "&fyour choice to remove your ad!"
     
    # Material List: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
    # Sounds List: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html
    # Variables: %investment% %player% %visits% %rank% %countdown% %warp-name% %description%
    Advertisement-Menu
    :
     # The title of the inventory menu
      title
    : "&8Top Warps | &9Ads"
      # If the title is centered or not
      center-title
    : false
      # The inventory size (can be 1-6):
      size
    : 6
      # The sound that plays when you open the menu
      opening-sound
    : BLOCK_LAVA_POP
      # The slots that should have advertisements in them (at most only 25 are acceptable):
      position-slots
    :
       - 2
        - 3
        - 4
        - 5
        - 6
        - 19
        - 20
        - 21
        - 22
        - 23
        - 24
        - 25
        - 28
        - 29
        - 30
        - 31
        - 32
        - 33
        - 34
        - 37
        - 38
        - 39
        - 40
        - 41
        - 42
      # The border item's data:
      border-item
    :
        material
    : YELLOW_STAINED_GLASS_PANE
        # If you want to skip specific slots from being filled in as border items then put the slot ID in this list.
        skipped-slots
    :
         - 10
          - 11
          - 12
          - 13
          - 14
          - 15
          - 16
        name
    : " "
        #lore:
          #- " "
          #- " "
      # The item that takes you to the profile menu:
      profile-menu-item
    :
        slot
    : 53
        click-sound
    : BLOCK_END_PORTAL_FRAME_FILL
        material
    : NETHER_STAR
        name
    : "&7View your profile"
        #lore:
          #- " "
          #- " "
      # The item that represents a filled position warps:
      filled-position-item
    :
        click-sound
    : ENTITY_EXPERIENCE_ORB_PICKUP
        fail-sound
    : BLOCK_STONE_BREAK
        material
    : PLAYER_HEAD
        name
    : "&a%player%'s Warp &7(&b%warp-name%&7)"
        lore
    :
          - "&fRank
    : &b#%rank%"
          - " "
          - "&fDescription:"
          - "&7%description%"
          - " "
          - "&fBucks Paid
    : &a$%investment%"
          - "&fVisits
    : &e%visits%"
          - " "
          - "&fExpires in:"
          - "&6%countdown%"
          - " "
          - "&b* Click to visit warp *"
      # The item that represents an empty position warps:
      empty-position-item
    :
       # If you want to enchant specific slots in the menu use this to define which ones:
        enchanted-slots
    :
         - 2
          - 3
          - 4
          - 5
          - 6
        material
    : OAK_SIGN
        name
    : "&aUNCLAIMED"
        #lore:
          #- " "
          #- " "
       

    Suggestions are welcome to make the plugin more unique and fun :)!​
    Gobli989 likes this.

Recent Updates

  1. Metrics & UpdateChecker Added