Fix Item Cubes and Perma Night vision.

This commit is contained in:
sigonasr2 2016-08-17 06:03:52 -05:00
parent bc143da90e
commit 504017fe6b
3 changed files with 42 additions and 25 deletions

Binary file not shown.

View File

@ -34,6 +34,7 @@ public class DeathManager {
public static void removeDeathStructure(Player p) { public static void removeDeathStructure(Player p) {
ds.remove(getDeathStructure(p)); ds.remove(getDeathStructure(p));
p.removePotionEffect(PotionEffectType.GLOWING); p.removePotionEffect(PotionEffectType.GLOWING);
p.removePotionEffect(PotionEffectType.NIGHT_VISION);
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p); PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
pd.deathloot.clear(); pd.deathloot.clear();
pd.hasDied=false; pd.hasDied=false;

View File

@ -1426,6 +1426,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
//Update player max health. Check equipment too. //Update player max health. Check equipment too.
setPlayerMaxHealth(ev.getPlayer()); setPlayerMaxHealth(ev.getPlayer());
ev.getPlayer().removePotionEffect(PotionEffectType.GLOWING); ev.getPlayer().removePotionEffect(PotionEffectType.GLOWING);
ev.getPlayer().removePotionEffect(PotionEffectType.NIGHT_VISION);
ev.getPlayer().getScoreboard().getTeam(ev.getPlayer().getName().toLowerCase()).setSuffix(createHealthbar(((ev.getPlayer().getHealth())/ev.getPlayer().getMaxHealth())*100,ev.getPlayer())); ev.getPlayer().getScoreboard().getTeam(ev.getPlayer().getName().toLowerCase()).setSuffix(createHealthbar(((ev.getPlayer().getHealth())/ev.getPlayer().getMaxHealth())*100,ev.getPlayer()));
ev.getPlayer().getScoreboard().getTeam(ev.getPlayer().getName().toLowerCase()).setPrefix(GenericFunctions.PlayerModePrefix(ev.getPlayer())); ev.getPlayer().getScoreboard().getTeam(ev.getPlayer().getName().toLowerCase()).setPrefix(GenericFunctions.PlayerModePrefix(ev.getPlayer()));
ev.getPlayer().getAttribute(Attribute.GENERIC_ATTACK_SPEED).setBaseValue(4.0d); ev.getPlayer().getAttribute(Attribute.GENERIC_ATTACK_SPEED).setBaseValue(4.0d);
@ -3730,32 +3731,47 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
List<String> item_meta_lore = item_meta.getLore(); List<String> item_meta_lore = item_meta.getLore();
if (item_meta_lore.size()==4 && item_meta_lore.get(3).contains(ChatColor.DARK_PURPLE+"ID#")) { if (item_meta_lore.size()==4 && item_meta_lore.get(3).contains(ChatColor.DARK_PURPLE+"ID#")) {
int idnumb = Integer.parseInt(item_meta_lore.get(3).split("#")[1]); int idnumb = Integer.parseInt(item_meta_lore.get(3).split("#")[1]);
log("This is an Item Cube.",5); int itemcubeid = -1;
Player p = (Player)ev.getWhoClicked(); if (((PlayerStructure)playerdata.get(ev.getWhoClicked().getUniqueId())).isViewingItemCube &&
int inventory_size; ev.getWhoClicked().getOpenInventory().getTitle().contains("Item Cube #")) {
if (ev.getCurrentItem().getType()==Material.CHEST) { itemcubeid = Integer.parseInt(ev.getWhoClicked().getOpenInventory().getTitle().split("#")[1]); //This is the ID of the window we are looking at, if one exists.
inventory_size=9; } else {
} else { itemcubeid = -1;
inventory_size=27; }
} if (idnumb==itemcubeid) {
if (!ItemCube.isSomeoneViewingItemCube(idnumb,p)) { //The inventory we are viewing is the same as the item cube we have clicked on!
log("Attempting to open",5); //Stop this before the player does something dumb!
ev.setCancelled(true); //Player p = ((Player)ev.getWhoClicked());
ev.setResult(Result.DENY); //p.playSound(p.getLocation(), Sound.BLOCK_NOTE_HARP, 0.4f, 0.2f);
//pd.itemcubeviews.add(p.getOpenInventory()); ev.setCancelled(true);
Inventory temp = Bukkit.getServer().createInventory(p, inventory_size, "Item Cube #"+idnumb);
openItemCubeInventory(temp);
InventoryView newinv = p.openInventory(temp);
pd.isViewingItemCube=true;
p.playSound(p.getLocation(),Sound.BLOCK_CHEST_OPEN,1.0f,1.0f);
} else { } else {
ev.setCancelled(true); log("This is an Item Cube.",5);
ev.setResult(Result.DENY); Player p = (Player)ev.getWhoClicked();
//ItemCube.displayErrorMessage(p); int inventory_size;
//pd.itemcubeviews.add(p.getOpenInventory()); if (ev.getCurrentItem().getType()==Material.CHEST) {
p.openInventory(ItemCube.getViewingItemCubeInventory(idnumb, p)); inventory_size=9;
pd.isViewingItemCube=true; } else {
p.playSound(p.getLocation(), Sound.BLOCK_CHEST_OPEN, 1.0f, 1.0f); inventory_size=27;
}
if (!ItemCube.isSomeoneViewingItemCube(idnumb,p)) {
log("Attempting to open",5);
ev.setCancelled(true);
ev.setResult(Result.DENY);
//pd.itemcubeviews.add(p.getOpenInventory());
Inventory temp = Bukkit.getServer().createInventory(p, inventory_size, "Item Cube #"+idnumb);
openItemCubeInventory(temp);
InventoryView newinv = p.openInventory(temp);
pd.isViewingItemCube=true;
p.playSound(p.getLocation(),Sound.BLOCK_CHEST_OPEN,1.0f,1.0f);
} else {
ev.setCancelled(true);
ev.setResult(Result.DENY);
//ItemCube.displayErrorMessage(p);
//pd.itemcubeviews.add(p.getOpenInventory());
p.openInventory(ItemCube.getViewingItemCubeInventory(idnumb, p));
pd.isViewingItemCube=true;
p.playSound(p.getLocation(), Sound.BLOCK_CHEST_OPEN, 1.0f, 1.0f);
}
} }
} }
} }