CannonSimulator #164
@ -33,9 +33,9 @@ import org.bukkit.entity.Player;
|
||||
public class CommandSimulator implements CommandExecutor {
|
||||
|
||||
private void help(Player player) {
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
|
||||
player.sendMessage("§8/§esimulator §8- §7Öffnet die Simulations GUI");
|
||||
player.sendMessage("§8/§esimulator §8- §7Öffnet das Simulations GUI");
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Das GUI Das GUI
Chaoscaot
hat
Es ist die Simulation und das GUI aber das Simulation passt net, Am besten noch einen Bindestrich dazwischen machen. Es ist die Simulation und das GUI aber das Simulation passt net, Am besten noch einen Bindestrich dazwischen machen.
|
||||
player.sendMessage("§8/§esimulator start §8- §7Startet die Simulation");
|
||||
player.sendMessage("§8/§esimulator wand §8- §7Legt den Simulator ins Inventar");
|
||||
player.sendMessage("§8/§esimulator wand §8- §7Legt den Simulatorstab ins Inventar");
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Der Simulator ist ein System, evt. den Simulatorstab oder etwas ähnliches Der Simulator ist ein System, evt. den Simulatorstab oder etwas ähnliches
Chaoscaot
hat
Der Satz macht keinen Sinn:
Der Satz macht keinen Sinn:
> Legt dir den Simulatorstab ins Inventar
|
||||
}
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Löcht Löcht
|
||||
|
||||
private boolean permissionCheck(Player player) {
|
||||
|
@ -32,13 +32,11 @@ import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.TNTPrimed;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
import org.bukkit.util.Consumer;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
public class TNTSimulator {
|
||||
|
||||
@ -318,15 +316,13 @@ public class TNTSimulator {
|
||||
}
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Wie wäre es, wenn man nicht für jeden Tick einen einzelnen Task macht, sondern einen Timer Task, welcher jeden Tick die Spawnt, die für diesen Tick geplant sind? Wie wäre es, wenn man nicht für jeden Tick einen einzelnen Task macht, sondern einen Timer Task, welcher jeden Tick die Spawnt, die für diesen Tick geplant sind?
|
||||
});
|
||||
AtomicInteger currentTick = new AtomicInteger(0);
|
||||
AtomicReference<Runnable> taskCanceler = new AtomicReference<>(() -> {});
|
||||
BukkitTask bukkitTask = Bukkit.getScheduler().runTaskTimer(BauSystem.getPlugin(), () -> {
|
||||
Bukkit.getScheduler().runTaskTimer(BauSystem.getPlugin(), bukkitTask -> {
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Der Task muss auch gestoppt werden... Der Task muss auch gestoppt werden...
|
||||
int tick = currentTick.get();
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Bitte ohne (siehe Kommentar zu .start()) Bitte ohne (siehe Kommentar zu .start())
|
||||
spawnRandomList(first.getOrDefault(tick, EMPTY));
|
||||
spawnRandomList(second.getOrDefault(tick, EMPTY));
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Die runTaskTimer kann eine Consumable von einem BukkitTask nehmen, die könnte man nutzen Die runTaskTimer kann eine Consumable von einem BukkitTask nehmen, die könnte man nutzen
|
||||
if (tick > lastTick.get()) taskCanceler.get().run();
|
||||
if (tick > lastTick.get()) bukkitTask.cancel();
|
||||
currentTick.incrementAndGet();
|
||||
}, 1, 1);
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Warum muss die Liste noch mal gemischt werden? Warum muss die Liste noch mal gemischt werden?
YoyoNow
hat
Damit wenn ich rechts und links in der Reihenfolge das spawne nicht immer das ganze nach links wegschießt im trace. Ist also wichtig. weil sonst viele Kanonen einen gewissen Drall haben. Damit wenn ich rechts und links in der Reihenfolge das spawne nicht immer das ganze nach links wegschießt im trace. Ist also wichtig. weil sonst viele Kanonen einen gewissen Drall haben.
|
||||
taskCanceler.set(bukkitTask::cancel);
|
||||
}
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Anstat deinen Komischen AtomicInteger zu nutzen, könnte man auch eine normal foreach Schleife machen Anstat deinen Komischen AtomicInteger zu nutzen, könnte man auch eine normal foreach Schleife machen
|
||||
|
||||
private void spawnRandomList(List<TNTSpawn> tntSpawns) {
|
||||
|
@ -26,7 +26,6 @@ import de.steamwar.bausystem.Permission;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Chaoscaot
hat
Unused Import Unused Import
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.util.Vector;
|
||||
|
Diese Überprüfung findet nur beim Command statt, nicht wenn ein Spieler versucht, einen Simulatoritem zu verwenden....