mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-10-31 09:13:43 +01:00 
			
		
		
		
	Fixed the NPE PlayerInteractEvent.
This commit is contained in:
		
							
								
								
									
										120
									
								
								src/main/java/com/gmail/nossr50/BlockChecks.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								src/main/java/com/gmail/nossr50/BlockChecks.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,120 @@ | ||||
| package com.gmail.nossr50; | ||||
|  | ||||
| import org.bukkit.Material; | ||||
| import org.bukkit.block.Block; | ||||
|  | ||||
| import com.gmail.nossr50.config.LoadProperties; | ||||
|  | ||||
| public class BlockChecks { | ||||
|  | ||||
|     /** | ||||
|      * Checks to see if a block type awards XP. | ||||
|      * | ||||
|      * @param material {@link Block} type to check | ||||
|      * @return true if the block type awards XP, false otherwise | ||||
|      */ | ||||
|     public static boolean shouldBeWatched(Material material) { | ||||
|         switch (material) { | ||||
|         case BROWN_MUSHROOM: | ||||
|         case CACTUS: | ||||
|         case CLAY: | ||||
|         case COAL_ORE: | ||||
|         case DIAMOND_ORE: | ||||
|         case DIRT: | ||||
|         case ENDER_STONE: | ||||
|         case GLOWING_REDSTONE_ORE: | ||||
|         case GLOWSTONE: | ||||
|         case GOLD_ORE: | ||||
|         case GRASS: | ||||
|         case GRAVEL: | ||||
|         case IRON_ORE: | ||||
|         case JACK_O_LANTERN: | ||||
|         case LAPIS_ORE: | ||||
|         case LOG: | ||||
|         case MELON_BLOCK: | ||||
|         case MOSSY_COBBLESTONE: | ||||
|         case MYCEL: | ||||
|         case NETHERRACK: | ||||
|         case OBSIDIAN: | ||||
|         case PUMPKIN: | ||||
|         case RED_MUSHROOM: | ||||
|         case RED_ROSE: | ||||
|         case REDSTONE_ORE: | ||||
|         case SAND: | ||||
|         case SANDSTONE: | ||||
|         case SOUL_SAND: | ||||
|         case STONE: | ||||
|         case SUGAR_CANE_BLOCK: | ||||
|         case VINE: | ||||
|         case WATER_LILY: | ||||
|         case YELLOW_FLOWER: | ||||
|             return true; | ||||
|  | ||||
|         default: | ||||
|             return false; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Check if a block should allow for the activation of abilities. | ||||
|      * | ||||
|      * @param material Type of {@link Block} to check | ||||
|      * @return true if the block should allow ability activation, false otherwise | ||||
|      */ | ||||
|     public static boolean abilityBlockCheck(Material material) { | ||||
|         switch (material) { | ||||
|         case BED_BLOCK: | ||||
|         case BREWING_STAND: | ||||
|         case BOOKSHELF: | ||||
|         case BURNING_FURNACE: | ||||
|         case CAKE_BLOCK: | ||||
|         case CHEST: | ||||
|         case DISPENSER: | ||||
|         case ENCHANTMENT_TABLE: | ||||
|         case FENCE_GATE: | ||||
|         case FURNACE: | ||||
|         case IRON_DOOR_BLOCK: | ||||
|         case JUKEBOX: | ||||
|         case LEVER: | ||||
|         case NOTE_BLOCK: | ||||
|         case STONE_BUTTON: | ||||
|         case TRAP_DOOR: | ||||
|         case WALL_SIGN: | ||||
|         case WOODEN_DOOR: | ||||
|         case WORKBENCH: | ||||
|             return false; | ||||
|  | ||||
|         default: | ||||
|             break; | ||||
|         } | ||||
|  | ||||
|         if (Material.getMaterial(LoadProperties.anvilID).equals(material)) { | ||||
|             return false; | ||||
|         } | ||||
|         else { | ||||
|             return true; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Check if a block type is an ore. | ||||
|      * | ||||
|      * @param material The type of {@link Block} to check | ||||
|      * @return true if the Block is an ore, false otherwise | ||||
|      */ | ||||
|     public static boolean isOre(Material material) { | ||||
|         switch (material) { | ||||
|         case COAL_ORE: | ||||
|         case DIAMOND_ORE: | ||||
|         case GLOWING_REDSTONE_ORE: | ||||
|         case GOLD_ORE: | ||||
|         case IRON_ORE: | ||||
|         case LAPIS_ORE: | ||||
|         case REDSTONE_ORE: | ||||
|             return true; | ||||
|  | ||||
|         default: | ||||
|             return false; | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -99,16 +99,16 @@ public class Combat { | ||||
|             } | ||||
|             else if (itemInHand.getType().equals(Material.BONE) && mcPermissions.getInstance().taming(attacker) && targetType.equals(EntityType.WOLF)) { | ||||
|                 Wolf wolf = (Wolf) target; | ||||
|                 String message = "Combat.BeastLore" + " "; | ||||
|                 String message = mcLocale.getString("Combat.BeastLore") + " "; | ||||
|                 int health = wolf.getHealth(); | ||||
|                 event.setCancelled(true); | ||||
|  | ||||
|                 if (wolf.isTamed()) { | ||||
|                     message.concat(mcLocale.getString("Combat.BeastLoreOwner", new Object[] {Taming.getOwnerName(wolf)}) + " "); | ||||
|                     message.concat(mcLocale.getString("Combat.BeastLoreHealthWolfTamed", new Object[] {health})); | ||||
|                     message = message.concat(mcLocale.getString("Combat.BeastLoreOwner", new Object[] {Taming.getOwnerName(wolf)}) + " "); | ||||
|                     message = message.concat(mcLocale.getString("Combat.BeastLoreHealthWolfTamed", new Object[] {health})); | ||||
|                 } | ||||
|                 else { | ||||
|                     message.concat(mcLocale.getString("Combat.BeastLoreHealthWolf", new Object[] {health})); | ||||
|                     message = message.concat(mcLocale.getString("Combat.BeastLoreHealthWolf", new Object[] {health})); | ||||
|                 } | ||||
|  | ||||
|                 attacker.sendMessage(message); | ||||
|   | ||||
| @@ -158,7 +158,7 @@ public class mcPlayerListener implements Listener | ||||
| 		Block block = event.getClickedBlock(); | ||||
| 		ItemStack is = player.getItemInHand(); | ||||
| 		Material mat; | ||||
|         if (block.equals(null)) { | ||||
|         if (block == null) { | ||||
|             mat = Material.AIR; | ||||
|         } | ||||
|         else { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 GJ
					GJ