Running `setSchedule({})` on a station bricks the entire world
Brainstorm4266 opened this issue ยท 7 comments
Describe the Bug
When I ran, in ComputerCraft, setSchedule({})
(well, I tried to remove the schedule), the dedicated server crashed.
When I tried to restart the server, it crashed again.
And again.
Aaaaand again.
Reproduction Steps
- Place a station.
- Connect a ComputerCraft: Tweaked computer to it. (Place one next to it).
- Mount it as a peripheral using
peripheral.wrap
- Make sure a train is at the station.
- Run
station.setSchedule({})
Expected Result
Honestly, I either expected it to error, or for the schedule to be removed.
Screenshots and Videos
Crash Report or Log
Operating System
GNU/Linux (Server is on Debian, client is on Arch)
Mod Version
0.5.1f
Minecraft Version
1.20.1
Forge Version
NeoForge 47.1.79
Other Mods
[1.20.1] SecurityCraft v1.9.8.jar
aether-1.20.1-1.0.0-beta.1.3-neoforge.jar
alexsmobs-1.22.6.jar
appleskin-forge-mc1.20.1-2.5.1.jar
appliedenergistics2-forge-15.0.13.jar
architectury-9.1.12-forge.jar
athena-forge-1.20.1-3.1.1.jar
balm-forge-1.20.1-7.1.4.jar
BetterAnimationsCollection-v8.0.0-1.20.1-Forge.jar
betterfpsdist-1.20.1-3.9.jar
bettervillage-forge-1.20.1-3.2.0.jar
BiomesOPlenty-1.20.1-18.0.0.592.jar
Bookshelf-Forge-1.20.1-20.0.5.jar
botarium-forge-1.20.1-2.2.0.jar
Bountiful-6.0.3+1.20.1-forge.jar
callablehorses-1.20.1-1.3.0.1.jar
canary-mc1.20.1-0.2.7.jar
cc-tweaked-1.20.1-forge-1.108.3.jar
chipped-forge-1.20.1-3.0.1.jar
chisels-and-bits-forge-1.4.145.jar
chunkloaders-1.2.7-forge-mc1.20.jar.disabled
citadel-2.4.5-1.20.1.jar
cloth-config-12.0.109-forge.jar
Clumps-forge-1.20.1-12.0.0.3.jar
collective-1.20.1-6.66.jar
comforts-forge-6.3.3+1.20.1.jar
connectedglass-1.1.8-forge-mc1.20.1.jar
Controlling-forge-1.20.1-12.0.2.jar
cookingforblockheads-forge-1.20-16.0.1.jar
corpse-1.20.1-1.0.5.jar
craftingtweaks-forge-1.20-18.2.1.jar
create-1.20.1-0.5.1.f.jar
createaddition-1.20.1-1.1.1.jar
createbb-1.20.1-3.1.1.jar
createchunkloading-1.6.0-forge.jar
create-confectionery1.20.1_v1.0.9.jar
create_enchantment_industry-1.20.1-for-create-0.5.1.e-1.2.7.c.jar
create_jetpack-forge-4.1.1.jar
create_mechanical_spawner-1.20.1-0.0.14.e-22.jar
create_misc_and_things_ 1.20.1_4.0A.jar
create-new-age-forge-1.20.1-1.0.1b.jar
create_recycle_1.0.2_forge_1.20.1.jar
create-structures-0.1.1-1.20.1-FORGE.jar
create-stuff-additions1.20.1_v2.0.4a.jar
Create Sweets And Treats 1.1.jar
cupboard-1.20.1-2.1.jar
curios-forge-5.3.5+1.20.1.jar
dynamiclightsreforged-1.20.1_v1.6.0.jar
EffectTooltips-Forge-1.20.1-9.0.2.jar
embeddium-0.2.2+mc1.20.1.jar
EnchantmentDescriptions-Forge-1.20.1-17.0.8.jar
entityculling-forge-1.6.2-mc1.20.1.jar
FarmersDelight-1.20.1-1.2.3.jar
FastLeafDecay-31.jar
ferritecore-6.0.0-forge.jar
FluxNetworks-1.20.1-7.2.0.14.jar
fogoverrides-1.20.1-1.3.jar
foodeffecttooltips-1.0.1+forge-1.20.jar.jar
FramedBlocks-9.1.6.jar
freecam-forge-1.2.1+1.20.jar
ftb-chunks-forge-2001.2.2.jar
ftb-library-forge-2001.1.3.jar
ftb-quests-forge-2001.1.6.jar
ftb-ranks-forge-2001.1.3.jar
ftb-teams-forge-2001.1.4.jar
ftb-xmod-compat-forge-2.0.1.jar
fusion-1.0.6-forge-mc1.20.1.jar
gamemenumodoption-mc1.20.1-2.2.1.jar
guardvillagers-1.20-1.6.2.jar
ImmediatelyFast-1.2.6+1.20.2.jar
immersive_aircraft-0.6.2+1.20.1-forge.jar
immersive_paintings-0.6.7+1.20.1-forge.jar
interiors-0.3.1-1.20.x.jar
inventorysorter-1.20.1-23.0.1.jar
item-filters-forge-2001.1.0-build.55.jar
Jade-1.20.1-forge-11.6.1.jar
JadeAddons-1.20.1-forge-5.2.0.jar.disabled
jei-1.20.1-forge-15.2.0.27.jar
JustEnoughProfessions-forge-1.20.1-3.0.1.jar
JustEnoughResources-1.20.1-1.4.0.238.jar
Kambrik-6.1.1+1.20.1-forge.jar
konkrete_forge_1.6.1-2_MC_1.20.jar
kotlinforforge-4.4.0-all.jar
libraryferret-forge-1.20.1-4.0.0.jar
lootr-1.20-0.7.30.73.jar
mcw-bridges-2.1.1-mc1.20.1forge.jar
mcw-doors-1.1.0forge-mc1.20.1.jar
mcw-fences-1.0.7-mc1.20.1forge.jar
mcw-trapdoors-1.1.1-mc1.20.1forge.jar
Mekanism-1.20.1-10.4.0.14.jar
MekanismAdditions-1.20.1-10.4.0.14.jar
MekanismGenerators-1.20.1-10.4.0.14.jar
MekanismTools-1.20.1-10.4.0.14.jar
modernfix-forge-5.8.1+mc1.20.1.jar
MouseTweaks-forge-mc1.20-2.25.jar
NaturesCompass-1.20.1-1.11.2-forge.jar
NoChatReports-FABRIC-1.20.1-v2.2.2.jar
notenoughanimations-forge-1.6.4-mc1.20.jar
okzoomer-forge-1.20-3.0.1.jar
polymorph-forge-0.49.0+1.20.1.jar
PuzzlesLib-v8.0.24-1.20.1-Forge.jar
rechiseled-1.1.4a-forge-mc1.20.jar
rechiseledcreate-1.0.1-forge-mc1.20.jar
resourcefullib-forge-1.20.1-2.1.11.jar
Searchables-forge-1.20.1-1.0.2.jar
sliceanddice-forge-3.2.0.jar
sophisticatedbackpacks-1.20.1-3.18.59.909.jar
sophisticatedcore-1.20.1-0.5.89.425.jar
soundphysics-forge-1.20.1-1.2.1.jar
Steam_Rails-1.5.3+forge-mc1.20.1.jar
storagedrawers-1.20.1-12.0.2.jar
StrawStatues-v8.0.1-1.20.1-Forge.jar
supermartijn642configlib-1.1.8-forge-mc1.20.jar
supermartijn642corelib-1.1.15-forge-mc1.20.jar
TerraBlender-forge-1.20.1-3.0.0.169.jar
villagernames-1.20.1-5.2.jar
worldedit-mod-7.2.15.jar
XaeroPlus-Forge-1.20.1-43-WM1.34.1-MM23.8.2.jar
Xaeros_Minimap_23.8.2_Forge_1.20.jar
XaerosWorldMap_1.34.1_Forge_1.20.jar
Additional Context
No response
I'm getting the same behavior on 1.20.1 when setting the schedule to throttle with a delay condition.
Looking at the error, it's possible that in the class com.simibubi.create.content.trains.schedule.ScheduleRuntime.handler
method startCustomInstruction
, the mod is trying to get a nonexistent index from the schedule, resulting in a crash (specifically at ScheduleRuntime.java:1055
).
I can confirm this, for anyone trying to rescue their world, I "fixed" it by removing the data/create_tracks.dat
file in the world folder. I think this will remove all trains and the tracks need to be updated.
The same crash happens when you do station.setSchedule({ cyclic = false, entries = {} })
instead of just station.setSchedule({})
.
my 2 cents are that the method being reference is not properly accounting for the size of the array; in jojo's case, its when the list is empty and creates and out-of-bounds error. The method itself is not being handled correctly or has any sort of "failsafe" to prevent this crash from happening when the set or get of the sqedule is an empty array