1 package com.irtimaled.bbor.mixin.server;
3 import com.irtimaled.bbor.common.EventBus;
4 import com.irtimaled.bbor.common.events.ServerTick;
5 import com.irtimaled.bbor.common.events.WorldLoaded;
6 import net.minecraft.server.MinecraftServer;
7 import net.minecraft.world.World;
8 import net.minecraft.world.WorldServer;
9 import org.spongepowered.asm.mixin.Mixin;
10 import org.spongepowered.asm.mixin.Shadow;
11 import org.spongepowered.asm.mixin.injection.At;
12 import org.spongepowered.asm.mixin.injection.Inject;
13 import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
15 @Mixin(MinecraftServer.class)
16 public class MixinMinecraftServer {
18 public WorldServer[] worlds;
20 @Inject(method = "initialWorldChunkLoad", at = @At("HEAD"))
21 private void initialWorldChunkLoad(CallbackInfo ci) {
22 for (World world : worlds) {
23 EventBus.publish(new WorldLoaded(world));
27 @Inject(method = "tick", at = @At("RETURN"))
28 private void tick(CallbackInfo ci) {
29 EventBus.publish(new ServerTick());