001/*
002 * Colonel -- a brigadier expansion library
003 * Copyright (C) zml and Colonel contributors
004 *
005 * Licensed under the Apache License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * You may obtain a copy of the License at
008 *
009 *    http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017package ca.stellardrift.colonel.impl;
018
019import fudge.Entrypoint;
020import net.fabricmc.loader.api.entrypoint.PreLaunchEntrypoint;
021
022import java.lang.reflect.InvocationTargetException;
023
024@Entrypoint("preLaunch")
025public class BrigadierMixinEntry implements PreLaunchEntrypoint {
026    @Override
027    public void onPreLaunch() {
028        try {
029            PreLaunchHacks.hackilyLoadForMixin("com.mojang.brigadier.Message");
030        } catch (ClassNotFoundException | InvocationTargetException | IllegalAccessException e) {
031            throw new IllegalStateException("Unable to initialize Brigadier Mixins, will not be able to inject");
032        }
033    }
034}