mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-22 21:26:46 +01:00
Version 1.2.03 WIP
This commit is contained in:
parent
942a8363f3
commit
59429f066d
@ -1,5 +1,16 @@
|
|||||||
Changelog:
|
Changelog:
|
||||||
#Versions without changelogs probably had very small misc fixes, like tweaks to the source code
|
#Versions without changelogs probably had very small misc fixes, like tweaks to the source code
|
||||||
|
Version 1.2.03
|
||||||
|
Fixed problems with mmoedit and fishing
|
||||||
|
|
||||||
|
Version 1.2.02
|
||||||
|
Added measures to prevent easy xp from hacks that cause a ridiculous amount of clicks per second
|
||||||
|
Fixed bug where Call Of The Wild used only 1 bone to summon
|
||||||
|
Reduced Endermen XP from 3x to 2x
|
||||||
|
The number of bonus fish caught from fishing has been reduced
|
||||||
|
Fishing XP reduced from 1500 to 800
|
||||||
|
Fishing XP is now configurable in the config file
|
||||||
|
|
||||||
Version 1.2.01
|
Version 1.2.01
|
||||||
Added a setting to turn off abilities completely from config
|
Added a setting to turn off abilities completely from config
|
||||||
Added a setting to just turn off ability messages from config
|
Added a setting to just turn off ability messages from config
|
||||||
|
@ -390,7 +390,7 @@ public class Combat
|
|||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
if(entity instanceof Enderman)
|
if(entity instanceof Enderman)
|
||||||
xp = (xpinc * 3);
|
xp = (xpinc * 2);
|
||||||
else if(entity instanceof Creeper)
|
else if(entity instanceof Creeper)
|
||||||
xp = (xpinc * 4);
|
xp = (xpinc * 4);
|
||||||
else if(entity instanceof Silverfish)
|
else if(entity instanceof Silverfish)
|
||||||
|
@ -34,7 +34,7 @@ public class LoadProperties
|
|||||||
xprate, mcability, mcmmo, mcc, mcrefresh, mcgod, stats, mmoedit, ptp, party, myspawn, whois, invite, accept, clearmyspawn, nWood,
|
xprate, mcability, mcmmo, mcc, mcrefresh, mcgod, stats, mmoedit, ptp, party, myspawn, whois, invite, accept, clearmyspawn, nWood,
|
||||||
nStone, nIron, nGold, nDiamond, locale;
|
nStone, nIron, nGold, nDiamond, locale;
|
||||||
|
|
||||||
public static int mwatch, xpbar_x, xpbar_y, xpicon_x, xpicon_y, mstring, mbucket, mweb,
|
public static int mfishing, mwatch, xpbar_x, xpbar_y, xpicon_x, xpicon_y, mstring, mbucket, mweb,
|
||||||
chimaeraId, msandstone, mcocoa, water_thunder, cure_self, cure_other, mslimeballs, mbones, msulphur, mslowsand,
|
chimaeraId, msandstone, mcocoa, water_thunder, cure_self, cure_other, mslimeballs, mbones, msulphur, mslowsand,
|
||||||
mmushroom2, mglowstone2, mmelon, mmusic, mdiamond2, mbase, mapple, meggs, mcake, mpine, mbirch, mspruce, mcactus, mmushroom, mflower,
|
mmushroom2, mglowstone2, mmelon, mmusic, mdiamond2, mbase, mapple, meggs, mcake, mpine, mbirch, mspruce, mcactus, mmushroom, mflower,
|
||||||
msugar, mpumpkin, mwheat, mgold, mdiamond, miron, mredstone, mlapis, mobsidian, mnetherrack, mglowstone, mcoal, mstone, MySQLport,
|
msugar, mpumpkin, mwheat, mgold, mdiamond, miron, mredstone, mlapis, mobsidian, mnetherrack, mglowstone, mcoal, mstone, MySQLport,
|
||||||
@ -255,6 +255,7 @@ public class LoadProperties
|
|||||||
write("Experience.Excavation.String", 200);
|
write("Experience.Excavation.String", 200);
|
||||||
write("Experience.Excavation.Bucket", 100);
|
write("Experience.Excavation.Bucket", 100);
|
||||||
write("Experience.Excavation.Web", 150);
|
write("Experience.Excavation.Web", 150);
|
||||||
|
write("Experience.Fishing.Base", 800);
|
||||||
|
|
||||||
//write("Sorcery.Spells.Water.Thunder", 75);
|
//write("Sorcery.Spells.Water.Thunder", 75);
|
||||||
//write("Sorcery.Spells.Curative.Cure_Self.Mana_Cost", 5);
|
//write("Sorcery.Spells.Curative.Cure_Self.Mana_Cost", 5);
|
||||||
@ -468,6 +469,8 @@ public class LoadProperties
|
|||||||
mstone = readInteger("Experience.Mining.Stone", 30);
|
mstone = readInteger("Experience.Mining.Stone", 30);
|
||||||
msandstone = readInteger("Experience.Mining.Sandstone", 30);
|
msandstone = readInteger("Experience.Mining.Sandstone", 30);
|
||||||
|
|
||||||
|
mfishing = readInteger("Experience.Fishing.Base", 800);
|
||||||
|
|
||||||
greenTerraCooldown = readInteger("Abilities.Cooldowns.Green_Terra", 240);
|
greenTerraCooldown = readInteger("Abilities.Cooldowns.Green_Terra", 240);
|
||||||
superBreakerCooldown = readInteger("Abilities.Cooldowns.Super_Breaker", 240);
|
superBreakerCooldown = readInteger("Abilities.Cooldowns.Super_Breaker", 240);
|
||||||
gigaDrillBreakerCooldown = readInteger("Abilities.Cooldowns.Giga_Drill_Breaker", 240);
|
gigaDrillBreakerCooldown = readInteger("Abilities.Cooldowns.Giga_Drill_Breaker", 240);
|
||||||
|
@ -57,7 +57,7 @@ public class PlayerProfile
|
|||||||
//TIMESTAMPS
|
//TIMESTAMPS
|
||||||
//ATS = (Time of) Activation Time Stamp
|
//ATS = (Time of) Activation Time Stamp
|
||||||
//DATS = (Time of) Deactivation Time Stamp
|
//DATS = (Time of) Deactivation Time Stamp
|
||||||
private int recentlyHurt = 0, berserkATS = 0, berserkDATS = 0, gigaDrillBreakerATS = 0, gigaDrillBreakerDATS = 0,
|
private int xpGainATS = 0, recentlyHurt = 0, berserkATS = 0, berserkDATS = 0, gigaDrillBreakerATS = 0, gigaDrillBreakerDATS = 0,
|
||||||
respawnATS = 0, mySpawnATS = 0, greenTerraATS = 0, greenTerraDATS = 0, superBreakerATS = 0, superBreakerDATS = 0, serratedStrikesATS = 0, serratedStrikesDATS = 0, treeFellerATS = 0, treeFellerDATS = 0,
|
respawnATS = 0, mySpawnATS = 0, greenTerraATS = 0, greenTerraDATS = 0, superBreakerATS = 0, superBreakerDATS = 0, serratedStrikesATS = 0, serratedStrikesDATS = 0, treeFellerATS = 0, treeFellerDATS = 0,
|
||||||
skullSplitterATS = 0, skullSplitterDATS = 0, hoePreparationATS = 0, axePreparationATS = 0, pickaxePreparationATS = 0, fistsPreparationATS = 0, shovelPreparationATS = 0, swordsPreparationATS = 0;
|
skullSplitterATS = 0, skullSplitterDATS = 0, hoePreparationATS = 0, axePreparationATS = 0, pickaxePreparationATS = 0, fistsPreparationATS = 0, shovelPreparationATS = 0, swordsPreparationATS = 0;
|
||||||
|
|
||||||
@ -992,9 +992,12 @@ public class PlayerProfile
|
|||||||
*/
|
*/
|
||||||
public void addXP(SkillType skillType, int newvalue, Player thisplayer)
|
public void addXP(SkillType skillType, int newvalue, Player thisplayer)
|
||||||
{
|
{
|
||||||
if(thisplayer.getGameMode() == GameMode.CREATIVE)
|
if(System.currentTimeMillis() < ((xpGainATS*1000)+250) || thisplayer.getGameMode() == GameMode.CREATIVE)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
//Setup a timestamp of when xp was given
|
||||||
|
xpGainATS = (int) (System.currentTimeMillis()/1000);
|
||||||
|
|
||||||
double bonusModifier = 0;
|
double bonusModifier = 0;
|
||||||
String leaderName = "";
|
String leaderName = "";
|
||||||
|
|
||||||
@ -1099,6 +1102,7 @@ public class PlayerProfile
|
|||||||
skillsXp.put(SkillType.UNARMED, skillsXp.get(SkillType.UNARMED)-newvalue);
|
skillsXp.put(SkillType.UNARMED, skillsXp.get(SkillType.UNARMED)-newvalue);
|
||||||
skillsXp.put(SkillType.EXCAVATION, skillsXp.get(SkillType.EXCAVATION)-newvalue);
|
skillsXp.put(SkillType.EXCAVATION, skillsXp.get(SkillType.EXCAVATION)-newvalue);
|
||||||
skillsXp.put(SkillType.AXES, skillsXp.get(SkillType.AXES)-newvalue);
|
skillsXp.put(SkillType.AXES, skillsXp.get(SkillType.AXES)-newvalue);
|
||||||
|
skillsXp.put(SkillType.FISHING, skillsXp.get(SkillType.FISHING)-newvalue);
|
||||||
} else {
|
} else {
|
||||||
skillsXp.put(skillType, skillsXp.get(skillType)-newvalue);
|
skillsXp.put(skillType, skillsXp.get(skillType)-newvalue);
|
||||||
}
|
}
|
||||||
@ -1130,6 +1134,7 @@ public class PlayerProfile
|
|||||||
skills.put(SkillType.UNARMED, newvalue);
|
skills.put(SkillType.UNARMED, newvalue);
|
||||||
skills.put(SkillType.EXCAVATION, newvalue);
|
skills.put(SkillType.EXCAVATION, newvalue);
|
||||||
skills.put(SkillType.AXES, newvalue);
|
skills.put(SkillType.AXES, newvalue);
|
||||||
|
skills.put(skillType.FISHING, newvalue);
|
||||||
|
|
||||||
skillsXp.put(SkillType.TAMING, 0);
|
skillsXp.put(SkillType.TAMING, 0);
|
||||||
skillsXp.put(SkillType.MINING, 0);
|
skillsXp.put(SkillType.MINING, 0);
|
||||||
@ -1142,6 +1147,7 @@ public class PlayerProfile
|
|||||||
skillsXp.put(SkillType.UNARMED, 0);
|
skillsXp.put(SkillType.UNARMED, 0);
|
||||||
skillsXp.put(SkillType.EXCAVATION, 0);
|
skillsXp.put(SkillType.EXCAVATION, 0);
|
||||||
skillsXp.put(SkillType.AXES, 0);
|
skillsXp.put(SkillType.AXES, 0);
|
||||||
|
skillsXp.put(skillType.FISHING, newvalue);
|
||||||
} else {
|
} else {
|
||||||
skills.put(skillType, newvalue);
|
skills.put(skillType, newvalue);
|
||||||
skillsXp.put(skillType, newvalue);
|
skillsXp.put(skillType, newvalue);
|
||||||
|
@ -274,7 +274,7 @@ public class mcPlayerListener extends PlayerListener
|
|||||||
|
|
||||||
ItemStack[] inventory = player.getInventory().getContents();
|
ItemStack[] inventory = player.getInventory().getContents();
|
||||||
for(ItemStack x : inventory){
|
for(ItemStack x : inventory){
|
||||||
if(x != null && x.getType() == Material.BONE){
|
if(x != null && x.getAmount() > LoadProperties.bonesConsumedByCOTW-1 && x.getType() == Material.BONE){
|
||||||
if(x.getAmount() >= LoadProperties.bonesConsumedByCOTW)
|
if(x.getAmount() >= LoadProperties.bonesConsumedByCOTW)
|
||||||
{
|
{
|
||||||
x.setAmount(x.getAmount() - LoadProperties.bonesConsumedByCOTW);
|
x.setAmount(x.getAmount() - LoadProperties.bonesConsumedByCOTW);
|
||||||
|
@ -18,6 +18,7 @@ import org.bukkit.inventory.ItemStack;
|
|||||||
import org.bukkit.material.Wool;
|
import org.bukkit.material.Wool;
|
||||||
|
|
||||||
import com.gmail.nossr50.Users;
|
import com.gmail.nossr50.Users;
|
||||||
|
import com.gmail.nossr50.config.LoadProperties;
|
||||||
import com.gmail.nossr50.datatypes.PlayerProfile;
|
import com.gmail.nossr50.datatypes.PlayerProfile;
|
||||||
import com.gmail.nossr50.datatypes.SkillType;
|
import com.gmail.nossr50.datatypes.SkillType;
|
||||||
import com.gmail.nossr50.locale.mcLocale;
|
import com.gmail.nossr50.locale.mcLocale;
|
||||||
@ -152,30 +153,22 @@ public class Fishing {
|
|||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
getFishingResultsTier1(player, event);
|
getFishingResultsTier1(player, event);
|
||||||
Users.getProfile(player).addXP(SkillType.FISHING, 1500, player);
|
|
||||||
player.getWorld().dropItem(player.getLocation(), new ItemStack(Material.RAW_FISH, 1));
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
getFishingResultsTier2(player, event);
|
getFishingResultsTier2(player, event);
|
||||||
Users.getProfile(player).addXP(SkillType.FISHING, 1500, player);
|
|
||||||
player.getWorld().dropItem(player.getLocation(), new ItemStack(Material.RAW_FISH, 2));
|
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
getFishingResultsTier3(player, event);
|
getFishingResultsTier3(player, event);
|
||||||
Users.getProfile(player).addXP(SkillType.FISHING, 1500, player);
|
|
||||||
player.getWorld().dropItem(player.getLocation(), new ItemStack(Material.RAW_FISH, 3));
|
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
getFishingResultsTier4(player, event);
|
getFishingResultsTier4(player, event);
|
||||||
Users.getProfile(player).addXP(SkillType.FISHING, 1500, player);
|
|
||||||
player.getWorld().dropItem(player.getLocation(), new ItemStack(Material.RAW_FISH, 4));
|
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
getFishingResultsTier5(player, event);
|
getFishingResultsTier5(player, event);
|
||||||
Users.getProfile(player).addXP(SkillType.FISHING, 1500, player);
|
|
||||||
player.getWorld().dropItem(player.getLocation(), new ItemStack(Material.RAW_FISH, 5));
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
player.getWorld().dropItem(player.getLocation(), new ItemStack(Material.RAW_FISH, 1));
|
||||||
|
Users.getProfile(player).addXP(SkillType.FISHING, LoadProperties.mfishing, player);
|
||||||
Skills.XpCheckSkill(SkillType.FISHING, player);
|
Skills.XpCheckSkill(SkillType.FISHING, player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
name: mcMMO
|
name: mcMMO
|
||||||
main: com.gmail.nossr50.mcMMO
|
main: com.gmail.nossr50.mcMMO
|
||||||
version: 1.2.01
|
version: 1.2.03
|
||||||
softdepend: [Spout]
|
softdepend: [Spout]
|
||||||
author: nossr50
|
author: nossr50
|
||||||
description: mcMMO takes core Minecraft game mechanics and expands them to add an extensive RPG experience, the goal of the project has always been a quality RPG experience. Everything in mcMMO is carefully thought out and is constantly improving. mcMMO adds eleven skills to train in and level in, while also offering a high level of customization for server admins. There are countless features, including custom sounds, graphical elements, and more added when running mcMMO in conjunction with Spout. I carefully read feedback and evaluate the mechanics of mcMMO in every update to provide an ever-evolving experience.
|
description: mcMMO takes core Minecraft game mechanics and expands them to add an extensive RPG experience, the goal of the project has always been a quality RPG experience. Everything in mcMMO is carefully thought out and is constantly improving. mcMMO adds eleven skills to train in and level in, while also offering a high level of customization for server admins. There are countless features, including custom sounds, graphical elements, and more added when running mcMMO in conjunction with Spout. I carefully read feedback and evaluate the mechanics of mcMMO in every update to provide an ever-evolving experience.
|
||||||
|
Loading…
Reference in New Issue
Block a user