c36346b97d
# Conflicts: # src/main/java/com/simibubi/create/content/contraptions/goggles/GoggleConfigScreen.java # src/main/java/com/simibubi/create/foundation/command/AllCommands.java # src/main/java/com/simibubi/create/foundation/command/FabulousWarningCommand.java # src/main/java/com/simibubi/create/foundation/command/OverlayConfigCommand.java # src/main/java/com/simibubi/create/foundation/command/PonderCommand.java # src/main/java/com/simibubi/create/foundation/command/ToggleDebugCommand.java # src/main/java/com/simibubi/create/foundation/command/ToggleExperimentalRenderingCommand.java # src/main/java/com/simibubi/create/foundation/gui/AbstractSimiContainerScreen.java # src/main/java/com/simibubi/create/foundation/gui/AbstractSimiScreen.java # src/main/java/com/simibubi/create/foundation/gui/AllIcons.java # src/main/java/com/simibubi/create/foundation/gui/UIRenderHelper.java # src/main/java/com/simibubi/create/foundation/ponder/NavigatableSimiScreen.java # src/main/java/com/simibubi/create/foundation/ponder/PonderProgressBar.java # src/main/java/com/simibubi/create/foundation/ponder/PonderUI.java # src/main/java/com/simibubi/create/foundation/ponder/content/PonderIndexScreen.java # src/main/java/com/simibubi/create/foundation/ponder/content/PonderTagScreen.java # src/main/java/com/simibubi/create/foundation/ponder/ui/ChapterLabel.java # src/main/java/com/simibubi/create/foundation/ponder/ui/PonderButton.java # src/main/resources/create.mixins.json
60 lines
1.6 KiB
Java
60 lines
1.6 KiB
Java
package com.simibubi.create.foundation.utility;
|
|
|
|
import com.simibubi.create.foundation.ponder.PonderUI;
|
|
import com.simibubi.create.foundation.ponder.PonderWorld;
|
|
import com.simibubi.create.foundation.utility.worldWrappers.WrappedClientWorld;
|
|
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraft.world.IWorld;
|
|
|
|
public class AnimationTickHolder {
|
|
|
|
private static int ticks;
|
|
private static int paused_ticks;
|
|
|
|
public static void reset() {
|
|
ticks = 0;
|
|
paused_ticks = 0;
|
|
}
|
|
|
|
public static void tick() {
|
|
if (!Minecraft.getInstance()
|
|
.isGamePaused()) {
|
|
ticks = (ticks + 1) % 1_728_000; // wrap around every 24 hours so we maintain enough floating point precision
|
|
} else {
|
|
paused_ticks = (paused_ticks + 1) % 1_728_000;
|
|
}
|
|
}
|
|
|
|
public static int getTicks() {
|
|
return getTicks(false);
|
|
}
|
|
|
|
public static int getTicks(boolean includePaused) {
|
|
return includePaused ? ticks + paused_ticks : ticks;
|
|
}
|
|
|
|
public static float getRenderTime() {
|
|
return getTicks() + getPartialTicks();
|
|
}
|
|
|
|
public static float getPartialTicks() {
|
|
Minecraft mc = Minecraft.getInstance();
|
|
return (mc.isGamePaused() ? mc.renderPartialTicksPaused : mc.getRenderPartialTicks());
|
|
}
|
|
|
|
public static int getTicks(IWorld world) {
|
|
if (world instanceof WrappedClientWorld)
|
|
return getTicks(((WrappedClientWorld) world).getWrappedWorld());
|
|
return world instanceof PonderWorld ? PonderUI.ponderTicks : getTicks();
|
|
}
|
|
|
|
public static float getRenderTime(IWorld world) {
|
|
return getTicks(world) + getPartialTicks(world);
|
|
}
|
|
|
|
public static float getPartialTicks(IWorld world) {
|
|
return world instanceof PonderWorld ? PonderUI.getPartialTicks() : getPartialTicks();
|
|
}
|
|
}
|