mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-10-31 01:03:44 +01:00 
			
		
		
		
	All changes up to 0.8.19
This commit is contained in:
		| @@ -1,5 +1,14 @@ | |||||||
| 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.19 | ||||||
|  | 	Fixed being able to excavate placed blocks | ||||||
|  | 	Added toggle option to mining requiring a pickaxe | ||||||
|  | 	Added toggle option to woodcutting requiring an axe | ||||||
|  | 	PVP interactions now reward XP based on the damage caused (this is effected by skills) | ||||||
|  | 	PVP XP gain can be disabled in the configuration file | ||||||
|  | 	PVP XP has a modifier, increase the modifier for higher XP rewards from PVP combat | ||||||
|  | Version 0.8.18 | ||||||
|  | 	Fixed sandstone not being watched for exploitation | ||||||
| Version 0.8.17 | Version 0.8.17 | ||||||
| 	mcmmo.users moved to plugins/mcMMO/ | 	mcmmo.users moved to plugins/mcMMO/ | ||||||
| 	Snowballs and Eggs will no longer trigger Ignition | 	Snowballs and Eggs will no longer trigger Ignition | ||||||
|   | |||||||
| @@ -54,14 +54,27 @@ 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(mcm.getInstance().isMiningPick(inhand) && mcPermissions.getInstance().mining(player)) | 	    		if(mcPermissions.getInstance().mining(player)){ | ||||||
|  | 	    			if(mcLoadProperties.miningrequirespickaxe){ | ||||||
|  | 	    				if(mcm.getInstance().isMiningPick(inhand)) | ||||||
| 		    			mcMining.getInstance().miningBlockCheck(player, block); | 		    			mcMining.getInstance().miningBlockCheck(player, block); | ||||||
|  | 	    			} else { | ||||||
|  | 	    				mcMining.getInstance().miningBlockCheck(player, block); | ||||||
|  | 	    			} | ||||||
|  | 	    		} | ||||||
| 	    		/* | 	    		/* | ||||||
| 	    		 * WOOD CUTTING | 	    		 * WOOD CUTTING | ||||||
| 	    		 */ | 	    		 */ | ||||||
| 	    		if(player != null && mcm.getInstance().isAxes(inhand) && block.getTypeId() == 17 && mcPermissions.getInstance().woodcutting(player)){ | 	    		if(player != null && block.getTypeId() == 17 && mcPermissions.getInstance().woodcutting(player)){ | ||||||
| 	    				mcWoodCutting.getInstance().woodCuttingProcCheck(player, block, loc); | 	    				if(mcLoadProperties.woodcuttingrequiresaxe){ | ||||||
| 	    				mcUsers.getProfile(player).addWoodcuttingGather(7); | 	    					if(mcm.getInstance().isAxes(inhand)){ | ||||||
|  | 	    						mcWoodCutting.getInstance().woodCuttingProcCheck(player, block, loc); | ||||||
|  | 	    						mcUsers.getProfile(player).addWoodcuttingGather(7); | ||||||
|  | 	    					} | ||||||
|  | 	    				} else { | ||||||
|  | 	    					mcWoodCutting.getInstance().woodCuttingProcCheck(player, block, loc); | ||||||
|  |     						mcUsers.getProfile(player).addWoodcuttingGather(7);	 | ||||||
|  | 	    				} | ||||||
| 	    				/* | 	    				/* | ||||||
| 	    				 * IF PLAYER IS USING TREEFELLER | 	    				 * IF PLAYER IS USING TREEFELLER | ||||||
| 	    				 */ | 	    				 */ | ||||||
|   | |||||||
| @@ -92,6 +92,47 @@ public class mcCombat { | |||||||
| 					} | 					} | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
|  | 			/* | ||||||
|  |     		 * PVP XP | ||||||
|  |     		 */ | ||||||
|  |     		if(attacker != null && defender != null && mcLoadProperties.pvpxp && !mcParty.getInstance().inSameParty(attacker, defender)){ | ||||||
|  |     			if(mcm.getInstance().isAxes(attacker.getItemInHand())) | ||||||
|  |     				mcUsers.getProfile(attacker).addAxesGather((event.getDamage() * 3) * mcLoadProperties.pvpxprewardmodifier); | ||||||
|  |     			if(mcm.getInstance().isSwords(attacker.getItemInHand())) | ||||||
|  |     				mcUsers.getProfile(attacker).addSwordsGather((event.getDamage() * 3) * mcLoadProperties.pvpxprewardmodifier); | ||||||
|  |     			if(attacker.getItemInHand().getTypeId() == 0) | ||||||
|  |     				mcUsers.getProfile(attacker).addUnarmedGather((event.getDamage() * 3) * mcLoadProperties.pvpxprewardmodifier); | ||||||
|  |     		} | ||||||
|  |     		/* | ||||||
|  |     		 * CHECK FOR LEVEL UPS | ||||||
|  |     		 */ | ||||||
|  |     		if(mcUsers.getProfile(attacker).getSwordsGatherInt() >= mcUsers.getProfile(attacker).getXpToLevel("swords")){ | ||||||
|  | 				int skillups = 0; | ||||||
|  | 				while(mcUsers.getProfile(attacker).getSwordsGatherInt() >= mcUsers.getProfile(attacker).getXpToLevel("swords")){ | ||||||
|  | 					skillups++; | ||||||
|  | 					mcUsers.getProfile(attacker).removeSwordsGather(mcUsers.getProfile(attacker).getXpToLevel("swords")); | ||||||
|  | 					mcUsers.getProfile(attacker).skillUpSwords(1); | ||||||
|  | 				} | ||||||
|  | 				attacker.sendMessage(ChatColor.YELLOW+"Swords skill increased by "+skillups+"."+" Total ("+mcUsers.getProfile(attacker).getSwords()+")");	 | ||||||
|  | 			} | ||||||
|  |     		if(mcUsers.getProfile(attacker).getAxesGatherInt() >= mcUsers.getProfile(attacker).getXpToLevel("axes")){ | ||||||
|  | 				int skillups = 0; | ||||||
|  | 				while(mcUsers.getProfile(attacker).getAxesGatherInt() >= mcUsers.getProfile(attacker).getXpToLevel("axes")){ | ||||||
|  | 					skillups++; | ||||||
|  | 					mcUsers.getProfile(attacker).removeAxesGather(mcUsers.getProfile(attacker).getXpToLevel("axes")); | ||||||
|  | 					mcUsers.getProfile(attacker).skillUpAxes(1); | ||||||
|  | 				} | ||||||
|  | 				attacker.sendMessage(ChatColor.YELLOW+"Axes skill increased by "+skillups+"."+" Total ("+mcUsers.getProfile(attacker).getAxes()+")");	 | ||||||
|  | 			} | ||||||
|  |     		if(mcUsers.getProfile(attacker).getUnarmedGatherInt() >= mcUsers.getProfile(attacker).getXpToLevel("unarmed")){ | ||||||
|  | 				int skillups = 0; | ||||||
|  | 				while(mcUsers.getProfile(attacker).getUnarmedGatherInt() >= mcUsers.getProfile(attacker).getXpToLevel("unarmed")){ | ||||||
|  | 					skillups++; | ||||||
|  | 					mcUsers.getProfile(attacker).removeUnarmedGather(mcUsers.getProfile(attacker).getXpToLevel("unarmed")); | ||||||
|  | 					mcUsers.getProfile(attacker).skillUpUnarmed(1); | ||||||
|  | 				} | ||||||
|  | 				attacker.sendMessage(ChatColor.YELLOW+"Unarmed skill increased by "+skillups+"."+" Total ("+mcUsers.getProfile(attacker).getUnarmed()+")");	 | ||||||
|  | 			} | ||||||
| 		} | 		} | ||||||
|     } |     } | ||||||
|     public void playerVersusSquidChecks(EntityDamageByEntityEvent event, Player attacker, Entity x, int type){ |     public void playerVersusSquidChecks(EntityDamageByEntityEvent event, Player attacker, Entity x, int type){ | ||||||
| @@ -393,15 +434,6 @@ public class mcCombat { | |||||||
| 					if(x instanceof PigZombie) | 					if(x instanceof PigZombie) | ||||||
| 						mcUsers.getProfile(attacker).addArcheryGather(7); | 						mcUsers.getProfile(attacker).addArcheryGather(7); | ||||||
|     			} |     			} | ||||||
|     				if(mcUsers.getProfile(attacker).getArcheryGatherInt() >= mcUsers.getProfile(attacker).getXpToLevel("archery")){ |  | ||||||
| 						int skillups = 0; |  | ||||||
| 						while(mcUsers.getProfile(attacker).getArcheryGatherInt() >= mcUsers.getProfile(attacker).getXpToLevel("archery")){ |  | ||||||
| 							skillups++; |  | ||||||
| 							mcUsers.getProfile(attacker).removeArcheryGather(mcUsers.getProfile(attacker).getXpToLevel("archery")); |  | ||||||
| 							mcUsers.getProfile(attacker).skillUpArchery(1); |  | ||||||
| 						} |  | ||||||
| 						attacker.sendMessage(ChatColor.YELLOW+"Archery skill increased by "+skillups+"."+" Total ("+mcUsers.getProfile(attacker).getArchery()+")");	 |  | ||||||
| 					} |  | ||||||
|     			} |     			} | ||||||
|     		/* |     		/* | ||||||
|     		 * Defender is Animals	 |     		 * Defender is Animals	 | ||||||
| @@ -454,6 +486,12 @@ public class mcCombat { | |||||||
|     						event.setCancelled(true); |     						event.setCancelled(true); | ||||||
|     						return; |     						return; | ||||||
|     					} |     					} | ||||||
|  |     	    		} | ||||||
|  |     	    		/* | ||||||
|  |     	    		 * PVP XP | ||||||
|  |     	    		 */ | ||||||
|  |     	    		if(mcLoadProperties.pvpxp && !mcParty.getInstance().inSameParty(attacker, defender)){ | ||||||
|  |     	    			mcUsers.getProfile(attacker).addArcheryGather((event.getDamage() * 3) * mcLoadProperties.pvpxprewardmodifier); | ||||||
|     	    		} |     	    		} | ||||||
|     				Location loc = defender.getLocation(); |     				Location loc = defender.getLocation(); | ||||||
|     				if(Math.random() * 10 > 5){ |     				if(Math.random() * 10 > 5){ | ||||||
| @@ -490,6 +528,15 @@ public class mcCombat { | |||||||
| 	    				event.setDamage(calculateDamage(event, 5)); | 	    				event.setDamage(calculateDamage(event, 5)); | ||||||
|     			} |     			} | ||||||
|     		} |     		} | ||||||
|  |     		if(mcUsers.getProfile(attacker).getArcheryGatherInt() >= mcUsers.getProfile(attacker).getXpToLevel("archery")){ | ||||||
|  | 				int skillups = 0; | ||||||
|  | 				while(mcUsers.getProfile(attacker).getArcheryGatherInt() >= mcUsers.getProfile(attacker).getXpToLevel("archery")){ | ||||||
|  | 					skillups++; | ||||||
|  | 					mcUsers.getProfile(attacker).removeArcheryGather(mcUsers.getProfile(attacker).getXpToLevel("archery")); | ||||||
|  | 					mcUsers.getProfile(attacker).skillUpArchery(1); | ||||||
|  | 				} | ||||||
|  | 				attacker.sendMessage(ChatColor.YELLOW+"Archery skill increased by "+skillups+"."+" Total ("+mcUsers.getProfile(attacker).getArchery()+")");	 | ||||||
|  | 			} | ||||||
|     	} |     	} | ||||||
|     } |     } | ||||||
| 	public boolean simulateUnarmedProc(Player player){ | 	public boolean simulateUnarmedProc(Player player){ | ||||||
|   | |||||||
| @@ -1,15 +1,19 @@ | |||||||
| package com.gmail.nossr50; | package com.gmail.nossr50; | ||||||
|  |  | ||||||
| public class mcLoadProperties { | public class mcLoadProperties { | ||||||
| 	public static Boolean pvp, eggs, apples, myspawnclearsinventory, cake, music, diamond, glowstone, slowsand, sulphur, netherrack, bones, coal, clay, anvilmessages; | 	public static Boolean pvpxp, miningrequirespickaxe, woodcuttingrequiresaxe, pvp, eggs, apples, myspawnclearsinventory, cake, music, diamond, glowstone, slowsand, sulphur, netherrack, bones, coal, clay, anvilmessages; | ||||||
| 	public static String mcmmo, mcc, mcgod, stats, mmoedit, ptp, party, myspawn, setmyspawn, whois, invite, accept, clearmyspawn; | 	public static String mcmmo, mcc, mcgod, stats, mmoedit, ptp, party, myspawn, setmyspawn, whois, invite, accept, clearmyspawn; | ||||||
| 	public static int repairdiamondlevel, globalxpmodifier, miningxpmodifier, repairxpmodifier, woodcuttingxpmodifier, unarmedxpmodifier, herbalismxpmodifier, excavationxpmodifier, archeryxpmodifier, swordsxpmodifier, axesxpmodifier, acrobaticsxpmodifier; | 	public static int pvpxprewardmodifier, repairdiamondlevel, globalxpmodifier, miningxpmodifier, repairxpmodifier, woodcuttingxpmodifier, unarmedxpmodifier, herbalismxpmodifier, excavationxpmodifier, archeryxpmodifier, swordsxpmodifier, axesxpmodifier, acrobaticsxpmodifier; | ||||||
| 	 | 	 | ||||||
| 	public static void loadMain(){ | 	public static void loadMain(){ | ||||||
|     	String propertiesFile = mcMMO.maindirectory + "mcmmo.properties"; |     	String propertiesFile = mcMMO.maindirectory + "mcmmo.properties"; | ||||||
|     	mcProperties properties = new mcProperties(propertiesFile); |     	mcProperties properties = new mcProperties(propertiesFile); | ||||||
|     	properties.load(); |     	properties.load(); | ||||||
|     	 |     	 | ||||||
|  |     	pvpxp = properties.getBoolean("pvpGivesXP", true); | ||||||
|  |     	pvpxprewardmodifier = properties.getInteger("pvpXpRewardModifier", 1); | ||||||
|  |     	miningrequirespickaxe = properties.getBoolean("miningRequiresPickaxe", true); | ||||||
|  |     	woodcuttingrequiresaxe = properties.getBoolean("woodcuttingRequiresAxe", true); | ||||||
|     	repairdiamondlevel = properties.getInteger("repairdiamondlevel", 50); |     	repairdiamondlevel = properties.getInteger("repairdiamondlevel", 50); | ||||||
|     	/* |     	/* | ||||||
|     	 * EXPERIENCE RATE MODIFIER |     	 * EXPERIENCE RATE MODIFIER | ||||||
|   | |||||||
| @@ -25,7 +25,7 @@ public class mcMining { | |||||||
| 		byte damage = 0; | 		byte damage = 0; | ||||||
| 		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); | ||||||
| 		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); | ||||||
|   | |||||||
| @@ -94,7 +94,7 @@ public class mcm { | |||||||
| 	} | 	} | ||||||
| 	public boolean shouldBeWatched(Block block){ | 	public boolean shouldBeWatched(Block block){ | ||||||
| 		int id = block.getTypeId(); | 		int id = block.getTypeId(); | ||||||
| 		if(id == 21 || id == 15 || id == 14 || id == 56 || id == 38 || id == 37 || id == 39 || id == 40){ | 		if(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){ | ||||||
| 			return true; | 			return true; | ||||||
| 		} else { | 		} else { | ||||||
| 			return false; | 			return false; | ||||||
|   | |||||||
| @@ -1,3 +1,3 @@ | |||||||
| name: mcMMO | name: mcMMO | ||||||
| main: com.gmail.nossr50.mcMMO | main: com.gmail.nossr50.mcMMO | ||||||
| version: 0.8.17 | version: 0.8.19 | ||||||
		Reference in New Issue
	
	Block a user
	 nossr50
					nossr50