tower-generator #6
@ -2,31 +2,53 @@ tower:
|
|||||||
regions:
|
regions:
|
||||||
1:
|
1:
|
||||||
minX: 0
|
minX: 0
|
||||||
maxX: 0
|
maxX: 69
|
||||||
minZ: 69
|
minZ: 0
|
||||||
maxZ: 79
|
maxZ: 79
|
||||||
escapeHeight: 1
|
escapeHeight: 1
|
||||||
spawn:
|
spawn:
|
||||||
x: 66
|
x: 66
|
||||||
y: 23
|
y: 25
|
||||||
z: 71
|
z: 71
|
||||||
yaw: 180.0
|
yaw: 180.0
|
||||||
pitch: 0.0
|
pitch: 0.0
|
||||||
doors: []
|
doors: []
|
||||||
keys: []
|
keys: []
|
||||||
lavaY: 78
|
lavaY: 76
|
||||||
laveSpace: 7
|
laveSpace: 9
|
||||||
|
|
||||||
towerGenerator:
|
towerGenerator:
|
||||||
x: 0
|
x: 0
|
||||||
y: 12
|
y: 12
|
||||||
z: 0
|
z: 0
|
||||||
schematicType: steamtower
|
schematicType: steamtower
|
||||||
|
fillRegions:
|
||||||
|
1:
|
||||||
|
minX: 28
|
||||||
|
minZ: 30
|
||||||
|
maxX: 33
|
||||||
|
maxZ: 37
|
||||||
|
percentage: 0.3
|
||||||
|
material: MANGROVE_ROOTS
|
||||||
|
2:
|
||||||
|
minX: 36
|
||||||
|
minZ: 47
|
||||||
|
maxX: 42
|
||||||
|
maxZ: 52
|
||||||
|
percentage: 0.7
|
||||||
|
material: MANGROVE_ROOTS
|
||||||
|
3:
|
||||||
|
minX: 29
|
||||||
|
minZ: 43
|
||||||
|
maxX: 36
|
||||||
|
maxZ: 46
|
||||||
|
percentage: 1.0
|
||||||
|
material: MANGROVE_ROOTS
|
||||||
|
|
||||||
minX: -20
|
minX: -40
|
||||||
maxX: 89
|
maxX: 109
|
||||||
minZ: -20
|
minZ: -40
|
||||||
maxZ: 99
|
maxZ: 119
|
||||||
|
|
||||||
winconditions:
|
winconditions:
|
||||||
- LAST_REMAINING
|
- LAST_REMAINING
|
||||||
|
@ -24,6 +24,7 @@ import de.steamwar.towerrun.commands.StartCommand;
|
|||||||
import de.steamwar.towerrun.config.WorldConfig;
|
import de.steamwar.towerrun.config.WorldConfig;
|
||||||
import de.steamwar.towerrun.countdowns.EndCountdown;
|
import de.steamwar.towerrun.countdowns.EndCountdown;
|
||||||
import de.steamwar.towerrun.countdowns.LobbyCountdown;
|
import de.steamwar.towerrun.countdowns.LobbyCountdown;
|
||||||
|
import de.steamwar.towerrun.game.TowerRunGame;
|
||||||
import de.steamwar.towerrun.generator.TowerGenerator;
|
import de.steamwar.towerrun.generator.TowerGenerator;
|
||||||
import de.steamwar.towerrun.listener.GlobalListener;
|
import de.steamwar.towerrun.listener.GlobalListener;
|
||||||
import de.steamwar.towerrun.listener.IngameListener;
|
import de.steamwar.towerrun.listener.IngameListener;
|
||||||
@ -71,5 +72,7 @@ public class TowerRun extends JavaPlugin {
|
|||||||
final LobbyCountdown lobbyCountdown = new LobbyCountdown();
|
final LobbyCountdown lobbyCountdown = new LobbyCountdown();
|
||||||
new EndCountdown(lobbyCountdown);
|
new EndCountdown(lobbyCountdown);
|
||||||
new StartCommand(lobbyCountdown);
|
new StartCommand(lobbyCountdown);
|
||||||
|
|
||||||
|
TowerRunGame.reset();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,7 @@ import lombok.Getter;
|
|||||||
import lombok.experimental.UtilityClass;
|
import lombok.experimental.UtilityClass;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.Material;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
@ -162,7 +163,7 @@ public class WorldConfig {
|
|||||||
ACTIVE_WINCONDITIONS = config.getStringList("winconditions");
|
ACTIVE_WINCONDITIONS = config.getStringList("winconditions");
|
||||||
WINCONDITIONS.stream().filter(winCondition -> ACTIVE_WINCONDITIONS.contains(winCondition.getName())).forEach(winCondition -> winCondition.setActive(true));
|
WINCONDITIONS.stream().filter(winCondition -> ACTIVE_WINCONDITIONS.contains(winCondition.getName())).forEach(winCondition -> winCondition.setActive(true));
|
||||||
|
|
||||||
ConfigurationSection towerGeneratorSection = tower.getConfigurationSection("towerGenerator");
|
ConfigurationSection towerGeneratorSection = config.getConfigurationSection("towerGenerator");
|
||||||
if (towerGeneratorSection == null) {
|
if (towerGeneratorSection == null) {
|
||||||
TOWER_GENERATOR_CONFIG = null;
|
TOWER_GENERATOR_CONFIG = null;
|
||||||
} else {
|
} else {
|
||||||
@ -202,12 +203,46 @@ public class WorldConfig {
|
|||||||
public final int y;
|
public final int y;
|
||||||
public final int z;
|
public final int z;
|
||||||
public final SchematicType schematicType;
|
public final SchematicType schematicType;
|
||||||
|
public final TowerGeneratorFillRegion[] FILL_REGIONS;
|
||||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
|
|||||||
|
|
||||||
public TowerGeneratorConfig(ConfigurationSection section) {
|
public TowerGeneratorConfig(ConfigurationSection section) {
|
||||||
x = section.getInt("x");
|
x = section.getInt("x");
|
||||||
y = section.getInt("y");
|
y = section.getInt("y");
|
||||||
z = section.getInt("z");
|
z = section.getInt("z");
|
||||||
schematicType = SchematicType.fromDB(section.getString("schematicType"));
|
schematicType = SchematicType.fromDB(section.getString("schematicType"));
|
||||||
|
|
||||||
|
ConfigurationSection fillRegionsSection = section.getConfigurationSection("fillRegions");
|
||||||
|
if (fillRegionsSection != null) {
|
||||||
|
List<ConfigurationSection> fillRegions = fillRegionsSection.getKeys(false).stream()
|
||||||
|
.map(fillRegionsSection::getConfigurationSection)
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
FILL_REGIONS = new TowerGeneratorFillRegion[fillRegions.size()];
|
||||||
|
for (int i = 0; i < fillRegions.size(); i++) {
|
||||||
|
FILL_REGIONS[i] = new TowerGeneratorFillRegion(fillRegions.get(i));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
FILL_REGIONS = new TowerGeneratorFillRegion[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
public static final class TowerGeneratorFillRegion {
|
||||||
|
private final int minX;
|
||||||
|
private final int minZ;
|
||||||
|
private final int maxX;
|
||||||
|
private final int maxZ;
|
||||||
|
private final double percentage;
|
||||||
|
private final Material material;
|
||||||
|
|
||||||
|
public TowerGeneratorFillRegion(ConfigurationSection section) {
|
||||||
|
minX = section.getInt("minX");
|
||||||
|
minZ = section.getInt("minZ");
|
||||||
|
maxX = section.getInt("maxX");
|
||||||
|
maxZ = section.getInt("maxZ");
|
||||||
|
percentage = section.getDouble("percentage");
|
||||||
|
material = Material.valueOf(section.getString("material"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,6 +48,7 @@ public class LobbyCountdown extends Countdown {
|
|||||||
@Override
|
@Override
|
||||||
void timerEnd() {
|
void timerEnd() {
|
||||||
TowerRunGame.prepareTower();
|
TowerRunGame.prepareTower();
|
||||||
|
override = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -65,7 +65,10 @@ public class TowerRunGame {
|
|||||||
private static void start() {
|
private static void start() {
|
||||||
if (GameState.getCurrentState() == GameStates.GENERATING_TOWER) {
|
if (GameState.getCurrentState() == GameStates.GENERATING_TOWER) {
|
||||||
PLAYERS_ALIVE.addAll(TowerRunPlayer.getAll());
|
PLAYERS_ALIVE.addAll(TowerRunPlayer.getAll());
|
||||||
PLAYERS_ALIVE.forEach(TowerRunPlayer::reset);
|
PLAYERS_ALIVE.forEach(p -> {
|
||||||
|
p.reset();
|
||||||
|
p.player().setGameMode(GameMode.SURVIVAL);
|
||||||
|
});
|
||||||
GameState.nextState();
|
GameState.nextState();
|
||||||
generateLava();
|
generateLava();
|
||||||
TowerRun.getMessage().broadcast("GAME_START");
|
TowerRun.getMessage().broadcast("GAME_START");
|
||||||
@ -125,7 +128,11 @@ public class TowerRunGame {
|
|||||||
resetWorld();
|
resetWorld();
|
||||||
GameState.reset();
|
GameState.reset();
|
||||||
Bukkit.getOnlinePlayers().forEach(player -> {
|
Bukkit.getOnlinePlayers().forEach(player -> {
|
||||||
|
if (TowerRun.getTowerGenerator() != null) {
|
||||||
|
player.setGameMode(GameMode.SPECTATOR);
|
||||||
|
} else {
|
||||||
player.setGameMode(GameMode.SURVIVAL);
|
player.setGameMode(GameMode.SURVIVAL);
|
||||||
|
}
|
||||||
player.teleport(WorldConfig.SPAWN);
|
player.teleport(WorldConfig.SPAWN);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ public record TowerRunPlayer(Player player) {
|
|||||||
|
|
||||||
public void reset() {
|
public void reset() {
|
||||||
if (TowerRun.getTowerGenerator() != null) {
|
if (TowerRun.getTowerGenerator() != null) {
|
||||||
player.teleport(WorldConfig.SPAWN.add(0, TowerRun.getTowerGenerator().getHeight(), 0));
|
player.teleport(WorldConfig.SPAWN.clone().add(0, TowerRun.getTowerGenerator().getHeight(), 0));
|
||||||
} else {
|
} else {
|
||||||
player.teleport(WorldConfig.SPAWN);
|
player.teleport(WorldConfig.SPAWN);
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ import de.steamwar.towerrun.TowerRun;
|
|||||||
import de.steamwar.towerrun.config.WorldConfig;
|
import de.steamwar.towerrun.config.WorldConfig;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -28,9 +29,7 @@ import java.util.Random;
|
|||||||
public class TowerGenerator {
|
public class TowerGenerator {
|
||||||
|
|
||||||
private Random random = new Random();
|
private Random random = new Random();
|
||||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Could be final, Could be final,
Could be static
|
|||||||
private int x;
|
private WorldConfig.TowerGeneratorConfig config;
|
||||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
could be final could be final
|
|||||||
private int y;
|
|
||||||
private int z;
|
|
||||||
private List<SchematicNode> ALL_SCHEMATICS;
|
private List<SchematicNode> ALL_SCHEMATICS;
|
||||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Attribute sind im camelCase Attribute sind im camelCase
|
|||||||
private Clipboard roof;
|
private Clipboard roof;
|
||||||
|
|
||||||
@ -38,10 +37,6 @@ public class TowerGenerator {
|
|||||||
private int height;
|
private int height;
|
||||||
|
|
||||||
public TowerGenerator(WorldConfig.TowerGeneratorConfig config) {
|
public TowerGenerator(WorldConfig.TowerGeneratorConfig config) {
|
||||||
this(config.x, config.y, config.z, config.schematicType);
|
|
||||||
}
|
|
||||||
|
|
||||||
public TowerGenerator(int x, int y, int z, SchematicType schematicType) {
|
|
||||||
File file = new File(Bukkit.getWorlds().get(0).getWorldFolder(), "Roof.schem");
|
File file = new File(Bukkit.getWorlds().get(0).getWorldFolder(), "Roof.schem");
|
||||||
if (!file.exists()) {
|
if (!file.exists()) {
|
||||||
Bukkit.shutdown();
|
Bukkit.shutdown();
|
||||||
@ -49,10 +44,8 @@ public class TowerGenerator {
|
|||||||
}
|
}
|
||||||
roof = loadSchematic(file);
|
roof = loadSchematic(file);
|
||||||
|
|
||||||
this.x = x;
|
this.config = config;
|
||||||
this.y = y;
|
ALL_SCHEMATICS = SchematicNode.getAllSchematicsOfType(config.schematicType);
|
||||||
this.z = z;
|
|
||||||
ALL_SCHEMATICS = SchematicNode.getAllSchematicsOfType(schematicType);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Clipboard loadSchematic(File file) {
|
private Clipboard loadSchematic(File file) {
|
||||||
@ -69,7 +62,7 @@ public class TowerGenerator {
|
|||||||
public void generate(Runnable finishRunnable) {
|
public void generate(Runnable finishRunnable) {
|
||||||
new BukkitRunnable() {
|
new BukkitRunnable() {
|
||||||
int height = random.nextInt(50) + 200;
|
int height = random.nextInt(50) + 200;
|
||||||
int y = TowerGenerator.this.y;
|
int y = TowerGenerator.this.config.y;
|
||||||
|
|
||||||
{
|
{
|
||||||
TowerGenerator.this.height = height;
|
TowerGenerator.this.height = height;
|
||||||
@ -80,25 +73,45 @@ public class TowerGenerator {
|
|||||||
if (height > 0) {
|
if (height > 0) {
|
||||||
SchematicNode schematicNode = ALL_SCHEMATICS.get(random.nextInt(ALL_SCHEMATICS.size()));
|
SchematicNode schematicNode = ALL_SCHEMATICS.get(random.nextInt(ALL_SCHEMATICS.size()));
|
||||||
SchematicData schematicData = new SchematicData(schematicNode);
|
SchematicData schematicData = new SchematicData(schematicNode);
|
||||||
|
int currentY;
|
||||||
try {
|
try {
|
||||||
Clipboard clipboard = schematicData.load();
|
Clipboard clipboard = schematicData.load();
|
||||||
try (EditSession e = WorldEdit.getInstance().getEditSessionFactory().getEditSession(new BukkitWorld(Bukkit.getWorlds().get(0)), -1)) {
|
try (EditSession e = WorldEdit.getInstance().getEditSessionFactory().getEditSession(new BukkitWorld(Bukkit.getWorlds().get(0)), -1)) {
|
||||||
ClipboardHolder ch = new ClipboardHolder(clipboard);
|
ClipboardHolder ch = new ClipboardHolder(clipboard);
|
||||||
Operations.completeBlindly(ch.createPaste(e).to(BlockVector3.at(x, y, z)).build());
|
Operations.completeBlindly(ch.createPaste(e).to(BlockVector3.at(config.x, y, config.z)).build());
|
||||||
}
|
}
|
||||||
|
currentY = y;
|
||||||
y += clipboard.getDimensions().getY();
|
y += clipboard.getDimensions().getY();
|
||||||
height -= clipboard.getDimensions().getY();
|
height -= clipboard.getDimensions().getY();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
ALL_SCHEMATICS.remove(schematicNode);
|
ALL_SCHEMATICS.remove(schematicNode);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (WorldConfig.TowerGeneratorFillRegion fillRegion : config.FILL_REGIONS) {
|
||||||
|
for (int x = fillRegion.getMinX(); x < fillRegion.getMaxX(); x++) {
|
||||||
|
for (int z = fillRegion.getMinZ(); z < fillRegion.getMaxZ(); z++) {
|
||||||
|
for (int y = currentY; y < this.y; y++) {
|
||||||
|
Block block = Bukkit.getWorlds().get(0).getBlockAt(x, y, z);
|
||||||
|
if (!block.getType().isAir()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (random.nextDouble() < fillRegion.getPercentage()) {
|
||||||
|
block.setType(fillRegion.getMaterial(), true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
cancel();
|
||||||
try (EditSession e = WorldEdit.getInstance().getEditSessionFactory().getEditSession(new BukkitWorld(Bukkit.getWorlds().get(0)), -1)) {
|
try (EditSession e = WorldEdit.getInstance().getEditSessionFactory().getEditSession(new BukkitWorld(Bukkit.getWorlds().get(0)), -1)) {
|
||||||
ClipboardHolder ch = new ClipboardHolder(roof);
|
ClipboardHolder ch = new ClipboardHolder(roof);
|
||||||
Operations.completeBlindly(ch.createPaste(e).to(BlockVector3.at(x, y, z)).build());
|
Operations.completeBlindly(ch.createPaste(e).to(BlockVector3.at(config.x, y, config.z)).build());
|
||||||
}
|
}
|
||||||
finishRunnable.run();
|
finishRunnable.run();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}.runTaskTimer(TowerRun.getInstance(), 0, 1);
|
}.runTaskTimer(TowerRun.getInstance(), 0, 10);
|
||||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Könnte man das nicht eher als Countdown umbauen? Könnte man das nicht eher als Countdown umbauen?
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -113,7 +113,7 @@ public class IngameListener extends GameStateBukkitListener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void onPlayerRespawn(PlayerRespawnEvent event) {
|
public void onPlayerRespawn(PlayerRespawnEvent event) {
|
||||||
if (TowerRun.getTowerGenerator() != null) {
|
if (TowerRun.getTowerGenerator() != null) {
|
||||||
event.setRespawnLocation(WorldConfig.SPAWN.add(0, TowerRun.getTowerGenerator().getHeight(), 0));
|
event.setRespawnLocation(WorldConfig.SPAWN.clone().add(0, TowerRun.getTowerGenerator().getHeight(), 0));
|
||||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
vllt. in den TowerGenerator ne höhen angepasste Location reinlegen, dann muss man die nicht immer neuberechnen vllt. in den TowerGenerator ne höhen angepasste Location reinlegen, dann muss man die nicht immer neuberechnen
|
|||||||
} else {
|
} else {
|
||||||
event.setRespawnLocation(WorldConfig.SPAWN);
|
event.setRespawnLocation(WorldConfig.SPAWN);
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import de.steamwar.towerrun.TowerRun;
|
|||||||
import de.steamwar.towerrun.config.WorldConfig;
|
import de.steamwar.towerrun.config.WorldConfig;
|
||||||
import de.steamwar.towerrun.state.GameStateBukkitListener;
|
import de.steamwar.towerrun.state.GameStateBukkitListener;
|
||||||
import de.steamwar.towerrun.state.GameStates;
|
import de.steamwar.towerrun.state.GameStates;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -44,7 +45,7 @@ public class LobbyListener extends GameStateBukkitListener {
|
|||||||
public void onPlayerJoin(PlayerJoinEvent event) {
|
public void onPlayerJoin(PlayerJoinEvent event) {
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
if (TowerRun.getTowerGenerator() != null) {
|
if (TowerRun.getTowerGenerator() != null) {
|
||||||
player.teleport(WorldConfig.SPAWN.add(0, TowerRun.getTowerGenerator().getHeight(), 0));
|
player.teleport(WorldConfig.SPAWN.clone().add(0, TowerRun.getTowerGenerator().getHeight(), 0));
|
||||||
player.setGameMode(GameMode.SPECTATOR);
|
player.setGameMode(GameMode.SPECTATOR);
|
||||||
} else {
|
} else {
|
||||||
player.teleport(WorldConfig.SPAWN);
|
player.teleport(WorldConfig.SPAWN);
|
||||||
@ -54,6 +55,9 @@ public class LobbyListener extends GameStateBukkitListener {
|
|||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onPlayerMove(PlayerMoveEvent event) {
|
public void onPlayerMove(PlayerMoveEvent event) {
|
||||||
|
if (TowerRun.getTowerGenerator() != null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if(event.getTo().getY() < WorldConfig.SPAWN.getY() - 10) {
|
if(event.getTo().getY() < WorldConfig.SPAWN.getY() - 10) {
|
||||||
event.getPlayer().teleport(WorldConfig.SPAWN);
|
event.getPlayer().teleport(WorldConfig.SPAWN);
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,7 @@ public class NotLobbyListener extends GameStateBukkitListener {
|
|||||||
public void onPlayerJoin(PlayerJoinEvent event) {
|
public void onPlayerJoin(PlayerJoinEvent event) {
|
||||||
event.getPlayer().setGameMode(GameMode.SPECTATOR);
|
event.getPlayer().setGameMode(GameMode.SPECTATOR);
|
||||||
if (TowerRun.getTowerGenerator() != null) {
|
if (TowerRun.getTowerGenerator() != null) {
|
||||||
event.getPlayer().teleport(WorldConfig.SPAWN.add(0, TowerRun.getTowerGenerator().getHeight(), 0));
|
event.getPlayer().teleport(WorldConfig.SPAWN.clone().add(0, TowerRun.getTowerGenerator().getHeight(), 0));
|
||||||
} else {
|
} else {
|
||||||
event.getPlayer().teleport(WorldConfig.SPAWN);
|
event.getPlayer().teleport(WorldConfig.SPAWN);
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ public abstract class WinCondition extends GameStateBukkitListener {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void enable() {
|
public void enable() {
|
||||||
if (active) {
|
if (!active) {
|
||||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
? ?
YoyoNow
hat
Naja wenn es nicht active ist soll es ja nur enabled werden nicht nur wenn es active ist dann kann es nie active werden Naja wenn es nicht active ist soll es ja nur enabled werden nicht nur wenn es active ist dann kann es nie active werden
|
|||||||
super.enable();
|
super.enable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren
Attribute camelCase