You are not logged in.

  • Login

[Bukkit-Plugin] Player Move Event

Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Dear visitor, welcome to Nitrado.net Prepaid Gameserver Community-Support - Archiv. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Eddy070802

User / Kunde

  • "Eddy070802" started this thread

Posts: 26

  • Send private message

1

Thursday, July 28th 2016, 6:51pm

Player Move Event

package p.main;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class main extends JavaPlugin implements Listener{

public void onEnable(){
Bukkit.getPluginManager().registerEvents(this, this);
}
public void onBlocklaufen(PlayerMoveEvent e){

Player p = e.getPlayer();
if(e.getPlayer().hasPermission("cm.b")){
p.sendMessage("&6System>>&7 du bist nun &aauf der Bühne.");
}else
if(e.get)
}
}

Hey,
ich versuche es so zu machen, dass wen ein Spieler der die Permission cm.b nicht hat über einen bestimmten läuft das er dann zrück gebugt wird.
Gehe ich es richtig an oder Komplet falsch ?!

Danke schon einmal im voraus :)

GGad

User / Kunde

  • "GGad" is male

Posts: 348

Location: localhost in dritter Generation

Thanks: 16

  • Send private message

2

Thursday, July 28th 2016, 7:33pm

Hey,

du hast keinen @EventHandler Tag vor dem Event. Villeicht liegt es daran.

LG GGad
Hype!! :thumbsup: 333 Beiträge!! 8o

Eddy070802

User / Kunde

  • "Eddy070802" started this thread

Posts: 26

  • Send private message

3

Thursday, July 28th 2016, 7:38pm

Ja stimmt aber das wa nicht meine Frage heheh

GGad

User / Kunde

  • "GGad" is male

Posts: 348

Location: localhost in dritter Generation

Thanks: 16

  • Send private message

4

Thursday, July 28th 2016, 7:49pm

Hey,

ja.. Hmm.. Vom Ansatz ist es schonmal richtig. Musst du dir halt überlegen wie du den Bereich kennzeichnest, in den man nich reindarf.

Am besten mit der Config, damit du nicht alles im Code haben musst.

LG GGad

PS: Wenn du verhindern willst, dass Spieler in einen bestimmten Bereich kommen, nutze doch einfach Worldguard ;)
Hype!! :thumbsup: 333 Beiträge!! 8o

BlvckBytes

User / Kunde

  • "BlvckBytes" is male

Posts: 797

Location: (*blvckbytes).home

Occupation: Schüler -> HTL für Informationstechnologie und Netzwerktechnik

  • Send private message

5

Thursday, July 28th 2016, 7:51pm

onBlocklaufen..... Naja egal.

Wenn er die Permission für die Bühne nicht hat, einfach einen Block zurück teleportieren.

LG BlvckBytes

Eddy070802

User / Kunde

  • "Eddy070802" started this thread

Posts: 26

  • Send private message

6

Thursday, July 28th 2016, 11:03pm

Bin jetzt soweit gekommen:

package p.main;

import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class main extends JavaPlugin implements Listener{

public void onEnable(){
Bukkit.getPluginManager().registerEvents(this, this);
}

@EventHandler
public void onBlocklaufen(PlayerMoveEvent e){
if(e.getTo().getBlock().getType() == Material.DIAMOND_BLOCK){
Player p = e.getPlayer();
if(e.getPlayer().hasPermission("cm.b")){
p.sendMessage("&6System>>&7 du bist nun &aauf der Bühne.");
}else
e.setCancelled(true);

}
}
}



es geht aber nicht..
was kann das Problem sein?

iSEVEN

User / Kunde

  • "iSEVEN" is male

Posts: 1,431

  • Send private message

7

Thursday, July 28th 2016, 11:08pm

Wie wäre es wenn du uns sagst was nicht funktioniert?
Und bau mal Debug-Nachrichten ein.

Eddy070802

User / Kunde

  • "Eddy070802" started this thread

Posts: 26

  • Send private message

8

Thursday, July 28th 2016, 11:27pm

package p.main;

