Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -808,10 +808,10 @@ private void handleControl(IWrapperEntity controller) {
case DEFAULT: {
//Default gets target based on controller eyes and where they are looking.
//Need to get their eye position though, not their main position, for accurate targeting.
//Also, don't use gun max distance here, since that's only for boresight.
//Uses lockRange and lockMaxAngle from JSON like boresight.
startPoint = controller.getEyePosition();
searchVector = controller.getLineOfSight(RAYTRACE_DISTANCE);
coneAngle = DEFAULT_CONE_ANGLE;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is DEFAULT_CONE_ANGLE used anywhere else in the code? If so, does it need to be replaced with the lockMaxAngle? If it's not used anywhere else, it'd be good to delete it from this file since it's un-used.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It probably isn't, i'm pretty sure legacy compat already accounts for it. I'll try building without it and testing if anything breaks. IDE says it isn't used too so
image

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, actually, unrelated, but i think something in this commit is causing crashes i haven't seen it cause before

---- Minecraft Crash Report ----

WARNING: coremods are present:
SuperMartijn642's Core Lib Plugin (_supermartijn642corelib-1.1.20-forge-mc1.12.jar)
IELoadingPlugin (ImmersiveEngineering-core-0.12-98.jar)
XaeroMinimapPlugin (Xaeros_Minimap_23.9.7_Forge_1.12.jar)
weaponlib (mw_2.0-0.4.6.2_mc1.12.2.jar)
XaeroWorldMapPlugin (XaerosWorldMap_1.37.7_Forge_1.12.jar)
Contact their authors BEFORE contacting forge

// Daisy, daisy...

Time: 3/12/26 4:39 PM
Description: Unexpected error

java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:592)
at java.lang.Integer.parseInt(Integer.java:615)
at minecrafttransportsimulator.baseclasses.ComputedVariable.getVariableNumber(ComputedVariable.java:107)
at minecrafttransportsimulator.entities.instances.EntityVehicleF_Physics.createComputedVariable(EntityVehicleF_Physics.java:845)
at minecrafttransportsimulator.entities.components.AEntityD_Definable.getOrCreateVariable(AEntityD_Definable.java:1099)
at minecrafttransportsimulator.entities.instances.EntityVehicleF_Physics.getOrCreateVariable(EntityVehicleF_Physics.java:706)
at minecrafttransportsimulator.entities.components.AEntityD_Definable.getAnimatedVariableValue(AEntityD_Definable.java:1070)
at minecrafttransportsimulator.entities.components.AEntityD_Definable.getAnimatedVariableValue(AEntityD_Definable.java:1079)
at minecrafttransportsimulator.baseclasses.AnimationSwitchbox.runSwitchbox(AnimationSwitchbox.java:95)
at minecrafttransportsimulator.entities.components.AEntityD_Definable.updateSounds(AEntityD_Definable.java:723)
at minecrafttransportsimulator.entities.components.AEntityB_Existing.update(AEntityB_Existing.java:163)
at minecrafttransportsimulator.entities.components.AEntityC_Renderable.update(AEntityC_Renderable.java:51)
at minecrafttransportsimulator.entities.components.AEntityD_Definable.update(AEntityD_Definable.java:339)
at minecrafttransportsimulator.entities.components.AEntityE_Interactable.update(AEntityE_Interactable.java:214)
at minecrafttransportsimulator.entities.components.AEntityF_Multipart.update(AEntityF_Multipart.java:125)
at minecrafttransportsimulator.entities.components.AEntityG_Towable.update(AEntityG_Towable.java:73)
at minecrafttransportsimulator.entities.instances.AEntityVehicleC_Colliding.update(AEntityVehicleC_Colliding.java:52)
at minecrafttransportsimulator.entities.instances.AEntityVehicleD_Moving.update(AEntityVehicleD_Moving.java:159)
at minecrafttransportsimulator.entities.instances.AEntityVehicleE_Powered.update(AEntityVehicleE_Powered.java:113)
at minecrafttransportsimulator.entities.instances.EntityVehicleF_Physics.update(EntityVehicleF_Physics.java:168)
at minecrafttransportsimulator.baseclasses.EntityManager.doTick(EntityManager.java:350)
at minecrafttransportsimulator.baseclasses.EntityManager.lambda$tickAll$3(EntityManager.java:215)
at java.lang.Iterable.forEach(Iterable.java:75)
at minecrafttransportsimulator.baseclasses.EntityManager.tickAll(EntityManager.java:213)
at mcinterface1122.InterfaceClient.onIVClientTick(InterfaceClient.java:202)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_35_InterfaceClient_onIVClientTick_ClientTickEvent.invoke(.dynamic)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
at net.minecraftforge.fml.common.FMLCommonHandler.onPreClientTick(FMLCommonHandler.java:344)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1708)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1098)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:398)
at net.minecraft.client.main.Main.main(SourceFile:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:243)
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:278)
at org.multimc.EntryPoint.listen(EntryPoint.java:143)
at org.multimc.EntryPoint.main(EntryPoint.java:34)

