1212import net .minecraft .network .PacketBuffer ;
1313import net .minecraft .network .play .client .CPacketCustomPayload ;
1414import net .minecraft .server .MinecraftServer ;
15+ import net .minecraft .util .math .BlockPos ;
1516import net .minecraft .util .text .TextComponentString ;
1617import net .minecraft .util .text .TextComponentTranslation ;
1718
19+ import javax .annotation .Nullable ;
1820import java .util .ArrayList ;
21+ import java .util .Collections ;
1922import java .util .List ;
2023import java .util .Random ;
2124import java .util .function .IntSupplier ;
@@ -54,7 +57,7 @@ public void execute(MinecraftServer server, ICommandSender sender, String[] args
5457 characterGenerator = IntStream .generate (() -> 0x10ffff );
5558 break ;
5659 case "random" :
57- characterGenerator = new Random ().ints (0x80 , 0x10ffff + 0x800 ).map (i -> i < 0xd800 ? i : i + 0x800 );
60+ characterGenerator = new Random ().ints (0x80 , 0x10ffff - 0x800 ).map (i -> i < 0xd800 ? i : i + 0x800 );
5861 break ;
5962 default :
6063 throw new CommandException (getUsage (sender ));
@@ -78,4 +81,15 @@ public void execute(MinecraftServer server, ICommandSender sender, String[] args
7881
7982 sender .sendMessage (new TextComponentTranslation ("commands.cbook.success" ));
8083 }
84+
85+ @ Override
86+ public List <String > getTabCompletions (MinecraftServer server , ICommandSender sender , String [] args , @ Nullable BlockPos targetPos ) {
87+ if (args .length == 0 ) {
88+ return Collections .emptyList ();
89+ }
90+ if (args .length == 1 ) {
91+ return getListOfStringsMatchingLastWord (args , "fill" , "random" );
92+ }
93+ return Collections .emptyList ();
94+ }
8195}
0 commit comments