mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2024-06-26 12:31:45 +00:00
49 lines
1.4 KiB
Java
49 lines
1.4 KiB
Java
package com.sk89q.worldedit.command.util.annotation;
|
|
|
|
import com.fastasyncworldedit.core.Fawe;
|
|
import com.fastasyncworldedit.core.queue.implementation.preloader.Preloader;
|
|
import com.sk89q.worldedit.EditSession;
|
|
import com.sk89q.worldedit.extension.platform.Actor;
|
|
import com.sk89q.worldedit.world.World;
|
|
import org.enginehub.piston.inject.InjectAnnotation;
|
|
import org.enginehub.piston.inject.InjectedValueAccess;
|
|
import org.enginehub.piston.inject.Key;
|
|
|
|
import java.lang.annotation.ElementType;
|
|
import java.lang.annotation.Retention;
|
|
import java.lang.annotation.RetentionPolicy;
|
|
import java.lang.annotation.Target;
|
|
|
|
/**
|
|
* Indicates how the affected blocks should be hinted at in the log.
|
|
*/
|
|
@Retention(RetentionPolicy.RUNTIME)
|
|
@Target({
|
|
ElementType.PARAMETER,
|
|
ElementType.METHOD
|
|
})
|
|
@InjectAnnotation
|
|
public @interface Preload {
|
|
|
|
PreloadCheck value() default PreloadCheck.NEVER;
|
|
|
|
enum PreloadCheck {
|
|
PRELOAD {
|
|
@Override
|
|
public void preload(Actor actor, InjectedValueAccess context) {
|
|
World world = context.injectedValue(Key.of(EditSession.class)).get().getWorld();
|
|
Preloader preloader = Fawe.platform().getPreloader(true);
|
|
if (preloader != null) {
|
|
preloader.update(actor, world);
|
|
}
|
|
}
|
|
},
|
|
|
|
NEVER {};
|
|
|
|
public void preload(Actor actor, InjectedValueAccess context) {
|
|
}
|
|
}
|
|
|
|
}
|