A detailed walkthrough of the error, its code path and all known details is as follows:

-- Head --
Thread: Client thread
Stacktrace:
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:592)
at java.lang.Integer.parseInt(Integer.java:615)
at minecrafttransportsimulator.baseclasses.ComputedVariable.getVariableNumber(ComputedVariable.java:107)
at minecrafttransportsimulator.entities.instances.EntityVehicleF_Physics.createComputedVariable(EntityVehicleF_Physics.java:845)
at minecrafttransportsimulator.entities.components.AEntityD_Definable.getOrCreateVariable(AEntityD_Definable.java:1099)
at minecrafttransportsimulator.entities.instances.EntityVehicleF_Physics.getOrCreateVariable(EntityVehicleF_Physics.java:706)
at minecrafttransportsimulator.entities.components.AEntityD_Definable.getAnimatedVariableValue(AEntityD_Definable.java:1070)
at minecrafttransportsimulator.entities.components.AEntityD_Definable.getAnimatedVariableValue(AEntityD_Definable.java:1079)
at minecrafttransportsimulator.baseclasses.AnimationSwitchbox.runSwitchbox(AnimationSwitchbox.java:95)
at minecrafttransportsimulator.entities.components.AEntityD_Definable.updateSounds(AEntityD_Definable.java:723)
at minecrafttransportsimulator.entities.components.AEntityB_Existing.update(AEntityB_Existing.java:163)
at minecrafttransportsimulator.entities.components.AEntityC_Renderable.update(AEntityC_Renderable.java:51)
at minecrafttransportsimulator.entities.components.AEntityD_Definable.update(AEntityD_Definable.java:339)
at minecrafttransportsimulator.entities.components.AEntityE_Interactable.update(AEntityE_Interactable.java:214)
at minecrafttransportsimulator.entities.components.AEntityF_Multipart.update(AEntityF_Multipart.java:125)
at minecrafttransportsimulator.entities.components.AEntityG_Towable.update(AEntityG_Towable.java:73)
at minecrafttransportsimulator.entities.instances.AEntityVehicleC_Colliding.update(AEntityVehicleC_Colliding.java:52)
at minecrafttransportsimulator.entities.instances.AEntityVehicleD_Moving.update(AEntityVehicleD_Moving.java:159)
at minecrafttransportsimulator.entities.instances.AEntityVehicleE_Powered.update(AEntityVehicleE_Powered.java:113)
at minecrafttransportsimulator.entities.instances.EntityVehicleF_Physics.update(EntityVehicleF_Physics.java:168)
at minecrafttransportsimulator.baseclasses.EntityManager.doTick(EntityManager.java:350)
at minecrafttransportsimulator.baseclasses.EntityManager.lambda$tickAll$3(EntityManager.java:215)
at java.lang.Iterable.forEach(Iterable.java:75)
at minecrafttransportsimulator.baseclasses.EntityManager.tickAll(EntityManager.java:213)
at mcinterface1122.InterfaceClient.onIVClientTick(InterfaceClient.java:202)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_35_InterfaceClient_onIVClientTick_ClientTickEvent.invoke(.dynamic)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
at net.minecraftforge.fml.common.FMLCommonHandler.onPreClientTick(FMLCommonHandler.java:344)

