lobby-update #16
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
3 Beteiligte
Fällig am
Kein Fälligkeitsdatum gesetzt.
Abhängigkeiten
Keine Abhängigkeiten gesetzt.
Referenz: SteamWar/LobbySystem#16
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren
Keine Beschreibung angegeben.
Branch "lobby-update" 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?
@ -32,6 +33,8 @@ public class LobbySystem extends JavaPlugin {
public void onEnable() {
instance = this;
getCommand("fly").setExecutor(new FlyCommand());
Ich bin gegen fly-Command, weil es da mehrfach zu Beschwerden aus Userseite gab, würde hacken. Macht meiner Meinung nach mehr Komplikationen.
Ich glaube, dass die Leute, die sowas sagen sich einfach nicht auskennen oder so. Ich glaube besonders für YouTuber aufnahmen ist sowas sinnvoll und wichtig.
Nein, nicht nur Leute, die sich nicht auskennen. Es verwirrt die User (auch MICH hat /fly schon verwirrt).
Ich glaube trotzdem, da es auch nur auf der Lobby ist, dass dieser Befehl wichtig ist.
Ich glaube die Abstimmung ist für wieder einführen.
Sehe da nix, welche Abstimmung von wann und wo?
Im
SteamWar Verwaltung
Discord#allgemein
am20.11.2020
wegen dem/fly
BefehlDas habe ich oben zu einem Screenshot gemacht. 8 sind dafür 4 dagegen
@ -0,0 +40,4 @@
UserGroup userGroup = steamwarUser.getUserGroup();
if (userGroup == UserGroup.Member) {
player.sendMessage("§cDu verfügst nicht über die benötigten Rechte!");
Wenn dann einheitlich: Unbekannter Befehl.
@ -0,0 +21,4 @@
package de.steamwar.lobby.particle;
import org.apache.logging.log4j.util.TriConsumer;
Bitte wenn du schon einen mehrfachconsumer benötigst, nicht unbedingt den Consumer aus log4j verwenden, sondern eher einen aus dem Java-Core (falls vorhanden)
Dort ist keiner vorhanden deswegen.
Hab ich behoben
@ -0,0 +31,4 @@
import java.util.List;
import java.util.Set;
public class WingsParticle extends SpecialParticle {
Partikel als Flügel vgl.bar zu Hypixel?
Performance Bye Bye!
Wann ist der Trace fertig?
@ -0,0 +31,4 @@
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!(sender instanceof Player)) {
Klammer können weg
@ -37,3 +40,4 @@
private static List<String> lore = Arrays.asList("§aKlicken zum Auswählen");
private static SpecialParticle SNEEZE = new SimpleParticle(Material.SLIME_BLOCK, "§aSneeze", lore, Particle.SNEEZE, 0.2F, 0.2F, 0.2F, 0.01);
Könnte alles Final sein
@ -45,3 +76,3 @@
SWInventory swInventory;
if (userGroup == UserGroup.Member) {
swInventory = new SWInventory(player, 9*5, "§6Partikel");
swInventory = new SWInventory(player, 9 * 5, "§6Partikel");
SWInventory swInventory = new SWInventory(player, 9 * (userGroup == UserGroup.Member?5:6), "§6Partikel");?
@ -47,6 +48,9 @@ public class DoubleJumpListener implements Listener {
if (player.getGameMode() != GameMode.ADVENTURE && player.getGameMode() != GameMode.SURVIVAL) {
return;
}
if (LobbyPlayer.getLobbyPlayer(player).isFly()) {
Klammern weg
@ -69,1 +72,4 @@
if(player.getLocation().add(0, -1, 0).getBlock().getType() == Material.AIR) {
return;
}
if (LobbyPlayer.getLobbyPlayer(player).isFly()) {
Same
@ -35,7 +36,16 @@ import java.util.Random;
public class ParticleListener implements Listener {
private static Random random = new Random();
Der Import ist noch da
@ -51,3 +45,3 @@
int z = location.getBlockZ();
if(x >= minPoint.getBlockX()
if (x >= minPoint.getBlockX()
return location.inAABB(minPoint, maxPoint);?
@ -0,0 +40,4 @@
public class PlayerSeatListener implements Listener {
private static class SeatLocation {
Warum hierfür eine eigene Klasse und kein Vektor, Block, Location?
Weil ich nur Int block precision brauche und keine Doubles, Außerdem will ich kein memory leak, wenn ich einen Block oder eine Location verwende
Sr, YoyoNow, aber da gibt es keinen Memoryleak.
Gut dann gibt es kein memory leak. Einen Block kann ich nicht in ein Set speichern, weil es kein Dashcode hat. Außerdem glaube ich, dass eine Location für diesen Anwendungfalls zu groß ist Memory mäßig und ich nicht ordentlich auf den block vergleichen kann, da diese einen double intern speichert und dieser verglichen wird, womit es auch nicht die gleiche location sein muss. Das gleiche gilt für Vector, deswegen habe ich eine eigene Klasse dafür geschrieben.
Wozu musst du dir überhaupt die SeatLocations speichern? Und warum sind das dann so viele, dass da der Memoryverbrauch von Bedeutung wäre? Der Seatpositionsdetector aus dem SpectateSystem ist doch gut genug.
Ich Speicher sie mit deswegen, damit nicht zwei Personen auf ein und der selben Treppe sitzen, was ich etwas komisch finde, deswegen habe ich dies eingebaut um einfach es realistischer zu machen.
Ja ok, wie viele Leute sitzen zeitgleich. 10-20? Da musst du nicht extra auf RAM achten.
Dann sage ich aber immer noch, dass das vergleichen bzw 'hashCode()' von Location auch wenn es der gleiche block ist nicht der selbe sein muss, da dieser intern immer noch double als precision hat und nicht int.
@ -0,0 +108,4 @@
}
@EventHandler
public void onEntityDismount(EntityDismountEvent event) {
Was ist, wenn man von einem Sitz auf eine Enderperle geht?
@ -39,3 +39,2 @@
public void handleEntityDamage(EntityDamageEvent event) {
if(event.getEntityType() != EntityType.PLAYER) return;
event.setCancelled(true);
if (event.getEntityType() == EntityType.FOX || event.getEntityType() == EntityType.PLAYER) {
Warum ein Fuchs?
Wegen dem Meme des Fuchses aus der WGL Arena
@ -0,0 +26,4 @@
@FunctionalInterface
public interface ParticleFunction {
void accept(World world, Player player, Integer time);
Warum brach der die Welt? Es ist doch alles auf einer Welt? Warum nicht einfach Bukkit.getWorlds().get(0)? Und sonst ist die welt auch noch im Spieler drin.
'Bukkit.getWorlds().get(0)' ist unnütz, und dauert nur lang als call. Ich reiche das rein um es einfacher zu haben!
@ -0,0 +21,4 @@
import de.steamwar.inventory.SWInventory;
import de.steamwar.inventory.SWItem;
import de.steamwar.lobby.LobbySystem;
Unused Import
@ -0,0 +38,4 @@
private static final List<String> emptyLore = new ArrayList<>();
private static Random random = new Random();
protected final Color randomColor() {
Können diese Methoden nicht static sein?
@ -0,0 +50,4 @@
return new Particle.DustOptions(randomColor(), randomSize());
}
protected final Particle.DustOptions getParticleDust(float size) {
Drei ungenutzte Methoden
@ -20,6 +20,7 @@
package de.steamwar.lobby.utils;
import java.util.ArrayList;
Unused Import
Kann dieser PR jetzt nicht geschlossen werden?