Give To

GiveTo

Give Items (& Kits) w/ Permissions & Economy Support

Version: v0.8
CraftBukkit: 1597 (1337, 1240, 1185, 1060, 1000)

GiveTo is an easy way to give items to other players or yourself. Using Permissions or EssentialsGroupManager (w/ EssentialsGroupBridge) allows fine administrative control. GiveTo supports iConomy 4/5/6, BOSEconomy 7, MultiCurrency, and Essentials Economy via Register.

You can give an item by ID or NAME. If no item matches directly, GiveTo attempts to search for a matching item. If there is more than one result, you are presented a list of matches.

You can also specify an amount to give. Each item can have its own default and max amounts. Or GiveTo will use the global amounts configured.

Features

  • Item ID or Name with searching & results
  • Global/Item-specific default and max amounts
  • Global/Item-specific costs
  • Global/Item-specific delays (cooldown)
  • Quick self-give command
  • Items can have multiple aliases and also act as a kit
  • Customizable messages
  • Configurable command names (with plugin.yml change)
  • Permissions Support (else OPs): command use, reload, specific items/kits, delay/cost exemptions

Commands

GiveTo adds two commands: /giveto (/gto /give) and /giveme (/gme). Both accept "reload" as the first argument to trigger a reload of the config.yml. /gto has full functionality from the console.

  • /gto <player> <item> [count]
  • /gme <item> [count]

The player can be a player name or "me." As long as there is only one match, you can enter part of a player name. Entering /gto ltg ... will give items to "ltguide."

The item can be an ID number or text that includes spaces or * as a wildcard. For example, assume you have two items: cobblestone and cobblestone stairs. Entering /gme co st 3 will display the two items. However, /gme co sta 3 will give you 3 cobblestone stairs. You could also use c a, but it actually matching would depend on what other items you have added.

You can also specify a "durability" that will override the one set in config. For example, /gme sapling:1 will give you a Spruce Sapling. This is useful for Maps since there are too many to conveniently list in the config.

If you want to change the commands, then you need to change them in plugin.yml inside the .jar. (7-zip: open jar, right-click plugin.yml, "Edit")

Configuration

count:
    max: 512
    def: 64
delay: 0
cost: 0
updateinventory: ['someclientmoduser','anothersuchuser']
messages:
    arglength: '&5Syntax: &f%s'
    permission: '&cYou do not have permission.'
items:
    stone:
        alias: rock
        id: '1'
    kit:
        def: 1
        max: 1
        permission: beginnerset
        delay: 600
        cost: 5
        id:
        - '276'
        - '277'
        - '278'
        - '279'
        - '259'
        - '288'

That is a sample configuration. The full config.yml will be created in the plugins/GiveTo folder when you start the server. You can also download the full config.yml below. YML files requires spaces instead of tabs and the level of indention matters.

Count

If no amount is specified to /gto or /gme then the "def" value is used. The "max" value is the maximum amount that can be given per item.

Delay

If no delay (cooldown) is specified in the item, then the global delay is used. The delay on a specific item can be less than the global.

Cost

If a cost is specified in the config, then Register.jar will be created in the lib/ folder when you start the server. You will need to reload/restart the server or no money will be deducted from a player's account. The cost on a specific item can be less than the global.

Update Inventory

Client mods for inventory (TooManyItems) require updateInventory() to visually update. However, this API method is deprecated so it shouldn't be used because a future update may remove it. Using this call resends the entire inventory to the player, so it requires more bandwidth from the server. By default the GiveTo plugin will not use it, but it can be enabled for certain users or globally with '*' if a lot of users request it.

Messages

You can use Color Codes to control the colors in messages. You can flip the order of replacements by using %2$s and %1$s instead of %s. You don't have to use every replacement either, i.e. not showing balance.

Items

item name - can contain spaces, i.e. glowstone block

  • id - required - ID as string: '1' or ID as string list: ['276','277'] (or in long form; see above config); for durability values use a colon: '35:4'
  • alias - optional - another common name, i.e. netherstone for netherrack (can also be a list, see 'id' above)
  • def - optional - default amount
  • max - optional - maximum amount
  • delay - optional - delay seconds before giving item again(cooldown)
  • cost - optional - money amount
  • permission - optional - if specified, the user needs to have giveto.item.PERMISSION to give

Permissions

  • giveto.others - /gto
  • giveto.self - /gme
  • giveto.reload - /g* reload
  • giveto.item.PERMISSION - required if you set an item specific permission
  • giveto.exempt.delay - exempt from delay period
  • giveto.exempt.cost - exempt from cost (all items FREE)

You can assign the same permission to multiple items (i.e., permission: builder) then assign a user or group 'giveto.item.builder' It's probably a good idea to add a permission to lava, bedrock, etc.

If any Permissions-like plugins are not available then Bukkit Permissions (SuperPerms) is used which, by default, will grant all access to OPs only.


Download GiveTo Plugin (Static)
Download GiveTo Plugin (version in filename)
View Full Items List
Source Code

Changelog

Version 0.8

  • added new items
  • updated Register support (no longer needed in /lib)
  • uses Bukkit Permissions (SuperPerms) if no Permissions-like plugin

Version 0.7

  • added configurable updateInventory() for client mod fix
  • updated Register support (iConomy 6, MultiCurrency, BOSE7)
  • fix cost message showing previous balance

Version 0.62

  • add new items

Version 0.61

  • remove need for utf-8 encoded config.yml (now uses & for color instead of unicode)
  • updated economy support
  • fix default durability (fixes unable to craft with some spawned items)
  • fix name lookup with specified durability (yellow wool:5 is really Light Green Wool)

Version 0.6

  • customizable messages

Version 0.5

  • able to specify custom durability on item (map:2)
  • economy support (cost)
  • delay periods/cooldown (delay)
  • permissions for cost/delay exemptions
  • multiple aliases per item

Version 0.4

  • properly use command aliases in plugin.yml
  • remove unnecessary if from onCommand
  • override /give
  • inventory full message

Version 0.3

  • No longer requires target as exact player name, will search

Version 0.2

  • Displays loaded items onEnable and reload
  • Minor cleanup from pre-release

Version 0.1

  • Initial release

Comments

Posts Quoted:
Reply
Clear All Quotes

About This Project

Categories

Members

Recent Files

Bukkit