All changes up to 0.8.17

This commit is contained in:
nossr50 2011-03-11 15:24:58 -08:00
parent cb0960ee6e
commit afa9abfb91
10 changed files with 106 additions and 99 deletions

View File

@ -1,5 +1,11 @@
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 0.8.17
mcmmo.users moved to plugins/mcMMO/
Snowballs and Eggs will no longer trigger Ignition
Loot tables for excavation adjusted
Mining benefits now require the player to be holding a mining pick
Woodcutting benefits now require the player to be holding an axe
Version 0.8.16 Version 0.8.16
Moved configuration file to /plugins/mcMMO Moved configuration file to /plugins/mcMMO
Arrows now have a chance to Ignite enemiesw Arrows now have a chance to Ignite enemiesw

View File

@ -22,17 +22,14 @@ public class mcBlockListener extends BlockListener {
} }
public void onBlockPlace(BlockPlaceEvent event) { public void onBlockPlace(BlockPlaceEvent event) {
Block block; Block block;
Player player = event.getPlayer();
if (event.getBlockReplacedState().getTypeId() == 78) { if (event.getBlockReplacedState().getTypeId() == 78) {
block = event.getBlockAgainst(); block = event.getBlockAgainst();
} }
else { else {
block = event.getBlock(); block = event.getBlock();
} }
int x = block.getX(); if(player != null && mcm.getInstance().shouldBeWatched(block))
int y = block.getY();
int z = block.getZ();
String xyz = x+","+y+","+z;
if(mcm.getInstance().shouldBeWatched(block))
mcConfig.getInstance().addBlockWatch(block); mcConfig.getInstance().addBlockWatch(block);
if(block.getTypeId() == 42 && mcLoadProperties.anvilmessages) if(block.getTypeId() == 42 && mcLoadProperties.anvilmessages)
event.getPlayer().sendMessage(ChatColor.DARK_RED+"You have placed an anvil, anvils can repair tools and armor."); event.getPlayer().sendMessage(ChatColor.DARK_RED+"You have placed an anvil, anvils can repair tools and armor.");
@ -41,12 +38,9 @@ public class mcBlockListener extends BlockListener {
public void onBlockDamage(BlockDamageEvent event) { public void onBlockDamage(BlockDamageEvent event) {
//STARTED(0), DIGGING(1), BROKEN(3), STOPPED(2); //STARTED(0), DIGGING(1), BROKEN(3), STOPPED(2);
Player player = event.getPlayer(); Player player = event.getPlayer();
ItemStack inhand = player.getItemInHand();
//player.sendMessage("mcMMO DEBUG: EVENT-OK DMG LEVEL ("+event.getDamageLevel().getLevel()+")"); //player.sendMessage("mcMMO DEBUG: EVENT-OK DMG LEVEL ("+event.getDamageLevel().getLevel()+")");
Block block = event.getBlock(); Block block = event.getBlock();
int x = block.getX();
int y = block.getY();
int z = block.getZ();
String xyz = x+","+y+","+z;
Location loc = block.getLocation(); Location loc = block.getLocation();
int dmg = event.getDamageLevel().getLevel(); int dmg = event.getDamageLevel().getLevel();
/* /*
@ -60,64 +54,64 @@ public class mcBlockListener extends BlockListener {
* MINING * MINING
*/ */
if(player != null && dmg == 2 && !mcConfig.getInstance().isBlockWatched(block)){ if(player != null && dmg == 2 && !mcConfig.getInstance().isBlockWatched(block)){
if(mcPermissions.getInstance().mining(player)) if(mcm.getInstance().isMiningPick(inhand) && mcPermissions.getInstance().mining(player))
mcMining.getInstance().miningBlockCheck(player, block); mcMining.getInstance().miningBlockCheck(player, block);
/* /*
* WOOD CUTTING * WOOD CUTTING
*/ */
if(player != null && block.getTypeId() == 17 && mcPermissions.getInstance().woodcutting(player)){ if(player != null && mcm.getInstance().isAxes(inhand) && block.getTypeId() == 17 && mcPermissions.getInstance().woodcutting(player)){
mcWoodCutting.getInstance().woodCuttingProcCheck(player, block, loc); mcWoodCutting.getInstance().woodCuttingProcCheck(player, block, loc);
mcUsers.getProfile(player).addWoodcuttingGather(7); mcUsers.getProfile(player).addWoodcuttingGather(7);
/* /*
* IF PLAYER IS USING TREEFELLER * IF PLAYER IS USING TREEFELLER
*/ */
if(mcPermissions.getInstance().woodcuttingability(player) && mcUsers.getProfile(player).getTreeFellerMode() && block.getTypeId() == 17){ if(mcPermissions.getInstance().woodcuttingability(player) && mcUsers.getProfile(player).getTreeFellerMode() && block.getTypeId() == 17){
mcWoodCutting.getInstance().treeFeller(block, player); mcWoodCutting.getInstance().treeFeller(block, player);
for(Block blockx : mcConfig.getInstance().getTreeFeller()){ for(Block blockx : mcConfig.getInstance().getTreeFeller()){
if(blockx != null){ if(blockx != null){
Material mat = Material.getMaterial(blockx.getTypeId()); Material mat = Material.getMaterial(blockx.getTypeId());
byte damage = 0; byte damage = 0;
ItemStack item = new ItemStack(mat, 1, (byte)0, damage); ItemStack item = new ItemStack(mat, 1, (byte)0, damage);
blockx.setTypeId(0); blockx.setTypeId(0);
if(item.getTypeId() == 17){ if(item.getTypeId() == 17){
blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item); blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item);
mcWoodCutting.getInstance().woodCuttingProcCheck(player, blockx, blockx.getLocation()); mcWoodCutting.getInstance().woodCuttingProcCheck(player, blockx, blockx.getLocation());
mcUsers.getProfile(player).addWoodcuttingGather(7); mcUsers.getProfile(player).addWoodcuttingGather(7);
} }
if(item.getTypeId() == 18){ if(item.getTypeId() == 18){
mat = Material.getMaterial(6); mat = Material.getMaterial(6);
item = new ItemStack(mat, 1, (byte)0, damage); item = new ItemStack(mat, 1, (byte)0, damage);
if(Math.random() * 10 > 8) if(Math.random() * 10 > 8)
blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item); blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item);
} }
} }
} }
/* /*
* NOTE TO SELF * NOTE TO SELF
* I NEED TO REMOVE TREE FELL BLOCKS FROM BEING WATCHED AFTER THIS CODE IS EXECUTED * I NEED TO REMOVE TREE FELL BLOCKS FROM BEING WATCHED AFTER THIS CODE IS EXECUTED
* OR ELSE IT COULD BE A MEMORY LEAK SITUATION * OR ELSE IT COULD BE A MEMORY LEAK SITUATION
*/ */
mcConfig.getInstance().clearTreeFeller(); mcConfig.getInstance().clearTreeFeller();
} }
} }
/* /*
* EXCAVATION * EXCAVATION
*/ */
if(mcPermissions.getInstance().excavation(player) && block != null && player != null) if(mcPermissions.getInstance().excavation(player) && block != null && player != null)
mcExcavation.getInstance().excavationProcCheck(block, player); mcExcavation.getInstance().excavationProcCheck(block, player);
/* /*
* EXPLOIT COUNTERMEASURES * EXPLOIT COUNTERMEASURES
*/ */
mcConfig.getInstance().addBlockWatch(block); mcConfig.getInstance().addBlockWatch(block);
if(player != null && mcUsers.getProfile(player).getWoodCuttingGatherInt() >= mcUsers.getProfile(player).getXpToLevel("woodcutting")){ if(player != null && mcUsers.getProfile(player).getWoodCuttingGatherInt() >= mcUsers.getProfile(player).getXpToLevel("woodcutting")){
int skillups = 0; int skillups = 0;
while(mcUsers.getProfile(player).getWoodCuttingGatherInt() >= mcUsers.getProfile(player).getXpToLevel("woodcutting")){ while(mcUsers.getProfile(player).getWoodCuttingGatherInt() >= mcUsers.getProfile(player).getXpToLevel("woodcutting")){
skillups++; skillups++;
mcUsers.getProfile(player).removeWoodCuttingGather(mcUsers.getProfile(player).getXpToLevel("woodcutting")); mcUsers.getProfile(player).removeWoodCuttingGather(mcUsers.getProfile(player).getXpToLevel("woodcutting"));
mcUsers.getProfile(player).skillUpWoodCutting(1); mcUsers.getProfile(player).skillUpWoodCutting(1);
} }
player.sendMessage(ChatColor.YELLOW+"WoodCutting skill increased by "+skillups+"."+" Total ("+mcUsers.getProfile(player).getWoodCutting()+")"); player.sendMessage(ChatColor.YELLOW+"WoodCutting skill increased by "+skillups+"."+" Total ("+mcUsers.getProfile(player).getWoodCutting()+")");
} }
} }
} }

