Class ServerClockManager
java.lang.Object
net.minecraft.world.level.saveddata.SavedData
net.minecraft.world.clock.ServerClockManager
- All Implemented Interfaces:
ClockManager
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map<Holder<WorldClock>, ServerClockManager.ClockInstance> private final PackedClockStatesprivate MinecraftServerstatic final SavedDataType<ServerClockManager> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddTicks(Holder<WorldClock> clock, int ticks) floatgetFractionalTick(Holder<WorldClock> definition) private longprivate ServerClockManager.ClockInstancegetInstance(Holder<WorldClock> definition) floatgetSpeed(Holder<WorldClock> definition) Returns the current ratio between game ticks and clock ticks.longgetTotalTicks(Holder<WorldClock> definition) voidinit(MinecraftServer server) booleanisAtTimeMarker(Holder<WorldClock> clock, ResourceKey<ClockTimeMarker> timeMarkerId) private voidmodifyClock(Holder<WorldClock> clock, Consumer<? super ServerClockManager.ClockInstance> action) private voidregisterTimeMarker(ResourceKey<ClockTimeMarker> timeMarkerId, ClockTimeMarker timeMarker) voidsetPaused(Holder<WorldClock> clock, boolean paused) voidsetSpeed(Holder<WorldClock> definition, float speed) This allows mods to set the rate at which a specific clock advances relative to game time.voidsetTotalTicks(Holder<WorldClock> clock, long totalTicks) booleanskipToTimeMarker(Holder<WorldClock> clock, ResourceKey<ClockTimeMarker> timeMarkerId) voidtick()
-
Field Details
-
TYPE
-
packedClockStates
-
server
-
clocks
-
-
Constructor Details
-
ServerClockManager
-
-
Method Details
-
init
-
registerTimeMarker
private void registerTimeMarker(ResourceKey<ClockTimeMarker> timeMarkerId, ClockTimeMarker timeMarker) -
packState
-
tick
public void tick() -
getInstance
-
setTotalTicks
-
skipToTimeMarker
public boolean skipToTimeMarker(Holder<WorldClock> clock, ResourceKey<ClockTimeMarker> timeMarkerId) -
addTicks
-
setPaused
-
modifyClock
private void modifyClock(Holder<WorldClock> clock, Consumer<? super ServerClockManager.ClockInstance> action) -
getSpeed
Returns the current ratio between game ticks and clock ticks. This value cannot be 0 or negative. The default is 1. -
getTotalTicks
- Specified by:
getTotalTicksin interfaceClockManager
-
getFractionalTick
- Specified by:
getFractionalTickin interfaceClockManager
-
setSpeed
This allows mods to set the rate at which a specific clock advances relative to game time.This can be sped up for shorter days by giving a higher number, or slowed down for longer days with a smaller number. A negative value will reset it back to vanilla logic.
This value can also be changed with the command
/neoforge day, where you can set either the speed or a day length in minutes.This has no effect when time progression is stopped.
While this still technically works when vanilla clients are connected, those will desync and experience a time jump once per second.
- Specified by:
setSpeedin interfaceClockManager
-
createFullSyncPacket
-
getGameTime
private long getGameTime() -
isAtTimeMarker
-
commandTimeMarkersForClock
-