Updates

dded session timeout if player asks for price and does not reforge item.

Fixed Random-enchant algorithm.

v1.1 8/8/2012

Compatible with 1.3.1 builds of C2

How to Use

Installation

Install Citizens 2

Place Blacksmith.jar file in /plugins directory.

Start Server

Create NPC and give the Blacksmith trait.

/npc create Smithy --trait blacksmith

or

/npc create Smithy
/trait blacksmith

General Information

Blacksmiths have a variety of settings that can be per-NPC or global. The settings under "defaults" in the configuration file are the default settings that a blacksmith will be given when it is created. You can override these settings by using the commands from the Commands section below. You can even configure which items a blacksmith is able to reforge in-game using commands. By default, a blacksmith is able to reforge all items.

Interaction

Interacting with a blacksmith is simple:

Right click the NPC with a tool or armor in your hand. It will tell you the price that it costs to reforge it.

Right click again within 10 seconds and the blacksmith will begin reforging the item.

Depending on the configuration, the reforging has a chance to enchant or damage an item.

Prices

Prices are determined by the damage of an item, the number and type of enchantments, and the prices defined in the configuration file. Basically, the formula for determining the price of a reforge is basePrice + durabilityRemaining + enchantments.

Base Price

The default base price for a reforge is the base-prices.default value in the configuration file. To add new base prices for each individual item, add the item to the config file under base-prices

Durability

Durability is the amount of damage that an item has taken. Generally, the more damaged an item is, the cheaper it will be to reforge. Trying to reforge an item with no damage will be significantly more expensive. The price per durability point is price-per-durability-point.default in the configuration. Per-item values may be set by adding to this section.

These are the items names to use with custom base and per-durability-point prices.

Enchantments

The price of reforging an item with enchantments is more expensive than one without any. For each enchantment, an amount is added to the total price based on the "enchantment-modifier" and the level of the enchantment. Enchantment modifiers can be configured in the configuration file by adding the enchantment name and a value within the enchantment-modifiers section. The default modifier, enchantment-modifiers.default, is used if the enchantment name is not found. Here are valid, case-sensitive names for enchantment modifiers:

arrow-damage - Provides extra damage when shooting arrows from bows

arrow-fire - Sets entities on fire when hit by arrows shot from a bow

arrow-infinite - Provides infinite arrows when shooting a bow

arrow-knockback - Provides a knockback when an entity is hit by an arrow from a bow

damage-all - Increases damage against all targets

damage-arthropods - Increases damage against arthropod targets

damage-undead - Increases damage against undead targets

dig-speed - Increases the rate at which you mine/dig

durability - Decreases the rate at which a tool looses durability

fire-aspect - When attacking a target, has a chance to set them on fire

water-worker - Increases the speed at which a player may mine underwater

Permissions

If you want a player to be able to use a blacksmith, give them the

blacksmith.reforge permission node.

Configuration

The configuration file for Blacksmiths is found in /plugins/Blacksmith/config.yml and is generated automatically when not present.

Default Configuration

The blacksmith config.yml contains the default settings for new blacksmiths. All of these options can be changed on existing blacksmiths in the Citizens/saves.yml.
Mouseover each section to view it's description. All settings under defaults can be overriden by individual blacksmiths in the Citizens 2 saves.yml.

# Blacksmith Configuration
base-prices:default: 10price-per-durability-point:default: 1defaults:messages:busy-with-player: <c>I'm busy at the moment. Come back later!busy-with-reforge: <c>I'm working on it. Be patient!cooldown-not-expired: <c>You've already had your chance! Give me a break!cost: <e>It will cost <a><price> <e>to reforge that <a><item><e>! Click again to reforge!fail-reforge: <c>Whoops! Didn't mean to do that! Maybe next time?insufficient-funds: <c>You don't have enough money to reforge that item!invalid-item: <c>I'm sorry, but I don't know how to reforge that!start-reforge: <e>Ok, let's see what I can do...successful-reforge: <a>There you go! All better!drop-item: truepercent-chance-to-fail-reforge: 10percent-chance-for-extra-enchantments: 5maximum-enchantments: 3delays-in-seconds:maximum: 30minimum: 5reforge-cooldown: 60enchantment-modifiers:default: 5