Tracer-entity #147
Keine Reviewer
Label
Kein Label
Bug
Codeverbesserung
Einsteiger Freundlich
Idee
In Arbeit
Neues Feature
Prio A
Security Breach
Überprüfung notwendig
Verbesserung
Zu Beobachten
Kein Meilenstein
Niemand zuständig
2 Beteiligte
Fällig am
Kein Fälligkeitsdatum gesetzt.
Abhängigkeiten
Keine Abhängigkeiten gesetzt.
Referenz: SteamWar/BauSystem#147
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren
Keine Beschreibung angegeben.
Branch "Tracer-entity" löschen
Das Löschen eines Branches ist permanent. Obwohl der Branch für eine kurze Zeit weiter existieren könnte, kann diese Aktion in den meisten Fällen NICHT rückgängig gemacht werden. Fortfahren?
Fehler:
Tracer-entityzu WIP Tracer-entityWIP Tracer-entityzu Tracer-entity@ -0,0 +38,4 @@
this.setNoGravity(true);
this.ticksLived = -12000;
this.dropItem = false;
Items sollten sowieso nicht droppen (gamerule)
Auch das hier behoben
@ -0,0 +39,4 @@
this.setNoGravity(true);
this.ticksLived = -12000;
this.dropItem = false;
this.setCustomNameVisible(true);
Kann man glaube ich mit in das if ziehen.
Ich wollte noch vllt als Namen den int tick anzeigen was hältst du davon?
@ -0,0 +50,4 @@
@Override
public AbstractTraceEntity display(Player player) {
PacketPlayOutSpawnEntity packetPlayOutSpawnEntity = new PacketPlayOutSpawnEntity(this, 0);
// Todo:
Offenes TODO
@ -0,0 +61,4 @@
PlayerConnection playerConnection = ((CraftPlayer) player).getHandle().playerConnection;
playerConnection.sendPacket(packetPlayOutSpawnEntity);
PacketPlayOutEntityTeleport packetPlayOutEntityTeleport = new PacketPlayOutEntityTeleport(this);
Musst mal schauen, ob dieser Extrateleport wirklich nötig ist. (in der 1.15 nicht)
In der 1.15 ist es auch nicht drin
Nein ist es nicht.
@ -0,0 +64,4 @@
PacketPlayOutEntityTeleport packetPlayOutEntityTeleport = new PacketPlayOutEntityTeleport(this);
playerConnection.sendPacket(packetPlayOutEntityTeleport);
PacketPlayOutEntityMetadata packetPlayOutEntityMetadata = new PacketPlayOutEntityMetadata(getId(), datawatcher, true);
Metadata nur benötigt, wenn es sich um TNT handelt.
@ -28,1 +33,3 @@
return updatePoint ? Material.LIME_STAINED_GLASS : Material.RED_STAINED_GLASS;
public static boolean inWater(World world, Vector tntPosition) {
Material material = tntPosition.toLocation(world).getBlock().getType();
return material == Material.WATER;
Hier scheint eine Überprüfung auf Waterlogged-Blöcke zu fehlen (vgl. FightSystem isWater)
Ist nun eingebaut
@ -124,3 +106,1 @@
showStatus.show();
if (args.length == 2) {
return tracerShow(player, showStatus, args);
ShowMode showMode;
Statt hier eine extravariable zu setzen, kannst du direkt TraceShowManager.show(player, new ShowMode()); machen.
@ -82,2 +84,2 @@
if (tracer(player, args)) {
help(player);
RecordStateMachine.commandAuto();
switch (RecordStateMachine.getRecordStatus()) {
Idee: Zugehörige Message als Parameter eines RecordStatus. Dann musst du hier nicht switch-casen.
@ -127,0 +108,4 @@
showMode = new Basic(player);
} else {
switch (args[1].toLowerCase()) {
case "nowater":
Frag evtl. auch mal andere, aber ich würde nowater zum Default machen, und withwater als Extramodus nehmen.
Kann man das dann als Argument reinhauen?
@ -0,0 +47,4 @@
record = new Record();
// To trace TNT initial positions with AutoTracer
if (RecordStateMachine.getRecordStatus() == RecordStatus.IDLE_AUTO) {
Würde ich unabhängig vom derzeitgen RecordStatus machen. Wenn du einen Recorder erzeugst, möchtest du ja aufnehmen.
@ -0,0 +43,4 @@
super.show(position);
if (position.getPreviousLocation() == null) return;
Vector vector = position.getLocation().clone().subtract(position.getPreviousLocation());
Wenn ich das richtig sehe, ist dieser vector unused.
Dieser wird in Zeile 50 für die Abfrage verwendet. und zwar zweimal