forked from SteamWar/SteamWar
Fix many simple things
This commit is contained in:
@@ -140,8 +140,10 @@ public class TowerGenerator {
|
||||
noKeyFloors--;
|
||||
if (!chestBlocks.isEmpty() && noKeyFloors < 0 && random.nextDouble() < config.keyChance) {
|
||||
noKeyFloors = random.nextInt(config.maxNoKeyFloors - config.minNoKeyFloors) + config.minNoKeyFloors;
|
||||
Container container = chestBlocks.get(random.nextInt(chestBlocks.size()));
|
||||
keys.add(container.getLocation());
|
||||
for (int i = 0; i < 2; i++) {
|
||||
Container container = chestBlocks.get(random.nextInt(chestBlocks.size()));
|
||||
keys.add(container.getLocation());
|
||||
}
|
||||
|
||||
for (WorldConfig.TowerGeneratorDoorBlock doorBlock : config.doorBlocks) {
|
||||
int x = doorBlock.getX();
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
package de.steamwar.towerrun.listener;
|
||||
|
||||
import de.steamwar.inventory.SWItem;
|
||||
import de.steamwar.network.packets.server.BaumemberUpdatePacket;
|
||||
import de.steamwar.towerrun.TowerRun;
|
||||
import de.steamwar.towerrun.config.Config;
|
||||
import de.steamwar.towerrun.config.WorldConfig;
|
||||
@@ -84,16 +85,16 @@ public class IngameListener extends GameStateBukkitListener {
|
||||
@Override
|
||||
public void run() {
|
||||
double minY = TowerRunGame.PLAYERS_ALIVE.stream()
|
||||
.map(p -> p.player().getLocation().getY())
|
||||
.min(Comparator.comparing(Function.identity()))
|
||||
.mapToDouble(p -> p.player().getLocation().getY())
|
||||
.average()
|
||||
.orElse(0.0);
|
||||
|
||||
List<Player> toDamage = new ArrayList<>();
|
||||
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) {
|
||||
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());
|
||||
}
|
||||
});
|
||||
@@ -119,12 +120,12 @@ public class IngameListener extends GameStateBukkitListener {
|
||||
public void onPlayerDeath(PlayerDeathEvent event) {
|
||||
event.setDeathMessage(null);
|
||||
Bukkit.getScheduler().runTaskLater(TowerRun.getInstance(), () -> {
|
||||
if (TowerRun.getTowerGenerator() != null) {
|
||||
event.getEntity().teleport(TowerRun.getTowerGenerator().getSpawn());
|
||||
} else {
|
||||
event.getEntity().teleport(WorldConfig.SPAWN);
|
||||
}
|
||||
}, 5
|
||||
if (TowerRun.getTowerGenerator() != null) {
|
||||
event.getEntity().teleport(TowerRun.getTowerGenerator().getSpawn());
|
||||
} else {
|
||||
event.getEntity().teleport(WorldConfig.SPAWN);
|
||||
}
|
||||
}, 5
|
||||
);
|
||||
event.getEntity().setGameMode(GameMode.SPECTATOR);
|
||||
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.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
|
||||
@@ -211,6 +214,44 @@ public class IngameListener extends GameStateBukkitListener {
|
||||
private void shouldMelt(Block block) {
|
||||
if (block.getType().isBurnable()) return;
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user