mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-22 21:26:46 +01:00
parent
3ddd8d2056
commit
36f1a2d78a
@ -21,6 +21,7 @@ Version 1.4.07-dev
|
|||||||
= Fixed a bug where LevelUpEvent would be called for an offline player.
|
= Fixed a bug where LevelUpEvent would be called for an offline player.
|
||||||
= Fixed a bug where teleport location was never reset if warmup was set to 0 for Chimaera Wing.
|
= Fixed a bug where teleport location was never reset if warmup was set to 0 for Chimaera Wing.
|
||||||
= Fixed a bug where the Dodge DamageModifier wasn't being read from advanced.yml
|
= Fixed a bug where the Dodge DamageModifier wasn't being read from advanced.yml
|
||||||
|
! Changed the way Repair hands out XP, also added config options to control Repair XP
|
||||||
! Improved profile saving
|
! Improved profile saving
|
||||||
! Updated localization files
|
! Updated localization files
|
||||||
! Party item share category states are now saved when the server shuts down.
|
! Party item share category states are now saved when the server shuts down.
|
||||||
|
@ -12,6 +12,7 @@ import com.gmail.nossr50.mcMMO;
|
|||||||
import com.gmail.nossr50.datatypes.MobHealthbarType;
|
import com.gmail.nossr50.datatypes.MobHealthbarType;
|
||||||
import com.gmail.nossr50.datatypes.skills.AbilityType;
|
import com.gmail.nossr50.datatypes.skills.AbilityType;
|
||||||
import com.gmail.nossr50.datatypes.skills.SkillType;
|
import com.gmail.nossr50.datatypes.skills.SkillType;
|
||||||
|
import com.gmail.nossr50.skills.repair.RepairMaterialType;
|
||||||
import com.gmail.nossr50.util.Misc;
|
import com.gmail.nossr50.util.Misc;
|
||||||
import com.gmail.nossr50.util.StringUtils;
|
import com.gmail.nossr50.util.StringUtils;
|
||||||
|
|
||||||
@ -403,6 +404,11 @@ public class Config extends AutoUpdateConfigLoader {
|
|||||||
public int getDetonatorItemID() { return config.getInt("Skills.Mining.Detonator_ID", 259); }
|
public int getDetonatorItemID() { return config.getInt("Skills.Mining.Detonator_ID", 259); }
|
||||||
|
|
||||||
/* Repair */
|
/* Repair */
|
||||||
|
public double getRepairXPBase() { return config.getDouble("Experience.Repair.Base", 1000.0); }
|
||||||
|
public double getRepairXP(RepairMaterialType repairMaterialType) {
|
||||||
|
return config.getDouble("Experience.Repair." + StringUtils.getCapitalized(repairMaterialType.toString()));
|
||||||
|
}
|
||||||
|
|
||||||
public boolean getRepairAnvilMessagesEnabled() { return config.getBoolean("Skills.Repair.Anvil_Messages", true); }
|
public boolean getRepairAnvilMessagesEnabled() { return config.getBoolean("Skills.Repair.Anvil_Messages", true); }
|
||||||
public int getRepairAnvilId() { return config.getInt("Skills.Repair.Anvil_ID", 42); }
|
public int getRepairAnvilId() { return config.getInt("Skills.Repair.Anvil_ID", 42); }
|
||||||
public int getSalvageAnvilId() { return config.getInt("Skills.Repair.Salvage_Anvil_ID", 41); }
|
public int getSalvageAnvilId() { return config.getInt("Skills.Repair.Salvage_Anvil_ID", 41); }
|
||||||
|
@ -155,7 +155,7 @@ public class RepairManager extends SkillManager {
|
|||||||
Repair.removeOneFrom(inventory, repairItemLocation);
|
Repair.removeOneFrom(inventory, repairItemLocation);
|
||||||
|
|
||||||
// Give out XP like candy
|
// Give out XP like candy
|
||||||
applyXpGain((int) ((startDurability - newDurability) * repairable.getXpMultiplier()) * 10);
|
applyXpGain((float) ((getPercentageRepaired(startDurability, newDurability, repairable.getMaximumDurability()) * repairable.getXpMultiplier()) * Config.getInstance().getRepairXPBase() * Config.getInstance().getRepairXP(repairable.getRepairMaterialType())));
|
||||||
|
|
||||||
// BWONG BWONG BWONG
|
// BWONG BWONG BWONG
|
||||||
player.playSound(player.getLocation(), Sound.ANVIL_USE, Misc.ANVIL_USE_VOLUME, Misc.ANVIL_USE_PITCH);
|
player.playSound(player.getLocation(), Sound.ANVIL_USE, Misc.ANVIL_USE_VOLUME, Misc.ANVIL_USE_PITCH);
|
||||||
@ -164,6 +164,10 @@ public class RepairManager extends SkillManager {
|
|||||||
item.setDurability(newDurability);
|
item.setDurability(newDurability);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private float getPercentageRepaired(short startDurability, short newDurability, short totalDurability) {
|
||||||
|
return ((startDurability - newDurability) / (float) totalDurability);
|
||||||
|
}
|
||||||
|
|
||||||
public void handleSalvage(Location location, ItemStack item) {
|
public void handleSalvage(Location location, ItemStack item) {
|
||||||
Player player = getPlayer();
|
Player player = getPlayer();
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ public interface Repairable {
|
|||||||
public short getMaximumDurability();
|
public short getMaximumDurability();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the base repair durability on which to calcuate bonuses.
|
* Gets the base repair durability on which to calculate bonuses.
|
||||||
*
|
*
|
||||||
* This is actually the maximum durability divided by the minimum quantity
|
* This is actually the maximum durability divided by the minimum quantity
|
||||||
*
|
*
|
||||||
|
@ -366,6 +366,16 @@ Experience:
|
|||||||
Redstone_Ore: 150
|
Redstone_Ore: 150
|
||||||
Sandstone: 30
|
Sandstone: 30
|
||||||
Stone: 30
|
Stone: 30
|
||||||
|
Repair:
|
||||||
|
Base: 1000.0
|
||||||
|
Wood: 0.6
|
||||||
|
Stone: 1.3
|
||||||
|
Iron: 2.5
|
||||||
|
Gold: 0.3
|
||||||
|
Diamond: 5.0
|
||||||
|
Leather: 1.6
|
||||||
|
String: 1.8
|
||||||
|
Other: 1.5
|
||||||
Smelting:
|
Smelting:
|
||||||
Coal_Ore: 10
|
Coal_Ore: 10
|
||||||
Diamond_Ore: 75
|
Diamond_Ore: 75
|
||||||
|
Loading…
Reference in New Issue
Block a user