-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityPlayerSP['Wartich'/53, l='MpServer', x=-1436.64, y=4.00, z=66.05]]
Chunk stats: MultiplayerChunkCache: 3481, 3481
Level seed: 0
Level generator: ID 01 - flat, ver 0. Features enabled: false
Level generator options:
Level spawn location: World: (-1435,4,65), Chunk: (at 5,0,1 in -90,4; contains blocks -1440,0,64 to -1425,255,79), Region: (-3,0; contains chunks -96,0 to -65,31, blocks -1536,0,0 to -1025,255,511)
Level time: 4299 game time, 4299 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
Forced entities: 23 total; [EntitySlime['Слизень'/320, l='MpServer', x=-1512.67, y=4.00, z=55.86], EntityItem['item.item.auweschvebm.auweschveb_vehicle_a_yf40_camoflague'/2, l='MpServer', x=-1437.00, y=4.00, z=70.15], EntitySlime['Слизень'/258, l='MpServer', x=-1488.73, y=5.25, z=4.11], EntitySlime['Слизень'/330, l='MpServer', x=-1507.12, y=4.92, z=135.12], EntitySlime['Слизень'/203, l='MpServer', x=-1468.34, y=4.00, z=47.78], EntitySlime['Слизень'/338, l='MpServer', x=-1501.36, y=4.95, z=82.51], EntityItemFrame['entity.ItemFrame.name'/23, l='MpServer', x=-1490.50, y=7.50, z=192.03], BuilderEntityExisting['entity.mts_entity.name'/344, l='MpServer', x=-1440.50, y=4.00, z=66.50], EntitySlime['Слизень'/281, l='MpServer', x=-1500.01, y=4.00, z=32.28], EntityItemFrame['entity.ItemFrame.name'/34, l='MpServer', x=-1471.97, y=7.50, z=180.50], EntitySlime['Слизень'/298, l='MpServer', x=-1501.60, y=5.02, z=72.60], BuilderEntityExisting['entity.mts_entity.name'/176, l='MpServer', x=-1436.79, y=4.00, z=66.05], BuilderEntityRenderForwarder['entity.mts_entity_renderer.name'/178, l='MpServer', x=-1437.76, y=5.68, z=66.06], EntityPig['Свинья'/179, l='MpServer', x=-1497.50, y=4.00, z=31.50], EntityPig['Свинья'/180, l='MpServer', x=-1498.31, y=4.00, z=30.40], EntityPig['Свинья'/181, l='MpServer', x=-1499.64, y=4.00, z=27.67], EntityHorse['Лошадь'/182, l='MpServer', x=-1490.79, y=4.00, z=34.32], EntitySlime['Слизень'/310, l='MpServer', x=-1484.95, y=4.64, z=61.89], EntityHorse['Лошадь'/183, l='MpServer', x=-1491.74, y=4.00, z=33.85], EntityHorse['Лошадь'/184, l='MpServer', x=-1490.78, y=4.00, z=32.71], EntitySlime['Слизень'/313, l='MpServer', x=-1501.70, y=4.64, z=141.24], EntitySlime['Слизень'/316, l='MpServer', x=-1502.93, y=4.08, z=47.42], EntityPlayerSP['Wartich'/53, l='MpServer', x=-1436.64, y=4.00, z=66.05]]
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.func_72914_a(WorldClient.java:532)
at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2741)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:427)
at net.minecraft.client.main.Main.main(SourceFile:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:243)
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:278)
at org.multimc.EntryPoint.listen(EntryPoint.java:143)
at org.multimc.EntryPoint.main(EntryPoint.java:34)

Any idea what causes that? I can't find any empty fields in my json and it does not crash when i build without this pr

searchVector = controller.getLineOfSight(definition.gun.lockRange);
coneAngle = definition.gun.lockMaxAngle;
break;
}
case BORESIGHT: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1031,6 +1031,12 @@ private static void performPartLegacyCompats(JSONPart definition) {
if (definition.gun.targetType == null) {
definition.gun.targetType = JSONPart.TargetType.ALL;
}
if (definition.gun.lockRange == 0) {
definition.gun.lockRange = 750;
}
if (definition.gun.lockMaxAngle == 0) {
definition.gun.lockMaxAngle = 2.0;
}
definition.gun.length = 0;
}

Expand Down