Fix dupe bug for inventory closing

This commit is contained in:
Ste3et_C0st 2020-04-27 18:43:31 +02:00
parent 46ddc2ead4
commit dd6c1ba932
3 changed files with 16 additions and 7 deletions

View File

@ -3,6 +3,7 @@ package de.Ste3et_C0st.Furniture.Objects.RPG;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import org.bukkit.Bukkit;
@ -11,6 +12,7 @@ import org.bukkit.Effect;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@ -88,6 +90,12 @@ public class Guillotine extends Furniture implements Listener{
invIII = Bukkit.createInventory(null, 54, s + "III");
}
public void forceCloseInventory() {
if(Objects.nonNull(this.invI)) this.invI.getViewers().forEach(HumanEntity::closeInventory);
if(Objects.nonNull(this.invII)) this.invI.getViewers().forEach(HumanEntity::closeInventory);
if(Objects.nonNull(this.invIII)) this.invI.getViewers().forEach(HumanEntity::closeInventory);
}
private void setDefault(){
armorStandList.clear();
@ -184,6 +192,7 @@ public class Guillotine extends Furniture implements Listener{
im.setDisplayName(packet1.getName());
getWorld().dropItem(getLocation(), is);
}
forceCloseInventory();
this.destroy(player);
}
}

View File

@ -3,10 +3,12 @@ package de.Ste3et_C0st.Furniture.Objects.RPG;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@ -66,6 +68,7 @@ public class weaponStand extends Furniture implements Listener{
}
}
}
forceCloseInventory();
this.destroy(player);
}
}
@ -131,6 +134,10 @@ public class weaponStand extends Furniture implements Listener{
}
}
public void forceCloseInventory() {
if(Objects.nonNull(this.inv)) this.inv.getViewers().forEach(HumanEntity::closeInventory);
}
@EventHandler
private void onClick(InventoryClickEvent e){
if(getObjID()==null){return;}

View File

@ -1,24 +1,17 @@
package de.Ste3et_C0st.Furniture.Objects.garden;
import java.util.Arrays;
import org.bukkit.ChatColor;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.block.BlockState;
import org.bukkit.block.Sign;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.BookMeta;
import de.Ste3et_C0st.Furniture.Main.FurnitureHook;
import de.Ste3et_C0st.FurnitureLib.Utilitis.LocationUtil;
import de.Ste3et_C0st.FurnitureLib.main.Furniture;
import de.Ste3et_C0st.FurnitureLib.main.ObjectID;
import de.Ste3et_C0st.FurnitureLib.main.Type;
import de.Ste3et_C0st.FurnitureLib.main.Type.SQLAction;
public class graveStone extends Furniture{