mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-25 06:36:45 +01:00
new fishing skill Inner Peace
This commit is contained in:
parent
c41a650415
commit
78aeb0679b
@ -9,6 +9,7 @@ Key:
|
|||||||
|
|
||||||
Version 2.2.0
|
Version 2.2.0
|
||||||
mcMMO's config system has been rewritten
|
mcMMO's config system has been rewritten
|
||||||
|
Added new subskill to Fishing named 'Inner Peace'
|
||||||
mcMMO will now warn you in the console if it thinks you are running incompatible server software
|
mcMMO will now warn you in the console if it thinks you are running incompatible server software
|
||||||
Parties no longer have a cap, you can level them forever for bragging rights
|
Parties no longer have a cap, you can level them forever for bragging rights
|
||||||
You can now specify multiple repair-items for an item (such as specifying that a wooden sword can be repaired by all types of planks)
|
You can now specify multiple repair-items for an item (such as specifying that a wooden sword can be repaired by all types of planks)
|
||||||
|
@ -102,7 +102,7 @@ public class FishingCommand extends SkillCommand {
|
|||||||
location = player.getLocation();
|
location = player.getLocation();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Fishing.masterAnglerBiomes.contains(location.getBlock().getBiome())) {
|
if (Fishing.getInstance().getMasterAnglerBiomes().contains(location.getBlock().getBiome())) {
|
||||||
rawBiteChance = rawBiteChance * AdvancedConfig.getInstance().getMasterAnglerBiomeModifier();
|
rawBiteChance = rawBiteChance * AdvancedConfig.getInstance().getMasterAnglerBiomeModifier();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,6 +163,11 @@ public class FishingCommand extends SkillCommand {
|
|||||||
String.valueOf(recordTreasure)));
|
String.valueOf(recordTreasure)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(canInnerPeace)
|
||||||
|
{
|
||||||
|
m
|
||||||
|
}
|
||||||
|
|
||||||
return messages;
|
return messages;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -644,7 +644,6 @@ public class AdvancedConfig extends ConfigValidated {
|
|||||||
|
|
||||||
/* FISHING */
|
/* FISHING */
|
||||||
public double getShakeChance(int rank) { return getDoubleValue(SKILLS, FISHING, SHAKE, CHANCE, RANK, String.valueOf(rank)); }
|
public double getShakeChance(int rank) { return getDoubleValue(SKILLS, FISHING, SHAKE, CHANCE, RANK, String.valueOf(rank)); }
|
||||||
public int getFishingVanillaXPModifier(int rank) { return getIntValue(SKILLS, FISHING, VANILLA_XPMULTIPLIER, RANK, String.valueOf(rank)); }
|
|
||||||
public double getMasterAnglerBoatModifier() {return getDoubleValue(SKILLS, FISHING, MASTER_ANGLER, BOAT_MODIFIER); }
|
public double getMasterAnglerBoatModifier() {return getDoubleValue(SKILLS, FISHING, MASTER_ANGLER, BOAT_MODIFIER); }
|
||||||
public double getMasterAnglerBiomeModifier() {return getDoubleValue(SKILLS, FISHING, MASTER_ANGLER, BIOME_MODIFIER); }
|
public double getMasterAnglerBiomeModifier() {return getDoubleValue(SKILLS, FISHING, MASTER_ANGLER, BIOME_MODIFIER); }
|
||||||
|
|
||||||
|
@ -369,14 +369,6 @@ public class MainConfig extends ConfigValidated {
|
|||||||
reason.add(ABILITIES + "." + LIMITS + "." + TREE_FELLER_THRESHOLD + " should be greater than 0!");
|
reason.add(ABILITIES + "." + LIMITS + "." + TREE_FELLER_THRESHOLD + " should be greater than 0!");
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
if (getFishingLureModifier() < 0) {
|
|
||||||
reason.add(ABILITIES + "." + FISHING + "." + LURE_MODIFIER + " should be at least 0!");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (getDetonatorItem() == null) {
|
|
||||||
reason.add(SKILLS + "." + MINING + "." + DETONATOR + "Item is invalid!");
|
|
||||||
}
|
|
||||||
|
|
||||||
/*if (getRepairAnvilMaterial() == null) {
|
/*if (getRepairAnvilMaterial() == null) {
|
||||||
reason.add(SKILLS + "." + REPAIR + "." + ANVIL + "Type is invalid!!");
|
reason.add(SKILLS + "." + REPAIR + "." + ANVIL + "Type is invalid!!");
|
||||||
}
|
}
|
||||||
@ -597,24 +589,6 @@ public class MainConfig extends ConfigValidated {
|
|||||||
return getBooleanValue(SKILLS, ALCHEMY, PREVENT_HOPPER_TRANSFER_BOTTLES);
|
return getBooleanValue(SKILLS, ALCHEMY, PREVENT_HOPPER_TRANSFER_BOTTLES);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fishing */
|
|
||||||
public boolean getFishingDropsEnabled() {
|
|
||||||
return getBooleanValue(SKILLS, FISHING, DROPS + ENABLED);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean getFishingOverrideTreasures() {
|
|
||||||
return getBooleanValue(SKILLS, FISHING, OVERRIDE_VANILLA_TREASURES);
|
|
||||||
}
|
|
||||||
|
|
||||||
public double getFishingLureModifier() {
|
|
||||||
return getDoubleValue(SKILLS, FISHING, LURE_MODIFIER);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Mining */
|
|
||||||
public Material getDetonatorItem() {
|
|
||||||
//Flint and steel
|
|
||||||
return Material.matchMaterial(getStringValue(SKILLS, MINING, DETONATOR + NAME));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Unarmed */
|
/* Unarmed */
|
||||||
public boolean getUnarmedBlockCrackerSmoothbrickToCracked() {
|
public boolean getUnarmedBlockCrackerSmoothbrickToCracked() {
|
||||||
|
@ -33,4 +33,6 @@ public class ConfigExperienceFishing {
|
|||||||
public int getShakeXP() {
|
public int getShakeXP() {
|
||||||
return shakeXP;
|
return shakeXP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -3,12 +3,21 @@ package com.gmail.nossr50.config.hocon.skills.fishing;
|
|||||||
import ninja.leaping.configurate.objectmapping.Setting;
|
import ninja.leaping.configurate.objectmapping.Setting;
|
||||||
import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
|
import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
@ConfigSerializable
|
@ConfigSerializable
|
||||||
public class ConfigFishing {
|
public class ConfigFishing {
|
||||||
|
|
||||||
@Setting(value = "General")
|
@Setting(value = "General")
|
||||||
private ConfigFishingGeneral fishingGeneral = new ConfigFishingGeneral();
|
private ConfigFishingGeneral fishingGeneral = new ConfigFishingGeneral();
|
||||||
|
|
||||||
|
@Setting(value = "Sub-Skills")
|
||||||
|
public ConfigFishingSubskills fishingSubskills = new ConfigFishingSubskills();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GETTERS BOILERPLATE
|
||||||
|
*/
|
||||||
|
|
||||||
public ConfigFishingGeneral getFishingGeneral() {
|
public ConfigFishingGeneral getFishingGeneral() {
|
||||||
return fishingGeneral;
|
return fishingGeneral;
|
||||||
}
|
}
|
||||||
@ -24,4 +33,25 @@ public class ConfigFishing {
|
|||||||
public boolean isOverrideVanillaTreasures() {
|
public boolean isOverrideVanillaTreasures() {
|
||||||
return fishingGeneral.isOverrideVanillaTreasures();
|
return fishingGeneral.isOverrideVanillaTreasures();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isAllowCustomDrops() {
|
||||||
|
return fishingGeneral.isAllowCustomDrops();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ConfigFishingSubskills getFishingSubskills() {
|
||||||
|
return fishingSubskills;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ConfigFishingInnerPeace getInnerPeace() {
|
||||||
|
return fishingSubskills.getInnerPeace();
|
||||||
|
}
|
||||||
|
|
||||||
|
public HashMap<Integer, Integer> getInnerPeaceVanillaXPMultiplier() {
|
||||||
|
return getInnerPeace().getInnerPeaceVanillaXPMultiplier();
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getVanillaXPMultInnerPeace(int rank)
|
||||||
|
{
|
||||||
|
return getInnerPeaceVanillaXPMultiplier().get(rank);
|
||||||
|
}
|
||||||
}
|
}
|
@ -9,6 +9,7 @@ public class ConfigFishingGeneral {
|
|||||||
private static final boolean ALWAYS_CATCH_FISH_DEFAULT = true;
|
private static final boolean ALWAYS_CATCH_FISH_DEFAULT = true;
|
||||||
private static final boolean OVERRIDE_VANILLA_TREASURES = true;
|
private static final boolean OVERRIDE_VANILLA_TREASURES = true;
|
||||||
public static final double LURE_MODIFIER_DEFAULT = 4.0D;
|
public static final double LURE_MODIFIER_DEFAULT = 4.0D;
|
||||||
|
private static final boolean ALLOW_MCMMO_FISHING_REWARDS = true;
|
||||||
|
|
||||||
@Setting(value = "Always-Catch-Fish", comment = "Enables fish to be caught alongside treasure." +
|
@Setting(value = "Always-Catch-Fish", comment = "Enables fish to be caught alongside treasure." +
|
||||||
"\nDefault value: "+ALWAYS_CATCH_FISH_DEFAULT)
|
"\nDefault value: "+ALWAYS_CATCH_FISH_DEFAULT)
|
||||||
@ -24,6 +25,14 @@ public class ConfigFishingGeneral {
|
|||||||
"\nDefault value: "+LURE_MODIFIER_DEFAULT)
|
"\nDefault value: "+LURE_MODIFIER_DEFAULT)
|
||||||
private double lureLuckModifier = LURE_MODIFIER_DEFAULT;
|
private double lureLuckModifier = LURE_MODIFIER_DEFAULT;
|
||||||
|
|
||||||
|
@Setting(value = "Allow-Custom-Fishing-Drops", comment = "If set to true, allows mcMMO fishing treasures to be found while fishing." +
|
||||||
|
"\nDefault value: "+ALLOW_MCMMO_FISHING_REWARDS)
|
||||||
|
private boolean allowCustomDrops = ALLOW_MCMMO_FISHING_REWARDS;
|
||||||
|
|
||||||
|
public boolean isAllowCustomDrops() {
|
||||||
|
return allowCustomDrops;
|
||||||
|
}
|
||||||
|
|
||||||
public double getLureLuckModifier() {
|
public double getLureLuckModifier() {
|
||||||
return lureLuckModifier;
|
return lureLuckModifier;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,27 @@
|
|||||||
|
package com.gmail.nossr50.config.hocon.skills.fishing;
|
||||||
|
|
||||||
|
import ninja.leaping.configurate.objectmapping.Setting;
|
||||||
|
import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
@ConfigSerializable
|
||||||
|
public class ConfigFishingInnerPeace {
|
||||||
|
|
||||||
|
private static final HashMap<Integer, Integer> INNER_PEACE_DEFAULT;
|
||||||
|
|
||||||
|
static {
|
||||||
|
INNER_PEACE_DEFAULT = new HashMap<>();
|
||||||
|
INNER_PEACE_DEFAULT.put(1, 3);
|
||||||
|
INNER_PEACE_DEFAULT.put(2, 5);
|
||||||
|
INNER_PEACE_DEFAULT.put(3, 7);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Setting(value = "Vanilla-Orb-XP-Multipliers", comment = "How much Inner Peace will grant in bonus XP orbs" +
|
||||||
|
"\nThis value is used to multiply the number of vanilla XP orbs you would normally receive.")
|
||||||
|
private HashMap<Integer, Integer> innerPeaceVanillaXPMultiplier = INNER_PEACE_DEFAULT;
|
||||||
|
|
||||||
|
public HashMap<Integer, Integer> getInnerPeaceVanillaXPMultiplier() {
|
||||||
|
return innerPeaceVanillaXPMultiplier;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package com.gmail.nossr50.config.hocon.skills.fishing;
|
||||||
|
|
||||||
|
import ninja.leaping.configurate.objectmapping.Setting;
|
||||||
|
import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
|
||||||
|
|
||||||
|
@ConfigSerializable
|
||||||
|
public class ConfigFishingSubskills {
|
||||||
|
|
||||||
|
@Setting(value = "Inner-Peace")
|
||||||
|
private ConfigFishingInnerPeace innerPeace = new ConfigFishingInnerPeace();
|
||||||
|
|
||||||
|
public ConfigFishingInnerPeace getInnerPeace() {
|
||||||
|
return innerPeace;
|
||||||
|
}
|
||||||
|
}
|
@ -1,19 +0,0 @@
|
|||||||
package com.gmail.nossr50.datatypes.skills;
|
|
||||||
|
|
||||||
public class SubSkillFlags {
|
|
||||||
/*
|
|
||||||
* Bitwise Flags
|
|
||||||
* These are so I can flag properties for subskills
|
|
||||||
* Flags are in the power of 2 because binary is a base-2 system
|
|
||||||
*/
|
|
||||||
public static final int ACTIVE = 1; //Active subskills are ones that aren't passive
|
|
||||||
public static final int SUPERABILITY = 2; // Super abilities are redundantly active
|
|
||||||
public static final int RNG = 4; //If the subskill makes use of RNG
|
|
||||||
public static final int PVP = 8; //If the subskill has properties that change in PVP conditions
|
|
||||||
public static final int TIMED = 16; //If the subskill has a duration or time component
|
|
||||||
public static final int TARGET_COLLECTION = 32; //If the subskill has multiple target types
|
|
||||||
public static final int REWARD_COLLECTION = 64; //If the subskill has multiple reward types
|
|
||||||
public static final int CHARGES = 128;
|
|
||||||
public static final int LIMITED = 256;
|
|
||||||
//public static final int RANDOM_ACTIVATION = 128; //If the subskill has random activation
|
|
||||||
}
|
|
@ -38,6 +38,7 @@ public enum SubSkillType {
|
|||||||
FISHING_MAGIC_HUNTER(1),
|
FISHING_MAGIC_HUNTER(1),
|
||||||
FISHING_MASTER_ANGLER(1),
|
FISHING_MASTER_ANGLER(1),
|
||||||
FISHING_TREASURE_HUNTER(8),
|
FISHING_TREASURE_HUNTER(8),
|
||||||
|
FISHING_INNER_PEACE(3),
|
||||||
FISHING_SHAKE(1),
|
FISHING_SHAKE(1),
|
||||||
|
|
||||||
/* Herbalism */
|
/* Herbalism */
|
||||||
|
@ -211,7 +211,7 @@ public class FishingManager extends SkillManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected int getVanillaXPBoostModifier() {
|
protected int getVanillaXPBoostModifier() {
|
||||||
return AdvancedConfig.getInstance().getFishingVanillaXPModifier(getLootTier());
|
return mcMMO.getConfigManager().getConfigFishing().getVanillaXPMultInnerPeace(RankUtils.getRank(getPlayer(), SubSkillType.FISHING_INNER_PEACE));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -283,12 +283,13 @@ public class FishingManager extends SkillManager {
|
|||||||
* @param fishingCatch The {@link Item} initially caught
|
* @param fishingCatch The {@link Item} initially caught
|
||||||
*/
|
*/
|
||||||
public void handleFishing(Item fishingCatch) {
|
public void handleFishing(Item fishingCatch) {
|
||||||
int fishXp = ExperienceConfig.getInstance().getXp(PrimarySkillType.FISHING, fishingCatch.getItemStack().getType());
|
int fishXp = Fishing.getInstance().getFishXPValue(fishingCatch.getItemStack().getType());
|
||||||
int treasureXp = 0;
|
int treasureXp = 0;
|
||||||
Player player = getPlayer();
|
Player player = getPlayer();
|
||||||
FishingTreasure treasure = null;
|
FishingTreasure treasure = null;
|
||||||
|
|
||||||
if (MainConfig.getInstance().getFishingDropsEnabled() && Permissions.isSubSkillEnabled(player, SubSkillType.FISHING_TREASURE_HUNTER)) {
|
if (mcMMO.getConfigManager().getConfigFishing().isAllowCustomDrops()
|
||||||
|
&& Permissions.isSubSkillEnabled(player, SubSkillType.FISHING_TREASURE_HUNTER)) {
|
||||||
treasure = getFishingTreasure();
|
treasure = getFishingTreasure();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -326,7 +327,8 @@ public class FishingManager extends SkillManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (mcMMO.getConfigManager().getConfigFishing().isAlwaysCatchFish()) {
|
if (mcMMO.getConfigManager().getConfigFishing().isAlwaysCatchFish()) {
|
||||||
Misc.dropItem(player.getEyeLocation(), fishingCatch.getItemStack());
|
/*Misc.dropItem(player.getEyeLocation(), fishingCatch.getItemStack());*/
|
||||||
|
Misc.dropItem(fishingCatch.getLocation(), fishingCatch.getItemStack()).setVelocity(fishingCatch.getVelocity());
|
||||||
}
|
}
|
||||||
|
|
||||||
fishingCatch.setItemStack(treasureDrop);
|
fishingCatch.setItemStack(treasureDrop);
|
||||||
|
@ -426,6 +426,15 @@ Fishing:
|
|||||||
Rank_6: 750
|
Rank_6: 750
|
||||||
Rank_7: 850
|
Rank_7: 850
|
||||||
Rank_8: 1000
|
Rank_8: 1000
|
||||||
|
InnerPeace:
|
||||||
|
Standard:
|
||||||
|
Rank_1: 33
|
||||||
|
Rank_2: 66
|
||||||
|
Rank_3: 100
|
||||||
|
RetroMode:
|
||||||
|
Rank_1: 333
|
||||||
|
Rank_2: 666
|
||||||
|
Rank_3: 1000
|
||||||
Swords:
|
Swords:
|
||||||
SwordsLimitBreak:
|
SwordsLimitBreak:
|
||||||
Standard:
|
Standard:
|
||||||
|
Loading…
Reference in New Issue
Block a user