mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-26 15:16:45 +01:00
Merging with solarcloud7's repair customization pull request, changed some values to represent defaults of mcMMO.
Merge branch 'patch-1' of https://github.com/solarcloud7/vminecraft-plugin into solarcloud7-patch-1 Conflicts: mcMMO/com/gmail/nossr50/config/LoadProperties.java
This commit is contained in:
commit
e9099a286a
@ -5,6 +5,7 @@ Leaderboards ignore players with the respective stat at 0
|
||||
Reconnecting to MySQL will reload player data
|
||||
Fixed a NPE with MySQL's Leaderboards
|
||||
Removed "Loop iteration" debug message from mcMMO
|
||||
Added more repair customization by solarcloud7
|
||||
|
||||
Version 1.0.06
|
||||
MySQL will attempt to reconnect if the connection is closed
|
||||
|
@ -373,12 +373,12 @@ public class Combat {
|
||||
}
|
||||
if(PPa.getArcheryInt() >= 1000){
|
||||
if(Math.random() * 1000 <= 500){
|
||||
defender.teleportTo(loc);
|
||||
defender.teleport(loc);
|
||||
defender.sendMessage(ChatColor.DARK_RED+"Touched Fuzzy. Felt Dizzy.");
|
||||
attacker.sendMessage("Target was "+ChatColor.DARK_RED+"Dazed");
|
||||
}
|
||||
} else if(Math.random() * 2000 <= PPa.getArcheryInt()){
|
||||
defender.teleportTo(loc);
|
||||
defender.teleport(loc);
|
||||
defender.sendMessage(ChatColor.DARK_RED+"Touched Fuzzy. Felt Dizzy.");
|
||||
attacker.sendMessage("Target was "+ChatColor.DARK_RED+"Dazed");
|
||||
}
|
||||
|
@ -12,6 +12,7 @@ import java.sql.PreparedStatement;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.avaje.ebeaninternal.server.lib.sql.DataSourceException;
|
||||
import com.gmail.nossr50.config.LoadProperties;
|
||||
|
||||
|
||||
@ -27,7 +28,7 @@ public class Database {
|
||||
try {
|
||||
Class.forName("com.mysql.jdbc.Driver").newInstance();
|
||||
} catch (Exception ex) {
|
||||
// handle the error
|
||||
throw new DataSourceException("Failed to initialize JDBC driver");
|
||||
}
|
||||
|
||||
// make the connection
|
||||
|
@ -51,7 +51,7 @@ public class Item {
|
||||
if(player != null){
|
||||
if(player.getLocation().getWorld().getBlockAt(block.getX(), y, block.getZ()).getType() != Material.AIR){
|
||||
player.sendMessage("**CHIMAERA WING FAILED!**");
|
||||
player.teleportTo(player.getLocation().getWorld().getBlockAt(block.getX(), (y - 1), block.getZ()).getLocation());
|
||||
player.teleport(player.getLocation().getWorld().getBlockAt(block.getX(), (y - 1), block.getZ()).getLocation());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -61,11 +61,11 @@ public class Item {
|
||||
if(mySpawn != null && plugin.getServer().getWorld(PP.getMySpawnWorld(plugin)) != null)
|
||||
mySpawn.setWorld(plugin.getServer().getWorld(PP.getMySpawnWorld(plugin)));
|
||||
if(mySpawn != null){
|
||||
player.teleportTo(mySpawn);//Do it twice to prevent weird stuff
|
||||
player.teleportTo(mySpawn);
|
||||
player.teleport(mySpawn);//Do it twice to prevent weird stuff
|
||||
player.teleport(mySpawn);
|
||||
}
|
||||
} else {
|
||||
player.teleportTo(player.getWorld().getSpawnLocation());
|
||||
player.teleport(player.getWorld().getSpawnLocation());
|
||||
}
|
||||
player.sendMessage("**CHIMAERA WING**");
|
||||
} else if (!Skills.cooldownOver(player, PP.getRecentlyHurt(), 60) && is.getAmount() >= 10) {
|
||||
|
@ -4,8 +4,8 @@ import com.gmail.nossr50.mcMMO;
|
||||
|
||||
public class LoadProperties {
|
||||
public static Boolean enableCobbleToMossy, useMySQL, cocoabeans, archeryFireRateLimit, mushrooms, toolsLoseDurabilityFromAbilities, pvpxp, miningrequirespickaxe, woodcuttingrequiresaxe, pvp, eggs, apples, cake, music, diamond, glowstone, slowsand, sulphur, netherrack, bones, coal, clay, anvilmessages;
|
||||
public static String MySQLtablePrefix, MySQLuserName, MySQLserverName, MySQLdbName, MySQLdbPass, mctop, addxp, mcability, mcmmo, mcc, mcrefresh, mcitem, mcgod, stats, mmoedit, ptp, party, myspawn, setmyspawn, whois, invite, accept, clearmyspawn;
|
||||
public static int MySQLport, xpGainMultiplier, superBreakerCooldown, greenTerraCooldown, gigaDrillBreakerCooldown, treeFellerCooldown, berserkCooldown, serratedStrikeCooldown, skullSplitterCooldown, abilityDurabilityLoss, feathersConsumedByChimaeraWing, pvpxprewardmodifier, repairdiamondlevel, globalxpmodifier, tamingxpmodifier, miningxpmodifier, repairxpmodifier, woodcuttingxpmodifier, unarmedxpmodifier, herbalismxpmodifier, excavationxpmodifier, archeryxpmodifier, swordsxpmodifier, axesxpmodifier, acrobaticsxpmodifier;
|
||||
public static String MySQLtablePrefix, MySQLuserName, MySQLserverName, MySQLdbName, MySQLdbPass, mctop, addxp, mcability, mcmmo, mcc, mcrefresh, mcitem, mcgod, stats, mmoedit, ptp, party, myspawn, setmyspawn, whois, invite, accept, clearmyspawn, nWood, nStone, nIron, nGold, nDiamond;;
|
||||
public static int MySQLport, xpGainMultiplier, superBreakerCooldown, greenTerraCooldown, gigaDrillBreakerCooldown, treeFellerCooldown, berserkCooldown, serratedStrikeCooldown, skullSplitterCooldown, abilityDurabilityLoss, feathersConsumedByChimaeraWing, pvpxprewardmodifier, repairdiamondlevel, globalxpmodifier, tamingxpmodifier, miningxpmodifier, repairxpmodifier, woodcuttingxpmodifier, unarmedxpmodifier, herbalismxpmodifier, excavationxpmodifier, archeryxpmodifier, swordsxpmodifier, axesxpmodifier, acrobaticsxpmodifier, rWood, rStone, rIron, rGold, rDiamond;;
|
||||
|
||||
public static void loadMain(){
|
||||
String propertiesFile = mcMMO.maindirectory + "mcmmo.properties";
|
||||
@ -73,6 +73,20 @@ public class LoadProperties {
|
||||
* ANVIL MESSAGES
|
||||
*/
|
||||
anvilmessages = properties.getBoolean("anvilMessages", true);
|
||||
|
||||
/*
|
||||
* ANVIL REPAIR (REQUIRED ITEM) AND (NAME OF ITEM)
|
||||
*/
|
||||
rGold = properties.getInteger("GoldRepairItemNumber", 266);
|
||||
nGold = properties.getString("GoldItemRepairName", "Gold Bars");
|
||||
rStone = properties.getInteger("CobblestoneRepairItemNumber", 4);
|
||||
nStone = properties.getString("CobblestoneItemRepairName", "Cobblestone");
|
||||
rWood = properties.getInteger("WoodRepairItemNumber", 5);
|
||||
nWood = properties.getString("WoodItemRepairName", "Wood Planks");
|
||||
rDiamond = properties.getInteger("DiamondRepairItemNumber", 264);
|
||||
nDiamond = properties.getString("DiamondItemRepairName", "Diamond Ore");
|
||||
rIron = properties.getInteger("IronRepairItemNumber", 265);
|
||||
nIron = properties.getString("IronItemRepairName", "Iron Bars");
|
||||
/*
|
||||
* EXCAVATION LOOT TOGGLES
|
||||
*/
|
||||
|
@ -5,6 +5,8 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
|
||||
public class FakeBlockBreakEvent extends BlockBreakEvent {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public FakeBlockBreakEvent(Block theBlock, Player player) {
|
||||
super(theBlock, player);
|
||||
}
|
||||
|
@ -9,10 +9,7 @@ import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.CreatureType;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Wolf;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.player.PlayerChatEvent;
|
||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||
@ -31,7 +28,6 @@ import com.gmail.nossr50.party.Party;
|
||||
import com.gmail.nossr50.skills.Herbalism;
|
||||
import com.gmail.nossr50.skills.Repair;
|
||||
import com.gmail.nossr50.skills.Skills;
|
||||
import com.gmail.nossr50.skills.Taming;
|
||||
|
||||
|
||||
public class mcPlayerListener extends PlayerListener {
|
||||
@ -557,7 +553,7 @@ public class mcPlayerListener extends PlayerListener {
|
||||
Player target = getPlayer(split[1]);
|
||||
PlayerProfile PPt = Users.getProfile(target);
|
||||
if(PP.getParty().equals(PPt.getParty())){
|
||||
player.teleportTo(target);
|
||||
player.teleport(target);
|
||||
player.sendMessage(ChatColor.GREEN+"You have teleported to "+target.getName());
|
||||
target.sendMessage(ChatColor.GREEN+player.getName() + " has teleported to you.");
|
||||
}
|
||||
@ -837,8 +833,8 @@ public class mcPlayerListener extends PlayerListener {
|
||||
//player.sendMessage("MMO DEBUG CODE 5");
|
||||
mySpawn.setWorld(plugin.getServer().getWorlds().get(0));
|
||||
}
|
||||
player.teleportTo(mySpawn); //It's done twice because teleporting from one world to another is weird
|
||||
player.teleportTo(mySpawn);
|
||||
player.teleport(mySpawn); //It's done twice because teleporting from one world to another is weird
|
||||
player.teleport(mySpawn);
|
||||
} else {
|
||||
player.sendMessage(ChatColor.RED+"Configure your myspawn first with a bed.");
|
||||
}
|
||||
|
@ -20,6 +20,21 @@ public class Repair {
|
||||
}
|
||||
private static volatile Repair instance;
|
||||
|
||||
/*
|
||||
* Repair requirements for each material
|
||||
*/
|
||||
private static int rGold = LoadProperties.rGold;
|
||||
private static String nGold = LoadProperties.nGold;
|
||||
private static int rStone = LoadProperties.rStone;
|
||||
private static String nStone = LoadProperties.nStone;
|
||||
private static int rWood = LoadProperties.rWood;
|
||||
private static String nWood = LoadProperties.nWood;
|
||||
private static int rDiamond = LoadProperties.rDiamond;
|
||||
private static String nDiamond = LoadProperties.nDiamond;
|
||||
private static int rIron = LoadProperties.rIron;
|
||||
private static String nIron = LoadProperties.nIron;
|
||||
|
||||
|
||||
public static void repairCheck(Player player, ItemStack is, Block block){
|
||||
PlayerProfile PP = Users.getProfile(player);
|
||||
short durabilityBefore = player.getItemInHand().getDurability();
|
||||
@ -35,8 +50,8 @@ public class Repair {
|
||||
/*
|
||||
* DIAMOND ARMOR
|
||||
*/
|
||||
if(isDiamondArmor(is) && hasItem(player, 264) && PP.getRepairInt() >= LoadProperties.repairdiamondlevel){
|
||||
removeItem(player, 264);
|
||||
if(isDiamondArmor(is) && hasItem(player, rDiamond) && PP.getRepairInt() >= LoadProperties.repairdiamondlevel){
|
||||
removeItem(player, rDiamond);
|
||||
player.getItemInHand().setDurability(getRepairAmount(is, player));
|
||||
durabilityAfter = player.getItemInHand().getDurability();
|
||||
player.sendMessage(String.valueOf(durabilityBefore - durabilityAfter));
|
||||
@ -44,19 +59,19 @@ public class Repair {
|
||||
dif = (short) (dif * 6); //Boost XP
|
||||
PP.addRepairXP(dif * LoadProperties.xpGainMultiplier);
|
||||
}
|
||||
else if (isIronArmor(is) && hasItem(player, 265)){
|
||||
else if (isIronArmor(is) && hasItem(player, rIron)){
|
||||
/*
|
||||
* IRON ARMOR
|
||||
*/
|
||||
removeItem(player, 265);
|
||||
removeItem(player, rIron);
|
||||
player.getItemInHand().setDurability(getRepairAmount(is, player));
|
||||
durabilityAfter = player.getItemInHand().getDurability();
|
||||
dif = (short) (durabilityBefore - durabilityAfter);
|
||||
dif = (short) (dif * 2); //Boost XP
|
||||
PP.addRepairXP(dif * LoadProperties.xpGainMultiplier);
|
||||
//GOLD ARMOR
|
||||
} else if (isGoldArmor(is) && hasItem(player, 266)){
|
||||
removeItem(player, 266);
|
||||
} else if (isGoldArmor(is) && hasItem(player, rGold)){
|
||||
removeItem(player, rGold);
|
||||
player.getItemInHand().setDurability(getRepairAmount(is, player));
|
||||
durabilityAfter = player.getItemInHand().getDurability();
|
||||
dif = (short) (durabilityBefore - durabilityAfter);
|
||||
@ -70,8 +85,8 @@ public class Repair {
|
||||
* TOOLS
|
||||
*/
|
||||
if(isTools(is)){
|
||||
if(isStoneTools(is) && hasItem(player, 4)){
|
||||
removeItem(player, 4);
|
||||
if(isStoneTools(is) && hasItem(player, rStone)){
|
||||
removeItem(player, rStone);
|
||||
/*
|
||||
* Repair Durability and calculate dif
|
||||
*/
|
||||
@ -88,8 +103,8 @@ public class Repair {
|
||||
dif = (short) (dif / 2);
|
||||
|
||||
PP.addRepairXP(dif * LoadProperties.xpGainMultiplier);
|
||||
} else if(isWoodTools(is) && hasItem(player, 5)){
|
||||
removeItem(player, 5);
|
||||
} else if(isWoodTools(is) && hasItem(player,rWood)){
|
||||
removeItem(player,rWood);
|
||||
/*
|
||||
* Repair Durability and calculate dif
|
||||
*/
|
||||
@ -106,8 +121,8 @@ public class Repair {
|
||||
dif = (short) (dif / 2);
|
||||
|
||||
PP.addRepairXP(dif * LoadProperties.xpGainMultiplier);
|
||||
} else if(isIronTools(is) && hasItem(player, 265)){
|
||||
removeItem(player, 265);
|
||||
} else if(isIronTools(is) && hasItem(player, rIron)){
|
||||
removeItem(player, rIron);
|
||||
/*
|
||||
* Repair Durability and calculate dif
|
||||
*/
|
||||
@ -121,12 +136,12 @@ public class Repair {
|
||||
if(m.isHoe(is))
|
||||
dif = (short) (dif / 2);
|
||||
PP.addRepairXP(dif * LoadProperties.xpGainMultiplier);
|
||||
} else if (isDiamondTools(is) && hasItem(player, 264) && PP.getRepairInt() >= LoadProperties.repairdiamondlevel){ //Check if its diamond and the player has diamonds
|
||||
} else if (isDiamondTools(is) && hasItem(player, rDiamond) && PP.getRepairInt() >= LoadProperties.repairdiamondlevel){ //Check if its diamond and the player has diamonds
|
||||
/*
|
||||
* DIAMOND TOOLS
|
||||
*/
|
||||
player.getItemInHand().setDurability(getRepairAmount(is, player));
|
||||
removeItem(player, 264);
|
||||
removeItem(player, rDiamond);
|
||||
durabilityAfter = player.getItemInHand().getDurability();
|
||||
dif = (short) (durabilityBefore - durabilityAfter);
|
||||
if(m.isShovel(is))
|
||||
@ -136,9 +151,9 @@ public class Repair {
|
||||
if(m.isHoe(is))
|
||||
dif = (short) (dif / 2);
|
||||
PP.addRepairXP(dif * LoadProperties.xpGainMultiplier);
|
||||
} else if(isGoldTools(is) && hasItem(player, 266)){
|
||||
} else if(isGoldTools(is) && hasItem(player, rGold)){
|
||||
player.getItemInHand().setDurability(getRepairAmount(is, player));
|
||||
removeItem(player, 266);
|
||||
removeItem(player, rGold);
|
||||
durabilityAfter = player.getItemInHand().getDurability();
|
||||
dif = (short) (durabilityBefore - durabilityAfter);
|
||||
dif = (short) (dif * 7.6); //Boost XP for Gold to that of around Iron
|
||||
@ -279,7 +294,9 @@ public class Repair {
|
||||
if(checkPlayerProcRepair(player)){
|
||||
ramt = (short) (ramt * 2);
|
||||
}
|
||||
//player.sendMessage(ChatColor.DARK_RED + "test " +ChatColor.BLUE+ );
|
||||
durability-=ramt;
|
||||
// player.sendMessage(ChatColor.DARK_RED + "durability " +ChatColor.BLUE+ durability);
|
||||
if(durability < 0){
|
||||
durability = 0;
|
||||
}
|
||||
@ -431,23 +448,23 @@ public class Repair {
|
||||
PlayerProfile PP = Users.getProfile(player);
|
||||
if ((isDiamondTools(is) || isDiamondArmor(is)) && PP.getRepairInt() < LoadProperties.repairdiamondlevel){
|
||||
player.sendMessage(ChatColor.DARK_RED +"You're not adept enough to repair Diamond");
|
||||
} else if (isDiamondTools(is) && !hasItem(player, 264) || isIronTools(is) && !hasItem(player, 265) || isGoldTools(is) && !hasItem(player, 266)){
|
||||
if(isDiamondTools(is) && !hasItem(player, 264))
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.BLUE+ "Diamonds");
|
||||
if(isIronTools(is) && !hasItem(player, 265))
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.GRAY+ "Iron");
|
||||
if(isGoldTools(is) && !hasItem(player, 266))
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.GOLD+"Gold");
|
||||
if(isWoodTools(is) && !hasItem(player, 5))
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.DARK_GREEN+"Wood");
|
||||
if(isStoneTools(is) && !hasItem(player, 4))
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.GRAY+"Stone");
|
||||
} else if (isDiamondArmor(is) && !hasItem(player, 264)){
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.BLUE+ "Diamonds");
|
||||
} else if (isIronArmor(is) && !hasItem(player, 265)){
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.GRAY+ "Iron");
|
||||
} else if (isGoldArmor(is) && !hasItem(player, 266)){
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.GOLD+"Gold");
|
||||
} else if (isDiamondTools(is) && !hasItem(player, rDiamond) || isIronTools(is) && !hasItem(player, rIron) || isGoldTools(is) && !hasItem(player, rGold)){
|
||||
if(isDiamondTools(is) && !hasItem(player, rDiamond))
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.BLUE+ nDiamond);
|
||||
if(isIronTools(is) && !hasItem(player, rIron))
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.GRAY+ nIron);
|
||||
if(isGoldTools(is) && !hasItem(player, rGold))
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.GOLD+nGold);
|
||||
if(isWoodTools(is) && !hasItem(player,rWood))
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.DARK_GREEN+ nWood);
|
||||
if(isStoneTools(is) && !hasItem(player, rStone))
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.GRAY+nStone);
|
||||
} else if (isDiamondArmor(is) && !hasItem(player, rDiamond)){
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.BLUE+ nDiamond);
|
||||
} else if (isIronArmor(is) && !hasItem(player, rIron)){
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.GRAY+ nIron);
|
||||
} else if (isGoldArmor(is) && !hasItem(player, rGold)){
|
||||
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.GOLD+ nGold);
|
||||
} else if (is.getAmount() > 1)
|
||||
player.sendMessage(ChatColor.DARK_RED+"You can't repair stacked items");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user