45 lines
2.1 KiB
Java
45 lines
2.1 KiB
Java
package wtf.hak.survivalfabric;
|
|
|
|
import net.fabricmc.api.ModInitializer;
|
|
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
|
|
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerEntityEvents;
|
|
import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents;
|
|
import net.minecraft.server.network.ServerPlayerEntity;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import wtf.hak.survivalfabric.commands.ReloadConfigCommand;
|
|
import wtf.hak.survivalfabric.commands.SlimeChunkCommand;
|
|
import wtf.hak.survivalfabric.commands.SpectatorCommand;
|
|
import wtf.hak.survivalfabric.features.sharedenderchest.SharedEnderChest;
|
|
import wtf.hak.survivalfabric.features.veinminer.VeinMinerEvents;
|
|
|
|
import static wtf.hak.survivalfabric.config.ConfigManager.getConfig;
|
|
|
|
public class SurvivalFabric implements ModInitializer {
|
|
|
|
public static final String MOD_ID = "survivalfabric";
|
|
|
|
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
|
|
|
|
@Override
|
|
public void onInitialize() {
|
|
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> SpectatorCommand.register(dispatcher, "spectator", "s", "S", "camera", "c", "C"));
|
|
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> ReloadConfigCommand.register(dispatcher, "reloadsurvivalconfig"));
|
|
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> SlimeChunkCommand.register(dispatcher, "slimechunk", "sc"));
|
|
|
|
if (getConfig().sharedEnderChestEnabled)
|
|
new SharedEnderChest().onInitialize();
|
|
|
|
if (getConfig().veinMinerEnabled) {
|
|
PlayerBlockBreakEvents.BEFORE.register((world, player, pos, state, blockEntity) -> {
|
|
if (player instanceof ServerPlayerEntity serverPlayer && getConfig().veinMinerEnabled) {
|
|
return VeinMinerEvents.beforeBlockBreak(world, serverPlayer, pos, state);
|
|
} else {
|
|
return true;
|
|
}
|
|
});
|
|
|
|
ServerEntityEvents.ENTITY_LOAD.register(VeinMinerEvents::onEntityLoad);
|
|
}
|
|
}
|
|
} |