* Fixed unable to die when not moving. You'll become unsolid faster.
This commit is contained in:
parent
4c23fbc263
commit
f5ae383366
@ -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);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user