mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-25 22:56:45 +01:00
Reworked COTW config options + made COTW item configurable
Adresses #1481 partially
This commit is contained in:
parent
04e5dda127
commit
0fe3ad7432
@ -21,8 +21,9 @@ Version 1.4.08-dev
|
|||||||
+ Added new experience bonus perk 'mcmmo.perks.xp.customboost.<skillname>' multiplies incoming XP by the boost amount defined in the experience config
|
+ Added new experience bonus perk 'mcmmo.perks.xp.customboost.<skillname>' multiplies incoming XP by the boost amount defined in the experience config
|
||||||
+ Added Ender Dragon, Wither, and Witch to combat experience multipliers - they do not give XP by default
|
+ Added Ender Dragon, Wither, and Witch to combat experience multipliers - they do not give XP by default
|
||||||
+ Added support for multiple mod config files, naming can be done as either armor.<modname>.yml or <modname>.armor.yml
|
+ Added support for multiple mod config files, naming can be done as either armor.<modname>.yml or <modname>.armor.yml
|
||||||
|
+ Added config options to configure the items used in "Call of the Wild"
|
||||||
= Fixed bug where healthbars wouldn't display if skills were disabled
|
= Fixed bug where healthbars wouldn't display if skills were disabled
|
||||||
= Fixed bug with Call of The Wild entities despawning
|
= Fixed bug with "Call of the Wild" entities despawning
|
||||||
= Fixed bug with updating (very) old user data.
|
= Fixed bug with updating (very) old user data.
|
||||||
= Fixed bug with checking maximum durability of mod items.
|
= Fixed bug with checking maximum durability of mod items.
|
||||||
= Fixed exploit involving Call of The Wild.
|
= Fixed exploit involving Call of The Wild.
|
||||||
|
@ -91,9 +91,9 @@ public class TamingCommand extends SkillCommand {
|
|||||||
|
|
||||||
if (canCallWild) {
|
if (canCallWild) {
|
||||||
messages.add(LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Taming.Effect.12"), LocaleLoader.getString("Taming.Effect.13")));
|
messages.add(LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Taming.Effect.12"), LocaleLoader.getString("Taming.Effect.13")));
|
||||||
messages.add(LocaleLoader.getString("Taming.Effect.14", Config.getInstance().getTamingCOTWOcelotCost()));
|
messages.add(LocaleLoader.getString("Taming.Effect.14", Config.getInstance().getTamingCOTWCost(EntityType.OCELOT)));
|
||||||
messages.add(LocaleLoader.getString("Taming.Effect.15", Config.getInstance().getTamingCOTWWolfCost()));
|
messages.add(LocaleLoader.getString("Taming.Effect.15", Config.getInstance().getTamingCOTWCost(EntityType.WOLF)));
|
||||||
messages.add(LocaleLoader.getString("Taming.Effect.20", Config.getInstance().getTamingCOTWHorseCost()));
|
messages.add(LocaleLoader.getString("Taming.Effect.20", Config.getInstance().getTamingCOTWCost(EntityType.HORSE)));
|
||||||
}
|
}
|
||||||
|
|
||||||
return messages;
|
return messages;
|
||||||
|
@ -182,20 +182,40 @@ public class Config extends AutoUpdateConfigLoader {
|
|||||||
reason.add("Cannot use the same item for Repair and Salvage anvils!");
|
reason.add("Cannot use the same item for Repair and Salvage anvils!");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getTamingCOTWWolfCost() < 1) {
|
if (getTamingCOTWMaterial(EntityType.WOLF) == null) {
|
||||||
reason.add("Skills.Taming.Call_Of_The_Wild.Bones_Required should be at least 1!");
|
reason.add("Skills.Taming.Call_Of_The_Wild.Wolf.Item_Material is invalid!!");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getTamingCOTWOcelotCost() < 1) {
|
if (getTamingCOTWMaterial(EntityType.OCELOT) == null) {
|
||||||
reason.add("Skills.Taming.Call_Of_The_Wild.Fish_Required should be at least 1!");
|
reason.add("Skills.Taming.Call_Of_The_Wild.Ocelot.Item_Material is invalid!!");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getTamingCOTWAmount(EntityType.OCELOT) <= 0) {
|
if (getTamingCOTWMaterial(EntityType.HORSE) == null) {
|
||||||
reason.add("Skills.Taming.Call_Of_The_Wild.Ocelot_Amount should be greater than 0!");
|
reason.add("Skills.Taming.Call_Of_The_Wild.Horse.Item_Material is invalid!!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (getTamingCOTWCost(EntityType.WOLF) <= 0) {
|
||||||
|
reason.add("Skills.Taming.Call_Of_The_Wild.Wolf.Item_Amount should be greater than 0!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (getTamingCOTWCost(EntityType.OCELOT) <= 0) {
|
||||||
|
reason.add("Skills.Taming.Call_Of_The_Wild.Ocelot.Item_Amount should be greater than 0!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (getTamingCOTWCost(EntityType.HORSE) <= 0) {
|
||||||
|
reason.add("Skills.Taming.Call_Of_The_Wild.Horse.Item_Amount should be greater than 0!");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getTamingCOTWAmount(EntityType.WOLF) <= 0) {
|
if (getTamingCOTWAmount(EntityType.WOLF) <= 0) {
|
||||||
reason.add("Skills.Taming.Call_Of_The_Wild.Wolf_Amount should be greater than 0!");
|
reason.add("Skills.Taming.Call_Of_The_Wild.Wolf.Summon_Amount should be greater than 0!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (getTamingCOTWAmount(EntityType.OCELOT) <= 0) {
|
||||||
|
reason.add("Skills.Taming.Call_Of_The_Wild.Ocelot.Summon_Amount should be greater than 0!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (getTamingCOTWAmount(EntityType.HORSE) <= 0) {
|
||||||
|
reason.add("Skills.Taming.Call_Of_The_Wild.Horse.Summon_Amount should be greater than 0!");
|
||||||
}
|
}
|
||||||
|
|
||||||
return noErrorsInConfig(reason);
|
return noErrorsInConfig(reason);
|
||||||
@ -448,11 +468,10 @@ public class Config extends AutoUpdateConfigLoader {
|
|||||||
public boolean getUnarmedBlockCrackerSmoothbrickToCracked() { return config.getBoolean("Skills.Unarmed.Block_Cracker.SmoothBrick_To_CrackedBrick", true); }
|
public boolean getUnarmedBlockCrackerSmoothbrickToCracked() { return config.getBoolean("Skills.Unarmed.Block_Cracker.SmoothBrick_To_CrackedBrick", true); }
|
||||||
|
|
||||||
/* Taming */
|
/* Taming */
|
||||||
public int getTamingCOTWHorseCost() { return config.getInt("Skills.Taming.Call_Of_The_Wild.Apples_Required", 10); }
|
public Material getTamingCOTWMaterial(EntityType type) { return Material.matchMaterial(config.getString("Skills.Taming.Call_Of_The_Wild." + StringUtils.getPrettyEntityTypeString(type) + ".Item_Material")); }
|
||||||
public int getTamingCOTWWolfCost() { return config.getInt("Skills.Taming.Call_Of_The_Wild.Bones_Required", 10); }
|
public int getTamingCOTWCost(EntityType type) { return config.getInt("Skills.Taming.Call_Of_The_Wild." + StringUtils.getPrettyEntityTypeString(type) + ".Item_Amount"); }
|
||||||
public int getTamingCOTWOcelotCost() { return config.getInt("Skills.Taming.Call_Of_The_Wild.Fish_Required", 10); }
|
public int getTamingCOTWAmount(EntityType type) { return config.getInt("Skills.Taming.Call_Of_The_Wild." + StringUtils.getPrettyEntityTypeString(type) + ".Summon_Amount"); }
|
||||||
public double getTamingCOTWRange() { return config.getDouble("Skills.Taming.Call_Of_The_Wild.Range", 40.0D); }
|
public double getTamingCOTWRange() { return config.getDouble("Skills.Taming.Call_Of_The_Wild.Range", 40.0D); }
|
||||||
public int getTamingCOTWAmount(EntityType type) { return config.getInt("Skills.Taming.Call_Of_The_Wild." + StringUtils.getPrettyEntityTypeString(type)+ "_Amount"); }
|
|
||||||
|
|
||||||
/* Woodcutting */
|
/* Woodcutting */
|
||||||
public boolean getOakDoubleDropsEnabled() { return config.getBoolean("Double_Drops.Woodcutting.Oak", true); }
|
public boolean getOakDoubleDropsEnabled() { return config.getBoolean("Double_Drops.Woodcutting.Oak", true); }
|
||||||
|
@ -6,6 +6,7 @@ import org.bukkit.Sound;
|
|||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.BlockState;
|
import org.bukkit.block.BlockState;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.Item;
|
import org.bukkit.entity.Item;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -596,21 +597,14 @@ public class PlayerListener implements Listener {
|
|||||||
Material type = heldItem.getType();
|
Material type = heldItem.getType();
|
||||||
TamingManager tamingManager = mcMMOPlayer.getTamingManager();
|
TamingManager tamingManager = mcMMOPlayer.getTamingManager();
|
||||||
|
|
||||||
switch (type) {
|
if (type == Config.getInstance().getTamingCOTWMaterial(EntityType.WOLF)) {
|
||||||
case APPLE:
|
|
||||||
tamingManager.summonHorse();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case BONE:
|
|
||||||
tamingManager.summonWolf();
|
tamingManager.summonWolf();
|
||||||
break;
|
}
|
||||||
|
else if (type == Config.getInstance().getTamingCOTWMaterial(EntityType.OCELOT)) {
|
||||||
case RAW_FISH:
|
|
||||||
tamingManager.summonOcelot();
|
tamingManager.summonOcelot();
|
||||||
break;
|
}
|
||||||
|
else if (type == Config.getInstance().getTamingCOTWMaterial(EntityType.HORSE)) {
|
||||||
default:
|
tamingManager.summonHorse();
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -146,7 +146,7 @@ public class TamingManager extends SkillManager {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
callOfTheWild(EntityType.OCELOT, Config.getInstance().getTamingCOTWOcelotCost());
|
callOfTheWild(EntityType.OCELOT, Config.getInstance().getTamingCOTWCost(EntityType.OCELOT));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -157,7 +157,7 @@ public class TamingManager extends SkillManager {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
callOfTheWild(EntityType.WOLF, Config.getInstance().getTamingCOTWWolfCost());
|
callOfTheWild(EntityType.WOLF, Config.getInstance().getTamingCOTWCost(EntityType.WOLF));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -168,7 +168,7 @@ public class TamingManager extends SkillManager {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
callOfTheWild(EntityType.HORSE, Config.getInstance().getTamingCOTWHorseCost());
|
callOfTheWild(EntityType.HORSE, Config.getInstance().getTamingCOTWCost(EntityType.HORSE));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -317,16 +317,24 @@ Skills:
|
|||||||
Enabled_For_PVE: true
|
Enabled_For_PVE: true
|
||||||
Level_Cap: 0
|
Level_Cap: 0
|
||||||
Call_Of_The_Wild:
|
Call_Of_The_Wild:
|
||||||
Bones_Required: 10
|
# Item_Material: Material of the item needed to summon the pet
|
||||||
Fish_Required: 10
|
# Item_Amount: Amount of items required to summon the pet
|
||||||
Apples_Required: 10
|
# Summon_Amount: Amount of pets to summon when using Call Of The Wild
|
||||||
|
Wolf:
|
||||||
|
Item_Material: BONE
|
||||||
|
Item_Amount: 10
|
||||||
|
Summon_Amount: 1
|
||||||
|
Ocelot:
|
||||||
|
Item_Material: RAW_FISH
|
||||||
|
Item_Amount: 10
|
||||||
|
Summon_Amount: 1
|
||||||
|
Horse:
|
||||||
|
Item_Material: APPLE
|
||||||
|
Item_Amount: 10
|
||||||
|
Summon_Amount: 1
|
||||||
|
|
||||||
# Range to check for nearby pets when using Call Of The Wild, 0 will disable the check
|
# Range to check for nearby pets when using Call Of The Wild, 0 will disable the check
|
||||||
Range: 40.0
|
Range: 40.0
|
||||||
# Amount of pets to summon when using Call Of The Wild
|
|
||||||
Wolf_Amount: 1
|
|
||||||
Ocelot_Amount: 1
|
|
||||||
Horse_Amount: 1
|
|
||||||
Unarmed:
|
Unarmed:
|
||||||
Enabled_For_PVP: true
|
Enabled_For_PVP: true
|
||||||
Enabled_For_PVE: true
|
Enabled_For_PVE: true
|
||||||
|
Loading…
Reference in New Issue
Block a user