mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-02 00:30:07 +01:00
Updated
This commit is contained in:
parent
07796c78b4
commit
f9c941af6e
@ -1,6 +1,7 @@
|
||||
Changelog:
|
||||
#Versions without changelogs probably had very small misc fixes, like tweaks to the source code#
|
||||
Version 1.0
|
||||
Fixed duping bug with WG/Block Protection Plugins
|
||||
Added Leaf Blower to WoodCutting
|
||||
Different Trees give different WoodCutting XP
|
||||
Water changing Gravel to Clay removed
|
||||
|
@ -3,6 +3,7 @@ package com.gmail.nossr50;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Animals;
|
||||
import org.bukkit.entity.Creature;
|
||||
import org.bukkit.entity.Creeper;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Monster;
|
||||
@ -125,6 +126,7 @@ public class Combat {
|
||||
attacker.sendMessage(ChatColor.DARK_GREEN+"The Beast's Master : "+Taming.getOwnerName(event.getEntity()));
|
||||
else
|
||||
attacker.sendMessage(ChatColor.GRAY+"This Beast has no Master...");
|
||||
attacker.sendMessage(ChatColor.GREEN+"This beast has "+((Wolf)event.getEntity()).getHealth()+" Health");
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
@ -132,9 +134,16 @@ public class Combat {
|
||||
/*
|
||||
* OFFENSIVE CHECKS FOR WOLVES VERSUS ENTITIES
|
||||
*/
|
||||
if(event instanceof EntityDamageByEntityEvent && ((EntityDamageByEntityEvent) event).getDamager() instanceof Wolf){
|
||||
if(event instanceof EntityDamageByEntityEvent && ((EntityDamageByEntityEvent) event).getDamager() instanceof Wolf)
|
||||
{
|
||||
//DEBUG STUFF
|
||||
for(Player x : pluginx.getServer().getOnlinePlayers())
|
||||
{
|
||||
x.sendMessage("Wolf Versus Entity Triggered");
|
||||
}
|
||||
EntityDamageByEntityEvent eventb = (EntityDamageByEntityEvent) event;
|
||||
if(Taming.hasOwner(eventb.getDamager(), pluginx)){
|
||||
if(Taming.hasOwner(eventb.getDamager(), pluginx))
|
||||
{
|
||||
Player master = Taming.getOwner(eventb.getDamager(), pluginx);
|
||||
PlayerProfile PPo = Users.getProfile(master);
|
||||
|
||||
@ -160,9 +169,6 @@ public class Combat {
|
||||
|
||||
master.sendMessage(ChatColor.GREEN+"**GORE**");
|
||||
}
|
||||
PPo.addTamingXP(event.getDamage() * 4);
|
||||
master.sendMessage("mcMMO Debug: Event Damage "+event.getDamage());
|
||||
Skills.XpCheck(master);
|
||||
}
|
||||
}
|
||||
//Another offensive check for Archery
|
||||
@ -188,16 +194,22 @@ public class Combat {
|
||||
Player master = Taming.getOwner(event.getEntity(), pluginx);
|
||||
PlayerProfile PPo = Users.getProfile(master);
|
||||
|
||||
/*
|
||||
* TEMPORARY FIX AS WOLVES AREN'T TRIGGERING DAMAGE EVENTS WHEN ATTACKING NON PLAYERS AT THE TIME OF WRITING
|
||||
*/
|
||||
PPo.addTamingXP(event.getDamage() * 3);
|
||||
Skills.XpCheck(master);
|
||||
|
||||
//Shock-Proof
|
||||
if((event.getCause() == DamageCause.ENTITY_EXPLOSION || event.getCause() == DamageCause.BLOCK_EXPLOSION) && PPo.getTamingInt() >= 500)
|
||||
{
|
||||
event.setDamage(event.getDamage() / 6);
|
||||
event.setDamage(2);
|
||||
}
|
||||
|
||||
//Thick Fur
|
||||
if(PPo.getTamingInt() >= 250)
|
||||
event.setDamage(event.getDamage() / 2);
|
||||
master.sendMessage("mcMMO Debug: Wolf Damage Taken "+event.getDamage());
|
||||
master.sendMessage("mcMMO Debug: Wolf Damage Taken "+event.getDamage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ public class Database {
|
||||
//Create the DB structure
|
||||
public void createStructure(){
|
||||
Write("CREATE TABLE IF NOT EXISTS `"+LoadProperties.MySQLtablePrefix+"users` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT," +
|
||||
"`user` varchar(30) NOT NULL," +
|
||||
"`user` varchar(40) NOT NULL," +
|
||||
"`lastlogin` int(32) unsigned NOT NULL," +
|
||||
"`party` varchar(100) NOT NULL DEFAULT ''," +
|
||||
"PRIMARY KEY (`id`)," +
|
||||
@ -106,8 +106,10 @@ public class Database {
|
||||
if (stmt.executeQuery() != null) {
|
||||
stmt.executeQuery();
|
||||
rs = stmt.getResultSet();
|
||||
rs.next();
|
||||
result = rs.getInt(1);
|
||||
if(rs.next()){
|
||||
result = rs.getInt(1);
|
||||
}
|
||||
else { result = 0; }
|
||||
}
|
||||
}
|
||||
catch (SQLException ex) {
|
||||
|
@ -70,6 +70,10 @@ public class Users {
|
||||
public static void addUser(Player player){
|
||||
players.put(player, new PlayerProfile(player));
|
||||
}
|
||||
public static void clearUsers()
|
||||
{
|
||||
players.clear();
|
||||
}
|
||||
|
||||
|
||||
public static void removeUser(Player player){
|
||||
|
@ -81,8 +81,8 @@ public class PlayerProfile
|
||||
myspawn = spawn.get(1).get(1) + "," + spawn.get(1).get(2) + "," + spawn.get(1).get(3);
|
||||
HashMap<Integer, ArrayList<String>> skills = mcMMO.database.Read("SELECT taming, mining, repair, woodcutting, unarmed, herbalism, excavation, archery, swords, axes, acrobatics FROM "+LoadProperties.MySQLtablePrefix+"skills WHERE user_id = " + id);
|
||||
taming = skills.get(1).get(0);
|
||||
mining = skills.get(1).get(1);;
|
||||
repair = skills.get(1).get(2);;
|
||||
mining = skills.get(1).get(1);
|
||||
repair = skills.get(1).get(2);
|
||||
woodcutting = skills.get(1).get(3);
|
||||
unarmed = skills.get(1).get(4);
|
||||
herbalism = skills.get(1).get(5);
|
||||
@ -93,8 +93,8 @@ public class PlayerProfile
|
||||
acrobatics = skills.get(1).get(10);
|
||||
HashMap<Integer, ArrayList<String>> experience = mcMMO.database.Read("SELECT taming, mining, repair, woodcutting, unarmed, herbalism, excavation, archery, swords, axes, acrobatics FROM "+LoadProperties.MySQLtablePrefix+"experience WHERE user_id = " + id);
|
||||
tamingXP = experience.get(1).get(0);
|
||||
miningXP = experience.get(1).get(1);;
|
||||
repairXP = experience.get(1).get(2);;
|
||||
miningXP = experience.get(1).get(1);
|
||||
repairXP = experience.get(1).get(2);
|
||||
woodCuttingXP = experience.get(1).get(3);
|
||||
unarmedXP = experience.get(1).get(4);
|
||||
herbalismXP = experience.get(1).get(5);
|
||||
@ -204,6 +204,7 @@ public class PlayerProfile
|
||||
// if we are using mysql save to database
|
||||
if (LoadProperties.useMySQL) {
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"users SET lastlogin = " + timestamp.intValue() + " WHERE id = " + this.userid);
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"users SET party = '"+this.party+"' WHERE id = " +this.userid);
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"spawn SET world = '" + this.myspawnworld + "', x = " +getX()+", y = "+getY()+", z = "+getZ()+" WHERE user_id = "+this.userid);
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"skills SET "
|
||||
+" taming = "+taming
|
||||
@ -1263,7 +1264,7 @@ public class PlayerProfile
|
||||
}
|
||||
public boolean isDouble(String string){
|
||||
try {
|
||||
//Double x = Double.valueOf(string);
|
||||
Double x = Double.valueOf(string);
|
||||
}
|
||||
catch(NumberFormatException nFE) {
|
||||
return false;
|
||||
|
@ -4,6 +4,9 @@ import java.io.BufferedReader;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
@ -20,16 +23,48 @@ import com.gmail.nossr50.skills.*;
|
||||
import com.gmail.nossr50.party.*;
|
||||
import com.gmail.nossr50.datatypes.PlayerProfile;
|
||||
import com.gmail.nossr50.datatypes.FakeBlockBreakEvent;
|
||||
|
||||
public class m {
|
||||
public static final Logger log = Logger.getLogger("Minecraft");
|
||||
/*
|
||||
* I'm storing my functions/methods in here in an unorganized manner. Spheal with it.
|
||||
* I'm storing my misc functions/methods in here in an unorganized manner. Spheal with it.
|
||||
*/
|
||||
private static mcMMO plugin;
|
||||
public m(mcMMO instance) {
|
||||
plugin = instance;
|
||||
}
|
||||
|
||||
//The lazy way to default to 0
|
||||
public static int getInt(String string)
|
||||
{
|
||||
if(isInt(string))
|
||||
{
|
||||
return Integer.valueOf(string);
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
public static Double getDouble(String string)
|
||||
{
|
||||
if(isDouble(string))
|
||||
{
|
||||
return Double.valueOf(string);
|
||||
}
|
||||
else
|
||||
{
|
||||
return (double) 0;
|
||||
}
|
||||
}
|
||||
public static boolean isDouble(String string)
|
||||
{
|
||||
try {
|
||||
Double x = Double.valueOf(string);
|
||||
}
|
||||
catch(NumberFormatException nFE) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public static boolean shouldBeWatched(Block block){
|
||||
int id = block.getTypeId();
|
||||
if(id == 49 || id == 81 || id == 83 || id == 86 || id == 91 || id == 1 || id == 17 || id == 42 || id == 87 || id == 89 || id == 2 || id == 3 || id == 12 || id == 13 || id == 21 || id == 15 || id == 14 || id == 56 || id == 38 || id == 37 || id == 39 || id == 40 || id == 24){
|
||||
@ -300,6 +335,180 @@ public class m {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public static void convertToMySQL(Plugin pluginx)
|
||||
{
|
||||
if(!LoadProperties.useMySQL)
|
||||
return;
|
||||
String location = "plugins/mcMMO/mcmmo.users";
|
||||
try {
|
||||
//Open the user file
|
||||
FileReader file = new FileReader(location);
|
||||
BufferedReader in = new BufferedReader(file);
|
||||
String line = "";
|
||||
String x = null, y = null, z = null, playerName = null, mining = null, myspawn = null, party = null, miningXP = null, woodcutting = null, woodCuttingXP = null, repair = null, unarmed = null, herbalism = null,
|
||||
excavation = null, archery = null, swords = null, axes = null, acrobatics = null, repairXP = null, unarmedXP = null, herbalismXP = null, excavationXP = null, archeryXP = null, swordsXP = null, axesXP = null,
|
||||
acrobaticsXP = null, myspawnworld = null, taming = null, tamingXP = null;
|
||||
int id = 0;
|
||||
while((line = in.readLine()) != null)
|
||||
{
|
||||
//Find if the line contains the player we want.
|
||||
String[] character = line.split(":");
|
||||
playerName = character[0];
|
||||
if(playerName == null)
|
||||
continue;
|
||||
|
||||
//Get Mining
|
||||
if(character.length > 1)
|
||||
mining = character[1];
|
||||
//Myspawn
|
||||
if(character.length > 2)
|
||||
myspawn = character[2];
|
||||
//Party
|
||||
if(character.length > 3)
|
||||
party = character[3];
|
||||
//Mining XP
|
||||
if(character.length > 4)
|
||||
miningXP = character[4];
|
||||
if(character.length > 5)
|
||||
woodcutting = character[5];
|
||||
if(character.length > 6)
|
||||
woodCuttingXP = character[6];
|
||||
if(character.length > 7)
|
||||
repair = character[7];
|
||||
if(character.length > 8)
|
||||
unarmed = character[8];
|
||||
if(character.length > 9)
|
||||
herbalism = character[9];
|
||||
if(character.length > 10)
|
||||
excavation = character[10];
|
||||
if(character.length > 11)
|
||||
archery = character[11];
|
||||
if(character.length > 12)
|
||||
swords = character[12];
|
||||
if(character.length > 13)
|
||||
axes = character[13];
|
||||
if(character.length > 14)
|
||||
acrobatics = character[14];
|
||||
if(character.length > 15)
|
||||
repairXP = character[15];
|
||||
if(character.length > 16)
|
||||
unarmedXP = character[16];
|
||||
if(character.length > 17)
|
||||
herbalismXP = character[17];
|
||||
if(character.length > 18)
|
||||
excavationXP = character[18];
|
||||
if(character.length > 19)
|
||||
archeryXP = character[19];
|
||||
if(character.length > 20)
|
||||
swordsXP = character[20];
|
||||
if(character.length > 21)
|
||||
axesXP = character[21];
|
||||
if(character.length > 22)
|
||||
acrobaticsXP = character[22];
|
||||
if(character.length > 23)
|
||||
myspawnworld = character[23];
|
||||
if(character.length > 24)
|
||||
taming = character[24];
|
||||
if(character.length > 25)
|
||||
tamingXP = character[25];
|
||||
//Check to see if the user is in the DB
|
||||
id = mcMMO.database.GetInt("SELECT id FROM "+LoadProperties.MySQLtablePrefix+"users WHERE user = '" + playerName + "'");
|
||||
//Prepare some variables
|
||||
/*
|
||||
if(myspawn != null && myspawn.length() > 0)
|
||||
{
|
||||
String[] split = myspawn.split(",");
|
||||
x = split[0];
|
||||
y = split[1];
|
||||
z = split[2];
|
||||
}
|
||||
*/
|
||||
/*
|
||||
if(myspawnworld.equals("") || myspawnworld == null)
|
||||
myspawnworld = pluginx.getServer().getWorlds().get(0).toString();
|
||||
*/
|
||||
if(id > 0)
|
||||
{
|
||||
//Update the skill values
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"users SET lastlogin = " + 0 + " WHERE id = " + id);
|
||||
//if(getDouble(x) > 0 && getDouble(y) > 0 && getDouble(z) > 0)
|
||||
//mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"spawn SET world = '" + myspawnworld + "', x = " +getDouble(x)+", y = "+getDouble(y)+", z = "+getDouble(z)+" WHERE user_id = "+id);
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"skills SET "
|
||||
+" taming = taming+"+getInt(taming)
|
||||
+", mining = mining+"+getInt(mining)
|
||||
+", repair = repair+"+getInt(repair)
|
||||
+", woodcutting = woodcutting+"+getInt(woodcutting)
|
||||
+", unarmed = unarmed+"+getInt(unarmed)
|
||||
+", herbalism = herbalism+"+getInt(herbalism)
|
||||
+", excavation = excavation+"+getInt(excavation)
|
||||
+", archery = archery+" +getInt(archery)
|
||||
+", swords = swords+" +getInt(swords)
|
||||
+", axes = axes+"+getInt(axes)
|
||||
+", acrobatics = acrobatics+"+getInt(acrobatics)
|
||||
+" WHERE user_id = "+id);
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"experience SET "
|
||||
+" taming = "+getInt(tamingXP)
|
||||
+", mining = "+getInt(miningXP)
|
||||
+", repair = "+getInt(repairXP)
|
||||
+", woodcutting = "+getInt(woodCuttingXP)
|
||||
+", unarmed = "+getInt(unarmedXP)
|
||||
+", herbalism = "+getInt(herbalismXP)
|
||||
+", excavation = "+getInt(excavationXP)
|
||||
+", archery = " +getInt(archeryXP)
|
||||
+", swords = " +getInt(swordsXP)
|
||||
+", axes = "+getInt(axesXP)
|
||||
+", acrobatics = "+getInt(acrobaticsXP)
|
||||
+" WHERE user_id = "+id);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Create the user in the DB
|
||||
mcMMO.database.Write("INSERT INTO "+LoadProperties.MySQLtablePrefix+"users (user, lastlogin) VALUES ('" + playerName + "'," + System.currentTimeMillis() / 1000 +")");
|
||||
id = mcMMO.database.GetInt("SELECT id FROM "+LoadProperties.MySQLtablePrefix+"users WHERE user = '" + playerName + "'");
|
||||
mcMMO.database.Write("INSERT INTO "+LoadProperties.MySQLtablePrefix+"spawn (user_id) VALUES ("+id+")");
|
||||
mcMMO.database.Write("INSERT INTO "+LoadProperties.MySQLtablePrefix+"skills (user_id) VALUES ("+id+")");
|
||||
mcMMO.database.Write("INSERT INTO "+LoadProperties.MySQLtablePrefix+"experience (user_id) VALUES ("+id+")");
|
||||
//Update the skill values
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"users SET lastlogin = " + 0 + " WHERE id = " + id);
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"users SET party = '"+party+"' WHERE id = " +id);
|
||||
/*
|
||||
if(getDouble(x) > 0 && getDouble(y) > 0 && getDouble(z) > 0)
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"spawn SET world = '" + myspawnworld + "', x = " +getDouble(x)+", y = "+getDouble(y)+", z = "+getDouble(z)+" WHERE user_id = "+id);
|
||||
*/
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"skills SET "
|
||||
+" taming = "+getInt(taming)
|
||||
+", mining = "+getInt(mining)
|
||||
+", repair = "+getInt(repair)
|
||||
+", woodcutting = "+getInt(woodcutting)
|
||||
+", unarmed = "+getInt(unarmed)
|
||||
+", herbalism = "+getInt(herbalism)
|
||||
+", excavation = "+getInt(excavation)
|
||||
+", archery = " +getInt(archery)
|
||||
+", swords = " +getInt(swords)
|
||||
+", axes = "+getInt(axes)
|
||||
+", acrobatics = "+getInt(acrobatics)
|
||||
+" WHERE user_id = "+id);
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"experience SET "
|
||||
+" taming = "+getInt(tamingXP)
|
||||
+", mining = "+getInt(miningXP)
|
||||
+", repair = "+getInt(repairXP)
|
||||
+", woodcutting = "+getInt(woodCuttingXP)
|
||||
+", unarmed = "+getInt(unarmedXP)
|
||||
+", herbalism = "+getInt(herbalismXP)
|
||||
+", excavation = "+getInt(excavationXP)
|
||||
+", archery = " +getInt(archeryXP)
|
||||
+", swords = " +getInt(swordsXP)
|
||||
+", axes = "+getInt(axesXP)
|
||||
+", acrobatics = "+getInt(acrobaticsXP)
|
||||
+" WHERE user_id = "+id);
|
||||
}
|
||||
}
|
||||
in.close();
|
||||
} catch (Exception e) {
|
||||
log.log(Level.SEVERE, "Exception while reading "
|
||||
+ location + " (Are you sure you formatted it correctly?)", e);
|
||||
}
|
||||
}
|
||||
public static void mmoHelpCheck(String[] split, Player player, PlayerChatEvent event){
|
||||
PlayerProfile PP = Users.getProfile(player);
|
||||
if(split[0].equalsIgnoreCase("/taming")){
|
||||
@ -310,16 +519,20 @@ public class m {
|
||||
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"TAMING"+ChatColor.RED+"[]-----");
|
||||
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Fighting with your wolves");
|
||||
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||
//player.sendMessage(ChatColor.DARK_AQUA+"Tree Feller (ABILITY): "+ChatColor.GREEN+"Make trees explode");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Gore: "+ChatColor.YELLOW+ChatColor.GREEN+"Critical Strike that applies Bleed");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Sharpened Claws: "+ChatColor.YELLOW+ChatColor.GREEN+"Damage Bonus");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Thick Fur: "+ChatColor.YELLOW+ChatColor.GREEN+"Damage Reduction");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Environmentally Aware: "+ChatColor.YELLOW+ChatColor.GREEN+"Cactus/Lava Phobia, Fall DMG Immune");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Thick Fur: "+ChatColor.YELLOW+ChatColor.GREEN+"DMG Reduction, Fire Resistance");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Shock Proof: "+ChatColor.YELLOW+ChatColor.GREEN+"Explosive Damage Reduction");
|
||||
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"YOUR STATS"+ChatColor.RED+"[]---");
|
||||
if(PP.getTamingInt() < 100)
|
||||
player.sendMessage(ChatColor.GRAY+"LOCKED UNTIL 100+ SKILL (ENVIRONMENTALLY AWARE)");
|
||||
else
|
||||
player.sendMessage(ChatColor.RED+"Environmentally Aware: "+ChatColor.YELLOW+"Wolves avoid danger");
|
||||
if(PP.getTamingInt() < 250)
|
||||
player.sendMessage(ChatColor.GRAY+"LOCKED UNTIL 250+ SKILL (THICK FUR)");
|
||||
else
|
||||
player.sendMessage(ChatColor.RED+"Thick Fur: "+ChatColor.YELLOW+"Halved Damage");
|
||||
player.sendMessage(ChatColor.RED+"Thick Fur: "+ChatColor.YELLOW+"Halved Damage, Fire Resistance");
|
||||
if(PP.getTamingInt() < 500)
|
||||
player.sendMessage(ChatColor.GRAY+"LOCKED UNTIL 500+ SKILL (SHOCK PROOF)");
|
||||
else
|
||||
|
@ -49,7 +49,7 @@ public class mcEntityListener extends EntityListener {
|
||||
}
|
||||
public void onEntityDamage(EntityDamageEvent event) {
|
||||
if(event.isCancelled())
|
||||
return;
|
||||
return;
|
||||
/*
|
||||
* CHECK FOR INVULNERABILITY
|
||||
*/
|
||||
@ -71,6 +71,34 @@ public class mcEntityListener extends EntityListener {
|
||||
{
|
||||
Entity x = event.getEntity();
|
||||
DamageCause type = event.getCause();
|
||||
if(event.getEntity() instanceof Wolf)
|
||||
{
|
||||
Player master = Taming.getOwner(event.getEntity(), plugin);
|
||||
PlayerProfile PPo = Users.getProfile(master);
|
||||
if(master == null || PPo == null)
|
||||
return;
|
||||
//Environmentally Aware
|
||||
if((event.getCause() == DamageCause.CONTACT || event.getCause() == DamageCause.LAVA || event.getCause() == DamageCause.FIRE) && PPo.getTamingInt() >= 100)
|
||||
{
|
||||
if(event.getDamage() < ((Wolf) event.getEntity()).getHealth())
|
||||
{
|
||||
event.getEntity().teleport(Taming.getOwner(event.getEntity(), plugin).getLocation());
|
||||
master.sendMessage(ChatColor.DARK_GRAY+"Your wolf scurries back to you...");
|
||||
event.getEntity().setFireTicks(0);
|
||||
}
|
||||
}
|
||||
if(event.getCause() == DamageCause.FALL && PPo.getTamingInt() >= 100)
|
||||
{
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
//Thick Fur
|
||||
if(event.getCause() == DamageCause.FIRE_TICK)
|
||||
{
|
||||
event.getEntity().setFireTicks(0);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* ACROBATICS
|
||||
*/
|
||||
|
@ -30,6 +30,13 @@ public class mcPermissions {
|
||||
private static boolean permission(Player player, String string) {
|
||||
return permissionsPlugin.Security.permission(player, string);
|
||||
}
|
||||
public boolean admin(Player player){
|
||||
if (permissionsEnabled) {
|
||||
return permission(player, "mcmmo.admin");
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
public boolean mcrefresh(Player player) {
|
||||
if (permissionsEnabled) {
|
||||
return permission(player, "mcmmo.tools.mcrefresh");
|
||||
|
@ -213,6 +213,18 @@ public class mcPlayerListener extends PlayerListener {
|
||||
player.sendMessage("Type ID : "+player.getItemInHand().getTypeId());
|
||||
player.sendMessage("Byte Data : "+player.getItemInHand().getDurability());
|
||||
}
|
||||
if(split[0].equalsIgnoreCase("/mmoupdate") && mcPermissions.getInstance().admin(player))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
player.sendMessage(ChatColor.GRAY+"Starting conversion...");
|
||||
Users.clearUsers();
|
||||
m.convertToMySQL(plugin);
|
||||
for(Player x : plugin.getServer().getOnlinePlayers())
|
||||
{
|
||||
Users.addUser(x);
|
||||
}
|
||||
player.sendMessage(ChatColor.GREEN+"Conversion finished!");
|
||||
}
|
||||
/*
|
||||
* LEADER BOARD COMMAND
|
||||
*/
|
||||
@ -336,7 +348,7 @@ public class mcPlayerListener extends PlayerListener {
|
||||
|
||||
for(int i=n;i<=n+10;i++)
|
||||
{
|
||||
if (i >= userslist.size())
|
||||
if (i > userslist.size())
|
||||
break;
|
||||
HashMap<Integer, ArrayList<String>> username = mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'");
|
||||
player.sendMessage(String.valueOf(i)+". "+ChatColor.GREEN+userslist.get(i).get(0)+" - "+ChatColor.WHITE+username.get(1).get(0));
|
||||
@ -348,6 +360,8 @@ public class mcPlayerListener extends PlayerListener {
|
||||
+LoadProperties.MySQLtablePrefix+"skills ORDER BY `"+LoadProperties.MySQLtablePrefix+"skills`.`"+lowercase+"` DESC ");
|
||||
for(int i=1;i<=10;i++) //i<=userslist.size()
|
||||
{
|
||||
if (i > userslist.size())
|
||||
break;
|
||||
HashMap<Integer, ArrayList<String>> username = mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'");
|
||||
player.sendMessage(String.valueOf(i)+". "+ChatColor.GREEN+userslist.get(i).get(0)+" - "+ChatColor.WHITE+username.get(1).get(0));
|
||||
}
|
||||
@ -371,7 +385,7 @@ public class mcPlayerListener extends PlayerListener {
|
||||
+LoadProperties.MySQLtablePrefix+"skills ORDER BY taming+mining+woodcutting+repair+unarmed+herbalism+excavation+archery+swords+axes+acrobatics DESC ");
|
||||
for(int i=n;i<=n+10;i++)
|
||||
{
|
||||
if (i >= userslist.size())
|
||||
if (i > userslist.size())
|
||||
break;
|
||||
HashMap<Integer, ArrayList<String>> username = mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'");
|
||||
player.sendMessage(String.valueOf(i)+". "+ChatColor.GREEN+userslist.get(i).get(0)+" - "+ChatColor.WHITE+username.get(1).get(0));
|
||||
@ -382,7 +396,7 @@ public class mcPlayerListener extends PlayerListener {
|
||||
+LoadProperties.MySQLtablePrefix+"skills ORDER BY taming+mining+woodcutting+repair+unarmed+herbalism+excavation+archery+swords+axes+acrobatics DESC ");
|
||||
for(int i=1;i<=10;i++)
|
||||
{
|
||||
if (i >= userslist.size())
|
||||
if (i > userslist.size())
|
||||
break;
|
||||
HashMap<Integer, ArrayList<String>> username = mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'");
|
||||
player.sendMessage(String.valueOf(i)+". "+ChatColor.GREEN+userslist.get(i).get(0)+" - "+ChatColor.WHITE+username.get(1).get(0));
|
||||
|
Loading…
Reference in New Issue
Block a user