ExperienceMod
ExperienceMod is a plugin that makes it possible to add, or change, the types of player activity that awards experience points. This can be anything from mining blocks (also ensures no cheating with silk touch), placing blocks, crafting, brewing or even smelting.
Configure the experience system in Minecraft 1.3 to be more challenging, more like 1.2.5 - or, go the other way. You can experiment, finding a system that works for you. It's all configurable.
- Download 2.6.0 for Minecraft 1.4.7
- Download 2.5.0 for Minecraft 1.3.1
- Download 2.2.6 for Minecraft 1.2.5 or Tekkit
- Removing or changing the new 1.3 experience.
- Source (Github)
- Forum Thread
Up-to-date developer builds of this project can be acquired at my Jenkins server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Features
- Modify or remove the dropped experience by a number of factors:
- Name of mob or creature
- The type of damage that killed the mob/creature. Deny experience from using splash potions!
- Whether or not a mob has spawned from a monster spawner
- Drop experience when placing and breaking blocks, along with crafting, brewing and smelting items:
- By block name and durability, and whether it was placed by a player.
- By potion effect, level, extended duration, and more.
- Prevent experience loss upon death.
- Set how much experience a player will get for killing another another.
- Broadcast a message to the server or a specific channel (HeroChat and ChannelChat only) when experience is being awarded. You can also limit the rate of messages transmitted.
- Use a different configuration for every world, or even particular players or groups.
- Add experience to fishing!
- Set a range of experience to drop. Can handle decimal numbers.
- Use (optionally) permissions to decide who will be affected by the modifications.
- Reward experience through currency (requires the Vault plugin).
- Drop currency items instead of being given currency directly.
- Reward by dropping additional items.
- Change the maximum enchanting level from 30 to anything you'd like.
- Set the amount of bookcases you need to get the maximum enchanting level.
- Set how much experience you need to level up a level. Recreate the 1.2.5 experience system perfectly.
Configuration
Note that the default configuration file has been written mostly to demonstrate the functionality of this plugin. The configuration page has some better (and more usable) examples, along with a detailed documentation.
Commands
Syntax | Description | Permission |
---|---|---|
/experiencemod reload | Reloads the configuration files | experiencemod.admin |
/experiencemod debug | Toggles debug mode | experiencemod.admin |
/experiencemod warnings | Displays the most recent parsing warnings. | experiencemod.admin |
/experiencemod item [action] [block] | Displays the experience worth of a block/item. | experiencemod.admin |
/experiencemod mob [mob-name] | Displays the experience worth of a mob. | experiencemod.admin |
/expmod | Alias for the experiencemod command. | experiencemod.admin |
/spawnexp amount | Spawn the given amount experience at the target location of the cursor. | experiencemod.admin |
Mod Support
This mod supports Tekkit servers and its custom blocks. Simply download and install ExperienceBridgeMod 1.2.0 to enable the feature.
The following client and server-side mods are supported:
More information can be found on the ExperienceBridgeMod page.
Permissions
You can disable permissions in global.yml.
Permission | Description |
---|---|
experiencemod.keepexp | Prevents the loss of experience upon death. |
experiencemod.maxenchant | Ensures that the last slot on an enchantment table will always be the highest possible. |
experiencemod.admin | Allows administrators to reload or debug ExperienceMod. |
experiencemod.info | Allows access to warning and debug messages. |
experiencemod.rewards.block | Rewards mining blocks with experience. Will not be awarded if the player has silk-touch. |
experiencemod.rewards.bonus | Rewards destroying non-renewable blocks with experience. Will always be awarded, unlike block. |
experiencemod.rewards.placing | Rewards placing blocks in the world. |
experiencemod.rewards.crafting | Rewards crafting items with experience. |
experiencemod.rewards.brewing | Rewards brewing potions with experience. |
experiencemod.rewards.smelting | Rewards smelting ores with experience. |
experiencemod.rewards.fishing | Rewards fishing and failing to catch a fish. |
autoupdate.announce | Receive a notification when a new version of ExperienceMod is available. |
autoupdate.update | Download a new version, if available, for the next server restart. |
Options
Note: Not all permission plugins support options.
Option | Description |
---|---|
experiencePreset | The preset to load for this player or group. This allows you to have different configuration files for each world, group or even player. |
Statistics Collection
This plugin uses MCStats to generate and publish anonymous usage statistics, but you can easily opt-out by setting use metrics in config.yml to false.
If enabled, the following is sent every ten minutes:
- Metrics revision version (currently 5).
- Server's GUID
- Players currently online (not max player count)
- Server version string (the same version string you see in /version)
- Current version of ExperienceMod
- Whether or not any of the optional plugins are installed AND hooked. This allows me to determine which plugins I should spend time supporting:
- This includes: LogBlock, HawkEye, Vault, HeroChat, ChannelChat and ExperienceBridgeMod.
- The number of "warnings" (configuration errors and general exceptions) encountered since the plugin was last reloaded.
@MattSheridan
Unfortunately, while I did consider it, I neglected to add slime/magma cube attributes when I wrote the query system. But I'll be sure to include it in the next version (after 2.2.3).
There is a work-around, though. If you use the global multiplier, you'll be able to make the experience drop rate a multiple of the standard drop rates - that is, 1 for small, 2 for normal and 4 for big. For instance, with a multiplier of 10, you'd get 10 for small, 20 for normal and 40 for big.
But, the multiplier is global - it will not only increase and decrease the standard drop rate, it will also affect every query in the config file. To compensate, you can divide all the values by the multiplier. So, if the multiplier is 10, and you want diamond ore to yield 150 experience upon being mined, you'd have to set it to 15 in the config.
Hey, so is it possible to select the different sizes of slime (big, small, tiny) in the config? By default, they give out different amounts of experience, so I figure the mod must be able to distinguish between them, right?
@Zanaxaccount
You don't need HeroChat if you just want to broadcast or send a local message. It's just required if you want more options, like the ability to restrict the range, or who will receive it.
@aadnk
That build fixed the Vault one (no error line pops on when i log in)
And im still learning of your nice features. Another quick question. can we use broadcast message already with any chat plugin ? I use ChatManager atm :P
Many thanks for the quick answer :)
@Zanaxaccount
Ah, sorry. I completely neglected to add Vault to my test server this time around. Looks like I broke it when I moved some lines of code around.
I'll post a new version shortly. In the meantime you may use the 2.2.2 Nightly Build.
That's already possible - in fact, it's in the default configuration file (config.yml). Just make sure that the following line is in there:
That line tells ExperienceMod to set the experience from every spawned mob to zero.
Since version 2.2.0 i have a problem with Vault and Experiencemod. He can't find Vault, but in 2.1.0 he can find it. :(
Also could u make a feature that spawner monster dont give rewards? Thanks anyways, love this plugin even when 1.3 is there. Its nice to control the exp of each thing ;) Keep the good work going!
@robbowojo
Not in 2.1.0, but it usually isn't necessary. If you look at the default configuration, you'll notice that iron and gold ores doesn't give experience when mined, only when they are smelted into ingots. Ores that drop items, such as coal, redstone and lapis, only do so when mined without the silk-touch effect (block trigger):
Sure, I could keep track of which blocks are player-placed, but it would impact memory consumption and performance. I am considering it, though. But it would have to be configurable.
Is there any way to stop players from getting xp for ores that they placed?
Having massive issue with super breaker from mcmmo. People are able to get xp from ores they placed and they don't even have to break them to get the xp.
@aadnk
Ahh ok! Sorry about the confusion :) Thanks very much!
@Nyght_Wolf
You must also give every player the correct permissions to receive the rewards. Otherwise, only operators will be able to.
While any good permission plugin will do, I personally prefer PermissionsEx, so I will use it as an example. First, install PermissionsEx. Then, go to plugins/PermissionsEx/permissions.yml and paste in the following text:
For more information, look at the documentation for PermissionsEx.
@Nyght_Wolf
I'm using CraftBukkit, and you do still need to put this in the plugins folder; and you need to restart the server. That should be all you have to do (at least it was for me). Hope that helps.
I'm really sorry, I'm new to installing bukkit mods. Is there a link to instructions for installing this? I tried putting the .jar file in my plugins folder, but it doesn't seem to be working. I also tried it on another server I have that is a modified bukkit server preloaded with Modloader and MC Forge- I put your mod in the mods folder, and still no go. I know I'm doing something wrong, just not sure what :( Thank you!
@aadnk: Oh so that's how you use blocks and items from other mods.
I've been using their names dumped with NotEnoughItems, for example: tile.blockOreUran - so I use blockOreUran; or itemIngotTin, etc.
So I need to use id numbers then, that is perfectly fine. It's great actually; I don't need to be able to use item names :) Thanks for the clarification!
@reinhart_menken
Thanks. :D
Now, it's fairly difficult to test ExperienceMod with every multiplayer-enabled mod out there, but it should work as long as they're correctly interfacing with Bukkit.
However, as of yet, only standard Minecraft blocks and items can be referenced by name. You must use block IDs (here Tekkit) instead:
Hi,
This is a pretty awesome mod, and it feels very flexible. Would you consider adding the ability for operators to specify exp rewards for items/blocks added by other mods? After reading the configs and tuts I'm under the impression that it'll only affect items/blocks in vanilla Minecraft.
@Dyspen
Ah, I see the problem. Take a look in the "items" section; notice that you've written "stone" two times:
This, I know realize, is quite a confusing pitfall. The problem is that YAML will silently disregard the first "stone"-statement in favor if the last, as I'm using (or abusing) the keys as queries.
To fix this, put both smelting and block in the same stone-statement:
Here's a fixed version of your configuration file: http://pastebin.com/QcNmiV3a
@aadnk
Already did that. Still doesn't yield xp from block breakage. This is my config:
http://pastebin.com/cTXwQAQ0
The user has the following permissions:
- experiencemod.rewards.block - experiencemod.rewards.crafting - experiencemod.rewards.smelting
@Dyspen
You have to write items in front:
I cannot seem to get this working properly.
It doesn't yield any XP for mining blocks:
stone: block source: 1
@my issue - its quickly resolved. Download new version!