v1.3: config, prison, other changes
This commit is contained in:
parent
328f07d6f6
commit
541e6e1ae6
17 changed files with 82 additions and 42 deletions
|
@ -3,4 +3,4 @@ org.gradle.jvmargs=-Xmx2g
|
|||
baseGroup = com.github.stachelbeere1248.zombiesutils
|
||||
mcVersion = 1.8.9
|
||||
modid = zombiesutils
|
||||
version = 1.3
|
||||
version = 1.3.0-PREVIEW_3
|
|
@ -7,6 +7,7 @@ import net.minecraft.command.ICommand;
|
|||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.command.WrongUsageException;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.File;
|
||||
|
@ -41,6 +42,7 @@ public class CategoryCommand implements ICommand {
|
|||
if (cat.contains(File.separator))
|
||||
throw new WrongUsageException("Your name must not contain '" + File.separator + "' as this is the systems separator character for folder" + File.separator + "sub-folder");
|
||||
Category.setSelectedCategory(cat);
|
||||
sender.addChatMessage(new ChatComponentText("§eSet category to §c" + cat));
|
||||
Timer.getInstance().ifPresent(timer -> timer.setCategory(new Category()));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ public class ZombiesUtilsConfig {
|
|||
private Property copyDelta;
|
||||
private Property cpsCounter;
|
||||
private Property announcePB;
|
||||
private Property playerVis;
|
||||
|
||||
public ZombiesUtilsConfig(Configuration config) {
|
||||
this.config = config;
|
||||
|
@ -120,6 +121,12 @@ public class ZombiesUtilsConfig {
|
|||
"T",
|
||||
"The Text to be sent when pressing the chat-macro hotkey"
|
||||
);
|
||||
playerVis = config.get(
|
||||
Configuration.CATEGORY_GENERAL,
|
||||
"playervis",
|
||||
false,
|
||||
"If players should always be visible"
|
||||
);
|
||||
cpsCounter = config.get(
|
||||
Configuration.CATEGORY_GENERAL,
|
||||
"cps",
|
||||
|
@ -154,11 +161,12 @@ public class ZombiesUtilsConfig {
|
|||
|
||||
List<IConfigElement> getRootElements() {
|
||||
return Arrays.asList(
|
||||
new DummyConfigElement.DummyCategoryElement("Timer", "", getSpawntimeElements()),
|
||||
new DummyConfigElement.DummyCategoryElement("SST", "", getSpawntimeElements()),
|
||||
new DummyConfigElement.DummyCategoryElement("SLA", "", getSpawntimeElements()),
|
||||
new CustomConfigElement("Language", language),
|
||||
new DummyConfigElement.DummyCategoryElement("Timer", "", getTimerElements()),
|
||||
new DummyConfigElement.DummyCategoryElement("SST", "", getSpawntimeElements()),
|
||||
new DummyConfigElement.DummyCategoryElement("SLA", "", getSlaElements()),
|
||||
new CustomConfigElement("Macro message", chatMacro),
|
||||
new CustomConfigElement("Player visibility", playerVis),
|
||||
new CustomConfigElement("CPS counter", cpsCounter)
|
||||
|
||||
);
|
||||
|
@ -211,6 +219,9 @@ public class ZombiesUtilsConfig {
|
|||
public boolean getAnnouncePB() {
|
||||
return announcePB.getBoolean();
|
||||
}
|
||||
public boolean getPlayerVis() {
|
||||
return playerVis.getBoolean();
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onConfigChange(ConfigChangedEvent.@NotNull OnConfigChangedEvent event) {
|
||||
|
|
|
@ -30,6 +30,7 @@ public class GameMode {
|
|||
switch (map) {
|
||||
case DEAD_END:
|
||||
case BAD_BLOOD:
|
||||
case PRISON:
|
||||
this.difficulty = difficulty;
|
||||
break;
|
||||
case ALIEN_ARCADIUM:
|
||||
|
|
|
@ -6,6 +6,7 @@ import com.github.stachelbeere1248.zombiesutils.game.windows.Room;
|
|||
import com.github.stachelbeere1248.zombiesutils.game.windows.Window;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.entity.EntityPlayerSP;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
@ -28,6 +29,10 @@ public class SLA {
|
|||
case ALIEN_ARCADIUM:
|
||||
this.rooms = Room.getAA();
|
||||
break;
|
||||
case PRISON:
|
||||
this.rooms = new Room[0];
|
||||
Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("$cThis map has no SLA database yet. Contribute by dming Stachelbeere1248 coordinates for windows on Discord."));
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException("Unexpected value: " + map);
|
||||
}
|
||||
|
@ -68,7 +73,7 @@ public class SLA {
|
|||
ZombiesUtils.getInstance().getLogger().info("Window \"0\" is now at %s %s %s" + (double) win0[0] / 2 + (double) win0[1] / 2 + (double) win0[2] / 2);
|
||||
}
|
||||
|
||||
public void refreshActives() {
|
||||
private void refreshActives() {
|
||||
final EntityPlayerSP player = Minecraft.getMinecraft().thePlayer;
|
||||
final double[] playerCoords = {
|
||||
(player.posX - offset[0]),
|
||||
|
@ -95,7 +100,8 @@ public class SLA {
|
|||
}
|
||||
|
||||
public Room[] getRooms() {
|
||||
return rooms;
|
||||
this.refreshActives();
|
||||
return this.rooms;
|
||||
}
|
||||
|
||||
public void resetOffset() {
|
||||
|
|
|
@ -27,6 +27,7 @@ public class WaveTiming {
|
|||
|
||||
public static void onTick() {
|
||||
if (Scoreboard.isNotZombies()) return;
|
||||
//TODO: Assert correct server number!
|
||||
Timer.getInstance().ifPresent(timer -> {
|
||||
byte[] waves = getWaves(timer);
|
||||
final int roundTime = timer.roundTime();
|
||||
|
|
|
@ -8,13 +8,11 @@ import org.jetbrains.annotations.NotNull;
|
|||
|
||||
@SuppressWarnings("DuplicatedCode")
|
||||
public class Waves {
|
||||
private static final byte[][] deadEndWaveTimes = {{10, 20}, {10, 20}, {10, 20, 35}, {10, 20, 35}, {10, 22, 37}, {10, 22, 44}, {10, 25, 47}, {10, 25, 50}, {10, 22, 38}, {10, 24, 45}, {10, 25, 48}, {10, 25, 50}, {10, 25, 50}, {10, 25, 45}, {10, 25, 46}, {10, 24, 47}, {10, 24, 47}, {10, 24, 47}, {10, 24, 47}, {10, 24, 49}, {10, 23, 44}, {10, 23, 45}, {10, 23, 42}, {10, 23, 43}, {10, 23, 43}, {10, 23, 36}, {10, 24, 44}, {10, 24, 42}, {10, 24, 42}, {10, 24, 45}},
|
||||
private static final byte[][]
|
||||
deadEndWaveTimes = {{10, 20}, {10, 20}, {10, 20, 35}, {10, 20, 35}, {10, 22, 37}, {10, 22, 44}, {10, 25, 47}, {10, 25, 50}, {10, 22, 38}, {10, 24, 45}, {10, 25, 48}, {10, 25, 50}, {10, 25, 50}, {10, 25, 45}, {10, 25, 46}, {10, 24, 47}, {10, 24, 47}, {10, 24, 47}, {10, 24, 47}, {10, 24, 49}, {10, 23, 44}, {10, 23, 45}, {10, 23, 42}, {10, 23, 43}, {10, 23, 43}, {10, 23, 36}, {10, 24, 44}, {10, 24, 42}, {10, 24, 42}, {10, 24, 45}},
|
||||
badBloodWaveTimes = {{10, 22}, {10, 22}, {10, 22}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34}, {10, 24, 38}, {10, 24, 38}, {10, 22, 34}, {10, 24, 38}, {10, 22, 34}},
|
||||
alienArcadiumWaveTimes = {{10, 13, 16, 19}, {10, 14, 18, 22}, {10, 13, 16, 19}, {10, 14, 17, 21, 25, 28}, {10, 14, 18, 22, 26, 30}, {10, 14, 19, 23, 28, 32}, {10, 15, 19, 23, 27, 31}, {10, 15, 20, 25, 30, 35}, {10, 14, 19, 23, 28, 32}, {10, 16, 22, 27, 33, 38}, {10, 16, 21, 27, 32, 38}, {10, 16, 22, 28, 34, 40}, {10, 16, 22, 28, 34, 40}, {10, 16, 21, 26, 31, 36}, {10, 17, 24, 31, 38, 46}, {10, 16, 22, 27, 33, 38}, {10, 14, 19, 23, 28, 32}, {10, 14, 19, 23, 28, 32}, {10, 14, 18, 22, 26, 30}, {10, 15, 21, 26, 31, 36}, {10, 14, 19, 23, 28, 32}, {10, 14, 19, 23, 28, 34}, {10, 14, 18, 22, 26, 30}, {10, 14, 19, 23, 28, 32}, {10}, {10, 23, 36}, {10, 22, 34}, {10, 20, 30}, {10, 24, 38}, {10, 22, 34}, {10, 22, 34}, {10, 21, 32}, {10, 22, 34}, {10, 22, 34}, {10}, {10, 22, 34}, {10, 20, 31}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34, 37, 45}, {10, 21, 32}, {10, 22, 34}, {10, 13, 22, 25, 34, 37}, {10, 22, 34}, {10, 22, 34, 35}, {10, 21, 32, 35}, {10, 20, 30}, {10, 20, 30, 33}, {10, 21, 32}, {10, 22, 34, 37}, {10, 20, 30, 33}, {10, 22, 34, 37}, {10, 22, 34, 37}, {10, 20, 32, 35, 39}, {10, 16, 22, 28, 34, 40}, {10, 14, 18}, {10, 14, 18}, {10, 22, 34, 37, 38}, {10, 14, 18, 22, 26, 30}, {10, 20, 30, 33}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 27, 32}, {10, 14, 18, 22, 27, 32}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {5}, {5}, {5}, {5}, {5}};
|
||||
private static final short[] deadEndRoundTimesSum = {0, 20, 40, 75, 110, 147, 191, 238, 288, 326, 371, 419, 469, 519, 564, 610, 657, 704, 751, 798, 847, 891, 936, 978, 1021, 1064, 1100, 1144, 1186, 1228, 1273},
|
||||
badBloodRoundTimesSum = {0, 22, 44, 66, 100, 134, 168, 202, 236, 270, 304, 338, 372, 406, 440, 474, 508, 542, 576, 610, 644, 678, 712, 746, 780, 814, 852, 890, 924, 962, 996},
|
||||
alienArcadiumRoundTimesSum = {0, 19, 41, 60, 88, 118, 150, 181, 216, 248, 286, 324, 364, 404, 440, 486, 524, 556, 588, 618, 654, 686, 720, 750, 782, 792, 828, 862, 892, 930, 964, 998, 1030, 1064, 1098, 1108, 1142, 1173, 1207, 1241, 1286, 1318, 1352, 1389, 1423, 1458, 1493, 1523, 1556, 1588, 1625, 1658, 1695, 1732, 1771, 1811, 1829, 1847, 1885, 1915, 1948, 1978, 2008, 2038, 2068, 2098, 2128, 2158, 2188, 2218, 2248, 2278, 2308, 2338, 2368, 2400, 2432, 2462, 2492, 2522, 2552, 2582, 2612, 2642, 2672, 2702, 2732, 2762, 2792, 2822, 2852, 2882, 2912, 2942, 2972, 3002, 3032, 3062, 3092, 3122, 3152, 3157, 3162, 3167, 3172, 3177};
|
||||
|
||||
alienArcadiumWaveTimes = {{10, 13, 16, 19}, {10, 14, 18, 22}, {10, 13, 16, 19}, {10, 14, 17, 21, 25, 28}, {10, 14, 18, 22, 26, 30}, {10, 14, 19, 23, 28, 32}, {10, 15, 19, 23, 27, 31}, {10, 15, 20, 25, 30, 35}, {10, 14, 19, 23, 28, 32}, {10, 16, 22, 27, 33, 38}, {10, 16, 21, 27, 32, 38}, {10, 16, 22, 28, 34, 40}, {10, 16, 22, 28, 34, 40}, {10, 16, 21, 26, 31, 36}, {10, 17, 24, 31, 38, 46}, {10, 16, 22, 27, 33, 38}, {10, 14, 19, 23, 28, 32}, {10, 14, 19, 23, 28, 32}, {10, 14, 18, 22, 26, 30}, {10, 15, 21, 26, 31, 36}, {10, 14, 19, 23, 28, 32}, {10, 14, 19, 23, 28, 34}, {10, 14, 18, 22, 26, 30}, {10, 14, 19, 23, 28, 32}, {10}, {10, 23, 36}, {10, 22, 34}, {10, 20, 30}, {10, 24, 38}, {10, 22, 34}, {10, 22, 34}, {10, 21, 32}, {10, 22, 34}, {10, 22, 34}, {10}, {10, 22, 34}, {10, 20, 31}, {10, 22, 34}, {10, 22, 34}, {10, 22, 34, 37, 45}, {10, 21, 32}, {10, 22, 34}, {10, 13, 22, 25, 34, 37}, {10, 22, 34}, {10, 22, 34, 35}, {10, 21, 32, 35}, {10, 20, 30}, {10, 20, 30, 33}, {10, 21, 32}, {10, 22, 34, 37}, {10, 20, 30, 33}, {10, 22, 34, 37}, {10, 22, 34, 37}, {10, 20, 32, 35, 39}, {10, 16, 22, 28, 34, 40}, {10, 14, 18}, {10, 14, 18}, {10, 22, 34, 37, 38}, {10, 14, 18, 22, 26, 30}, {10, 20, 30, 33}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 27, 32}, {10, 14, 18, 22, 27, 32}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {10, 14, 18, 22, 26, 30}, {5}, {5}, {5}, {5}, {5}},
|
||||
prisonWaveTimes = {{10, 20}, {10, 20, 30}, {10, 17, 24, 31}, {10, 17, 24, 31}, {10, 20, 30}, {10, 20, 30}, {10, 20, 30}, {10, 25, 40}, {10, 25, 35}, {10, 25, 45}, {10, 25, 40}, {10, 25, 37}, {10, 22, 34}, {10, 25, 37}, {10, 25, 40}, {10, 22, 37}, {10, 22, 42}, {10, 25, 45}, {10, 25, 45}, {10, 25, 40}, {10, 20, 35, 55, 75}, {10, 25, 40}, {10, 30, 50}, {10, 30, 50}, {10, 25, 45}, {10, 30, 50}, {10, 25, 45}, {10, 30, 50}, {10, 30, 55}, {10}};
|
||||
|
||||
@Contract(pure = true)
|
||||
public static byte[] get(@NotNull Map map, byte round) {
|
||||
|
@ -30,6 +28,9 @@ public class Waves {
|
|||
case ALIEN_ARCADIUM:
|
||||
ret = alienArcadiumWaveTimes[round - 1];
|
||||
break;
|
||||
case PRISON:
|
||||
ret = prisonWaveTimes[round - 1];
|
||||
break;
|
||||
}
|
||||
} catch (ArrayIndexOutOfBoundsException ignored) {
|
||||
Minecraft.getMinecraft().thePlayer.addChatMessage(
|
||||
|
@ -39,24 +40,6 @@ public class Waves {
|
|||
return ret;
|
||||
}
|
||||
|
||||
public static short getSum(@NotNull Map map, byte round) {
|
||||
short sum;
|
||||
switch (map) {
|
||||
case DEAD_END:
|
||||
sum = deadEndRoundTimesSum[round - 1];
|
||||
break;
|
||||
case BAD_BLOOD:
|
||||
sum = badBloodRoundTimesSum[round - 1];
|
||||
break;
|
||||
case ALIEN_ARCADIUM:
|
||||
sum = alienArcadiumRoundTimesSum[round - 1];
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException("Unexpected value: " + map);
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
public static byte getLastWave(@NotNull Map map, byte round) {
|
||||
byte[] aByte = get(map, round);
|
||||
return aByte[aByte.length - 1];
|
||||
|
|
|
@ -16,6 +16,7 @@ public class Handlers {
|
|||
MinecraftForge.EVENT_BUS.register(new TickHandler());
|
||||
MinecraftForge.EVENT_BUS.register(new ChatHandler());
|
||||
MinecraftForge.EVENT_BUS.register(new KeyInputHandler());
|
||||
MinecraftForge.EVENT_BUS.register(new RenderPlayerHandler());
|
||||
}
|
||||
|
||||
public RenderGameOverlayHandler getRenderer() {
|
||||
|
|
|
@ -15,6 +15,7 @@ public class KeyInputHandler {
|
|||
public void onKeyInput(InputEvent event) {
|
||||
if (Minecraft.getMinecraft().currentScreen != null) return;
|
||||
if (event instanceof InputEvent.KeyInputEvent) {
|
||||
if (Keyboard.getEventKey() == '\0') return;
|
||||
if (Keyboard.getEventKeyState()) {
|
||||
Hotkeys hotkeys = ZombiesUtils.getInstance().getHotkeys();
|
||||
if (Keyboard.getEventKey() == hotkeys.getChatMacro().getKeyCode()) {
|
||||
|
|
|
@ -59,10 +59,7 @@ public class RenderGameOverlayHandler {
|
|||
);
|
||||
});
|
||||
|
||||
SLA.getInstance().ifPresent(sla -> {
|
||||
sla.refreshActives();
|
||||
renderSla(sla.getRooms());
|
||||
});
|
||||
SLA.getInstance().ifPresent(sla -> renderSla(sla.getRooms()));
|
||||
|
||||
if (ZombiesUtils.getInstance().getConfig().getCpsToggle()) renderCPS();
|
||||
}
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
package com.github.stachelbeere1248.zombiesutils.handlers;
|
||||
|
||||
import com.github.stachelbeere1248.zombiesutils.ZombiesUtils;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraftforge.client.event.RenderPlayerEvent;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class RenderPlayerHandler {
|
||||
@SubscribeEvent
|
||||
public void onRender(RenderPlayerEvent.@NotNull Pre event) {
|
||||
if (inRange(event.entityPlayer.getPositionVector())) {
|
||||
event.setCanceled(!ZombiesUtils.getInstance().getConfig().getPlayerVis());
|
||||
}
|
||||
}
|
||||
|
||||
private boolean inRange(Vec3 playerOther) {
|
||||
return playerOther.squareDistanceTo(Minecraft.getMinecraft().thePlayer.getPositionVector()) <= 16;
|
||||
}
|
||||
}
|
|
@ -81,6 +81,7 @@ public class MixinNetHandlerPlayClient {
|
|||
switch (timer.getGameMode().getMap()) {
|
||||
case DEAD_END:
|
||||
case BAD_BLOOD:
|
||||
case PRISON:
|
||||
timer.split((byte) 30);
|
||||
Timer.dropInstances();
|
||||
break;
|
||||
|
|
|
@ -12,7 +12,7 @@ import java.io.File;
|
|||
|
||||
public class Category {
|
||||
private static String selectedCategory = ZombiesUtils.getInstance().getConfig().getDefaultCategory();
|
||||
public final CategoryFile[] categoryFiles = new CategoryFile[7];
|
||||
public final CategoryFile[] categoryFiles = new CategoryFile[10];
|
||||
private final String name;
|
||||
|
||||
public Category() {
|
||||
|
@ -28,6 +28,11 @@ public class Category {
|
|||
categoryFiles[5] = new CategoryFile(category, new GameMode(Map.BAD_BLOOD, Difficulty.RIP));
|
||||
|
||||
categoryFiles[6] = new CategoryFile(category, new GameMode(Map.ALIEN_ARCADIUM));
|
||||
|
||||
categoryFiles[7] = new CategoryFile(category, new GameMode(Map.PRISON));
|
||||
categoryFiles[8] = new CategoryFile(category, new GameMode(Map.PRISON, Difficulty.HARD));
|
||||
categoryFiles[9] = new CategoryFile(category, new GameMode(Map.PRISON, Difficulty.RIP));
|
||||
|
||||
this.name = Category.selectedCategory;
|
||||
}
|
||||
|
||||
|
@ -45,15 +50,21 @@ public class Category {
|
|||
}
|
||||
|
||||
public CategoryFile getByGameMode(@NotNull GameMode gameMode) {
|
||||
if (gameMode.is(Map.DEAD_END, Difficulty.NORMAL)) return categoryFiles[0];
|
||||
else if (gameMode.is(Map.BAD_BLOOD, Difficulty.NORMAL)) return categoryFiles[3];
|
||||
else if (gameMode.is(Map.ALIEN_ARCADIUM, Difficulty.NORMAL)) return categoryFiles[6];
|
||||
|
||||
|
||||
if (gameMode.is(Map.DEAD_END, Difficulty.NORMAL)) return categoryFiles[0];
|
||||
else if (gameMode.is(Map.DEAD_END, Difficulty.HARD)) return categoryFiles[1];
|
||||
else if (gameMode.is(Map.DEAD_END, Difficulty.RIP)) return categoryFiles[2];
|
||||
|
||||
else if (gameMode.is(Map.BAD_BLOOD, Difficulty.NORMAL)) return categoryFiles[3];
|
||||
else if (gameMode.is(Map.BAD_BLOOD, Difficulty.HARD)) return categoryFiles[4];
|
||||
else if (gameMode.is(Map.BAD_BLOOD, Difficulty.RIP)) return categoryFiles[5];
|
||||
|
||||
else if (gameMode.is(Map.ALIEN_ARCADIUM, Difficulty.NORMAL)) return categoryFiles[6];
|
||||
|
||||
else if (gameMode.is(Map.PRISON, Difficulty.NORMAL)) return categoryFiles[7];
|
||||
else if (gameMode.is(Map.PRISON, Difficulty.HARD)) return categoryFiles[8];
|
||||
else if (gameMode.is(Map.PRISON, Difficulty.RIP)) return categoryFiles[9];
|
||||
else throw new IllegalStateException("Unexpected value: " + gameMode);
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ public class CategoryData implements ISplitsData {
|
|||
break;
|
||||
case DEAD_END:
|
||||
case BAD_BLOOD:
|
||||
case PRISON:
|
||||
bestSegments = new short[30];
|
||||
personalBests = new int[30];
|
||||
break;
|
||||
|
|
|
@ -17,6 +17,7 @@ public class GameData implements ISplitsData {
|
|||
break;
|
||||
case DEAD_END:
|
||||
case BAD_BLOOD:
|
||||
case PRISON:
|
||||
segments = new short[30];
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -68,11 +68,11 @@ public class LanguageSupport {
|
|||
public static @NotNull Pattern mapPattern(@NotNull String language) {
|
||||
switch (language) {
|
||||
case "EN":
|
||||
return Pattern.compile("Map:.*(Dead End|Bad Blood|Alien Arcadium)");
|
||||
return Pattern.compile("Map:.*(Dead End|Bad Blood|Alien Arcadium|Prison)");
|
||||
case "FR":
|
||||
return Pattern.compile("Carte:.*(Dead End|Bad Blood|Alien Arcadium)");
|
||||
return Pattern.compile("Carte:.*(Dead End|Bad Blood|Alien Arcadium|Prison)");
|
||||
case "DE":
|
||||
return Pattern.compile("Karte:.*(Dead End|Bad Blood|Alien Arcadium)");
|
||||
return Pattern.compile("Karte:.*(Dead End|Bad Blood|Alien Arcadium|Prison)");
|
||||
default:
|
||||
throw new IllegalStateException("Unexpected value: " + language);
|
||||
}
|
||||
|
|
|
@ -96,7 +96,7 @@ public class Scoreboard {
|
|||
public static Optional<Map> getMap() {
|
||||
String line;
|
||||
try {
|
||||
line = lines.get(12);
|
||||
line = lines.get(12); //TODO: This was changed!
|
||||
} catch (Exception couldBePregame) {
|
||||
try {
|
||||
line = lines.get(2);
|
||||
|
@ -113,6 +113,8 @@ public class Scoreboard {
|
|||
return Optional.of(Map.BAD_BLOOD);
|
||||
case "Alien Arcadium":
|
||||
return Optional.of(Map.ALIEN_ARCADIUM);
|
||||
case "Prison":
|
||||
return Optional.of(Map.PRISON);
|
||||
default:
|
||||
return Optional.empty();
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue