11package symbolics .division .meret ;
22
3- import com .mojang .brigadier .Command ;
43import com .mojang .brigadier .CommandDispatcher ;
54import com .mojang .brigadier .arguments .BoolArgumentType ;
65import com .mojang .brigadier .arguments .IntegerArgumentType ;
7- import com .mojang .brigadier .builder .ArgumentBuilder ;
8- import com .mojang .brigadier .builder .RequiredArgumentBuilder ;
9- import com .mojang .brigadier .suggestion .SuggestionProvider ;
106import dev .doublekekse .area_lib .Area ;
117import dev .doublekekse .area_lib .command .argument .AreaArgument ;
128import net .minecraft .ChatFormatting ;
139import net .minecraft .commands .CommandBuildContext ;
1410import net .minecraft .commands .CommandSourceStack ;
1511import net .minecraft .commands .Commands ;
16- import net .minecraft .commands .SharedSuggestionProvider ;
1712import net .minecraft .commands .arguments .ResourceLocationArgument ;
18- import net .minecraft .commands .arguments .ResourceOrTagKeyArgument ;
1913import net .minecraft .commands .synchronization .SuggestionProviders ;
2014import net .minecraft .core .Holder ;
2115import net .minecraft .network .chat .Component ;
@@ -52,17 +46,6 @@ private static int setMusic(Consumer<Component> feedback, MinecraftServer server
5246 return 1 ;
5347 }
5448
55- private static int setMusicCategory (Consumer <Component > feedback , MinecraftServer server , Area area , ResourceLocation tag , int minInterval , int maxInterval , boolean replaceCurrentMusic ) {
56- area .put (server , Meret .AREA_MUSIC_DATA_COMPONENT , new AreaMusicComponent (tag , minInterval , maxInterval , replaceCurrentMusic ));
57- feedback .accept (feedback (ChatFormatting .GREEN ,
58- Component .literal ("music override for " ),
59- Component .literal (area .getId ().toString ()).withStyle (ChatFormatting .WHITE ),
60- Component .literal (" set to category " ),
61- Component .literal (tag .toString ()).withStyle (ChatFormatting .WHITE )
62- ));
63- return 1 ;
64- }
65-
6649 private static int clearMusic (Consumer <Component > feedback , MinecraftServer server , Area area ) {
6750 if (!area .has (Meret .AREA_MUSIC_DATA_COMPONENT )) {
6851 feedback .accept (feedback (ChatFormatting .YELLOW ,
@@ -78,46 +61,26 @@ private static int clearMusic(Consumer<Component> feedback, MinecraftServer serv
7861 return 1 ;
7962 }
8063
81- private static RequiredArgumentBuilder <CommandSourceStack , Integer > applyMusicArguments (Command <CommandSourceStack > executor ) {
82- return argument ("minDelay" , IntegerArgumentType .integer (0 ))
83- .then (argument ("maxDelay" , IntegerArgumentType .integer (0 ))
84- .then (argument ("replaceCurrent" , BoolArgumentType .bool ())
85- .executes (executor )
86- )
87- );
88- }
89-
9064 public static void register (CommandDispatcher <CommandSourceStack > dispatcher , CommandBuildContext context , Commands .CommandSelection selection ) {
9165 dispatcher .register (
9266 literal ("meret" )
9367 .then (literal ("set" )
9468 .then (argument ("area" , AreaArgument .area ())
9569 .then (argument ("sound" , ResourceLocationArgument .id ())
9670 .suggests (SuggestionProviders .AVAILABLE_SOUNDS )
97- .then (
98- applyMusicArguments (c -> setMusic (
99- c .getSource ()::sendSystemMessage ,
100- c .getSource ().getServer (),
101- AreaArgument .getArea (c , "area" ),
102- ResourceLocationArgument .getId (c , "sound" ),
103- IntegerArgumentType .getInteger (c , "minDelay" ),
104- IntegerArgumentType .getInteger (c , "maxDelay" ),
105- BoolArgumentType .getBool (c , "replaceCurrent" )
106- ))
107- )
108- )
109- .then (literal ("category" )
110- .then (argument ("category" , ResourceLocationArgument .id ())
111- .then (
112- applyMusicArguments (c -> setMusicCategory (
113- c .getSource ()::sendSystemMessage ,
114- c .getSource ().getServer (),
115- AreaArgument .getArea (c , "area" ),
116- ResourceLocationArgument .getId (c , "category" ),
117- IntegerArgumentType .getInteger (c , "minDelay" ),
118- IntegerArgumentType .getInteger (c , "maxDelay" ),
119- BoolArgumentType .getBool (c , "replaceCurrent" )
120- ))
71+ .then (argument ("minDelay" , IntegerArgumentType .integer (0 ))
72+ .then (argument ("maxDelay" , IntegerArgumentType .integer (0 ))
73+ .then (argument ("replaceCurrent" , BoolArgumentType .bool ())
74+ .executes (c -> setMusic (
75+ c .getSource ()::sendSystemMessage ,
76+ c .getSource ().getServer (),
77+ AreaArgument .getArea (c , "area" ),
78+ ResourceLocationArgument .getId (c , "sound" ),
79+ IntegerArgumentType .getInteger (c , "minDelay" ),
80+ IntegerArgumentType .getInteger (c , "maxDelay" ),
81+ BoolArgumentType .getBool (c , "replaceCurrent" )
82+ ))
83+ )
12184 )
12285 )
12386 )
0 commit comments