[Closed] Eisentüren öffnen wie holztüren

Wenn ihr bei eurem Plugin nicht weiter kommt, könnt ihr hier euer Problem beschreiben und um Hilfe bitten.

[Closed] Eisentüren öffnen wie holztüren

Beitragvon Letsplaybar » Fr 22. Apr 2016, 14:47

hallo ich suche schon den ganze zeit nach dem Code um eine Eisentür mit einen einfachen klick zuöffnen.
das hab ich schon probiert:
Code: Alles auswählen
  1. if(loc.getBlock().getState() instanceof Door){
  2.                         Door d= (Door) loc.getBlock().getState();
  3.                         d.setOpen(!d.isOpen());
  4.                      }


doch leider funktioniert dieser Code nicht mit der Eisentür.
Danke schon mal für die Hilfe.

Edit* der Code Funkt nicht weil man ne Eisentür nicht zu door casten kann steht im Fehler loc.
Zuletzt geändert von Letsplaybar am Sa 23. Apr 2016, 20:34, insgesamt 1-mal geändert.
Bild
Helfe Wo ich kann.
Mein MinecraftServer: Letsplaybaro.de - Suchen Developer/Bilder

I hacked 127.0.0.1!!! :)
Benutzeravatar
Letsplaybar
 
Beiträge: 195
Registriert: Mo 1. Feb 2016, 17:21
Wohnort: Berlin

Re: Eisentüren öffnen wie holztüren

Beitragvon CraftAttack » Sa 23. Apr 2016, 12:18

wie hast du es dann gemacht ?
Benutzeravatar
CraftAttack
 
Beiträge: 121
Registriert: Fr 21. Aug 2015, 22:01

Re: Eisentüren öffnen wie holztüren

Beitragvon Letsplaybar » Sa 23. Apr 2016, 12:30

na den Code hab ich doch gepostet und den hab ich im PlayerInteractEvent aufgerufen.
Bild
Helfe Wo ich kann.
Mein MinecraftServer: Letsplaybaro.de - Suchen Developer/Bilder

I hacked 127.0.0.1!!! :)
Benutzeravatar
Letsplaybar
 
Beiträge: 195
Registriert: Mo 1. Feb 2016, 17:21
Wohnort: Berlin

Re: Eisentüren öffnen wie holztüren

Beitragvon CraftAttack » Sa 23. Apr 2016, 13:35

Letsplaybar hat geschrieben:na den Code hab ich doch gepostet und den hab ich im PlayerInteractEvent aufgerufen.

zu was castest du dann die Tür ?
Benutzeravatar
CraftAttack
 
Beiträge: 121
Registriert: Fr 21. Aug 2015, 22:01

Re: Eisentüren öffnen wie holztüren

Beitragvon Letsplaybar » Sa 23. Apr 2016, 14:05

Code: Alles auswählen
  1. if(loc.getBlock().getState() instanceof Door){
  2.                         Door d= (Door) loc.getBlock().getState();
  3.                         d.setOpen(!d.isOpen());
  4.                      }


Hier noch mal den Code da wird der Blockstate von den man klickt und Dessen State eine Door ist zur Door gecastet. und von einer Eisentür ist prackticherweise der State normalerweise eine Tür.
Bild
Helfe Wo ich kann.
Mein MinecraftServer: Letsplaybaro.de - Suchen Developer/Bilder

I hacked 127.0.0.1!!! :)
Benutzeravatar
Letsplaybar
 
Beiträge: 195
Registriert: Mo 1. Feb 2016, 17:21
Wohnort: Berlin

Re: Eisentüren öffnen wie holztüren

Beitragvon Kampfprofessor » Sa 23. Apr 2016, 19:36

Du kannst es ja mal mit dem folgenden Code ausprobieren.

Code: Alles auswählen
  1. BlockState state = block.getState();
  2. Openable openable = (Openable) state.getData();
  3. openable.setOpen(true);
  4. state.setData((MaterialData) openable);
  5. state.update();
Benutzeravatar
Kampfprofessor
 
Beiträge: 71
Registriert: Fr 12. Feb 2016, 15:48

Re: Eisentüren öffnen wie holztüren

Beitragvon Letsplaybar » Sa 23. Apr 2016, 20:31

Danke hat Funktioniert. musste den Code zwar noch bisschen umschreiben damit man auch oben klicken kann zum öffnen aber dann hat es Funktioniert
Bild
Helfe Wo ich kann.
Mein MinecraftServer: Letsplaybaro.de - Suchen Developer/Bilder

I hacked 127.0.0.1!!! :)
Benutzeravatar
Letsplaybar
 
Beiträge: 195
Registriert: Mo 1. Feb 2016, 17:21
Wohnort: Berlin

Re: Eisentüren öffnen wie holztüren

Beitragvon Letsplaybar » Sa 23. Apr 2016, 20:34

hier nochmal der geänderte Code:
Code: Alles auswählen
  1. if(b.getType().equals(Material.IRON_DOOR_BLOCK)|| b.getType().equals(Material.IRON_TRAPDOOR)){
  2.             Location loc = b.getLocation();
  3.             Location loc2 = loc.clone();
  4.             loc2.subtract(0,1,0);
  5.             if(loc2.getBlock().getType().equals(Material.IRON_DOOR_BLOCK)){
  6.                loc = loc2.clone();
  7.             }
  8.             BlockState state = loc.getBlock().getState();
  9.             Openable openable = (Openable) state.getData();
  10.             openable.setOpen(!openable.isOpen());
  11.             state.setData((MaterialData) openable);
  12.             state.update();
  13.          }
Bild
Helfe Wo ich kann.
Mein MinecraftServer: Letsplaybaro.de - Suchen Developer/Bilder

I hacked 127.0.0.1!!! :)
Benutzeravatar
Letsplaybar
 
Beiträge: 195
Registriert: Mo 1. Feb 2016, 17:21
Wohnort: Berlin


Zurück zu Hilfe und Support

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 15 Gäste