• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

[Bukkit]Location eines Inventorys

Status
Für weitere Antworten geschlossen.

leonard_m_g

Minecrafter
Registriert
4 Januar 2012
Beiträge
10
Diamanten
0
Hallo,
ich bin gerade dabei ein Bukkit Plugin zu programmieren, dabei habe ich folgendes Problem: wenn das InventoryClickEvent aufgerufen wird möchte ich gerne an die Koordinaten des dabei involvierten Containers kommen, leider habe ich keine Ahnung wie ich das anstellen soll und ich habe auch keine Möglichkeit dazu in den JavaDocs von Bukkit gefunden:youno:, vielleicht kennt hier jemand eine Lösung für mein Problem...
 
T

TimBone

Guest
Hier einmal ein Ansatz von mir:

Code:
	@EventHandler
	public void onPlayerBlock(PlayerInteractEvent event){
		Block block = event.getClickedBlock();
		int block2 = event.getClickedBlock().getTypeId();
		
		if(event.getHandlers() instanceof Player){
			if(block2 == 58){
				Location location = block.getLocation();
				System.out.println("[Prefix] Es wurde ein Crafting Table gefunden: " + location);

			}
			if((block instanceof Chest) || (block instanceof DoubleChest) ){
			Location location =	block.getLocation();
			System.out.println("[Prefix] Es wurde eine Chest gefunden: " + location);
			}
		}
 
Zuletzt bearbeitet von einem Moderator:
X

|| xX [DEV][LP] Ms. DivaCraft Xx ||

Guest
Sag doch direkt was du suchst ;)

Code:
@EventHandler(priority = EventPriority.NORMAL)    public void thisCouldBeAMehtodFourtyTwo(InventoryClickEvent ev) {
        // Nur Amboss benutzen
        if (ev.getInventory().getName().equalsIgnoreCase("Repair")) {
            ItemStack curr = ev.getCurrentItem();
            ItemStack cursor = ev.getCursor();

            if (curr != null && cursor != null) {
                //Anzeige des Slots bzw. des Raw Slots => Initialisierung weiter oben!
                logger.info(ev.getRawSlot() + "|" + ev.getSlot());
                if (ev.getRawSlot() == 1 && ev.getSlot() == 1) {
                    //QuickNDirty Permissionsüberprüfung
                    if(((Player)ev.getWhoClicked()).hasPermission("manf.is.awesome")){
                        return;
                    }
                    //Blockt in diesem Fall des 2. Slot des Amboss
                    event.setCancled()
                }
            }
        }
    }


Sollte so funktionieren.
 
X

|| xX [DEV][LP] Ms. DivaCraft Xx ||

Guest
Achso...
Du willst also ermöglichen, dass man die Kiste öffnen kann, aber nix ändern...

Wie wäre es mit

Code:
if(ev.getInventory().getHolder() instanceof Chest){   Chest c = (Chest) ev.getInventory().getHolder();
   Block b = c.getBlock()
   // ....
}
 
Status
Für weitere Antworten geschlossen.
Oben