• 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!

Block tarnen?

Sn0wBlizz4rd

Braumeister
Registriert
26 September 2012
Beiträge
418
Diamanten
1
Minecraft
Sn0wBlizz4rd
Hey Leute,
ich habe eine Frage.
Ich arbeite zur Zeit an einem Plugin, nun will ich aber dass sich Spieler als bewegende Blöcke tarnen können. Nicht dass 1 mal die Sekunde ein Block beim Spieler oder ähnliches gespawnt wird, sondern dass es so aussieht als würden sie sich normal bewegen. Das ist möglich, ich habe es schon auf mehreren Servern gesehen. Ich habe bereits versucht einen FallingBlock zu Spawnen, und diesen eine Velocity in Richtung des Spielers zu setzen, ohne Erfolg. Irgendwelche Ideen?
 

Angel

Alle 354 Abonnenten von Xhadius
Ehem. Teammitglied
Registriert
2 März 2012
Beiträge
1.458
Diamanten
301
Chameleon Armor ist leider auch nicht was ich suche :(

PS: 400. Beitrag!!!!!

Ich kenne dies von dem Minigame Hide and Seek. Vllt spuckt google ja was aus.

[LCGTFY]Hide and Seek Minecraft Minigame[/LCGTFY]


Edit: [YOUTUBE]GlO97JnZ5-g[/YOUTUBE] Ich nehme mal an du suchst sowas. Ich glaub dieses Plugin ist extra von den Besitzern des Servers gescriptet worden. Weshalb es wahrscheinlich schwer ist ein solches Plugin zu finden.
 
Zuletzt bearbeitet:
G

games6471

Guest
Das hatte ich schon probiert (Auch die API) aber es ist leider sehr buggy, und der Block bewegt sich nicht flüssig :(

Du kannst der Update-Intervall auch niedriger stellen, dann läuft es flüssiger.

Außerdem bist du selber Programmierer, dann kannst du es selber programmieren. Du könntest die Idee mit verschiedenen Methoden umsetzen. Hier zwei Ideen von mir, die ich bereits ausgiebig getestet habe. (Mir war in den letzten Tagen sehr langweilig):

  1. Als Erstes hab ich versucht mit ProtocolLib das Paket 0x0B (Player Position) abzufangen und stattdessen ein Paket 0x35 (Block Change) zu senden. Nachdem ich ein paar Erfolge erzielte kam es zwischen drin immer wieder zu Client crashes. Da dieser Client bei jeder Kleinigkeit abstürzt und die Fehlermeldung auch noch obfuscatet ist hab ich einbischen mit JavaDoc gesucht.
  2. Hier hab ich nun die Methode hidePlayer und sendBlockChange benutzt. Dies lief bzw. läuft auf Anhieb problemlos und brauch zudem viel weniger Zeilen Code.
 

Sn0wBlizz4rd

Braumeister
Registriert
26 September 2012
Beiträge
418
Diamanten
1
Minecraft
Sn0wBlizz4rd
Ich glaube ihr versteht mich falsch, ich suche kein Plugin. Und ich meine genau das wie bei Hide n Seek, da ich dieses grade nachprogrammiere.

@Games
Danke für den Lösungsansatz, nur weiß ich überhaupt nicht was ich mit sendBlockChange anfangen soll. hidePlayer ist mir bekannt, diese Funktion nutze ich öfters ;)
 
C

Chrisliebaer

Guest
Ich glaube ihr versteht mich falsch, ich suche kein Plugin. Und ich meine genau das wie bei Hide n Seek, da ich dieses grade nachprogrammiere.

@Games
Danke für den Lösungsansatz, nur weiß ich überhaupt nicht was ich mit sendBlockChange anfangen soll. hidePlayer ist mir bekannt, diese Funktion nutze ich öfters ;)

Ich hab das jetzt weder probiert, noch nachgeschlagen: Problem Nr 1, dass es zu beheben geht ist, dass Blöcke sich eigentlich nur auf dem Raster bewegen können. Inzwischen gibt es in Minecraft aber die FallingSand-Entity. Ich vermute mal, dass man diese an jede beliebige Stelle platzieren kann. Damit solltest du relativ saubere Bewegungen erhalten. Der Rest ist ein bisschen Packete modifizieren und Abfangen mit ProtocolLib und ein wenig mit der API Spieler ausblenden.

Aus dem Video, das hier verlinkt wurde, kann ich dir aber schon sagen, dass es sich dabei um ganz normale Blöcke handelt, wie man an dem laufenden Fence, der immer wieder verbunden wird, erkennen kann.

Und wenn du mit sendBlockUpdate nichts anfangen kannst, dann lies doch einfach mal in der Dokumentation nach.

Edit: Idee Nr 1 geht nicht: https://forums.bukkit.org/threads/any-idea-how-to-overwride-block-physics.147618/ Aber trozdem ist das Prinzip dahinter ganz einfach.
 
Zuletzt bearbeitet von einem Moderator:
G

games6471

Guest
Ich glaube ihr versteht mich falsch, ich suche kein Plugin. Und ich meine genau das wie bei Hide n Seek, da ich dieses grade nachprogrammiere.

@Games
Danke für den Lösungsansatz, nur weiß ich überhaupt nicht was ich mit sendBlockChange anfangen soll. hidePlayer ist mir bekannt, diese Funktion nutze ich öfters ;)

Wie der Name schon sagt wird mit dieser Methode ein BlockChange Paket an den Spieler gesendet.

  1. Du machst den Spieler unsichtbar
  2. Player bewegt sich um min. einen Block
  3. Du sendest allen möglichen Spielern oder nur Spielern innerhalb einer gewissen Reichweite das Paket, dass an der Stelle des bewegten Spieler sich nun ein Block befindet.
  4. Zusätzlich wird den Spielern noch ein bewegt gesendet, dass der Block, wo sich der bewegte Spieler vorher befand, nun wieder der alte Block befindet. (Meistens Luft, aber da es inzwischen auch Blöcke gibt, wie Schnee, die nicht die Größe eines vollen Blocks haben, müsstest du die alten Blöcke zwischenspeichern.)

oder du machst es mit den FallingBlock. Dort gibt es zwar das Problem, dass wenn sie in der Luft sind sich immer wieder wie fallende Blöcke verhalten, aber sie laufen wenigstens flüssig und nicht auf dem Raster.
 
Zuletzt bearbeitet von einem Moderator:
Oben