diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/ActorWithBody.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/ActorWithBody.class index 1ba4a221d..b6982e9c1 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/ActorWithBody.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/ActorWithBody.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/Authenticator.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/Authenticator.class index fe83ed89a..8230c03b5 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/Authenticator.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/Authenticator.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/Batch.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/Batch.class new file mode 100644 index 000000000..25c8fde3c Binary files /dev/null and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/Batch.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CodexEdictis.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CodexEdictis.class index 4b07552cd..33b5ac130 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CodexEdictis.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CodexEdictis.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CommandDict.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CommandDict.class index 4bf15a923..2263a9795 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CommandDict.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CommandDict.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/Echo.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/Echo.class index 7c8cb53b6..4734d8520 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/Echo.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/Echo.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/GetAV.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/GetAV.class index 47e348303..692e95445 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/GetAV.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/GetAV.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/GetFactioning.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/GetFactioning.class index 41a49b5f7..549c1548f 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/GetFactioning.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/GetFactioning.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/SetLocale.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/SetLocale.class index 926768494..8c51aa24f 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/SetLocale.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/SetLocale.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/TileProperties/propdata.csv b/out/production/Terrarum_renewed/com/Torvald/Terrarum/TileProperties/propdata.csv index e9cf2b356..0dccbdc07 100644 --- a/out/production/Terrarum_renewed/com/Torvald/Terrarum/TileProperties/propdata.csv +++ b/out/production/Terrarum_renewed/com/Torvald/Terrarum/TileProperties/propdata.csv @@ -34,14 +34,14 @@ "9"; "0";"TILE_SNOW" ; "8205"; "6"; "500"; "0"; "0"; "1"; "1"; "0"; "1"; "9"; "0"; "0";"16" "9"; "1";"TILE_ICE_FRAGILE" ; "3282"; "1"; "930"; "0"; "0"; "1"; "0"; "0"; "0"; "9"; "1"; "0";"16" "9"; "2";"TILE_ICE_NATURAL" ; "6564"; "25"; "930"; "0"; "0"; "1"; "1"; "0"; "1"; "9"; "2"; "0"; "8" - "9"; "3";"TILE_ICE_CLEAR_MAGICAL" ; "8205"; "25";"2785"; "0"; "0"; "1"; "1"; "5009"; "0"; "9"; "3"; "0"; "8" + "9"; "3";"TILE_ICE_CLEAR_MAGICAL" ; "8205"; "25";"5170"; "0"; "0"; "1"; "1"; "5009"; "0"; "9"; "3"; "0"; "8" "10"; "0";"TILE_PLATFORM_STONE" ; "0"; "1"; "N/A"; "0"; "0"; "0"; "0"; "0"; "0"; "10"; "0"; "0";"16" "10"; "1";"TILE_PLATFORM_WOODEN" ; "0"; "1"; "N/A"; "0"; "0"; "0"; "0"; "0"; "0"; "10"; "1"; "0";"16" "10"; "2";"TILE_PLATFORM_EBONY" ; "0"; "1"; "N/A"; "0"; "0"; "0"; "0"; "0"; "0"; "10"; "2"; "0";"16" "10"; "3";"TILE_PLATFORM_BIRCH" ; "0"; "1"; "N/A"; "0"; "0"; "0"; "0"; "0"; "0"; "10"; "3"; "0";"16" "10"; "4";"TILE_PLATFORM_BLOODROSE" ; "0"; "1"; "N/A"; "0"; "0"; "0"; "0"; "0"; "0"; "10"; "4"; "0";"16" "11"; "0";"TILE_TORCH" ; "0"; "0"; "N/A"; "0"; "0"; "0"; "0"; "63412"; "0"; "11"; "0"; "0";"16" -"254"; "15";"TILE_WATER" ; "6522"; "100";"1000"; "1"; "16"; "0"; "0"; "0"; "0"; "N/A"; "N/A"; "0";"16" +"254"; "15";"TILE_WATER" ; "6522"; "100";"1000"; "1"; "9"; "0"; "0"; "0"; "0"; "N/A"; "N/A"; "0";"16" "255"; "15";"TILE_LAVA" ; "62358"; "100";"2600"; "1"; "48"; "0"; "0"; "48320"; "0"; "N/A"; "N/A"; "0";"16" # Friction: 0: frictionless, <16: slippery, 16: regular, >16: sticky # Opacity/Lumcolor: 40-step RGB @@ -50,7 +50,7 @@ # movr: Movement resistance, (walkspeedmax) / (1 + (n/16)), 16 halves movement speed # spcg: specific gravity, aka density. [g/l] # Defalut torch should have a colour of 63412 (ffa44e) : real candlelight colour taken from properly configured camera. -# Assume magical ice as Ice-X. +# Magical ice: theoretical __metallic__ ice that might form under super-high pressure (> 5 TPa). Its density is a wild guess, exponential prediction. # References: # * Density of various woods : http://www.engineeringtoolbox.com/wood-density-d_40.html # * Density of various phases of ice : http://www1.lsbu.ac.uk/water/ice_phases.html \ No newline at end of file diff --git a/res/batchtest.txt b/res/batchtest.txt new file mode 100644 index 000000000..126f6c3e7 --- /dev/null +++ b/res/batchtest.txt @@ -0,0 +1,4 @@ +echo "Hello, world!" +echo "This is a batch test." +setav batch true +getav batch \ No newline at end of file diff --git a/src/com/Torvald/Terrarum/Actors/ActorWithBody.java b/src/com/Torvald/Terrarum/Actors/ActorWithBody.java index 822905eba..39bcb8f11 100644 --- a/src/com/Torvald/Terrarum/Actors/ActorWithBody.java +++ b/src/com/Torvald/Terrarum/Actors/ActorWithBody.java @@ -255,7 +255,7 @@ public class ActorWithBody implements Actor, Visible, Glowing { veloY += clampCeil( ((W - D) / mass) * SI_TO_GAME_ACC * G_MUL_PLAYABLE_CONST - * mvmtRstcToMultiplier(fluidResistance) // eliminate shoot-up from fluids + // * mvmtRstcToMultiplier(fluidResistance) // eliminate shoot-up from fluids , VELO_HARD_LIMIT ); } @@ -493,7 +493,7 @@ public class ActorWithBody implements Actor, Visible, Glowing { veloY -= ((fluidDensity - this.density) * map.getGravitation() * submergedVolume * Math.pow(mass, -1) - * mvmtRstcToMultiplier(fluidResistance) // eliminate shoot-up + // * mvmtRstcToMultiplier(fluidResistance) // eliminate shoot-up * SI_TO_GAME_ACC); } } @@ -615,8 +615,8 @@ public class ActorWithBody implements Actor, Visible, Glowing { return density; } - private float mvmtRstcToMultiplier(int viscosity) { - return 1f / (1 + (viscosity / 16f)); + private float mvmtRstcToMultiplier(int movementResistanceValue) { + return 1f / (1 + (movementResistanceValue / 16f)); } private void clampHitbox() { @@ -634,9 +634,17 @@ public class ActorWithBody implements Actor, Visible, Glowing { } private void updateNextHitboxFromVelo() { + float fluidResistance = mvmtRstcToMultiplier(getTileMvmtRstc()); + nextHitbox.set( - Math.round(hitbox.getPosX() + veloX) - , Math.round(hitbox.getPosY() + veloY) + Math.round(hitbox.getPosX() + + (veloX + * (isNoSubjectToFluidResistance() ? 1 : fluidResistance) + )) + , Math.round(hitbox.getPosY() + + (veloY + * (isNoSubjectToFluidResistance() ? 1 : fluidResistance) + )) , Math.round(baseHitboxW * scale) , Math.round(baseHitboxH * scale) /** Full quantisation; wonder what havoc these statements would wreak... diff --git a/src/com/Torvald/Terrarum/ConsoleCommand/Authenticator.java b/src/com/Torvald/Terrarum/ConsoleCommand/Authenticator.java index 2eeebdee0..8d13a2e5d 100644 --- a/src/com/Torvald/Terrarum/ConsoleCommand/Authenticator.java +++ b/src/com/Torvald/Terrarum/ConsoleCommand/Authenticator.java @@ -15,11 +15,10 @@ public class Authenticator implements ConsoleCommand { public void execute(String[] args) { if (args.length == 2) { String pwd = args[1]; - String hashedPwd = DigestUtils.sha256Hex(pwd); - if ("54c5b3dd459d5ef778bb2fa1e23a5fb0e1b62ae66970bcb436e8f81a1a1a8e41".equalsIgnoreCase(hashedPwd)) { - // alpine + if ("54c5b3dd459d5ef778bb2fa1e23a5fb0e1b62ae66970bcb436e8f81a1a1a8e41" + .equalsIgnoreCase(hashedPwd)) { // alpine String msg = (a) ? "Locked" : "Authenticated"; new Echo().execute(msg); System.out.println("[Authenticator] " + msg); diff --git a/src/com/Torvald/Terrarum/ConsoleCommand/Batch.java b/src/com/Torvald/Terrarum/ConsoleCommand/Batch.java new file mode 100644 index 000000000..0837e34ed --- /dev/null +++ b/src/com/Torvald/Terrarum/ConsoleCommand/Batch.java @@ -0,0 +1,25 @@ +package com.Torvald.Terrarum.ConsoleCommand; + +import java.nio.file.FileSystems; +import java.nio.file.Files; + +/** + * Created by minjaesong on 16-03-07. + */ +public class Batch implements ConsoleCommand { + @Override + public void execute(String[] args) throws Exception { + if (args.length == 2) { + Files.lines(FileSystems.getDefault().getPath(args[1])).forEach + (CommandInterpreter::execute); + } + else { + printUsage(); + } + } + + @Override + public void printUsage() { + new Echo().execute("batch path/to/batch.txt"); + } +} diff --git a/src/com/Torvald/Terrarum/ConsoleCommand/CommandDict.java b/src/com/Torvald/Terrarum/ConsoleCommand/CommandDict.java index 49f0236c8..ab937301a 100644 --- a/src/com/Torvald/Terrarum/ConsoleCommand/CommandDict.java +++ b/src/com/Torvald/Terrarum/ConsoleCommand/CommandDict.java @@ -14,6 +14,7 @@ public class CommandDict { public CommandDict() { dict = new Hashtable<>(); + dict.put("echo", new Echo()); dict.put("setav", new SetAV()); dict.put("qqq", new QuitApp()); dict.put("codex", new CodexEdictis()); @@ -27,6 +28,7 @@ public class CommandDict { dict.put("setlocale", new SetLocale()); dict.put("zoom", new Zoom()); dict.put("teleport", new TeleportPlayer()); + dict.put("tp", dict.get("teleport")); dict.put("cat", new CatStdout()); dict.put("exportav", new ExportAV()); dict.put("gsontest", new GsonTest()); @@ -34,6 +36,7 @@ public class CommandDict { dict.put("getfaction", new GetFactioning()); dict.put("auth", Terrarum.game.auth); dict.put("spawnball", new SpawnPhysTestBall()); + dict.put("batch", new Batch()); } public static ConsoleCommand getCommand(String commandName) { diff --git a/src/com/Torvald/Terrarum/ConsoleCommand/Echo.java b/src/com/Torvald/Terrarum/ConsoleCommand/Echo.java index e6b3341d8..c2b38ef17 100644 --- a/src/com/Torvald/Terrarum/ConsoleCommand/Echo.java +++ b/src/com/Torvald/Terrarum/ConsoleCommand/Echo.java @@ -1,17 +1,24 @@ package com.Torvald.Terrarum.ConsoleCommand; -import com.Torvald.Terrarum.Game; import com.Torvald.Terrarum.Terrarum; import com.Torvald.Terrarum.UserInterface.ConsoleWindow; +import java.util.Arrays; +import java.util.List; + /** * Created by minjaesong on 16-01-16. */ class Echo implements ConsoleCommand { @Override public void execute(String[] args) { - ((ConsoleWindow) Terrarum.game.consoleHandler.getUI()) - .sendMessage(args.toString()); + String[] argsWoHeader = new String[args.length - 1]; + for (int i = 0; i < argsWoHeader.length; i++) + argsWoHeader[i] = args[i + 1]; + + Arrays.asList(argsWoHeader).forEach( + ((ConsoleWindow) Terrarum.game.consoleHandler.getUI())::sendMessage + ); } public void execute(String single_line) { diff --git a/src/com/Torvald/Terrarum/TileProperties/propdata.csv b/src/com/Torvald/Terrarum/TileProperties/propdata.csv index e9cf2b356..baee9e2e7 100644 --- a/src/com/Torvald/Terrarum/TileProperties/propdata.csv +++ b/src/com/Torvald/Terrarum/TileProperties/propdata.csv @@ -34,14 +34,14 @@ "9"; "0";"TILE_SNOW" ; "8205"; "6"; "500"; "0"; "0"; "1"; "1"; "0"; "1"; "9"; "0"; "0";"16" "9"; "1";"TILE_ICE_FRAGILE" ; "3282"; "1"; "930"; "0"; "0"; "1"; "0"; "0"; "0"; "9"; "1"; "0";"16" "9"; "2";"TILE_ICE_NATURAL" ; "6564"; "25"; "930"; "0"; "0"; "1"; "1"; "0"; "1"; "9"; "2"; "0"; "8" - "9"; "3";"TILE_ICE_CLEAR_MAGICAL" ; "8205"; "25";"2785"; "0"; "0"; "1"; "1"; "5009"; "0"; "9"; "3"; "0"; "8" + "9"; "3";"TILE_ICE_CLEAR_MAGICAL" ; "8205"; "25";"3720"; "0"; "0"; "1"; "1"; "5009"; "0"; "9"; "3"; "0"; "8" "10"; "0";"TILE_PLATFORM_STONE" ; "0"; "1"; "N/A"; "0"; "0"; "0"; "0"; "0"; "0"; "10"; "0"; "0";"16" "10"; "1";"TILE_PLATFORM_WOODEN" ; "0"; "1"; "N/A"; "0"; "0"; "0"; "0"; "0"; "0"; "10"; "1"; "0";"16" "10"; "2";"TILE_PLATFORM_EBONY" ; "0"; "1"; "N/A"; "0"; "0"; "0"; "0"; "0"; "0"; "10"; "2"; "0";"16" "10"; "3";"TILE_PLATFORM_BIRCH" ; "0"; "1"; "N/A"; "0"; "0"; "0"; "0"; "0"; "0"; "10"; "3"; "0";"16" "10"; "4";"TILE_PLATFORM_BLOODROSE" ; "0"; "1"; "N/A"; "0"; "0"; "0"; "0"; "0"; "0"; "10"; "4"; "0";"16" "11"; "0";"TILE_TORCH" ; "0"; "0"; "N/A"; "0"; "0"; "0"; "0"; "63412"; "0"; "11"; "0"; "0";"16" -"254"; "15";"TILE_WATER" ; "6522"; "100";"1000"; "1"; "16"; "0"; "0"; "0"; "0"; "N/A"; "N/A"; "0";"16" +"254"; "15";"TILE_WATER" ; "6522"; "100";"1000"; "1"; "12"; "0"; "0"; "0"; "0"; "N/A"; "N/A"; "0";"16" "255"; "15";"TILE_LAVA" ; "62358"; "100";"2600"; "1"; "48"; "0"; "0"; "48320"; "0"; "N/A"; "N/A"; "0";"16" # Friction: 0: frictionless, <16: slippery, 16: regular, >16: sticky # Opacity/Lumcolor: 40-step RGB @@ -50,7 +50,7 @@ # movr: Movement resistance, (walkspeedmax) / (1 + (n/16)), 16 halves movement speed # spcg: specific gravity, aka density. [g/l] # Defalut torch should have a colour of 63412 (ffa44e) : real candlelight colour taken from properly configured camera. -# Assume magical ice as Ice-X. +# Magical ice: theoretical __metallic__ ice that might form under super-high pressure (> 5 TPa). Its density is a wild guess. # References: # * Density of various woods : http://www.engineeringtoolbox.com/wood-density-d_40.html # * Density of various phases of ice : http://www1.lsbu.ac.uk/water/ice_phases.html \ No newline at end of file