import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class main extends JavaPlugin implements Listener{

@Override
public void onEnable(){
Bukkit.getPluginManager().registerEvents(this, this);
}

@EventHandler
public void onBlocklaufen(PlayerMoveEvent e){
if(e.getTo().subtract(0, 0, 0).getBlock().getType() == Material.DIAMOND_BLOCK) {
Player p = e.getPlayer();
if(e.getPlayer().hasPermission("cm.b")){
p.sendMessage("&6System>>&7 du bist nun &aauf der Bühne.");
}else
e.setCancelled(true);
}
}
}

Soweit bin ich jetzt.

Was nicht Funktioniert:
Wenn man die Permission hat passiert nix
wenn man sie nicht hat auch nicht außer das ich nicht mehr abbauen kann

BlvckBytes

User / Kunde

  • "BlvckBytes" is male

Posts: 797

Location: (*blvckbytes).home

Occupation: Schüler -> HTL für Informationstechnologie und Netzwerktechnik

  • Send private message

9

Thursday, July 28th 2016, 11:36pm

Tue uns allen einen Gefallen und benutze WorldEdit + WorldGuard um eine Bühne zu erstellen.

LG BlvckBytes

Eddy070802

User / Kunde

  • "Eddy070802" started this thread

Posts: 26

  • Send private message

10

Thursday, July 28th 2016, 11:41pm

Och mannnnnn Ich will dass aber so hinbekommen :D

DerSchlaueKind

User / Kunde

Posts: 11

  • Send private message

11

Thursday, July 28th 2016, 11:54pm

Hey, du musst einen Block unter dem Spieler checken ^^

Versuch mal

if(e.getTo().subtract(0, 1, 0).getBlock().getType() == Material.DIAMOND_BLOCK) {

Eddy070802

User / Kunde

  • "Eddy070802" started this thread

Posts: 26

  • Send private message

12

Friday, July 29th 2016, 12:54am

if(e.getTo().subtract(0, 1, 0).getBlock().getType() == Material.DIAMOND_BLOCK) {


So ist Jetzt der Code:

package p.main;

import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class main extends JavaPlugin implements Listener{

@Override
public void onEnable(){
Bukkit.getPluginManager().registerEvents(this, this);
}

@EventHandler
public void onBlocklaufen(PlayerMoveEvent e){
if(e.getTo().subtract(0, 1, 0).getBlock().getType() == Material.DIAMOND_BLOCK) {
Player p = e.getPlayer();
if(e.getPlayer().hasPermission("cm.b")){
p.sendMessage("&6System>>&7 du bist nun &aauf der Bühne.");
}else
e.setCancelled(true);
}

}
}


Jetzt bugge ich einfach nur noch im Boden egal ob mit oder Ohne Permission.

SchnepfeGHG

User / Kunde

  • "SchnepfeGHG" is male

Posts: 59

Occupation: Schüler

  • Send private message

13

Friday, July 29th 2016, 1:17am

Das Move-Event zu canceln ist leider nur Buggy. Teleportier den Spieler am besten zwei Blöcke nach hinten oder setze ihm eine entsprechende Velocity.

Eddy070802

User / Kunde

  • "Eddy070802" started this thread

Posts: 26

  • Send private message

14

Friday, July 29th 2016, 1:30am

Soweit bin ich jetzt....

package p.main;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class main extends JavaPlugin implements Listener{

@Override
public void onEnable(){
Bukkit.getPluginManager().registerEvents(this, this);
}

@EventHandler
public void onBlocklaufen(PlayerMoveEvent e){
if(e.getTo().subtract(0, 1, 0).getBlock().getType() == Material.DIAMOND_BLOCK) {
Player p = e.getPlayer();
Location loc = new Location(getServer().getWorld(p.getWorld().getName()), -2, 32, 0);
if(e.getPlayer().hasPermission("cm.b")){
p.sendMessage("&6System>>&7 du bist nun &aauf der Bühne.");
}else

p.teleport(loc);
p.sendMessage("&6System>>&7Das darfst du nicht!");

}

}
}


Ich bugge aber einfach nur im Boden

This post has been edited 1 times, last edit by "Eddy070802" (Jul 29th 2016, 11:43am)


Stuppsman

User / Kunde

Posts: 2,766

Thanks: 25

  • Send private message

15

Friday, July 29th 2016, 2:15am

Ich beobachte das grad n bisken und seh dich die ganze Zeit in diesem Thread.. ernsthaft, probier google mal aus, ich bin zwar auch kein Fan, aber in diversen Situationen hat das echt Sinn. Ich seh ein, dass man googlen lernen muss - man kann es nicht auf Anhieb. Aber man muss den Anspruch entwickeln, es zu lernen. Das findet man auf jeden Fall selbst..
Nein, ich hab kein Skype.. bei Interesse an einer privaten Unterrichtsstunde, wende dich bitte direkt an mein Team! 8)

Eddy070802

User / Kunde

  • "Eddy070802" started this thread

Posts: 26

  • Send private message

16

Friday, July 29th 2016, 11:41am

Soweit bin ich jetzt...

package p.main;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class main extends JavaPlugin implements Listener{

@Override
public void onEnable(){
Bukkit.getPluginManager().registerEvents(this, this);
}

@EventHandler
public void onBlocklaufen(PlayerMoveEvent e){
if(e.getTo().subtract(0, 1, 0).getBlock().getType() == Material.DIAMOND_BLOCK) {
Player p = e.getPlayer();
Location loc = new Location(getServer().getWorld(p.getWorld().getName()), -2, 32, 0);
if(e.getPlayer().hasPermission("cm.b")){
p.sendMessage("&6System>>&7 du bist nun &aauf der Bühne.");
}else

p.teleport(loc);
p.sendMessage("&6System>>&7Das darfst du nicht!");

}

}
}

Wenn ich das Plugin auf dem Server habe und mich bewege bugge ich einfach nur im Boden.

GGad

User / Kunde

  • "GGad" is male

Posts: 348

Location: localhost in dritter Generation

Thanks: 16

  • Send private message

17

Friday, July 29th 2016, 1:16pm

Hey,
Tue uns allen einen Gefallen und benutze WorldEdit + WorldGuard um eine Bühne zu erstellen.
Er hat schon Recht. Wenn du Code postest benutze den BB Code und verwende [ code ]. Außerdem solltest du erstmal die Grundlagen lernen.

LG GGad
Hype!! :thumbsup: 333 Beiträge!! 8o

BlvckBytes

User / Kunde

  • "BlvckBytes" is male

Posts: 797

Location: (*blvckbytes).home

Occupation: Schüler -> HTL für Informationstechnologie und Netzwerktechnik

  • Send private message

18

Friday, July 29th 2016, 1:41pm

@GGad

Ich kann mich hier GGad nur anschließen. Wenn er schon nicht die Java Grundlagen lernen will, was ich auch verstehe, dann soll er wenigstens die Spigot Grundlagen lernen, sowas ist für jemanden, der sie kann, lächerlich.

LG BlvckBytes

BlackSarius

User / Kunde

  • "BlackSarius" is male

Posts: 745

Location: Baden-Württemberg

Occupation: Abiturient

  • Send private message

19

Friday, July 29th 2016, 6:52pm

Mach einfach nach
if(e.getTo().subtract(0, 1, 0).getBlock().getType() == Material.DIAMOND_BLOCK) {

Java source code

1
2
3
4
5
6
7
8
if(e.getPlayer().hasPermission("cm.b")){
p.sendMessage("&6System>>&7 du bist nun &aauf der Bühne.");
}else{

p.teleport(e.getFrom());
p.sendMessage("&6System>>&7Das darfst du nicht!");

}

Stuppsman

User / Kunde

Posts: 2,766

Thanks: 25

  • Send private message

20

Friday, July 29th 2016, 7:30pm

Das findet man auf jeden Fall selbst..


Um mich mal zu rechtfertigen.. vor dem edit fragte der TE noch, wie man einen Spieler denn teleportiert. Darauf war meine Antwort bezogen.. ^^
Nein, ich hab kein Skype.. bei Interesse an einer privaten Unterrichtsstunde, wende dich bitte direkt an mein Team! 8)

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net