forked from SteamWar/SteamWar
Fix many simple things
This commit is contained in:
@@ -140,8 +140,10 @@ public class TowerGenerator {
|
|||||||
noKeyFloors--;
|
noKeyFloors--;
|
||||||
if (!chestBlocks.isEmpty() && noKeyFloors < 0 && random.nextDouble() < config.keyChance) {
|
if (!chestBlocks.isEmpty() && noKeyFloors < 0 && random.nextDouble() < config.keyChance) {
|
||||||
noKeyFloors = random.nextInt(config.maxNoKeyFloors - config.minNoKeyFloors) + config.minNoKeyFloors;
|
noKeyFloors = random.nextInt(config.maxNoKeyFloors - config.minNoKeyFloors) + config.minNoKeyFloors;
|
||||||
Container container = chestBlocks.get(random.nextInt(chestBlocks.size()));
|
for (int i = 0; i < 2; i++) {
|
||||||
keys.add(container.getLocation());
|
Container container = chestBlocks.get(random.nextInt(chestBlocks.size()));
|
||||||
|
keys.add(container.getLocation());
|
||||||
|
}
|
||||||
|
|
||||||
for (WorldConfig.TowerGeneratorDoorBlock doorBlock : config.doorBlocks) {
|
for (WorldConfig.TowerGeneratorDoorBlock doorBlock : config.doorBlocks) {
|
||||||
int x = doorBlock.getX();
|
int x = doorBlock.getX();
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
package de.steamwar.towerrun.listener;
|
package de.steamwar.towerrun.listener;
|
||||||
|
|
||||||
import de.steamwar.inventory.SWItem;
|
import de.steamwar.inventory.SWItem;
|
||||||
|
import de.steamwar.network.packets.server.BaumemberUpdatePacket;
|
||||||
import de.steamwar.towerrun.TowerRun;
|
import de.steamwar.towerrun.TowerRun;
|
||||||
import de.steamwar.towerrun.config.Config;
|
import de.steamwar.towerrun.config.Config;
|
||||||
import de.steamwar.towerrun.config.WorldConfig;
|
import de.steamwar.towerrun.config.WorldConfig;
|
||||||
@@ -84,16 +85,16 @@ public class IngameListener extends GameStateBukkitListener {
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
double minY = TowerRunGame.PLAYERS_ALIVE.stream()
|
double minY = TowerRunGame.PLAYERS_ALIVE.stream()
|
||||||
.map(p -> p.player().getLocation().getY())
|
.mapToDouble(p -> p.player().getLocation().getY())
|
||||||
.min(Comparator.comparing(Function.identity()))
|
.average()
|
||||||
.orElse(0.0);
|
.orElse(0.0);
|
||||||
|
|
||||||
List<Player> toDamage = new ArrayList<>();
|
List<Player> toDamage = new ArrayList<>();
|
||||||
TowerRunGame.PLAYERS_ALIVE.forEach(towerRunPlayer -> {
|
TowerRunGame.PLAYERS_ALIVE.forEach(towerRunPlayer -> {
|
||||||
if (towerRunPlayer.player().getLocation().getY() - minY > 20) {
|
|
||||||
towerRunPlayer.player().sendTitle("§a", TowerRun.getMessage().parse("CATCH_UP_WARNING", towerRunPlayer.player()), 5, 30, 5);
|
|
||||||
}
|
|
||||||
if (towerRunPlayer.player().getLocation().getY() - minY > 30) {
|
if (towerRunPlayer.player().getLocation().getY() - minY > 30) {
|
||||||
|
towerRunPlayer.player().sendTitle("", TowerRun.getMessage().parse("CATCH_UP_WARNING", towerRunPlayer.player()), 5, 30, 5);
|
||||||
|
}
|
||||||
|
if (towerRunPlayer.player().getLocation().getY() - minY > 50) {
|
||||||
toDamage.add(towerRunPlayer.player());
|
toDamage.add(towerRunPlayer.player());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -119,12 +120,12 @@ public class IngameListener extends GameStateBukkitListener {
|
|||||||
public void onPlayerDeath(PlayerDeathEvent event) {
|
public void onPlayerDeath(PlayerDeathEvent event) {
|
||||||
event.setDeathMessage(null);
|
event.setDeathMessage(null);
|
||||||
Bukkit.getScheduler().runTaskLater(TowerRun.getInstance(), () -> {
|
Bukkit.getScheduler().runTaskLater(TowerRun.getInstance(), () -> {
|
||||||
if (TowerRun.getTowerGenerator() != null) {
|
if (TowerRun.getTowerGenerator() != null) {
|
||||||
event.getEntity().teleport(TowerRun.getTowerGenerator().getSpawn());
|
event.getEntity().teleport(TowerRun.getTowerGenerator().getSpawn());
|
||||||
} else {
|
} else {
|
||||||
event.getEntity().teleport(WorldConfig.SPAWN);
|
event.getEntity().teleport(WorldConfig.SPAWN);
|
||||||
}
|
}
|
||||||
}, 5
|
}, 5
|
||||||
);
|
);
|
||||||
event.getEntity().setGameMode(GameMode.SPECTATOR);
|
event.getEntity().setGameMode(GameMode.SPECTATOR);
|
||||||
Bukkit.getOnlinePlayers().forEach(player -> {
|
Bukkit.getOnlinePlayers().forEach(player -> {
|
||||||
@@ -185,10 +186,12 @@ public class IngameListener extends GameStateBukkitListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
event.getPlayer().getInventory().addItem(new SWItem(Material.LEVER, TowerRun.getMessage().parse("KEY_NAME", event.getPlayer())).getItemStack());
|
event.getPlayer().getInventory().addItem(new SWItem(Material.LEVER, TowerRun.getMessage().parse("KEY_NAME", event.getPlayer())).getItemStack());
|
||||||
|
|
||||||
event.getClickedBlock().setType(Material.ENDER_CHEST);
|
event.getClickedBlock().setType(Material.ENDER_CHEST);
|
||||||
event.getPlayer().playSound(event.getPlayer().getLocation(), Sound.BLOCK_ENDER_CHEST_OPEN, 1, 1);
|
|
||||||
TowerRun.getMessage().broadcast("KEY_FOUND", event.getPlayer().getName());
|
Bukkit.getOnlinePlayers().forEach(player -> {
|
||||||
|
player.playSound(event.getPlayer().getLocation(), Sound.BLOCK_ENDER_CHEST_OPEN, 1, 1);
|
||||||
|
player.sendTitle("", TowerRun.getMessage().parse("KEY_FOUND", player, event.getPlayer().getName()), 10, 70, 20);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
@@ -211,6 +214,44 @@ public class IngameListener extends GameStateBukkitListener {
|
|||||||
private void shouldMelt(Block block) {
|
private void shouldMelt(Block block) {
|
||||||
if (block.getType().isBurnable()) return;
|
if (block.getType().isBurnable()) return;
|
||||||
int meltingTime = (int) (block.getType().getHardness() * 48 * 20);
|
int meltingTime = (int) (block.getType().getHardness() * 48 * 20);
|
||||||
|
switch (block.getType()) {
|
||||||
|
case TINTED_GLASS:
|
||||||
|
case WHITE_STAINED_GLASS:
|
||||||
|
case ORANGE_STAINED_GLASS:
|
||||||
|
case MAGENTA_STAINED_GLASS:
|
||||||
|
case LIGHT_BLUE_STAINED_GLASS:
|
||||||
|
case YELLOW_STAINED_GLASS:
|
||||||
|
case LIME_STAINED_GLASS:
|
||||||
|
case PINK_STAINED_GLASS:
|
||||||
|
case GRAY_STAINED_GLASS:
|
||||||
|
case LIGHT_GRAY_STAINED_GLASS:
|
||||||
|
case CYAN_STAINED_GLASS:
|
||||||
|
case PURPLE_STAINED_GLASS:
|
||||||
|
case BLUE_STAINED_GLASS:
|
||||||
|
case BROWN_STAINED_GLASS:
|
||||||
|
case GREEN_STAINED_GLASS:
|
||||||
|
case RED_STAINED_GLASS:
|
||||||
|
case BLACK_STAINED_GLASS:
|
||||||
|
case WHITE_STAINED_GLASS_PANE:
|
||||||
|
case ORANGE_STAINED_GLASS_PANE:
|
||||||
|
case MAGENTA_STAINED_GLASS_PANE:
|
||||||
|
case LIGHT_BLUE_STAINED_GLASS_PANE:
|
||||||
|
case YELLOW_STAINED_GLASS_PANE:
|
||||||
|
case LIME_STAINED_GLASS_PANE:
|
||||||
|
case PINK_STAINED_GLASS_PANE:
|
||||||
|
case GRAY_STAINED_GLASS_PANE:
|
||||||
|
case LIGHT_GRAY_STAINED_GLASS_PANE:
|
||||||
|
case CYAN_STAINED_GLASS_PANE:
|
||||||
|
case PURPLE_STAINED_GLASS_PANE:
|
||||||
|
case BLUE_STAINED_GLASS_PANE:
|
||||||
|
case BROWN_STAINED_GLASS_PANE:
|
||||||
|
case GREEN_STAINED_GLASS_PANE:
|
||||||
|
case RED_STAINED_GLASS_PANE:
|
||||||
|
case BLACK_STAINED_GLASS_PANE:
|
||||||
|
meltingTime = meltingTime * 10;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
blocksToMelt.computeIfAbsent(time + meltingTime, integer -> new ArrayList<>()).add(block);
|
blocksToMelt.computeIfAbsent(time + meltingTime, integer -> new ArrayList<>()).add(block);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user