@ -39,17 +39,18 @@ import org.spongepowered.asm.mixin.injection.Redirect;
public class ArgumentNodeMixin {
public class ArgumentNodeMixin {
@Invoker ( "<init>" )
@Invoker ( "<init>" )
private static ArgumentNode createArgumentNode ( String name , ArgumentSerializer . ArgumentTypeProperties < ? > properties , @Nullable Identifier id ) {
private static ArgumentNode createArgumentNode ( String name , ArgumentSerializer . ArgumentTypeProperties < ? > properties ,
@Nullable Identifier id ) {
throw new AssertionError ( ) ;
throw new AssertionError ( ) ;
}
}
@Redirect ( method = "<init>(Lcom/mojang/brigadier/tree/ArgumentCommandNode;)V" , at = @At ( "HEAD" ) )
@Redirect ( method = "<init>(Lcom/mojang/brigadier/tree/ArgumentCommandNode;)V" , at = @At ( "HEAD" ) )
private static < A > ArgumentNode onConstruct ( ArgumentCommandNode < CommandSource , A > node ) {
private static ArgumentNode onConstruct ( ArgumentCommandNode < CommandSource , ? > node ) {
ArgumentSerializer . ArgumentTypeProperties < ? > properties ;
ArgumentSerializer . ArgumentTypeProperties < ? > properties ;
try {
try {
properties = ArgumentTypes . get ( node . getType ( ) ) . get ArgumentTypeProperties( node . getType ( ) ) ;
properties = ArgumentTypes . get ArgumentTypeProperties( node . getType ( ) ) ;
} catch ( IllegalArgumentException e ) {
} catch ( IllegalArgumentException e ) {
properties = ArgumentTypes . get ( StringArgumentType . string ( ) ) . get ArgumentTypeProperties( StringArgumentType . string ( ) ) ;
properties = ArgumentTypes . get ArgumentTypeProperties( StringArgumentType . string ( ) ) ;
}
}
return createArgumentNode (
return createArgumentNode (