57 lines
2.3 KiB
Java
57 lines
2.3 KiB
Java
package io.github.skippyall.minions;
|
|
|
|
import eu.pb4.polymer.core.api.entity.PolymerEntityUtils;
|
|
import io.github.skippyall.minions.command.MinionsCommand;
|
|
import io.github.skippyall.minions.minion.fakeplayer.MinionFakePlayer;
|
|
import io.github.skippyall.minions.minion.MinionData;
|
|
import io.github.skippyall.minions.minion.MinionPersistentState;
|
|
import io.github.skippyall.minions.minion.skin.SkinProviders;
|
|
import io.github.skippyall.minions.mixins.PlayerListEntryS2CPacket$EntryMixin;
|
|
import io.github.skippyall.minions.new_module.MinionModule;
|
|
import io.github.skippyall.minions.new_module.ModuleLoader;
|
|
import io.github.skippyall.minions.new_program.instruction.Instructions;
|
|
import io.github.skippyall.minions.new_program.value.ValueTypes;
|
|
import net.fabricmc.api.ModInitializer;
|
|
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
|
|
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
|
|
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
|
|
import net.minecraft.client.network.ClientPlayNetworkHandler;
|
|
import net.minecraft.entity.player.PlayerEntity;
|
|
import net.minecraft.resource.ResourceType;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
public class Minions implements ModInitializer {
|
|
public static final String MOD_ID = "minions";
|
|
|
|
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
|
|
|
|
@Override
|
|
public void onInitialize() {
|
|
Instructions.register();
|
|
|
|
MinionData.register();
|
|
MinionModule.register();
|
|
|
|
ServerLifecycleEvents.SERVER_STARTED.register(server -> {
|
|
MinionPersistentState.create(server);
|
|
MinionPersistentState.INSTANCE.getMinionData().forEach((uuid, data) -> {
|
|
if(data.isSpawned()) {
|
|
MinionFakePlayer.spawnMinion(data, server.getOverworld(), null, null, true);
|
|
}
|
|
});
|
|
});
|
|
|
|
CommandRegistrationCallback.EVENT.register((commandDispatcher, commandRegistryAccess, registrationEnvironment) -> {
|
|
MinionsCommand.register(commandDispatcher);
|
|
});
|
|
|
|
ValueTypes.register();
|
|
SkinProviders.register();
|
|
MinionItems.register();
|
|
MinionCreativeTab.registerGroup();
|
|
|
|
ResourceManagerHelper.get(ResourceType.SERVER_DATA).registerReloadListener(new ModuleLoader());
|
|
}
|
|
}
|