Use own event distribution system instead abusing fabric's one
This commit is contained in:
@@ -4,6 +4,7 @@ import com.replaymod.core.Module;
|
||||
import com.replaymod.core.ReplayMod;
|
||||
import com.replaymod.render.utils.RenderJob;
|
||||
import com.replaymod.replay.events.ReplayClosedCallback;
|
||||
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
||||
import net.minecraft.util.crash.CrashReport;
|
||||
import net.minecraft.util.crash.CrashException;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
@@ -18,7 +19,7 @@ import java.util.List;
|
||||
|
||||
import static com.replaymod.core.versions.MCVer.*;
|
||||
|
||||
public class ReplayModRender implements Module {
|
||||
public class ReplayModRender extends EventRegistrations implements Module {
|
||||
{ instance = this; }
|
||||
public static ReplayModRender instance;
|
||||
|
||||
@@ -40,7 +41,9 @@ public class ReplayModRender implements Module {
|
||||
|
||||
@Override
|
||||
public void initClient() {
|
||||
ReplayClosedCallback.EVENT.register(replayHandler -> renderQueue.clear());
|
||||
on(ReplayClosedCallback.EVENT, replayHandler -> renderQueue.clear());
|
||||
|
||||
register();
|
||||
}
|
||||
|
||||
public File getVideoFolder() {
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
package com.replaymod.render.events;
|
||||
|
||||
import com.replaymod.render.rendering.VideoRenderer;
|
||||
import net.fabricmc.fabric.api.event.Event;
|
||||
import net.fabricmc.fabric.api.event.EventFactory;
|
||||
import de.johni0702.minecraft.gui.utils.Event;
|
||||
|
||||
public interface ReplayRenderCallback {
|
||||
interface Pre {
|
||||
Event<Pre> EVENT = EventFactory.createArrayBacked(Pre.class,
|
||||
(listeners) -> (renderer) -> {
|
||||
Event<Pre> EVENT = Event.create((listeners) ->
|
||||
(renderer) -> {
|
||||
for (Pre listener : listeners) {
|
||||
listener.beforeRendering(renderer);
|
||||
}
|
||||
@@ -17,8 +16,8 @@ public interface ReplayRenderCallback {
|
||||
}
|
||||
|
||||
interface Post {
|
||||
Event<Post> EVENT = EventFactory.createArrayBacked(Post.class,
|
||||
(listeners) -> (renderer) -> {
|
||||
Event<Post> EVENT = Event.create((listeners) ->
|
||||
(renderer) -> {
|
||||
for (Post listener : listeners) {
|
||||
listener.afterRendering(renderer);
|
||||
}
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
package com.replaymod.render.hooks;
|
||||
|
||||
import net.fabricmc.fabric.api.event.Event;
|
||||
import net.fabricmc.fabric.api.event.EventFactory;
|
||||
import de.johni0702.minecraft.gui.utils.Event;
|
||||
|
||||
public interface FogStateCallback {
|
||||
Event<FogStateCallback> EVENT = EventFactory.createArrayBacked(FogStateCallback.class,
|
||||
(enabled) -> {},
|
||||
(listeners) -> (enabled) -> {
|
||||
Event<FogStateCallback> EVENT = Event.create((listeners) ->
|
||||
(enabled) -> {
|
||||
for (FogStateCallback listener : listeners) {
|
||||
listener.fogStateChanged(enabled);
|
||||
}
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
void fogStateChanged(boolean enabled);
|
||||
}
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
package com.replaymod.render.hooks;
|
||||
|
||||
import net.fabricmc.fabric.api.event.Event;
|
||||
import net.fabricmc.fabric.api.event.EventFactory;
|
||||
import de.johni0702.minecraft.gui.utils.Event;
|
||||
|
||||
public interface Texture2DStateCallback {
|
||||
Event<Texture2DStateCallback> EVENT = EventFactory.createArrayBacked(Texture2DStateCallback.class,
|
||||
(slot, enabled) -> {},
|
||||
(listeners) -> (slot, enabled) -> {
|
||||
Event<Texture2DStateCallback> EVENT = Event.create((listeners) ->
|
||||
(slot, enabled) -> {
|
||||
for (Texture2DStateCallback listener : listeners) {
|
||||
listener.texture2DStateChanged(slot, enabled);
|
||||
}
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
void texture2DStateChanged(int slot, boolean enabled);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user