WIP: [retarget upstream] Task Scheduler #4716
No reviewers
Labels
No Label
#P1 CRITICAL
#P2: HIGH
#P3: elevated
#P4 priority: medium
#P6: low
#Review
annoying
API
bug
code quality
combat
commands
compatibility
configurability
contribution inside
controls
core feature
creative mode
delayed for engine release
documentation
duplicate
enhancement
environment
feature request
gameplay
graphics
ground content conflict
GUI/HUD
help wanted
incomplete feature
invalid / won't fix
items
looking for contributor
mapgen
meta
Minecraft >= 1.13
Minecraft >= 1.17
missing feature
mobile
mobs
mod support
model needed
multiplayer
Needs adoption
needs discussion
needs engine change
needs more information
needs research
nodes
non-mob entities
performance
player
possible close
redstone
release notes
schematics
Skyblock
sounds
Testing / Retest
tools
translation
unconfirmed
VL+
mcl5
mcla
Media missing
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Blocks
Depends on
#4717 WIP: [retarget upstream] Block Updates, Observer Rewrite
VoxeLibre/VoxeLibre
#4714 Automated testing
VoxeLibre/VoxeLibre
Reference: VoxeLibre/VoxeLibre#4716
Loading…
Reference in New Issue
No description provided.
Delete Branch "scheduler"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This is part of a series of PRs that will be updating redstone functionality. This adds a general purpose scheduler to VoxeLibre. While this does not update redstone behavior directly, I plan on using priority levels 1, 3 and 4 as part of the follow-on redstone updates. In particular, the planned change from mesecons-based redstone power flood-fill to a netlist-based circuit with eventual-update redstone visuals would use priority levels 2 (circuit update) and 3 or 4 (visual update).
The scheduler includes these main parts:
The four priority levels are intended for these uses:
The scheduler replaces the builtin
core.after()
and takes over scheduling these tasks. The scheduler takes the functions incore.registered_globalsteps
, creates a code generated function for dispatch and execute this as part of dispatching priority 2 tasks.Tasks
vl_scheduler.register_serializable(identifier, callback)
Testing
cd mods/CORE/vl_scheduler; busted unit-test.lua
WIP: Redstone Updates #1: Schedulerto WIP: Redstone Update Part 1: SchedulerWIP: Redstone Update Part 1: Schedulerto WIP: Task SchedulerHad crash when running overnight:
Next crash (occurred when killing myself with arrows):
8dac0a34ef
tob6869c9211
e75be34a89
tofca66afac2
fca66afac2
toaf493b6b0f
af493b6b0f
to7eafdfbf62
WIP: Task Schedulerto WIP: [retarget upstream] Task Scheduler7a798f261f
to7176ad30f9
7176ad30f9
to307d35febb
d44096fa6b
todde4a0235c
Step 1:
From your project repository, check out a new branch and test the changes.Step 2:
Merge the changes and update on Gitea.