* Fixed unable to die when not moving. You'll become unsolid faster.
This commit is contained in:
		@@ -93,7 +93,7 @@ public class BlockHunt extends JavaPlugin implements Listener {
 | 
				
			|||||||
			MessageM.broadcastFMessage(ConfigC.error_disguiseCraftNotInstalled,
 | 
								MessageM.broadcastFMessage(ConfigC.error_disguiseCraftNotInstalled,
 | 
				
			||||||
					true);
 | 
										true);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		
 | 
					
 | 
				
			||||||
		if (!getServer().getPluginManager().isPluginEnabled("ProtocolLib")) {
 | 
							if (!getServer().getPluginManager().isPluginEnabled("ProtocolLib")) {
 | 
				
			||||||
			MessageM.broadcastFMessage(ConfigC.error_protocolLibNotInstalled,
 | 
								MessageM.broadcastFMessage(ConfigC.error_protocolLibNotInstalled,
 | 
				
			||||||
					true);
 | 
										true);
 | 
				
			||||||
@@ -129,8 +129,8 @@ public class BlockHunt extends JavaPlugin implements Listener {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		if ((Boolean) W.config.get(ConfigC.autoUpdateCheck)) {
 | 
							if ((Boolean) W.config.get(ConfigC.autoUpdateCheck)) {
 | 
				
			||||||
			if ((Boolean) W.config.get(ConfigC.autoDownloadUpdate)) {
 | 
								if ((Boolean) W.config.get(ConfigC.autoDownloadUpdate)) {
 | 
				
			||||||
				new Updater(this, W.pluginName,
 | 
									new Updater(this, W.pluginName, this.getFile(),
 | 
				
			||||||
						this.getFile(), Updater.UpdateType.DEFAULT, true);
 | 
											Updater.UpdateType.DEFAULT, true);
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				new Updater(this, W.pluginName, this.getFile(),
 | 
									new Updater(this, W.pluginName, this.getFile(),
 | 
				
			||||||
						Updater.UpdateType.NO_DOWNLOAD, true);
 | 
											Updater.UpdateType.NO_DOWNLOAD, true);
 | 
				
			||||||
@@ -479,69 +479,10 @@ public class BlockHunt extends JavaPlugin implements Listener {
 | 
				
			|||||||
											}
 | 
																}
 | 
				
			||||||
										}
 | 
															}
 | 
				
			||||||
									} else {
 | 
														} else {
 | 
				
			||||||
										Block pBlock = player.getLocation()
 | 
					 | 
				
			||||||
												.getBlock();
 | 
					 | 
				
			||||||
										block.setAmount(5);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
										if (W.hiddenLoc.get(player) != null) {
 | 
					 | 
				
			||||||
											pBlock = W.hiddenLoc.get(player)
 | 
					 | 
				
			||||||
													.getBlock();
 | 
					 | 
				
			||||||
										}
 | 
					 | 
				
			||||||
										if (!W.dcAPI.isDisguised(player)) {
 | 
															if (!W.dcAPI.isDisguised(player)) {
 | 
				
			||||||
											for (Player pl : Bukkit
 | 
																SolidBlockHandler
 | 
				
			||||||
													.getOnlinePlayers()) {
 | 
																		.makePlayerUnsolid(player,
 | 
				
			||||||
												if (!pl.equals(player)) {
 | 
																				block);
 | 
				
			||||||
													if (W.hiddenLocWater
 | 
					 | 
				
			||||||
															.get(player) != null) {
 | 
					 | 
				
			||||||
														if (W.hiddenLocWater
 | 
					 | 
				
			||||||
																.get(player)) {
 | 
					 | 
				
			||||||
															pl.sendBlockChange(
 | 
					 | 
				
			||||||
																	pBlock.getLocation(),
 | 
					 | 
				
			||||||
																	Material.STATIONARY_WATER,
 | 
					 | 
				
			||||||
																	(byte) 0);
 | 
					 | 
				
			||||||
														} else {
 | 
					 | 
				
			||||||
															pl.sendBlockChange(
 | 
					 | 
				
			||||||
																	pBlock.getLocation(),
 | 
					 | 
				
			||||||
																	Material.AIR,
 | 
					 | 
				
			||||||
																	(byte) 0);
 | 
					 | 
				
			||||||
														}
 | 
					 | 
				
			||||||
													} else {
 | 
					 | 
				
			||||||
														pl.sendBlockChange(
 | 
					 | 
				
			||||||
																pBlock.getLocation(),
 | 
					 | 
				
			||||||
																Material.AIR,
 | 
					 | 
				
			||||||
																(byte) 0);
 | 
					 | 
				
			||||||
													}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
													W.hiddenLocWater
 | 
					 | 
				
			||||||
															.remove(player);
 | 
					 | 
				
			||||||
												}
 | 
					 | 
				
			||||||
											}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
											player.playSound(pLoc,
 | 
					 | 
				
			||||||
													Sound.BAT_HURT, 1, 1);
 | 
					 | 
				
			||||||
											block.removeEnchantment(Enchantment.DURABILITY);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
											LinkedList<String> data = new LinkedList<String>();
 | 
					 | 
				
			||||||
											data.add("blockID:"
 | 
					 | 
				
			||||||
													+ block.getTypeId());
 | 
					 | 
				
			||||||
											data.add("blockData:"
 | 
					 | 
				
			||||||
													+ block.getDurability());
 | 
					 | 
				
			||||||
											Disguise disguise = new Disguise(
 | 
					 | 
				
			||||||
													W.dcAPI.newEntityID(),
 | 
					 | 
				
			||||||
													data,
 | 
					 | 
				
			||||||
													DisguiseType.FallingBlock);
 | 
					 | 
				
			||||||
											if (W.dcAPI.isDisguised(player)) {
 | 
					 | 
				
			||||||
												W.dcAPI.changePlayerDisguise(
 | 
					 | 
				
			||||||
														player, disguise);
 | 
					 | 
				
			||||||
											} else {
 | 
					 | 
				
			||||||
												W.dcAPI.disguisePlayer(player,
 | 
					 | 
				
			||||||
														disguise);
 | 
					 | 
				
			||||||
											}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
											MessageM.sendFMessage(
 | 
					 | 
				
			||||||
													player,
 | 
					 | 
				
			||||||
													ConfigC.normal_ingameNoMoreSolid,
 | 
					 | 
				
			||||||
													true);
 | 
					 | 
				
			||||||
										}
 | 
															}
 | 
				
			||||||
									}
 | 
														}
 | 
				
			||||||
								}
 | 
													}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,7 @@ package nl.Steffion.BlockHunt.Listeners;
 | 
				
			|||||||
import nl.Steffion.BlockHunt.Arena;
 | 
					import nl.Steffion.BlockHunt.Arena;
 | 
				
			||||||
import nl.Steffion.BlockHunt.ArenaHandler;
 | 
					import nl.Steffion.BlockHunt.ArenaHandler;
 | 
				
			||||||
import nl.Steffion.BlockHunt.SignsHandler;
 | 
					import nl.Steffion.BlockHunt.SignsHandler;
 | 
				
			||||||
 | 
					import nl.Steffion.BlockHunt.SolidBlockHandler;
 | 
				
			||||||
import nl.Steffion.BlockHunt.W;
 | 
					import nl.Steffion.BlockHunt.W;
 | 
				
			||||||
import nl.Steffion.BlockHunt.Managers.ConfigC;
 | 
					import nl.Steffion.BlockHunt.Managers.ConfigC;
 | 
				
			||||||
import nl.Steffion.BlockHunt.Managers.MessageM;
 | 
					import nl.Steffion.BlockHunt.Managers.MessageM;
 | 
				
			||||||
@@ -10,6 +11,7 @@ import nl.Steffion.BlockHunt.Managers.PlayerM;
 | 
				
			|||||||
import nl.Steffion.BlockHunt.Managers.PlayerM.PermsC;
 | 
					import nl.Steffion.BlockHunt.Managers.PlayerM.PermsC;
 | 
				
			||||||
import nl.Steffion.BlockHunt.Serializables.LocationSerializable;
 | 
					import nl.Steffion.BlockHunt.Serializables.LocationSerializable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.bukkit.Location;
 | 
				
			||||||
import org.bukkit.Material;
 | 
					import org.bukkit.Material;
 | 
				
			||||||
import org.bukkit.Sound;
 | 
					import org.bukkit.Sound;
 | 
				
			||||||
import org.bukkit.block.Block;
 | 
					import org.bukkit.block.Block;
 | 
				
			||||||
@@ -124,10 +126,12 @@ public class OnPlayerInteractEvent implements Listener {
 | 
				
			|||||||
							if (moveLocBlock.getX() == pLoc.getX()
 | 
												if (moveLocBlock.getX() == pLoc.getX()
 | 
				
			||||||
									&& moveLocBlock.getY() == pLoc.getY()
 | 
														&& moveLocBlock.getY() == pLoc.getY()
 | 
				
			||||||
									&& moveLocBlock.getZ() == pLoc.getZ()) {
 | 
														&& moveLocBlock.getZ() == pLoc.getZ()) {
 | 
				
			||||||
								W.moveLoc.put(pl, player.getLocation());
 | 
													W.moveLoc.put(pl, new Location(pl.getWorld(),
 | 
				
			||||||
								player.getWorld().playSound(
 | 
															0, 0, 0));
 | 
				
			||||||
										player.getLocation(), Sound.HURT_FLESH,
 | 
													pl.getWorld().playSound(player.getLocation(),
 | 
				
			||||||
										1, 1);
 | 
															Sound.HURT_FLESH, 1, 1);
 | 
				
			||||||
 | 
													ItemStack block = pl.getInventory().getItem(8);
 | 
				
			||||||
 | 
													SolidBlockHandler.makePlayerUnsolid(pl, block);
 | 
				
			||||||
							}
 | 
												}
 | 
				
			||||||
						}
 | 
											}
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										62
									
								
								src/nl/Steffion/BlockHunt/SolidBlockHandler.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								src/nl/Steffion/BlockHunt/SolidBlockHandler.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,62 @@
 | 
				
			|||||||
 | 
					package nl.Steffion.BlockHunt;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.LinkedList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import nl.Steffion.BlockHunt.Managers.ConfigC;
 | 
				
			||||||
 | 
					import nl.Steffion.BlockHunt.Managers.MessageM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.bukkit.Bukkit;
 | 
				
			||||||
 | 
					import org.bukkit.Material;
 | 
				
			||||||
 | 
					import org.bukkit.Sound;
 | 
				
			||||||
 | 
					import org.bukkit.block.Block;
 | 
				
			||||||
 | 
					import org.bukkit.enchantments.Enchantment;
 | 
				
			||||||
 | 
					import org.bukkit.entity.Player;
 | 
				
			||||||
 | 
					import org.bukkit.inventory.ItemStack;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import pgDev.bukkit.DisguiseCraft.disguise.Disguise;
 | 
				
			||||||
 | 
					import pgDev.bukkit.DisguiseCraft.disguise.DisguiseType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class SolidBlockHandler {
 | 
				
			||||||
 | 
						public static void makePlayerUnsolid(Player player, ItemStack block) {
 | 
				
			||||||
 | 
							Block pBlock = player.getLocation().getBlock();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (W.hiddenLoc.get(player) != null) {
 | 
				
			||||||
 | 
								pBlock = W.hiddenLoc.get(player).getBlock();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							block.setAmount(5);
 | 
				
			||||||
 | 
							for (Player pl : Bukkit.getOnlinePlayers()) {
 | 
				
			||||||
 | 
								if (!pl.equals(player)) {
 | 
				
			||||||
 | 
									if (W.hiddenLocWater.get(player) != null) {
 | 
				
			||||||
 | 
										if (W.hiddenLocWater.get(player)) {
 | 
				
			||||||
 | 
											pl.sendBlockChange(pBlock.getLocation(),
 | 
				
			||||||
 | 
													Material.STATIONARY_WATER, (byte) 0);
 | 
				
			||||||
 | 
										} else {
 | 
				
			||||||
 | 
											pl.sendBlockChange(pBlock.getLocation(), Material.AIR,
 | 
				
			||||||
 | 
													(byte) 0);
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									} else {
 | 
				
			||||||
 | 
										pl.sendBlockChange(pBlock.getLocation(), Material.AIR,
 | 
				
			||||||
 | 
												(byte) 0);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									W.hiddenLocWater.remove(player);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							player.playSound(player.getLocation(), Sound.BAT_HURT, 1, 1);
 | 
				
			||||||
 | 
							block.removeEnchantment(Enchantment.DURABILITY);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							LinkedList<String> data = new LinkedList<String>();
 | 
				
			||||||
 | 
							data.add("blockID:" + block.getTypeId());
 | 
				
			||||||
 | 
							data.add("blockData:" + block.getDurability());
 | 
				
			||||||
 | 
							Disguise disguise = new Disguise(W.dcAPI.newEntityID(), data,
 | 
				
			||||||
 | 
									DisguiseType.FallingBlock);
 | 
				
			||||||
 | 
							if (W.dcAPI.isDisguised(player)) {
 | 
				
			||||||
 | 
								W.dcAPI.changePlayerDisguise(player, disguise);
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								W.dcAPI.disguisePlayer(player, disguise);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							MessageM.sendFMessage(player, ConfigC.normal_ingameNoMoreSolid, true);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user