diff --git a/docs/_posts/2024-2-4-Isomorphic-Security.md b/docs/_posts/2024-2-4-Isomorphic-Security.md new file mode 100644 index 000000000..ba0a4b357 --- /dev/null +++ b/docs/_posts/2024-2-4-Isomorphic-Security.md @@ -0,0 +1,7 @@ +--- +layout: post +comments: true +categories: ["Specifics"] +--- +## How to activate Isomorphic Security (Protocol 19) +On the console, find "Protocol 19" and use a key linked to that TARDIS and click on the control. Once that's done, anyone that has a key that's linked to the current TARDIS can use the console, but anyone without cannot interact with it at all. diff --git a/src/main/java/mdteam/ait/client/models/consoles/AlnicoConsoleModel.java b/src/main/java/mdteam/ait/client/models/consoles/AlnicoConsoleModel.java index 7b7b97cc5..ea216668a 100644 --- a/src/main/java/mdteam/ait/client/models/consoles/AlnicoConsoleModel.java +++ b/src/main/java/mdteam/ait/client/models/consoles/AlnicoConsoleModel.java @@ -4,6 +4,7 @@ import mdteam.ait.core.blockentities.ConsoleBlockEntity; import mdteam.ait.tardis.Tardis; import mdteam.ait.tardis.TardisTravel; +import mdteam.ait.tardis.control.impl.SecurityControl; import mdteam.ait.tardis.control.impl.pos.IncrementManager; import mdteam.ait.tardis.data.FuelData; import mdteam.ait.tardis.data.properties.PropertiesHandler; @@ -831,6 +832,9 @@ public void renderWithAnimations(ConsoleBlockEntity console, ModelPart root, Mat ModelPart autoPilot = alnico.getChild("section1").getChild("controls").getChild("multiswitchpanel").getChild("longswitch1"); autoPilot.pitch = PropertiesHandler.getBool(console.getTardis().get().getHandlers().getProperties(), PropertiesHandler.AUTO_LAND) ? autoPilot.pitch + 0.5f : autoPilot.pitch; + ModelPart security = alnico.getChild("section1").getChild("controls").getChild("multiswitchpanel").getChild("longswitch4"); + security.pitch = PropertiesHandler.getBool(console.getTardis().get().getHandlers().getProperties(), SecurityControl.SECURITY_KEY) ? security.pitch + 0.5f : security.pitch; + ModelPart siegeMode = alnico.getChild("section3").getChild("controls3").getChild("siegemode").getChild("lever"); siegeMode.pitch = PropertiesHandler.getBool(console.getTardis().get().getHandlers().getProperties(), PropertiesHandler.SIEGE_MODE) ? siegeMode.pitch + 0.9f : siegeMode.pitch; diff --git a/src/main/java/mdteam/ait/client/models/consoles/HartnellConsoleModel.java b/src/main/java/mdteam/ait/client/models/consoles/HartnellConsoleModel.java index 2bd9f7aef..4896e203c 100644 --- a/src/main/java/mdteam/ait/client/models/consoles/HartnellConsoleModel.java +++ b/src/main/java/mdteam/ait/client/models/consoles/HartnellConsoleModel.java @@ -6,6 +6,7 @@ import mdteam.ait.core.blockentities.ConsoleBlockEntity; import mdteam.ait.tardis.Tardis; import mdteam.ait.tardis.TardisTravel; +import mdteam.ait.tardis.control.impl.SecurityControl; import mdteam.ait.tardis.control.impl.pos.IncrementManager; import mdteam.ait.tardis.data.FuelData; import mdteam.ait.tardis.data.properties.PropertiesHandler; @@ -946,12 +947,15 @@ else if(console.getTardis().get().getDoor().isRightOpen()){ hadsAlarmsLightsOne.pivotY = hadsAlarmsLightsOne.pivotY; hadsAlarmsLightsTwo.pivotY = hadsAlarmsLightsTwo.pivotY; } - else if(!PropertiesHandler.getBool(console.getTardis().get().getHandlers().getProperties(), PropertiesHandler.ALARM_ENABLED)){ + else { hadsAlarms.roll = hadsAlarms.roll; hadsAlarmsLightsOne.pivotY = hadsAlarmsLightsOne.pivotY + 1; hadsAlarmsLightsTwo.pivotY = hadsAlarmsLightsTwo.pivotY + 1; } + ModelPart security = this.bone.getChild("panels").getChild("p_6").getChild("bone132").getChild("bone133").getChild("bone134").getChild("s_lever_7").getChild("bone144"); + security.roll = (PropertiesHandler.getBool(console.getTardis().get().getHandlers().getProperties(), SecurityControl.SECURITY_KEY)) ? security.roll + 1.75f : security.roll; + // Increment Control Movements ModelPart increment = this.bone.getChild("panels").getChild("p_3").getChild("bone67").getChild("bone68").getChild("bone69").getChild("s_crank_3").getChild("bone74"); increment.yaw = IncrementManager.increment(console.getTardis().get()) >= 10 ? IncrementManager.increment(console.getTardis().get()) >= 100 ? IncrementManager.increment(console.getTardis().get()) >= 1000 ? increment.yaw + 1.5f : increment.yaw + 1f : increment.yaw + 0.5f : increment.yaw; diff --git a/src/main/java/mdteam/ait/client/models/consoles/SteamConsoleModel.java b/src/main/java/mdteam/ait/client/models/consoles/SteamConsoleModel.java index a8a77b17e..68b7be221 100644 --- a/src/main/java/mdteam/ait/client/models/consoles/SteamConsoleModel.java +++ b/src/main/java/mdteam/ait/client/models/consoles/SteamConsoleModel.java @@ -4,6 +4,7 @@ import mdteam.ait.core.blockentities.ConsoleBlockEntity; import mdteam.ait.tardis.Tardis; import mdteam.ait.tardis.TardisTravel; +import mdteam.ait.tardis.control.impl.SecurityControl; import mdteam.ait.tardis.control.impl.pos.IncrementManager; import mdteam.ait.tardis.data.properties.PropertiesHandler; import net.minecraft.client.model.*; @@ -865,6 +866,9 @@ public void renderWithAnimations(ConsoleBlockEntity console, ModelPart root, Mat ModelPart alarms = steam.getChild("controls").getChild("panel_1").getChild("rot").getChild("lever4").getChild("bone22"); alarms.roll = (PropertiesHandler.getBool(console.getTardis().get().getHandlers().getProperties(), PropertiesHandler.ALARM_ENABLED) ? 0.4363F : -0.5672F); + ModelPart security = steam.getChild("controls").getChild("panel_1").getChild("rot").getChild("lever2").getChild("bone20"); + security.roll = (PropertiesHandler.getBool(console.getTardis().get().getHandlers().getProperties(), SecurityControl.SECURITY_KEY) ? 0.4363F : -0.5672F); + ModelPart antigrav = steam.getChild("controls").getChild("panel_1").getChild("rot").getChild("lever3").getChild("bone19"); antigrav.roll = (PropertiesHandler.getBool(console.getTardis().get().getHandlers().getProperties(), PropertiesHandler.ANTIGRAVS_ENABLED) ? 0.4363F : -0.5672F); diff --git a/src/main/java/mdteam/ait/client/models/consoles/ToyotaConsoleModel.java b/src/main/java/mdteam/ait/client/models/consoles/ToyotaConsoleModel.java index 8cff0a67c..ad7c92f5c 100644 --- a/src/main/java/mdteam/ait/client/models/consoles/ToyotaConsoleModel.java +++ b/src/main/java/mdteam/ait/client/models/consoles/ToyotaConsoleModel.java @@ -5,6 +5,7 @@ import mdteam.ait.core.blockentities.ConsoleBlockEntity; import mdteam.ait.tardis.Tardis; import mdteam.ait.tardis.TardisTravel; +import mdteam.ait.tardis.control.impl.SecurityControl; import mdteam.ait.tardis.control.impl.pos.IncrementManager; import mdteam.ait.tardis.data.FuelData; import mdteam.ait.tardis.data.properties.PropertiesHandler; @@ -870,7 +871,8 @@ public void renderWithAnimations(ConsoleBlockEntity console, ModelPart root, Mat alarmsLight.pivotY = (console.getTardis().get().getHandlers().getAlarms().isEnabled()) ? alarmsLight.pivotY : alarmsLight.pivotY + 1; alarms.pitch = console.getTardis().get().getHandlers().getAlarms().isEnabled() ? alarms.pitch + 1f : alarms.pitch; - + ModelPart security = this.toyota.getChild("panel4").getChild("controls4").getChild("coloredlever5"); + security.pitch = PropertiesHandler.getBool(console.getTardis().get().getHandlers().getProperties(), SecurityControl.SECURITY_KEY) ? security.pitch + 1f : security.pitch; //Auto Pilot Control ModelPart autopilot = this.toyota.getChild("panel4").getChild("controls4").getChild("tinyswitch2"); diff --git a/src/main/java/mdteam/ait/core/entities/FallingTardisEntity.java b/src/main/java/mdteam/ait/core/entities/FallingTardisEntity.java index 52633eb2b..c748b9269 100644 --- a/src/main/java/mdteam/ait/core/entities/FallingTardisEntity.java +++ b/src/main/java/mdteam/ait/core/entities/FallingTardisEntity.java @@ -228,6 +228,8 @@ public void tick() { world.createExplosion(this, pos.getX(), pos.getY(), pos.getZ(), 10, true, World.ExplosionSourceType.MOB); } + this.getTardis().getDoor().setLocked(crashing); + this.stopFalling(false); } } diff --git a/src/main/java/mdteam/ait/tardis/console/AlnicoConsole.java b/src/main/java/mdteam/ait/tardis/console/AlnicoConsole.java index 10f01018b..3b8fb309f 100644 --- a/src/main/java/mdteam/ait/tardis/console/AlnicoConsole.java +++ b/src/main/java/mdteam/ait/tardis/console/AlnicoConsole.java @@ -29,6 +29,8 @@ public class AlnicoConsole extends ConsoleSchema { // extra monitor entity because he's a special lil guy new ControlTypes(new MonitorControl(), EntityDimensions.changing(0.42499986f, 0.39999992f), new Vector3f(-0.0015625115483999252f, 1.1000016266480088f, -0.8890625201165676f)), + new ControlTypes(new SecurityControl(), EntityDimensions.changing(0.07499999f, 0.21250002f), new Vector3f(0.1414062585681677f, 0.18749975133687258f, 1.689453142695129f)), + new ControlTypes(new TelepathicControl(), EntityDimensions.changing(0.17500004f, 0.43749985f), new Vector3f(0.9625000189989805f, 0.4124998087063432f, -0.5523437457159162f)), new ControlTypes(new LandTypeControl(), EntityDimensions.changing(0.1375f, 0.1375f), new Vector3f(-0.1847656387835741f, 0.4525001486763358f, 0.9207031447440386f)), new ControlTypes(new IncrementControl(), EntityDimensions.changing(0.07499999f, 0.29999998f), new Vector3f(-1.4000000208616257f, 0.11250056512653828f, -0.9734375337138772f)), diff --git a/src/main/java/mdteam/ait/tardis/console/CoralConsole.java b/src/main/java/mdteam/ait/tardis/console/CoralConsole.java index 25bb1603d..668050f9a 100644 --- a/src/main/java/mdteam/ait/tardis/console/CoralConsole.java +++ b/src/main/java/mdteam/ait/tardis/console/CoralConsole.java @@ -25,6 +25,9 @@ public class CoralConsole extends ConsoleSchema { new ControlTypes(new DoorLockControl(), EntityDimensions.changing(0.099999994f, 0.09999998f), new Vector3f(-1.1023437762632966f, 0.5499996189028025f, 0.5757812689989805f)), new ControlTypes(new AntiGravsControl(), EntityDimensions.changing(0.17500001f, 0.16250001f), new Vector3f(1.026562513783574f, 0.5625001918524504f, 0.5898437444120646f)), new ControlTypes(new MonitorControl(), EntityDimensions.changing(0.36249992f, 0.31249997f), new Vector3f(0.3859374951571226f, 0.8250013394281268f, 0.6128906365483999f)), + + new ControlTypes(new SecurityControl(), EntityDimensions.changing(0.06249999f, 0.1f), new Vector3f(-0.7960937554016709f, 0.537499756552279f, 0.27695312164723873f)), + new ControlTypes(new TelepathicControl(), EntityDimensions.changing(0.17500004f, 0.15f), new Vector3f(-0.3125000046566129f, 0.45000019017606974f, -0.8390625016763806f)), new ControlTypes(new LandTypeControl(), EntityDimensions.changing(0.23750003f, 0.099999994f), new Vector3f(0.7398437662050128f, 0.7150001563131809f, -0.40507811680436134f)), new ControlTypes(new IncrementControl(), EntityDimensions.changing(0.1125f, 0.112500004f), new Vector3f(-7.812399417161942E-4f, 0.5875001922249794f, 1.2890625316649675f)), diff --git a/src/main/java/mdteam/ait/tardis/console/HartnellConsole.java b/src/main/java/mdteam/ait/tardis/console/HartnellConsole.java index c7fdd45b6..43bfdb1b2 100644 --- a/src/main/java/mdteam/ait/tardis/console/HartnellConsole.java +++ b/src/main/java/mdteam/ait/tardis/console/HartnellConsole.java @@ -31,6 +31,9 @@ public class HartnellConsole extends ConsoleSchema { new ControlTypes(new ZControl(), EntityDimensions.changing(0.074999996f, 0.1f), new Vector3f(-0.7750000171363354f, 0.5125000961124897f, -0.5113281467929482f)), // 12 new ControlTypes(new RandomiserControl(), EntityDimensions.changing(0.06249999f, 0.125f), new Vector3f(-0.9531250046566129f, 0.4624999985098839f, -0.3609375013038516f)), // 13 new ControlTypes(new DirectionControl(), EntityDimensions.changing(0.1f, 0.1f), new Vector3f(-1.1007812544703484f, 0.4750000946223736f, 0.150390625f)), // 14 + + new ControlTypes(new SecurityControl(), EntityDimensions.changing(0.07499999f, 0.1f), new Vector3f(0.5539062647148967f, 0.5749997571110725f, 0.3144531222060323f)), + new ControlTypes(new HailMaryControl(), EntityDimensions.changing(0.07499999f, 0.1f), new Vector3f(-0.7218750026077032f, 0.5749999508261681f, 0.10117187909781933f)), // 15 new ControlTypes(new CloakControl(), EntityDimensions.changing(0.1125f, 0.1f), new Vector3f(-0.03515623975545168f, 0.4750000908970833f, -1.0359375169500709f)), new ControlTypes(new SiegeModeControl(), EntityDimensions.changing(0.112500004f, 0.0875f), new Vector3f(-0.43515624571591616f, 0.5749998092651367f, 0.5015625059604645f)), // 15 diff --git a/src/main/java/mdteam/ait/tardis/console/SteamConsole.java b/src/main/java/mdteam/ait/tardis/console/SteamConsole.java index f05f1bec7..9771f6da2 100644 --- a/src/main/java/mdteam/ait/tardis/console/SteamConsole.java +++ b/src/main/java/mdteam/ait/tardis/console/SteamConsole.java @@ -25,6 +25,9 @@ public class SteamConsole extends ConsoleSchema { new ControlTypes(new DoorLockControl(), EntityDimensions.changing(0.06249999f, 0.2f), new Vector3f(-0.2523437635973096f, 0.3999996166676283f, -0.8867187527939677f)), new ControlTypes(new AntiGravsControl(), EntityDimensions.changing(0.074999996f, 0.17500001f), new Vector3f(0.7890625102445483f, 0.4375001899898052f, 0.002343735657632351f)), new ControlTypes(new MonitorControl(), EntityDimensions.changing(0.2875f, 0.29999998f), new Vector3f(0.42343749571591616f, 0.4000013330951333f, 0.7378906384110451f)), + + new ControlTypes(new SecurityControl(), EntityDimensions.changing(0.07499999f, 0.1375f), new Vector3f(0.778906268067658f, 0.4624997554346919f, 0.08945311885327101f)), + new ControlTypes(new TelepathicControl(), EntityDimensions.changing(0.3125f, 0.125f), new Vector3f(-0.38750000577419996f, 0.4375001899898052f, 0.6359375203028321f)), new ControlTypes(new LandTypeControl(), EntityDimensions.changing(0.1125f, 0.15f), new Vector3f(0.6273437645286322f, 0.5025001531466842f, -0.005078110843896866f)), new ControlTypes(new IncrementControl(), EntityDimensions.changing(0.125f, 0.15f), new Vector3f(0.586718768812716f, 0.4375001899898052f, -0.5984374964609742f)), diff --git a/src/main/java/mdteam/ait/tardis/console/ToyotaConsole.java b/src/main/java/mdteam/ait/tardis/console/ToyotaConsole.java index e5ca38451..191279720 100644 --- a/src/main/java/mdteam/ait/tardis/console/ToyotaConsole.java +++ b/src/main/java/mdteam/ait/tardis/console/ToyotaConsole.java @@ -33,6 +33,8 @@ public class ToyotaConsole extends ConsoleSchema { // Siege mode extra thingy //new ControlTypes(new ShowSiegeModeLeverControl(), EntityDimensions.changing(0f, 0f), new Vector3f(0f, 0f, 0f)), + new ControlTypes(new SecurityControl(), EntityDimensions.changing(0.07499999f, 0.16250001f), new Vector3f(0.19140625931322575f, 0.7749997600913048f, 0.7519531287252903f)), + new ControlTypes(new TelepathicControl(), EntityDimensions.changing(0.79999954f, 0.18750001f), new Vector3f(0.925000018440187f, 0.5624998109415174f, 0.5390625204890966f)), new ControlTypes(new LandTypeControl(), EntityDimensions.changing(0.16250001f, 0.15f), new Vector3f(-0.39921876695007086f, 0.6775001520290971f, -1.0687500098720193f)), new ControlTypes(new IncrementControl(), EntityDimensions.changing(0.1125f, 0.1f), new Vector3f(-0.8875000132247806f, 0.6500005731359124f, -0.773437530733645f)),