View File

@ -332,19 +332,6 @@ public class mcCombat {
*/ */
if(y instanceof Player){ if(y instanceof Player){
Player attacker = (Player)y; Player attacker = (Player)y;
if(Math.random() * 1500 <= mcUsers.getProfile(attacker).getArcheryInt()){
if(x instanceof Player){
Player Defender = (Player)x;
if(!mcParty.getInstance().inSameParty(attacker, Defender)){
event.getEntity().setFireTicks(120);
attacker.sendMessage(ChatColor.RED+"**IGNITION**");
Defender.sendMessage(ChatColor.DARK_RED+"You were struck by a burning arrow!");
}
} else {
event.getEntity().setFireTicks(160);
attacker.sendMessage(ChatColor.RED+"**IGNITION**");
}
}
if(event.getProjectile().toString().equals("CraftArrow") && mcPermissions.getInstance().archery(attacker)){ if(event.getProjectile().toString().equals("CraftArrow") && mcPermissions.getInstance().archery(attacker)){
if(!mcConfig.getInstance().isTracked(x) && event.getDamage() > 0){ if(!mcConfig.getInstance().isTracked(x) && event.getDamage() > 0){
mcConfig.getInstance().addArrowTrack(x, 0); mcConfig.getInstance().addArrowTrack(x, 0);
@ -362,6 +349,19 @@ public class mcCombat {
} }
} }
} }
if(event.getDamage() > 0 && Math.random() * 1500 <= mcUsers.getProfile(attacker).getArcheryInt()){
if(x instanceof Player){
Player Defender = (Player)x;
if(!mcParty.getInstance().inSameParty(attacker, Defender)){
event.getEntity().setFireTicks(120);
attacker.sendMessage(ChatColor.RED+"**IGNITION**");
Defender.sendMessage(ChatColor.DARK_RED+"You were struck by a burning arrow!");
}
} else {
event.getEntity().setFireTicks(160);
attacker.sendMessage(ChatColor.RED+"**IGNITION**");
}
}
/* /*
* Defender is Monster * Defender is Monster
*/ */

View File

@ -53,8 +53,17 @@ public class mcExcavation {
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
} }
} }
if(mcUsers.getProfile(player).getExcavationInt() > 150){ if(mcUsers.getProfile(player).getExcavationInt() > 350){
//CHANCE TO GET MUSIC //CHANCE TO GET DIAMOND
if(mcLoadProperties.diamond == true && Math.random() * 750 > 749){
mcUsers.getProfile(player).addExcavationGather(100);
mat = Material.getMaterial(264);
is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is);
}
}
if(mcUsers.getProfile(player).getExcavationInt() > 250){
//CHANCE TO GET YELLOW MUSIC
if(mcLoadProperties.music == true && Math.random() * 2000 > 1999){ if(mcLoadProperties.music == true && Math.random() * 2000 > 1999){
mcUsers.getProfile(player).addExcavationGather(300); mcUsers.getProfile(player).addExcavationGather(300);
mat = Material.getMaterial(2256); mat = Material.getMaterial(2256);
@ -64,16 +73,7 @@ public class mcExcavation {
} }
if(mcUsers.getProfile(player).getExcavationInt() > 350){ if(mcUsers.getProfile(player).getExcavationInt() > 350){
//CHANCE TO GET DIAMOND //CHANCE TO GET GREEN MUSIC
if(mcLoadProperties.diamond == true && Math.random() * 500 > 499){
mcUsers.getProfile(player).addExcavationGather(100);
mat = Material.getMaterial(264);
is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is);
}
}
if(mcUsers.getProfile(player).getExcavationInt() > 250){
//CHANCE TO GET MUSIC
if(mcLoadProperties.music == true && Math.random() * 2000 > 1999){ if(mcLoadProperties.music == true && Math.random() * 2000 > 1999){
mcUsers.getProfile(player).addExcavationGather(300); mcUsers.getProfile(player).addExcavationGather(300);
mat = Material.getMaterial(2257); mat = Material.getMaterial(2257);
@ -136,7 +136,7 @@ public class mcExcavation {
} }
//CHANCE TO GET BONES //CHANCE TO GET BONES
if(mcLoadProperties.bones == true && mcUsers.getProfile(player).getExcavationInt() > 175){ if(mcLoadProperties.bones == true && mcUsers.getProfile(player).getExcavationInt() > 175){
if(Math.random() * 10 > 6){ if(Math.random() * 10 > 9){
mcUsers.getProfile(player).addExcavationGather(3); mcUsers.getProfile(player).addExcavationGather(3);
mat = Material.getMaterial(352); mat = Material.getMaterial(352);
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);

View File

@ -32,7 +32,7 @@ public class mcMMO extends JavaPlugin {
//herp //herp
public void onEnable() { public void onEnable() {
mcMMO_Timer.schedule(new mcTimer(this), 0, (long)(2000)); //mcMMO_Timer.schedule(new mcTimer(this), 0, (long)(2000));
//Make the directory if it does not exist //Make the directory if it does not exist
new File(maindirectory).mkdir(); new File(maindirectory).mkdir();
//Make the file if it does not exist //Make the file if it does not exist

View File

@ -26,7 +26,6 @@ public class mcMining {
ItemStack item = new ItemStack(mat, 1, (byte)0, damage); ItemStack item = new ItemStack(mat, 1, (byte)0, damage);
if(block.getTypeId() != 73 && block.getTypeId() != 74 && block.getTypeId() != 56 && block.getTypeId() != 21 && block.getTypeId() != 1 && block.getTypeId() != 16) if(block.getTypeId() != 73 && block.getTypeId() != 74 && block.getTypeId() != 56 && block.getTypeId() != 21 && block.getTypeId() != 1 && block.getTypeId() != 16)
loc.getWorld().dropItemNaturally(loc, item); loc.getWorld().dropItemNaturally(loc, item);
//hurrdurr
if(block.getTypeId() == 73 || block.getTypeId() == 74){ if(block.getTypeId() == 73 || block.getTypeId() == 74){
mat = Material.getMaterial(331); mat = Material.getMaterial(331);
item = new ItemStack(mat, 1, (byte)0, damage); item = new ItemStack(mat, 1, (byte)0, damage);

View File

@ -69,6 +69,7 @@ public class mcPlayerListener extends PlayerListener {
Block block = event.getBlockClicked(); Block block = event.getBlockClicked();
Player player = event.getPlayer(); Player player = event.getPlayer();
ItemStack is = player.getItemInHand(); ItemStack is = player.getItemInHand();
/*
if(mcPermissions.getInstance().woodcuttingability(player) && mcm.getInstance().isAxes(is)){ if(mcPermissions.getInstance().woodcuttingability(player) && mcm.getInstance().isAxes(is)){
if(block != null){ if(block != null){
if(!mcm.getInstance().abilityBlockCheck(block)) if(!mcm.getInstance().abilityBlockCheck(block))
@ -83,6 +84,7 @@ public class mcPlayerListener extends PlayerListener {
player.sendMessage(ChatColor.RED+"You are too tired to use that ability again."); player.sendMessage(ChatColor.RED+"You are too tired to use that ability again.");
} }
} }
*/
if(mcPermissions.getInstance().herbalism(player)){ if(mcPermissions.getInstance().herbalism(player)){
//BREADCHECK, CHECKS HERBALISM SKILL FOR BREAD HP MODIFIERS //BREADCHECK, CHECKS HERBALISM SKILL FOR BREAD HP MODIFIERS
mcHerbalism.getInstance().breadCheck(player, is); mcHerbalism.getInstance().breadCheck(player, is);

View File

@ -13,7 +13,7 @@ import org.bukkit.plugin.Plugin;
public class mcUsers { public class mcUsers {
private static volatile mcUsers instance; private static volatile mcUsers instance;
protected static final Logger log = Logger.getLogger("Minecraft"); protected static final Logger log = Logger.getLogger("Minecraft");
String location = "mcmmo.users"; String location = "plugins/mcMMO/mcmmo.users";
public static PlayerList players = new PlayerList(); public static PlayerList players = new PlayerList();
private Properties properties = new Properties(); private Properties properties = new Properties();
@ -161,7 +161,7 @@ class PlayerList
Player thisplayer; Player thisplayer;
char defaultColor; char defaultColor;
String location = "mcmmo.users"; String location = "plugins/mcMMO/mcmmo.users";
//===================================================================== //=====================================================================

View File

@ -224,7 +224,13 @@ public class mcm {
return false; return false;
} }
} }
public boolean isMiningPick(ItemStack is){
if(is.getTypeId() == 270 || is.getTypeId() == 274 || is.getTypeId() == 285 || is.getTypeId() == 257 || is.getTypeId() == 278){
return true;
} else {
return false;
}
}
public void mcmmoHelpCheck(String[] split, Player player, PlayerChatEvent event){ public void mcmmoHelpCheck(String[] split, Player player, PlayerChatEvent event){
if(split[0].equalsIgnoreCase("/woodcutting")){ if(split[0].equalsIgnoreCase("/woodcutting")){
event.setCancelled(true); event.setCancelled(true);

View File

@ -1,3 +1,3 @@
name: mcMMO name: mcMMO
main: com.gmail.nossr50.mcMMO main: com.gmail.nossr50.mcMMO
version: 0.9 WIP version: 0.8.17