mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-26 07:06:45 +01:00
parent
eddadcc179
commit
385fe1bb05
@ -10,6 +10,7 @@ Key:
|
|||||||
Version 1.5.02-dev
|
Version 1.5.02-dev
|
||||||
+ Added option to config.yml for Chimaera Wings to stop using bed spawn points
|
+ Added option to config.yml for Chimaera Wings to stop using bed spawn points
|
||||||
+ Added option to config.yml to let non-tools in hand count as unarmed
|
+ Added option to config.yml to let non-tools in hand count as unarmed
|
||||||
|
+ Added option to experience.yml to control XP gained by killing bred animals
|
||||||
= Fixed bug where no Mining XP was granted when Flux Mining was successful
|
= Fixed bug where no Mining XP was granted when Flux Mining was successful
|
||||||
= Fixed bug where MobHealthbarTypes were not saved between server restarts
|
= Fixed bug where MobHealthbarTypes were not saved between server restarts
|
||||||
! Changed Flux Mining mechanics. In order to use the ability, you need to infuse a pickaxe with furnace powers first.
|
! Changed Flux Mining mechanics. In order to use the ability, you need to infuse a pickaxe with furnace powers first.
|
||||||
|
@ -72,6 +72,11 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
|
|||||||
reason.add("Experience_Formula.Mobspawners.Multiplier should be at least 0!");
|
reason.add("Experience_Formula.Mobspawners.Multiplier should be at least 0!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Bred Mob modifier */
|
||||||
|
if (getBredMobXpMultiplier() < 0) {
|
||||||
|
reason.add("Experience_Formula.Breeding.Multiplier should be at least 0!");
|
||||||
|
}
|
||||||
|
|
||||||
/* Conversion */
|
/* Conversion */
|
||||||
if (getExpModifier() <= 0) {
|
if (getExpModifier() <= 0) {
|
||||||
reason.add("Conversion.Exp_Modifier should be greater than 0!");
|
reason.add("Conversion.Exp_Modifier should be greater than 0!");
|
||||||
@ -177,6 +182,7 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
|
|||||||
|
|
||||||
/* Spawned Mob modifier */
|
/* Spawned Mob modifier */
|
||||||
public double getSpawnedMobXpMultiplier() { return config.getDouble("Experience_Formula.Mobspawners.Multiplier", 0.0); }
|
public double getSpawnedMobXpMultiplier() { return config.getDouble("Experience_Formula.Mobspawners.Multiplier", 0.0); }
|
||||||
|
public double getBredMobXpMultiplier() { return config.getDouble("Experience_Formula.Breeding.Multiplier", 1.0); }
|
||||||
|
|
||||||
/* Skill modifiers */
|
/* Skill modifiers */
|
||||||
public double getFormulaSkillModifier(SkillType skill) { return config.getDouble("Experience_Formula.Modifier." + StringUtils.getCapitalized(skill.toString())); }
|
public double getFormulaSkillModifier(SkillType skill) { return config.getDouble("Experience_Formula.Modifier." + StringUtils.getCapitalized(skill.toString())); }
|
||||||
|
@ -416,19 +416,24 @@ public class EntityListener implements Listener {
|
|||||||
*/
|
*/
|
||||||
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
|
||||||
public void onCreatureSpawn(CreatureSpawnEvent event) {
|
public void onCreatureSpawn(CreatureSpawnEvent event) {
|
||||||
|
LivingEntity entity = event.getEntity();
|
||||||
|
|
||||||
switch (event.getSpawnReason()) {
|
switch (event.getSpawnReason()) {
|
||||||
case SPAWNER:
|
case SPAWNER:
|
||||||
case SPAWNER_EGG:
|
case SPAWNER_EGG:
|
||||||
LivingEntity entity = event.getEntity();
|
|
||||||
Entity passenger = entity.getPassenger();
|
|
||||||
|
|
||||||
entity.setMetadata(mcMMO.entityMetadataKey, mcMMO.metadataValue);
|
entity.setMetadata(mcMMO.entityMetadataKey, mcMMO.metadataValue);
|
||||||
|
|
||||||
|
Entity passenger = entity.getPassenger();
|
||||||
|
|
||||||
if (passenger != null) {
|
if (passenger != null) {
|
||||||
passenger.setMetadata(mcMMO.entityMetadataKey, mcMMO.metadataValue);
|
passenger.setMetadata(mcMMO.entityMetadataKey, mcMMO.metadataValue);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
case BREEDING:
|
||||||
|
entity.setMetadata(mcMMO.bredMetadataKey, mcMMO.metadataValue);
|
||||||
|
return;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -121,6 +121,7 @@ public class mcMMO extends JavaPlugin {
|
|||||||
public final static String greenThumbDataKey = "mcMMO: Green Thumb";
|
public final static String greenThumbDataKey = "mcMMO: Green Thumb";
|
||||||
public final static String pistonDataKey = "mcMMO: Piston State";
|
public final static String pistonDataKey = "mcMMO: Piston State";
|
||||||
public final static String databaseCommandKey = "mcMMO: Processing Database Command";
|
public final static String databaseCommandKey = "mcMMO: Processing Database Command";
|
||||||
|
public final static String bredMetadataKey = "mcMMO: Bred Animal";
|
||||||
|
|
||||||
public static FixedMetadataValue metadataValue;
|
public static FixedMetadataValue metadataValue;
|
||||||
|
|
||||||
|
@ -10,7 +10,6 @@ import org.bukkit.entity.Animals;
|
|||||||
import org.bukkit.entity.Arrow;
|
import org.bukkit.entity.Arrow;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.Guardian;
|
|
||||||
import org.bukkit.entity.IronGolem;
|
import org.bukkit.entity.IronGolem;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -41,7 +40,6 @@ import com.gmail.nossr50.skills.axes.AxesManager;
|
|||||||
import com.gmail.nossr50.skills.swords.Swords;
|
import com.gmail.nossr50.skills.swords.Swords;
|
||||||
import com.gmail.nossr50.skills.swords.SwordsManager;
|
import com.gmail.nossr50.skills.swords.SwordsManager;
|
||||||
import com.gmail.nossr50.skills.taming.TamingManager;
|
import com.gmail.nossr50.skills.taming.TamingManager;
|
||||||
import com.gmail.nossr50.skills.unarmed.Unarmed;
|
|
||||||
import com.gmail.nossr50.skills.unarmed.UnarmedManager;
|
import com.gmail.nossr50.skills.unarmed.UnarmedManager;
|
||||||
import com.gmail.nossr50.util.EventUtils;
|
import com.gmail.nossr50.util.EventUtils;
|
||||||
import com.gmail.nossr50.util.ItemUtils;
|
import com.gmail.nossr50.util.ItemUtils;
|
||||||
@ -50,6 +48,7 @@ import com.gmail.nossr50.util.MobHealthbarUtils;
|
|||||||
import com.gmail.nossr50.util.Permissions;
|
import com.gmail.nossr50.util.Permissions;
|
||||||
import com.gmail.nossr50.util.player.UserManager;
|
import com.gmail.nossr50.util.player.UserManager;
|
||||||
import com.gmail.nossr50.util.temp.CompatableGuardianXP;
|
import com.gmail.nossr50.util.temp.CompatableGuardianXP;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
|
|
||||||
public final class CombatUtils {
|
public final class CombatUtils {
|
||||||
@ -530,6 +529,10 @@ public final class CombatUtils {
|
|||||||
baseXP *= ExperienceConfig.getInstance().getSpawnedMobXpMultiplier();
|
baseXP *= ExperienceConfig.getInstance().getSpawnedMobXpMultiplier();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (target.hasMetadata(mcMMO.bredMetadataKey)) {
|
||||||
|
baseXP *= ExperienceConfig.getInstance().getBredMobXpMultiplier();
|
||||||
|
}
|
||||||
|
|
||||||
xpGainReason = XPGainReason.PVE;
|
xpGainReason = XPGainReason.PVE;
|
||||||
|
|
||||||
baseXP *= 10;
|
baseXP *= 10;
|
||||||
|
@ -37,6 +37,8 @@ Experience_Formula:
|
|||||||
# Experience gained from mobs not naturally spawned will get multiplied by this value. 0 by default.
|
# Experience gained from mobs not naturally spawned will get multiplied by this value. 0 by default.
|
||||||
Mobspawners:
|
Mobspawners:
|
||||||
Multiplier: 0
|
Multiplier: 0
|
||||||
|
Breeding:
|
||||||
|
Multiplier: 1.0
|
||||||
|
|
||||||
# Experience gained will get divided by these values. 1.0 by default, 2.0 means two times less XP gained.
|
# Experience gained will get divided by these values. 1.0 by default, 2.0 means two times less XP gained.
|
||||||
Modifier:
|
Modifier:
|
||||||
|
Loading…
Reference in New Issue
Block a user