2019-11-25 06:29:25 +00:00
package com.burnedkirby.TurnBasedMinecraft.common ;
2018-08-28 02:26:34 +00:00
2019-11-25 06:29:25 +00:00
import com.burnedkirby.TurnBasedMinecraft.client.ClientProxy ;
import com.burnedkirby.TurnBasedMinecraft.common.networking.* ;
2019-11-27 07:55:48 +00:00
import com.mojang.brigadier.LiteralMessage ;
import com.mojang.brigadier.Message ;
2019-11-28 07:32:34 +00:00
import com.mojang.brigadier.arguments.BoolArgumentType ;
import com.mojang.brigadier.arguments.IntegerArgumentType ;
2019-11-27 07:55:48 +00:00
import com.mojang.brigadier.arguments.StringArgumentType ;
import com.mojang.brigadier.exceptions.CommandSyntaxException ;
import com.mojang.brigadier.exceptions.SimpleCommandExceptionType ;
2022-06-09 07:42:21 +00:00
import net.minecraft.ChatFormatting ;
2022-05-17 05:47:42 +00:00
import net.minecraft.commands.Commands ;
import net.minecraft.commands.arguments.EntityArgument ;
2022-06-08 10:22:45 +00:00
import net.minecraft.network.chat.ClickEvent ;
2022-08-03 05:46:33 +00:00
import net.minecraft.network.chat.Component ;
2022-08-23 04:28:49 +00:00
import net.minecraft.network.chat.HoverEvent ;
2022-08-03 05:46:33 +00:00
import net.minecraft.network.chat.MutableComponent ;
2022-05-17 05:47:42 +00:00
import net.minecraft.resources.ResourceLocation ;
import net.minecraft.server.level.ServerPlayer ;
2018-09-12 05:43:59 +00:00
import net.minecraftforge.common.MinecraftForge ;
2022-05-17 05:47:42 +00:00
import net.minecraftforge.event.RegisterCommandsEvent ;
import net.minecraftforge.event.server.ServerStartingEvent ;
import net.minecraftforge.event.server.ServerStoppingEvent ;
2019-10-21 07:13:11 +00:00
import net.minecraftforge.eventbus.api.SubscribeEvent ;
import net.minecraftforge.fml.DistExecutor ;
2018-08-28 02:26:34 +00:00
import net.minecraftforge.fml.common.Mod ;
2019-10-21 07:13:11 +00:00
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent ;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent ;
import net.minecraftforge.fml.event.lifecycle.FMLDedicatedServerSetupEvent ;
2019-11-28 07:32:34 +00:00
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext ;
2022-05-17 05:47:42 +00:00
import net.minecraftforge.network.NetworkRegistry ;
import net.minecraftforge.network.PacketDistributor ;
import net.minecraftforge.network.simple.SimpleChannel ;
2019-10-21 07:13:11 +00:00
import org.apache.logging.log4j.LogManager ;
import org.apache.logging.log4j.Logger ;
2018-08-28 02:26:34 +00:00
2019-11-28 07:32:34 +00:00
@Mod ( TurnBasedMinecraftMod . MODID )
2022-05-17 05:47:42 +00:00
public class TurnBasedMinecraftMod {
2019-11-28 07:32:34 +00:00
public static final String MODID = " com_burnedkirby_turnbasedminecraft " ;
2018-08-28 02:26:34 +00:00
public static final String NAME = " Turn Based Minecraft Mod " ;
2023-03-31 05:22:58 +00:00
public static final String VERSION = " 1.22.0 " ;
2018-10-20 08:54:32 +00:00
public static final String CONFIG_FILENAME = " TBM_Config.toml " ;
2019-10-21 07:13:11 +00:00
public static final String DEFAULT_CONFIG_FILENAME = " TBM_Config_DEFAULT.toml " ;
2018-09-03 06:19:33 +00:00
public static final String CONFIG_DIRECTORY = " config/TurnBasedMinecraft/ " ;
public static final String CONFIG_FILE_PATH = CONFIG_DIRECTORY + CONFIG_FILENAME ;
2019-10-21 07:13:11 +00:00
public static final String DEFAULT_CONFIG_FILE_PATH = CONFIG_DIRECTORY + DEFAULT_CONFIG_FILENAME ;
2019-11-28 07:32:34 +00:00
public static final String CONFIG_INTERNAL_PATH = " /assets/com_burnedkirby_turnbasedminecraft/ " + CONFIG_FILENAME ;
2018-09-14 05:14:10 +00:00
public static final String MUSIC_ROOT = CONFIG_DIRECTORY + " Music/ " ;
public static final String MUSIC_SILLY = MUSIC_ROOT + " silly/ " ;
public static final String MUSIC_BATTLE = MUSIC_ROOT + " battle/ " ;
2022-05-17 05:47:42 +00:00
2022-07-21 05:18:12 +00:00
private static final String PROTOCOL_VERSION = Integer . toString ( 2 ) ;
2019-10-21 07:13:11 +00:00
private static final ResourceLocation HANDLER_ID = new ResourceLocation ( MODID , " main_channel " ) ;
private static final SimpleChannel HANDLER = NetworkRegistry . ChannelBuilder
2022-05-17 05:47:42 +00:00
. named ( HANDLER_ID )
. clientAcceptedVersions ( PROTOCOL_VERSION : : equals )
. serverAcceptedVersions ( PROTOCOL_VERSION : : equals )
. networkProtocolVersion ( ( ) - > PROTOCOL_VERSION )
. simpleChannel ( ) ;
2019-10-21 07:13:11 +00:00
protected static Logger logger = LogManager . getLogger ( ) ;
2022-05-17 05:47:42 +00:00
2019-10-21 07:13:11 +00:00
public static ResourceLocation getNetResourceLocation ( ) {
2022-05-17 05:47:42 +00:00
return HANDLER_ID ;
2018-08-28 02:26:34 +00:00
}
2022-05-17 05:47:42 +00:00
2019-10-21 07:13:11 +00:00
public static SimpleChannel getHandler ( ) {
2022-05-17 05:47:42 +00:00
return HANDLER ;
2019-10-21 07:13:11 +00:00
}
2022-05-17 05:47:42 +00:00
2019-10-21 07:13:11 +00:00
public static CommonProxy proxy ;
2018-08-28 02:26:34 +00:00
2019-11-28 07:32:34 +00:00
public TurnBasedMinecraftMod ( ) {
FMLJavaModLoadingContext . get ( ) . getModEventBus ( ) . addListener ( this : : firstInit ) ;
FMLJavaModLoadingContext . get ( ) . getModEventBus ( ) . addListener ( this : : secondInitClient ) ;
FMLJavaModLoadingContext . get ( ) . getModEventBus ( ) . addListener ( this : : secondInitServer ) ;
MinecraftForge . EVENT_BUS . register ( this ) ;
}
2022-05-17 05:47:42 +00:00
private void firstInit ( final FMLCommonSetupEvent event ) {
proxy = DistExecutor . safeRunForDist ( ( ) - > ClientProxy : : new , ( ) - > CommonProxy : : new ) ;
2019-10-21 07:13:11 +00:00
proxy . setLogger ( logger ) ;
2019-11-28 07:32:34 +00:00
proxy . initialize ( ) ;
2018-08-29 06:09:44 +00:00
// register packets
2019-10-21 07:13:11 +00:00
int packetHandlerID = 0 ;
HANDLER . registerMessage (
2022-05-17 05:47:42 +00:00
packetHandlerID + + ,
PacketBattleInfo . class ,
PacketBattleInfo : : encode ,
PacketBattleInfo : : decode ,
PacketBattleInfo : : handle ) ;
2019-10-21 07:13:11 +00:00
HANDLER . registerMessage (
2022-05-17 05:47:42 +00:00
packetHandlerID + + ,
PacketBattleRequestInfo . class ,
PacketBattleRequestInfo : : encode ,
PacketBattleRequestInfo : : decode ,
PacketBattleRequestInfo : : handle ) ;
2019-10-21 07:13:11 +00:00
HANDLER . registerMessage (
2022-05-17 05:47:42 +00:00
packetHandlerID + + ,
PacketBattleDecision . class ,
PacketBattleDecision : : encode ,
PacketBattleDecision : : decode ,
PacketBattleDecision : : handle ) ;
2019-10-21 07:13:11 +00:00
HANDLER . registerMessage (
2022-05-17 05:47:42 +00:00
packetHandlerID + + ,
PacketBattleMessage . class ,
PacketBattleMessage : : encode ,
PacketBattleMessage : : decode ,
PacketBattleMessage : : handle ) ;
2019-10-21 07:13:11 +00:00
HANDLER . registerMessage (
2022-05-17 05:47:42 +00:00
packetHandlerID + + ,
PacketGeneralMessage . class ,
PacketGeneralMessage : : encode ,
PacketGeneralMessage : : decode ,
PacketGeneralMessage : : handle ) ;
2019-10-21 07:13:11 +00:00
HANDLER . registerMessage (
2022-05-17 05:47:42 +00:00
packetHandlerID + + ,
PacketEditingMessage . class ,
PacketEditingMessage : : encode ,
PacketEditingMessage : : decode ,
PacketEditingMessage : : handle ) ;
2018-09-12 05:43:59 +00:00
// register event handler(s)
MinecraftForge . EVENT_BUS . register ( new AttackEventHandler ( ) ) ;
2018-10-17 03:19:16 +00:00
MinecraftForge . EVENT_BUS . register ( new PlayerJoinEventHandler ( ) ) ;
2019-11-29 04:47:39 +00:00
MinecraftForge . EVENT_BUS . register ( new DimensionChangedHandler ( ) ) ;
2022-08-23 04:28:49 +00:00
MinecraftForge . EVENT_BUS . register ( new HurtEventHandler ( ) ) ;
2019-11-28 07:32:34 +00:00
logger . debug ( " Init com_burnedkirby_turnbasedminecraft " ) ;
2018-08-28 06:13:14 +00:00
}
2019-10-21 07:13:11 +00:00
2022-05-17 05:47:42 +00:00
private void secondInitClient ( final FMLClientSetupEvent event ) {
proxy . postInit ( ) ;
2019-10-21 07:13:11 +00:00
}
2022-05-17 05:47:42 +00:00
private void secondInitServer ( final FMLDedicatedServerSetupEvent event ) {
proxy . postInit ( ) ;
2018-09-20 06:15:34 +00:00
}
2022-05-17 05:47:42 +00:00
2019-10-21 07:13:11 +00:00
@SubscribeEvent
2022-05-17 05:47:42 +00:00
public void serverStarting ( ServerStartingEvent event ) {
2018-09-20 06:15:34 +00:00
logger . debug ( " About to initialize BattleManager " ) ;
2022-05-17 05:47:42 +00:00
if ( proxy . initializeBattleManager ( ) ) {
2018-09-20 06:15:34 +00:00
logger . debug ( " Initialized BattleManager " ) ;
}
2022-05-17 05:47:42 +00:00
2018-10-16 05:02:44 +00:00
proxy . getConfig ( ) . clearBattleIgnoringPlayers ( ) ;
2022-05-17 05:47:42 +00:00
}
@SubscribeEvent
public void registerCommands ( RegisterCommandsEvent event ) {
2019-11-25 06:15:17 +00:00
// tbm-disable
2022-05-17 05:47:42 +00:00
event . getDispatcher ( ) . register (
2019-11-25 06:15:17 +00:00
Commands . literal ( " tbm-disable " )
. requires ( c - > {
2021-05-21 05:44:31 +00:00
return ! proxy . getConfig ( ) . getIfOnlyOPsCanDisableTurnBasedForSelf ( ) | | c . hasPermission ( 2 ) ;
2019-11-25 06:15:17 +00:00
} )
2022-05-17 05:47:42 +00:00
. executes ( c - > {
2021-05-21 05:44:31 +00:00
proxy . getConfig ( ) . addBattleIgnoringPlayer ( c . getSource ( ) . getPlayerOrException ( ) . getId ( ) ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendSuccess ( Component . literal ( " Disabled turn-based-combat for current player " ) , true ) ;
2019-11-25 06:15:17 +00:00
return 1 ;
} ) ) ;
// tbm-disable-all
2022-05-17 05:47:42 +00:00
event . getDispatcher ( ) . register (
2019-11-25 06:15:17 +00:00
Commands . literal ( " tbm-disable-all " )
. requires ( c - > {
2021-05-21 05:44:31 +00:00
return c . hasPermission ( 2 ) ;
2019-11-25 06:15:17 +00:00
} )
. executes ( c - > {
proxy . getConfig ( ) . setBattleDisabledForAll ( true ) ;
2022-05-17 05:47:42 +00:00
for ( ServerPlayer player : c . getSource ( ) . getServer ( ) . getPlayerList ( ) . getPlayers ( ) ) {
2021-05-21 05:44:31 +00:00
proxy . getConfig ( ) . addBattleIgnoringPlayer ( player . getId ( ) ) ;
2019-11-25 06:15:17 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketGeneralMessage ( " OP disabled turn-based-combat for everyone " ) ) ;
}
return 1 ;
} ) ) ;
// tbm-enable
2022-05-17 05:47:42 +00:00
event . getDispatcher ( ) . register (
2019-11-25 06:15:17 +00:00
Commands . literal ( " tbm-enable " )
2021-05-21 05:44:31 +00:00
. requires ( c - > ! proxy . getConfig ( ) . getIfOnlyOPsCanDisableTurnBasedForSelf ( ) | | c . hasPermission ( 2 ) )
2019-11-25 06:15:17 +00:00
. executes ( c - > {
2021-05-21 05:44:31 +00:00
proxy . getConfig ( ) . removeBattleIgnoringPlayer ( c . getSource ( ) . getPlayerOrException ( ) . getId ( ) ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendSuccess ( Component . literal ( " Enabled turn-based-combat for current player " ) , true ) ;
2019-11-25 06:15:17 +00:00
return 1 ;
} ) ) ;
// tbm-enable-all
2022-05-17 05:47:42 +00:00
event . getDispatcher ( ) . register (
2019-11-25 06:15:17 +00:00
Commands . literal ( " tbm-enable-all " )
2021-05-21 05:44:31 +00:00
. requires ( c - > c . hasPermission ( 2 ) )
2019-11-25 06:15:17 +00:00
. executes ( c - > {
proxy . getConfig ( ) . setBattleDisabledForAll ( false ) ;
proxy . getConfig ( ) . clearBattleIgnoringPlayers ( ) ;
2022-05-17 05:47:42 +00:00
for ( ServerPlayer player : c . getSource ( ) . getServer ( ) . getPlayerList ( ) . getPlayers ( ) ) {
2019-11-25 06:15:17 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketGeneralMessage ( " OP enabled turn-based-combat for everyone " ) ) ;
}
return 1 ;
} ) ) ;
// tbm-set-enable
2022-05-17 05:47:42 +00:00
event . getDispatcher ( ) . register (
2019-11-25 06:15:17 +00:00
Commands . literal ( " tbm-set-enable " )
2021-05-21 05:44:31 +00:00
. requires ( c - > c . hasPermission ( 2 ) )
2019-11-25 06:15:17 +00:00
. then ( Commands . argument ( " targets " , EntityArgument . players ( ) ) . executes ( c - > {
2022-05-17 05:47:42 +00:00
for ( ServerPlayer player : EntityArgument . getPlayers ( c , " targets " ) ) {
2021-05-21 05:44:31 +00:00
proxy . getConfig ( ) . addBattleIgnoringPlayer ( player . getId ( ) ) ;
2019-11-25 06:15:17 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketGeneralMessage ( " OP enabled turn-based-combat for you " ) ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendSuccess ( Component . literal ( " Enabled turn-based-combat for " + player . getDisplayName ( ) . getString ( ) ) , true ) ;
2019-11-25 06:15:17 +00:00
}
return 1 ;
} ) ) ) ;
// tbm-set-disable
2022-05-17 05:47:42 +00:00
event . getDispatcher ( ) . register (
2019-11-25 06:15:17 +00:00
Commands . literal ( " tbm-set-disable " )
2021-05-21 05:44:31 +00:00
. requires ( c - > c . hasPermission ( 2 ) )
2019-11-25 06:15:17 +00:00
. then ( Commands . argument ( " targets " , EntityArgument . players ( ) ) . executes ( c - > {
2022-05-17 05:47:42 +00:00
for ( ServerPlayer player : EntityArgument . getPlayers ( c , " targets " ) ) {
2021-05-21 05:44:31 +00:00
proxy . getConfig ( ) . removeBattleIgnoringPlayer ( player . getId ( ) ) ;
2019-11-25 06:15:17 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketGeneralMessage ( " OP disabled turn-based-combat for you " ) ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendSuccess ( Component . literal ( " Disabled turn-based-combat for " + player . getDisplayName ( ) . getString ( ) ) , true ) ;
2019-11-25 06:15:17 +00:00
}
return 1 ;
} ) ) ) ;
// tbm-edit
2022-05-17 05:47:42 +00:00
event . getDispatcher ( ) . register (
2019-11-27 07:55:48 +00:00
Commands . literal ( " tbm-edit " )
2021-05-21 05:44:31 +00:00
. requires ( c - > c . hasPermission ( 2 ) )
2019-11-27 07:55:48 +00:00
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-27 07:55:48 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-27 07:55:48 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
2019-11-28 07:32:34 +00:00
proxy . setEditingPlayer ( player ) ;
2019-11-27 07:55:48 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
2021-05-21 05:44:31 +00:00
logger . info ( " Begin editing TBM Entity for player \" " + player . getDisplayName ( ) . getString ( ) + " \" ( \" " + c . getSource ( ) . getDisplayName ( ) + " \" ) " ) ;
2019-11-27 07:55:48 +00:00
}
return 1 ;
} )
2019-11-28 07:32:34 +00:00
. then ( Commands . literal ( " finish " )
2019-11-27 07:55:48 +00:00
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
if ( ! proxy . getConfig ( ) . editEntityEntry ( editingInfo . entityInfo ) ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketGeneralMessage ( " An error occurred while attempting to save an entry to the config " ) ) ;
2021-05-21 05:44:31 +00:00
proxy . removeEditingInfo ( player . getId ( ) ) ;
2019-11-27 07:55:48 +00:00
} else {
2021-05-21 05:44:31 +00:00
proxy . removeEditingInfo ( player . getId ( ) ) ;
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketGeneralMessage ( " Entity info saved in config and loaded. " ) ) ;
2019-11-27 07:55:48 +00:00
}
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-27 07:55:48 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
2019-11-28 07:32:34 +00:00
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} ) )
. then ( Commands . literal ( " cancel " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null ) {
2021-05-21 05:44:31 +00:00
proxy . removeEditingInfo ( player . getId ( ) ) ;
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketGeneralMessage ( " Cancelled editing entry. " ) ) ;
}
return 1 ;
} ) )
. then ( Commands . literal ( " custom " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
Message exceptionMessage = new LiteralMessage ( " Invalid action for tbm-edit " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
proxy . setEditingPlayer ( player ) ;
2021-05-21 05:44:31 +00:00
proxy . getEditingInfo ( player . getId ( ) ) . isEditingCustomName = true ;
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
2021-05-21 05:44:31 +00:00
logger . info ( " Begin editing custom TBM Entity for player \" " + player . getDisplayName ( ) . getString ( ) + " \" ( \" " + c . getSource ( ) . getDisplayName ( ) + " \" ) " ) ;
2019-11-28 07:32:34 +00:00
}
return 1 ;
} ) )
. then ( Commands . literal ( " edit " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} )
. then ( Commands . literal ( " ignoreBattle " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . EDIT_IGNORE_BATTLE ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-27 07:55:48 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
2019-11-28 07:32:34 +00:00
return 1 ;
} )
. then ( Commands . argument ( " ignoreBattle " , BoolArgumentType . bool ( ) )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2019-11-28 07:32:34 +00:00
boolean ignoreBattle = BoolArgumentType . getBool ( c , " ignoreBattle " ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
editingInfo . entityInfo . ignoreBattle = ignoreBattle ;
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} ) )
)
. then ( Commands . literal ( " attackPower " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . EDIT_ATTACK_POWER ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} )
. then ( Commands . argument ( " attackPower " , IntegerArgumentType . integer ( ) )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2019-11-28 07:32:34 +00:00
int attackPower = IntegerArgumentType . getInteger ( c , " attackPower " ) ;
2022-05-17 05:47:42 +00:00
if ( attackPower < 0 ) {
2019-11-28 07:32:34 +00:00
attackPower = 0 ;
}
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
editingInfo . entityInfo . attackPower = attackPower ;
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} ) )
)
. then ( Commands . literal ( " attackProbability " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . EDIT_ATTACK_PROBABILITY ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} )
. then ( Commands . argument ( " attackProbability " , IntegerArgumentType . integer ( ) )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2019-11-28 07:32:34 +00:00
int attackProbability = IntegerArgumentType . getInteger ( c , " attackProbability " ) ;
2022-05-17 05:47:42 +00:00
if ( attackProbability < 0 ) {
2019-11-28 07:32:34 +00:00
attackProbability = 0 ;
2022-05-17 05:47:42 +00:00
} else if ( attackProbability > 100 ) {
2019-11-28 07:32:34 +00:00
attackProbability = 100 ;
}
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
editingInfo . entityInfo . attackProbability = attackProbability ;
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} ) )
)
. then ( Commands . literal ( " attackVariance " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . EDIT_ATTACK_VARIANCE ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} )
. then ( Commands . argument ( " attackVariance " , IntegerArgumentType . integer ( ) )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2019-11-28 07:32:34 +00:00
int attackVariance = IntegerArgumentType . getInteger ( c , " attackVariance " ) ;
2022-05-17 05:47:42 +00:00
if ( attackVariance < 0 ) {
2019-11-28 07:32:34 +00:00
attackVariance = 0 ;
}
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
editingInfo . entityInfo . attackVariance = attackVariance ;
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} ) )
)
. then ( Commands . literal ( " attackEffect " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . EDIT_ATTACK_EFFECT ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} )
. then ( Commands . argument ( " attackEffect " , StringArgumentType . word ( ) )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2019-11-28 07:32:34 +00:00
EntityInfo . Effect effect = EntityInfo . Effect . fromString ( StringArgumentType . getString ( c , " attackEffect " ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
editingInfo . entityInfo . attackEffect = effect ;
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} ) )
)
. then ( Commands . literal ( " attackEffectProbability " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . EDIT_ATTACK_EFFECT_PROBABILITY ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} )
. then ( Commands . argument ( " attackEffectProbability " , IntegerArgumentType . integer ( ) )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2019-11-28 07:32:34 +00:00
int attackEffectProbability = IntegerArgumentType . getInteger ( c , " attackEffectProbability " ) ;
2022-05-17 05:47:42 +00:00
if ( attackEffectProbability < 0 ) {
2019-11-28 07:32:34 +00:00
attackEffectProbability = 0 ;
2022-05-17 05:47:42 +00:00
} else if ( attackEffectProbability > 100 ) {
2019-11-28 07:32:34 +00:00
attackEffectProbability = 100 ;
}
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
editingInfo . entityInfo . attackEffectProbability = attackEffectProbability ;
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} ) )
)
. then ( Commands . literal ( " defenseDamage " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . EDIT_DEFENSE_DAMAGE ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} )
. then ( Commands . argument ( " defenseDamage " , IntegerArgumentType . integer ( ) )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2019-11-28 07:32:34 +00:00
int defenseDamage = IntegerArgumentType . getInteger ( c , " defenseDamage " ) ;
2022-05-17 05:47:42 +00:00
if ( defenseDamage < 0 ) {
2019-11-28 07:32:34 +00:00
defenseDamage = 0 ;
}
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
editingInfo . entityInfo . defenseDamage = defenseDamage ;
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} ) )
)
. then ( Commands . literal ( " defenseDamageProbability " )
2019-11-27 07:55:48 +00:00
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . EDIT_DEFENSE_DAMAGE_PROBABILITY ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} )
. then ( Commands . argument ( " defenseDamageProbability " , IntegerArgumentType . integer ( ) )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2019-11-28 07:32:34 +00:00
int defenseDamageProbability = IntegerArgumentType . getInteger ( c , " defenseDamageProbability " ) ;
2022-05-17 05:47:42 +00:00
if ( defenseDamageProbability < 0 ) {
2019-11-28 07:32:34 +00:00
defenseDamageProbability = 0 ;
2022-05-17 05:47:42 +00:00
} else if ( defenseDamageProbability > 100 ) {
2019-11-28 07:32:34 +00:00
defenseDamageProbability = 100 ;
}
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
editingInfo . entityInfo . defenseDamageProbability = defenseDamageProbability ;
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} ) )
)
. then ( Commands . literal ( " evasion " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . EDIT_EVASION ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} )
. then ( Commands . argument ( " evasion " , IntegerArgumentType . integer ( ) )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2019-11-28 07:32:34 +00:00
int evasion = IntegerArgumentType . getInteger ( c , " evasion " ) ;
2022-05-17 05:47:42 +00:00
if ( evasion < 0 ) {
2019-11-28 07:32:34 +00:00
evasion = 0 ;
2022-05-17 05:47:42 +00:00
} else if ( evasion > 100 ) {
2019-11-28 07:32:34 +00:00
evasion = 100 ;
}
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
editingInfo . entityInfo . evasion = evasion ;
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} ) )
)
. then ( Commands . literal ( " speed " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . EDIT_SPEED ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} )
. then ( Commands . argument ( " speed " , IntegerArgumentType . integer ( ) )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2019-11-28 07:32:34 +00:00
int speed = IntegerArgumentType . getInteger ( c , " speed " ) ;
2022-05-17 05:47:42 +00:00
if ( speed < 0 ) {
2019-11-28 07:32:34 +00:00
speed = 0 ;
}
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
editingInfo . entityInfo . speed = speed ;
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
2019-11-27 07:55:48 +00:00
} else {
2019-11-28 07:32:34 +00:00
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
2019-11-27 07:55:48 +00:00
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
2019-11-28 07:32:34 +00:00
return 1 ;
} ) )
)
. then ( Commands . literal ( " category " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . EDIT_CATEGORY ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-27 07:55:48 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} )
2019-11-28 07:32:34 +00:00
. then ( Commands . argument ( " category " , StringArgumentType . word ( ) )
2019-11-27 07:55:48 +00:00
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2019-11-27 07:55:48 +00:00
String category = StringArgumentType . getString ( c , " category " ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
editingInfo . entityInfo . category = category ;
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} ) )
)
. then ( Commands . literal ( " decisionAttack " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . EDIT_DECISION_ATTACK ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} )
. then ( Commands . argument ( " decisionAttack " , IntegerArgumentType . integer ( ) )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2019-11-28 07:32:34 +00:00
int decisionAttack = IntegerArgumentType . getInteger ( c , " decisionAttack " ) ;
2022-05-17 05:47:42 +00:00
if ( decisionAttack < 0 ) {
2019-11-28 07:32:34 +00:00
decisionAttack = 0 ;
2022-05-17 05:47:42 +00:00
} else if ( decisionAttack > 100 ) {
2019-11-28 07:32:34 +00:00
decisionAttack = 100 ;
}
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
editingInfo . entityInfo . decisionAttack = decisionAttack ;
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} ) )
)
. then ( Commands . literal ( " decisionDefend " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . EDIT_DECISION_DEFEND ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} )
. then ( Commands . argument ( " decisionDefend " , IntegerArgumentType . integer ( ) )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2019-11-28 07:32:34 +00:00
int decisionDefend = IntegerArgumentType . getInteger ( c , " decisionDefend " ) ;
2022-05-17 05:47:42 +00:00
if ( decisionDefend < 0 ) {
2019-11-28 07:32:34 +00:00
decisionDefend = 0 ;
2022-05-17 05:47:42 +00:00
} else if ( decisionDefend > 100 ) {
2019-11-28 07:32:34 +00:00
decisionDefend = 100 ;
}
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
editingInfo . entityInfo . decisionDefend = decisionDefend ;
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} ) )
)
. then ( Commands . literal ( " decisionFlee " )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . EDIT_DECISION_FLEE ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-28 07:32:34 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
} )
. then ( Commands . argument ( " decisionFlee " , IntegerArgumentType . integer ( ) )
. executes ( c - > {
2022-05-17 05:47:42 +00:00
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
2021-05-21 05:44:31 +00:00
EditingInfo editingInfo = TurnBasedMinecraftMod . proxy . getEditingInfo ( player . getId ( ) ) ;
2019-11-28 07:32:34 +00:00
int decisionFlee = IntegerArgumentType . getInteger ( c , " decisionFlee " ) ;
2022-05-17 05:47:42 +00:00
if ( editingInfo ! = null & & ! editingInfo . isPendingEntitySelection ) {
2019-11-28 07:32:34 +00:00
editingInfo . entityInfo . decisionFlee = decisionFlee ;
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . PICK_EDIT , editingInfo . entityInfo ) ) ;
2022-05-17 05:47:42 +00:00
} else if ( editingInfo ! = null ) {
2019-11-27 07:55:48 +00:00
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . ATTACK_ENTITY ) ) ;
} else {
Message exceptionMessage = new LiteralMessage ( " Cannot edit entity without starting editing (use \" /tbm-edit \" ). " ) ;
throw new CommandSyntaxException ( new SimpleCommandExceptionType ( exceptionMessage ) , exceptionMessage ) ;
}
return 1 ;
2019-11-28 07:32:34 +00:00
} ) )
)
)
2019-11-27 07:55:48 +00:00
) ;
2022-06-08 06:24:29 +00:00
// tbm-server-edit
event . getDispatcher ( ) . register (
Commands . literal ( " tbm-server-edit " )
. requires ( c - > c . hasPermission ( 2 ) )
. executes ( c - > {
ServerPlayer player = c . getSource ( ) . getPlayerOrException ( ) ;
getHandler ( ) . send ( PacketDistributor . PLAYER . with ( ( ) - > player ) , new PacketEditingMessage ( PacketEditingMessage . Type . SERVER_EDIT ) ) ;
return 1 ;
} )
. then ( Commands . literal ( " leave_battle_cooldown " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " leave_battle_cooldown requires an integer argument. " ) ;
MutableComponent subResponse = Component . literal ( " leave_battle_cooldown is currently: " ) ;
response . getSiblings ( ) . add ( subResponse ) ;
subResponse = Component . literal ( String . valueOf ( TurnBasedMinecraftMod . proxy . getConfig ( ) . getLeaveBattleCooldownSeconds ( ) ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 06:24:29 +00:00
c . getSource ( ) . sendSuccess ( response , false ) ;
return 1 ;
} )
. then ( Commands . argument ( " cooldown_seconds " , IntegerArgumentType . integer ( ) )
. executes ( c - > {
int cooldown = IntegerArgumentType . getInteger ( c , " cooldown_seconds " ) ;
// setting cooldown validates the value. Set it, then fetch it again.
TurnBasedMinecraftMod . proxy . getConfig ( ) . setLeaveBattleCooldownSeconds ( cooldown ) ;
cooldown = TurnBasedMinecraftMod . proxy . getConfig ( ) . getLeaveBattleCooldownSeconds ( ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig (
" server_config.leave_battle_cooldown " ,
cooldown ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.leave_battle_cooldown \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal ( " " +
2022-06-08 06:24:29 +00:00
" Failed to set leave_battle_cooldown to \" "
+ cooldown
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set leave_battle_cooldown to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( cooldown ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 06:24:29 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
. then ( Commands . literal ( " aggro_start_battle_max_distance " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " aggro_start_battle_max_distance requires an integer argument. " ) ;
MutableComponent subResponse = Component . literal ( " aggro_start_battle_max_distance is currently: " ) ;
response . getSiblings ( ) . add ( subResponse ) ;
subResponse = Component . literal ( String . valueOf (
2022-06-08 06:24:29 +00:00
TurnBasedMinecraftMod . proxy . getConfig ( ) . getAggroStartBattleDistance ( ) ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 06:24:29 +00:00
c . getSource ( ) . sendSuccess ( response , false ) ;
return 1 ;
} )
. then ( Commands . argument ( " aggro_distance " , IntegerArgumentType . integer ( ) )
. executes ( c - > {
int distance = IntegerArgumentType . getInteger ( c , " aggro_distance " ) ;
// setDistance in Config validates the value. Set it, then fetch it again.
TurnBasedMinecraftMod . proxy . getConfig ( ) . setAggroStartBattleDistance ( distance ) ;
distance = TurnBasedMinecraftMod . proxy . getConfig ( ) . getAggroStartBattleDistance ( ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig (
" server_config.aggro_start_battle_max_distance " ,
distance ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.aggro_start_battle_max_distance \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-08 06:24:29 +00:00
" Failed to set aggro_start_battle_max_distance to \" "
+ distance
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set aggro_start_battle_max_distance to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( distance ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 06:24:29 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
. then ( Commands . literal ( " old_battle_behavior " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " old_battle_behavior requires a boolean argument. " ) ;
MutableComponent subResponse = Component . literal ( " old_battle_behavior is currently: " ) ;
response . getSiblings ( ) . add ( subResponse ) ;
subResponse = Component . literal ( String . valueOf (
2022-06-08 06:24:29 +00:00
TurnBasedMinecraftMod . proxy . getConfig ( ) . isOldBattleBehaviorEnabled ( ) ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 06:24:29 +00:00
c . getSource ( ) . sendSuccess ( response , false ) ;
return 1 ;
} )
. then ( Commands . argument ( " old_battle_behavior_enabled " , BoolArgumentType . bool ( ) )
. executes ( c - > {
boolean enabled = BoolArgumentType . getBool ( c , " old_battle_behavior_enabled " ) ;
TurnBasedMinecraftMod . proxy . getConfig ( ) . setOldBattleBehavior ( enabled ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig (
" server_config.old_battle_behavior " ,
enabled ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.old_battle_behavior \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-08 06:24:29 +00:00
" Failed to set old_battle_behavior to \" "
+ enabled
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set old_battle_behavior to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( enabled ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 06:24:29 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
. then ( Commands . literal ( " anyone_can_disable_tbm_for_self " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " anyone_can_disable_tbm_for_self requires a boolean argument. " ) ;
MutableComponent subResponse = Component . literal ( " anyone_can_disable_tbm_for_self is currently: " ) ;
response . getSiblings ( ) . add ( subResponse ) ;
subResponse = Component . literal ( String . valueOf (
2022-06-08 06:24:29 +00:00
! TurnBasedMinecraftMod . proxy . getConfig ( ) . getIfOnlyOPsCanDisableTurnBasedForSelf ( ) ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 06:24:29 +00:00
c . getSource ( ) . sendSuccess ( response , false ) ;
return 1 ;
} )
. then ( Commands . argument ( " enabled_for_all " , BoolArgumentType . bool ( ) )
. executes ( c - > {
boolean enabled_for_all = BoolArgumentType . getBool ( c , " enabled_for_all " ) ;
TurnBasedMinecraftMod . proxy . getConfig ( ) . setIfOnlyOPsCanDisableTurnBasedForSelf ( ! enabled_for_all ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig (
" server_config.anyone_can_disable_tbm_for_self " ,
enabled_for_all
) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.anyone_can_disable_tbm_for_self \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-08 06:24:29 +00:00
" Failed to set anyone_can_disable_tbm_for_self to \" "
+ enabled_for_all
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set anyone_can_disable_tbm_for_self to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( enabled_for_all ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 06:24:29 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
. then ( Commands . literal ( " max_in_battle " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " max_in_battle requires an integer argument. " ) ;
MutableComponent subResponse = Component . literal ( " max_in_battle is currently: " ) ;
response . getSiblings ( ) . add ( subResponse ) ;
subResponse = Component . literal ( String . valueOf (
2022-06-08 06:24:29 +00:00
TurnBasedMinecraftMod . proxy . getConfig ( ) . getMaxInBattle ( ) ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 06:24:29 +00:00
c . getSource ( ) . sendSuccess ( response , false ) ;
return 1 ;
} )
. then ( Commands . argument ( " max_amount " , IntegerArgumentType . integer ( ) )
. executes ( c - > {
int max_amount = IntegerArgumentType . getInteger ( c , " max_amount " ) ;
// setMaxInBattle in Config validates the value. Set it, then fetch it again.
TurnBasedMinecraftMod . proxy . getConfig ( ) . setMaxInBattle ( max_amount ) ;
max_amount = TurnBasedMinecraftMod . proxy . getConfig ( ) . getMaxInBattle ( ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig (
" server_config.max_in_battle " ,
max_amount ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.max_in_battle \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-08 06:24:29 +00:00
" Failed to set max_in_battle to \" "
+ max_amount
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set max_in_battle to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( max_amount ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 06:24:29 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
. then ( Commands . literal ( " freeze_battle_combatants " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " freeze_battle_combatants requires a boolean argument. " ) ;
MutableComponent subResponse = Component . literal ( " freeze_battle_combatants is currently: " ) ;
response . getSiblings ( ) . add ( subResponse ) ;
subResponse = Component . literal ( String . valueOf (
2022-06-08 06:24:29 +00:00
! TurnBasedMinecraftMod . proxy . getConfig ( ) . isFreezeCombatantsEnabled ( ) ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 06:24:29 +00:00
c . getSource ( ) . sendSuccess ( response , false ) ;
return 1 ;
} )
. then ( Commands . argument ( " freeze_enabled " , BoolArgumentType . bool ( ) )
. executes ( c - > {
boolean enabled = BoolArgumentType . getBool ( c , " freeze_enabled " ) ;
TurnBasedMinecraftMod . proxy . getConfig ( ) . setFreezeCombatantsInBattle ( enabled ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.freeze_battle_combatants " , enabled ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.freeze_battle_combatants \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-08 06:24:29 +00:00
" Failed to set freeze_battle_combatants to \" "
+ enabled
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set freeze_battle_combatants to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( enabled ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 06:24:29 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
2022-06-08 10:22:45 +00:00
. then ( Commands . literal ( " ignore_battle_types " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Use " ) ;
MutableComponent subResponse = Component . literal ( " /tbm-server-edit ignore_battle_types add/remove <category> " ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 10:22:45 +00:00
2022-08-03 05:46:33 +00:00
subResponse = Component . literal ( " ignore_battle_types is currently: [ " ) ;
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 10:22:45 +00:00
boolean isFirst = true ;
for ( String category : TurnBasedMinecraftMod . proxy . getConfig ( ) . getIgnoreBattleTypes ( ) ) {
if ( ! isFirst ) {
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( Component . literal ( " , " ) ) ;
2022-06-08 10:22:45 +00:00
}
2022-08-03 05:46:33 +00:00
subResponse = Component . literal ( category ) ;
2022-06-08 10:22:45 +00:00
subResponse . setStyle ( subResponse . getStyle ( )
2022-06-09 07:42:21 +00:00
. withColor ( ChatFormatting . GREEN )
2022-06-08 10:22:45 +00:00
. withClickEvent ( new ClickEvent (
ClickEvent . Action . RUN_COMMAND ,
" /tbm-server-edit ignore_battle_types remove " + category ) )
. withHoverEvent ( new HoverEvent (
HoverEvent . Action . SHOW_TEXT ,
2022-08-03 05:46:33 +00:00
Component . literal ( " Click to remove category " ) ) ) ) ;
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 10:22:45 +00:00
isFirst = false ;
}
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( Component . literal ( " ] " ) ) ;
2022-06-08 10:22:45 +00:00
c . getSource ( ) . sendSuccess ( response , false ) ;
return 1 ;
} )
. then ( Commands . literal ( " add " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal ( " /tbm-server-edit ignore_battle_types add <category> " ) ) ;
2022-06-08 10:22:45 +00:00
return 1 ;
} )
. then ( Commands . argument ( " category " , StringArgumentType . greedyString ( ) ) . executes ( c - > {
String category = StringArgumentType . getString ( c , " category " ) ;
if ( TurnBasedMinecraftMod . proxy . getConfig ( ) . addIgnoreBattleType ( category )
& & TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfigAppendToStringArray ( " server_config.ignore_battle_types " , category ) ) {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully appended category \" " ) ;
2022-06-08 10:22:45 +00:00
2022-08-03 05:46:33 +00:00
MutableComponent sub = Component . literal ( category ) ;
2022-06-09 07:42:21 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( sub ) ;
2022-06-08 10:22:45 +00:00
2022-08-03 05:46:33 +00:00
sub = Component . literal ( " \" to ignore_battle_types " ) ;
response . getSiblings ( ) . add ( sub ) ;
2022-06-08 10:22:45 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
return 1 ;
}
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-08 10:22:45 +00:00
" Failed to append category \" " + category + " \" to ignore_battle_types " ) ) ;
return 1 ;
} ) ) )
. then ( Commands . literal ( " remove " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal ( " /tbm-server-edit ignore_battle_types remove <category> " ) ) ;
2022-06-08 10:22:45 +00:00
return 1 ;
} )
. then ( Commands . argument ( " category " , StringArgumentType . greedyString ( ) ) . executes ( c - > {
String category = StringArgumentType . getString ( c , " category " ) ;
if ( TurnBasedMinecraftMod . proxy . getConfig ( ) . removeIgnoreBattleType ( category )
& & TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfigRemoveFromStringArray ( " server_config.ignore_battle_types " , category ) ) {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully removed category \" " ) ;
2022-06-08 10:22:45 +00:00
2022-08-03 05:46:33 +00:00
MutableComponent sub = Component . literal ( category ) ;
2022-06-09 07:42:21 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( sub ) ;
2022-06-08 10:22:45 +00:00
2022-08-03 05:46:33 +00:00
sub = Component . literal ( " \" from ignore_battle_types " ) ;
response . getSiblings ( ) . add ( sub ) ;
2022-06-08 10:22:45 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
return 1 ;
}
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-08-23 04:28:49 +00:00
" Failed to remove category \" " + category + " \" from ignore_battle_types " ) ) ;
2022-06-08 10:22:45 +00:00
return 1 ;
} ) ) ) )
. then ( Commands . literal ( " player_speed " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent parent = Component . literal ( " Use " ) ;
MutableComponent sub = Component . literal ( " /tbm-server-edit player_speed <0-100> " ) ;
2022-06-09 07:42:21 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
2022-08-03 05:46:33 +00:00
parent . getSiblings ( ) . add ( sub ) ;
2022-06-08 10:22:45 +00:00
c . getSource ( ) . sendSuccess ( parent , false ) ;
return 1 ;
} )
. then ( Commands . argument ( " speed " , IntegerArgumentType . integer ( ) ) . executes ( c - > {
int speed = IntegerArgumentType . getInteger ( c , " speed " ) ;
// setPlayerSpeed() in Config validates the value. Set it, then fetch it again.
TurnBasedMinecraftMod . proxy . getConfig ( ) . setPlayerSpeed ( speed ) ;
speed = TurnBasedMinecraftMod . proxy . getConfig ( ) . getPlayerSpeed ( ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.player_speed " , speed ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.player_speed \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-08 10:22:45 +00:00
" Failed to set player_speed to \" "
+ speed
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set player_speed to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( speed ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 10:22:45 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
. then ( Commands . literal ( " player_haste_speed " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent parent = Component . literal ( " Use " ) ;
MutableComponent sub = Component . literal ( " /tbm-server-edit player_haste_speed <0-100> " ) ;
2022-06-10 03:05:19 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
2022-08-03 05:46:33 +00:00
parent . getSiblings ( ) . add ( sub ) ;
2022-06-08 10:22:45 +00:00
2022-06-10 03:05:19 +00:00
c . getSource ( ) . sendSuccess ( parent , false ) ;
return 1 ;
} )
2022-06-08 10:22:45 +00:00
. then ( Commands . argument ( " haste_speed " , IntegerArgumentType . integer ( ) ) . executes ( c - > {
int haste_speed = IntegerArgumentType . getInteger ( c , " haste_speed " ) ;
// setPlayerHasteSpeed() in Config validates the value. Set it, then fetch it again.
TurnBasedMinecraftMod . proxy . getConfig ( ) . setPlayerHasteSpeed ( haste_speed ) ;
haste_speed = TurnBasedMinecraftMod . proxy . getConfig ( ) . getPlayerHasteSpeed ( ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.player_haste_speed " , haste_speed ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.player_haste_speed \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-08 10:22:45 +00:00
" Failed to set player_haste_speed to \" "
+ haste_speed
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set player_haste_speed to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( haste_speed ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 10:22:45 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
. then ( Commands . literal ( " player_slow_speed " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent parent = Component . literal ( " Use " ) ;
MutableComponent sub = Component . literal ( " /tbm-server-edit player_slow_speed <0-100> " ) ;
2022-06-10 03:05:19 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
2022-08-03 05:46:33 +00:00
parent . getSiblings ( ) . add ( sub ) ;
2022-06-08 10:22:45 +00:00
2022-06-10 03:05:19 +00:00
c . getSource ( ) . sendSuccess ( parent , false ) ;
return 1 ;
} )
2022-06-08 10:22:45 +00:00
. then ( Commands . argument ( " slow_speed " , IntegerArgumentType . integer ( ) ) . executes ( c - > {
int slow_speed = IntegerArgumentType . getInteger ( c , " slow_speed " ) ;
// setPlayerSlowSpeed() in Config validates the value. Set it, then fetch it again.
TurnBasedMinecraftMod . proxy . getConfig ( ) . setPlayerSlowSpeed ( slow_speed ) ;
slow_speed = TurnBasedMinecraftMod . proxy . getConfig ( ) . getPlayerSlowSpeed ( ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.player_slow_speed " , slow_speed ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.player_slow_speed \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-08 10:22:45 +00:00
" Failed to set player_slow_speed to \" "
+ slow_speed
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set player_slow_speed to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( slow_speed ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-09 07:42:21 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
. then ( Commands . literal ( " player_attack_probability " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent parent = Component . literal ( " Use " ) ;
MutableComponent sub = Component . literal ( " /tbm-server-edit player_attack_probability <1-100> " ) ;
2022-06-10 03:05:19 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
2022-08-03 05:46:33 +00:00
parent . getSiblings ( ) . add ( sub ) ;
2022-06-09 07:42:21 +00:00
2022-06-10 03:05:19 +00:00
c . getSource ( ) . sendSuccess ( parent , false ) ;
return 1 ;
} )
2022-06-09 07:42:21 +00:00
. then ( Commands . argument ( " probability " , IntegerArgumentType . integer ( ) ) . executes ( c - > {
int probability = IntegerArgumentType . getInteger ( c , " probability " ) ;
// setPlayerAttackProbability() in Config validates the value. Set it, then fetch it again.
TurnBasedMinecraftMod . proxy . getConfig ( ) . setPlayerAttackProbability ( probability ) ;
probability = TurnBasedMinecraftMod . proxy . getConfig ( ) . getPlayerAttackProbability ( ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.player_attack_probability " , probability ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.player_attack_probability \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-09 07:42:21 +00:00
" Failed to set player_attack_probability to \" "
+ probability
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set player_attack_probability to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( probability ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-09 07:42:21 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
. then ( Commands . literal ( " player_evasion " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent parent = Component . literal ( " Use " ) ;
MutableComponent sub = Component . literal ( " /tbm-server-edit player_evasion <0-100> " ) ;
2022-06-10 03:05:19 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
2022-08-03 05:46:33 +00:00
parent . getSiblings ( ) . add ( sub ) ;
2022-06-09 07:42:21 +00:00
2022-06-10 03:05:19 +00:00
c . getSource ( ) . sendSuccess ( parent , false ) ;
return 1 ;
} )
2022-06-09 07:42:21 +00:00
. then ( Commands . argument ( " evasion " , IntegerArgumentType . integer ( ) ) . executes ( c - > {
int evasion = IntegerArgumentType . getInteger ( c , " evasion " ) ;
// setPlayerEvasion() in Config validates the value. Set it, then fetch it again.
TurnBasedMinecraftMod . proxy . getConfig ( ) . setPlayerEvasion ( evasion ) ;
evasion = TurnBasedMinecraftMod . proxy . getConfig ( ) . getPlayerEvasion ( ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.player_evasion " , evasion ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.player_evasion \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-09 07:42:21 +00:00
" Failed to set player_evasion to \" "
+ evasion
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set player_evasion to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( evasion ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-09 07:42:21 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
. then ( Commands . literal ( " defense_duration " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent parent = Component . literal ( " Use " ) ;
MutableComponent sub = Component . literal ( " /tbm-server-edit defense_duration <0-5> " ) ;
2022-06-10 03:05:19 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
2022-08-03 05:46:33 +00:00
parent . getSiblings ( ) . add ( sub ) ;
2022-06-09 07:42:21 +00:00
2022-06-10 03:05:19 +00:00
c . getSource ( ) . sendSuccess ( parent , false ) ;
return 1 ;
} )
2022-06-09 07:42:21 +00:00
. then ( Commands . argument ( " defends " , IntegerArgumentType . integer ( ) ) . executes ( c - > {
int defends = IntegerArgumentType . getInteger ( c , " defends " ) ;
// setDefenseDuration() in Config validates the value. Set it, then fetch it again.
TurnBasedMinecraftMod . proxy . getConfig ( ) . setDefenseDuration ( defends ) ;
defends = TurnBasedMinecraftMod . proxy . getConfig ( ) . getDefenseDuration ( ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.defense_duration " , defends ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.defense_duration \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-09 07:42:21 +00:00
" Failed to set defense_druation to \" "
+ defends
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set defense_duration to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( defends ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-09 07:42:21 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
. then ( Commands . literal ( " flee_good_probability " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent parent = Component . literal ( " Use " ) ;
MutableComponent sub = Component . literal ( " /tbm-server-edit flee_good_probability <1-100> " ) ;
2022-06-10 03:05:19 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
2022-08-03 05:46:33 +00:00
parent . getSiblings ( ) . add ( sub ) ;
2022-06-09 07:42:21 +00:00
2022-06-10 03:05:19 +00:00
c . getSource ( ) . sendSuccess ( parent , false ) ;
return 1 ;
} )
2022-06-09 07:42:21 +00:00
. then ( Commands . argument ( " probability " , IntegerArgumentType . integer ( ) ) . executes ( c - > {
int probability = IntegerArgumentType . getInteger ( c , " probability " ) ;
// setFleeGoodProbability() in Config validates the value. Set it, then fetch it again.
TurnBasedMinecraftMod . proxy . getConfig ( ) . setFleeGoodProbability ( probability ) ;
probability = TurnBasedMinecraftMod . proxy . getConfig ( ) . getFleeGoodProbability ( ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.flee_good_probability " , probability ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.flee_good_probability \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-09 07:42:21 +00:00
" Failed to set flee_good_probability to \" "
+ probability
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set flee_good_probability to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( probability ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-09 07:42:21 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
. then ( Commands . literal ( " flee_bad_probability " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent parent = Component . literal ( " Use " ) ;
MutableComponent sub = Component . literal ( " /tbm-server-edit flee_bad_probability <1-100> " ) ;
2022-06-09 07:42:21 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
2022-08-03 05:46:33 +00:00
parent . getSiblings ( ) . add ( sub ) ;
2022-06-09 07:42:21 +00:00
c . getSource ( ) . sendSuccess ( parent , false ) ;
return 1 ;
} )
. then ( Commands . argument ( " probability " , IntegerArgumentType . integer ( ) ) . executes ( c - > {
int probability = IntegerArgumentType . getInteger ( c , " probability " ) ;
// setFleeBadProbability() in Config validates the value. Set it, then fetch it again.
TurnBasedMinecraftMod . proxy . getConfig ( ) . setFleeBadProbability ( probability ) ;
probability = TurnBasedMinecraftMod . proxy . getConfig ( ) . getFleeBadProbability ( ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.flee_bad_probability " , probability ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.flee_bad_probability \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-09 07:42:21 +00:00
" Failed to set flee_bad_probability to \" "
+ probability
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set flee_bad_probability to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( probability ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-09 07:42:21 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
. then ( Commands . literal ( " minimum_hit_percentage " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent parent = Component . literal ( " Use " ) ;
MutableComponent sub = Component . literal ( " /tbm-server-edit minimum_hit_percentage <1-100> " ) ;
2022-06-10 03:05:19 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
2022-08-03 05:46:33 +00:00
parent . getSiblings ( ) . add ( sub ) ;
2022-06-09 07:42:21 +00:00
2022-06-10 03:05:19 +00:00
c . getSource ( ) . sendSuccess ( parent , false ) ;
return 1 ;
} )
2022-06-09 07:42:21 +00:00
. then ( Commands . argument ( " percentage " , IntegerArgumentType . integer ( ) ) . executes ( c - > {
int percentage = IntegerArgumentType . getInteger ( c , " percentage " ) ;
// setMinimumHitPercentage() in Config validates the value. Set it, then fetch it again.
TurnBasedMinecraftMod . proxy . getConfig ( ) . setMinimumHitPercentage ( percentage ) ;
percentage = TurnBasedMinecraftMod . proxy . getConfig ( ) . getMinimumHitPercentage ( ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.minimum_hit_percentage " , percentage ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.minimum_hit_percentage \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-09 07:42:21 +00:00
" Failed to set minimum_hit_percentage to \" "
+ percentage
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set minimum_hit_percentage to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( percentage ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-09 07:42:21 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
2022-07-21 03:57:10 +00:00
. then ( Commands . literal ( " battle_turn_wait_forever " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent parent = Component . literal ( " Use " ) ;
MutableComponent sub = Component . literal ( " /tbm-server-edit battle_turn_wait_forever <true/false> " ) ;
2022-07-21 03:57:10 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
2022-08-03 05:46:33 +00:00
parent . getSiblings ( ) . add ( sub ) ;
2022-07-21 03:57:10 +00:00
c . getSource ( ) . sendSuccess ( parent , false ) ;
return 1 ;
} )
. then ( Commands . argument ( " enabled " , BoolArgumentType . bool ( ) ) . executes ( c - > {
boolean enabled = BoolArgumentType . getBool ( c , " enabled " ) ;
TurnBasedMinecraftMod . proxy . getConfig ( ) . setBattleDecisionDurationForever ( enabled ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.battle_turn_wait_forever " , enabled ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.battle_turn_wait_forever \" in config file! "
) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal ( " Failed to set battle_turn_wait_forever to \" " + ( enabled ? " true " : " false " ) + " \" in config file! " ) ) ;
2022-07-21 03:57:10 +00:00
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set battle_turn_wait_forever to: " ) ;
MutableComponent subResponse = Component . literal ( ( enabled ? " true " : " false " ) ) ;
2022-07-21 03:57:10 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-07-21 03:57:10 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
2022-06-09 07:42:21 +00:00
. then ( Commands . literal ( " battle_turn_time_seconds " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent parent = Component . literal ( " Use " ) ;
MutableComponent sub = Component . literal ( " /tbm-server-edit battle_turn_time_seconds <5-60> " ) ;
2022-06-10 03:05:19 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
2022-08-03 05:46:33 +00:00
parent . getSiblings ( ) . add ( sub ) ;
2022-06-09 07:42:21 +00:00
2022-06-10 03:05:19 +00:00
c . getSource ( ) . sendSuccess ( parent , false ) ;
return 1 ;
} )
2022-06-09 07:42:21 +00:00
. then ( Commands . argument ( " seconds " , IntegerArgumentType . integer ( ) ) . executes ( c - > {
int seconds = IntegerArgumentType . getInteger ( c , " seconds " ) ;
// setDecisionDurationSeconds() in Config validates the value. Set it, then fetch it again.
TurnBasedMinecraftMod . proxy . getConfig ( ) . setDecisionDurationSeconds ( seconds ) ;
seconds = TurnBasedMinecraftMod . proxy . getConfig ( ) . getDecisionDurationSeconds ( ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.battle_turn_time_seconds " , seconds ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.battle_turn_time_seconds \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-09 07:42:21 +00:00
" Failed to set battle_turn_time_seconds to \" "
+ seconds
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set battle_turn_time_seconds to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( seconds ) ) ;
2022-06-09 07:42:21 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-08 10:22:45 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
2022-06-10 03:05:19 +00:00
. then ( Commands . literal ( " creeper_explode_turn " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent parent = Component . literal ( " Use " ) ;
MutableComponent sub = Component . literal ( " /tbm-server-edit creeper_explode_turn <1-10> " ) ;
2022-06-10 03:05:19 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
2022-08-03 05:46:33 +00:00
parent . getSiblings ( ) . add ( sub ) ;
2022-06-10 03:05:19 +00:00
c . getSource ( ) . sendSuccess ( parent , false ) ;
return 1 ;
} )
. then ( Commands . argument ( " turns " , IntegerArgumentType . integer ( ) ) . executes ( c - > {
int turns = IntegerArgumentType . getInteger ( c , " turns " ) ;
// setCreeperExplodeTurn() in Config validates the value. Set it, then fetch it again.
TurnBasedMinecraftMod . proxy . getConfig ( ) . setCreeperExplodeTurn ( turns ) ;
turns = TurnBasedMinecraftMod . proxy . getConfig ( ) . getCreeperExplodeTurn ( ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.creeper_explode_turn " , turns ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.creeper_explode_turn \" in config file! " ) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-10 03:05:19 +00:00
" Failed to set creeper_explode_turn to \" "
+ turns
+ " \" in config file! " ) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set creeper_explode_turn to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( turns ) ) ;
2022-06-10 03:05:19 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-10 03:05:19 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
. then ( Commands . literal ( " creeper_stop_explode_on_leave_battle " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent parent = Component . literal ( " Use " ) ;
MutableComponent sub = Component . literal ( " /tbm-server-edit creeper_stop_explode_on_leave_battle <true/false> " ) ;
2022-06-10 03:05:19 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
2022-08-03 05:46:33 +00:00
parent . getSiblings ( ) . add ( sub ) ;
2022-06-10 03:05:19 +00:00
c . getSource ( ) . sendSuccess ( parent , false ) ;
return 1 ;
} )
. then ( Commands . argument ( " stop_explode_on_leave " , BoolArgumentType . bool ( ) ) . executes ( c - > {
boolean stop_explode_on_leave = BoolArgumentType . getBool ( c , " stop_explode_on_leave " ) ;
TurnBasedMinecraftMod . proxy . getConfig ( ) . setCreeperStopExplodeOnLeaveBattle ( stop_explode_on_leave ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.creeper_stop_explode_on_leave_battle " , stop_explode_on_leave ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.creeper_stop_explode_on_leave_battle \" in config file! "
) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-10 03:05:19 +00:00
" Failed to set creeper_stop_explode_on_leave_battle to \" "
+ stop_explode_on_leave
+ " \" in config file! "
) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set creeper_stop_explode_on_leave_battle to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( stop_explode_on_leave ) ) ;
2022-06-10 03:05:19 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-10 03:05:19 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
. then ( Commands . literal ( " creeper_always_allow_damage " ) . executes ( c - > {
2022-08-03 05:46:33 +00:00
MutableComponent parent = Component . literal ( " Use " ) ;
MutableComponent sub = Component . literal ( " /tbm-server-edit creeper_always_allow_damage <true/false> " ) ;
2022-06-10 03:05:19 +00:00
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
2022-08-03 05:46:33 +00:00
parent . getSiblings ( ) . add ( sub ) ;
2022-06-10 03:05:19 +00:00
c . getSource ( ) . sendSuccess ( parent , false ) ;
return 1 ;
} )
. then ( Commands . argument ( " allow_damage " , BoolArgumentType . bool ( ) ) . executes ( c - > {
boolean allow_damage = BoolArgumentType . getBool ( c , " allow_damage " ) ;
TurnBasedMinecraftMod . proxy . getConfig ( ) . setCreeperAlwaysAllowDamage ( allow_damage ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.creeper_always_allow_damage " , allow_damage ) ) {
TurnBasedMinecraftMod . logger . warn (
" Failed to set \" server_config.creeper_always_allow_damage \" in config file! "
) ;
2022-08-03 05:46:33 +00:00
c . getSource ( ) . sendFailure ( Component . literal (
2022-06-10 03:05:19 +00:00
" Failed to set creeper_always_allow_damage to \" "
+ allow_damage
+ " \" in config file! "
) ) ;
} else {
2022-08-03 05:46:33 +00:00
MutableComponent response = Component . literal ( " Successfully set creeper_always_allow_damage to: " ) ;
MutableComponent subResponse = Component . literal ( String . valueOf ( allow_damage ) ) ;
2022-06-10 03:05:19 +00:00
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
2022-08-03 05:46:33 +00:00
response . getSiblings ( ) . add ( subResponse ) ;
2022-06-10 03:05:19 +00:00
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
2022-08-23 04:28:49 +00:00
. then ( Commands . literal ( " ignore_damage_sources " ) . executes ( c - > {
MutableComponent response = Component . literal ( " Use " ) ;
MutableComponent subResponse = Component . literal ( " /tbm-server-edit ignore_damage_sources add/remove <type> " ) ;
subResponse . setStyle ( subResponse . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
response . getSiblings ( ) . add ( subResponse ) ;
subResponse = Component . literal ( " ignore_damage_sources is currently: [ " ) ;
response . getSiblings ( ) . add ( subResponse ) ;
boolean isFirst = true ;
for ( String type : TurnBasedMinecraftMod . proxy . getConfig ( ) . getIgnoreHurtDamageSources ( ) ) {
if ( ! isFirst ) {
response . getSiblings ( ) . add ( Component . literal ( " , " ) ) ;
}
subResponse = Component . literal ( type ) ;
subResponse . setStyle ( subResponse . getStyle ( )
. withColor ( ChatFormatting . GREEN )
. withClickEvent ( new ClickEvent (
ClickEvent . Action . RUN_COMMAND ,
" /tbm-server-edit ignore_damage_sources remove " + type ) )
. withHoverEvent ( new HoverEvent (
HoverEvent . Action . SHOW_TEXT ,
Component . literal ( " Click to remove type " ) ) ) ) ;
response . getSiblings ( ) . add ( subResponse ) ;
isFirst = false ;
}
response . getSiblings ( ) . add ( Component . literal ( " ] " ) ) ;
subResponse = Component . literal ( " Possible Damage Sources: [ " ) ;
response . getSiblings ( ) . add ( subResponse ) ;
isFirst = true ;
for ( String type : TurnBasedMinecraftMod . proxy . getConfig ( ) . getPossibleIgnoreHurtDamageSources ( ) ) {
if ( ! isFirst ) {
response . getSiblings ( ) . add ( Component . literal ( " , " ) ) ;
}
subResponse = Component . literal ( type ) ;
subResponse . setStyle ( subResponse . getStyle ( )
. withColor ( ChatFormatting . YELLOW )
. withClickEvent ( new ClickEvent (
ClickEvent . Action . RUN_COMMAND ,
" /tbm-server-edit ignore_damage_sources add " + type ) )
. withHoverEvent ( new HoverEvent (
HoverEvent . Action . SHOW_TEXT ,
Component . literal ( " Click to add type " )
) ) ) ;
response . getSiblings ( ) . add ( subResponse ) ;
isFirst = false ;
}
response . getSiblings ( ) . add ( Component . literal ( " ] " ) ) ;
c . getSource ( ) . sendSuccess ( response , false ) ;
return 1 ;
} )
. then ( Commands . literal ( " add " ) . executes ( c - > {
c . getSource ( ) . sendFailure ( Component . literal ( " /tbm-server-edit ignore_damage_sources add <type> " ) ) ;
return 1 ;
} )
. then ( Commands . argument ( " type " , StringArgumentType . greedyString ( ) ) . executes ( c - > {
String type = StringArgumentType . getString ( c , " type " ) ;
if ( TurnBasedMinecraftMod . proxy . getConfig ( ) . addIgnoreHurtDamageSource ( type )
& & TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfigAppendToStringArray ( " server_config.ignore_damage_sources " , type ) ) {
MutableComponent response = Component . literal ( " Successfully appended Damage Source type \" " ) ;
MutableComponent sub = Component . literal ( type ) ;
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
response . getSiblings ( ) . add ( sub ) ;
sub = Component . literal ( " \" to ignore_damage_sources " ) ;
response . getSiblings ( ) . add ( sub ) ;
c . getSource ( ) . sendSuccess ( response , true ) ;
return 1 ;
}
c . getSource ( ) . sendFailure ( Component . literal (
" Failed to append type \" " + type + " \" to ignore_damage_sources "
) ) ;
return 1 ;
} ) ) )
. then ( Commands . literal ( " remove " ) . executes ( c - > {
c . getSource ( ) . sendFailure ( Component . literal ( " /tbm-server-edit ignore_damage_sources remove <type> " ) ) ;
return 1 ;
} )
. then ( Commands . argument ( " type " , StringArgumentType . greedyString ( ) ) . executes ( c - > {
String type = StringArgumentType . getString ( c , " type " ) ;
if ( TurnBasedMinecraftMod . proxy . getConfig ( ) . removeIgnoreHurtDamageSource ( type )
& & TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfigRemoveFromStringArray ( " server_config.ignore_damage_sources " , type ) ) {
MutableComponent response = Component . literal ( " Successfully removed category \" " ) ;
MutableComponent sub = Component . literal ( type ) ;
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
response . getSiblings ( ) . add ( sub ) ;
sub = Component . literal ( " \" from ignore_damage_sources " ) ;
response . getSiblings ( ) . add ( sub ) ;
c . getSource ( ) . sendSuccess ( response , true ) ;
return 1 ;
}
c . getSource ( ) . sendFailure ( Component . literal ( " Failed to remove type \" " + type + " \" from ignore_damage_sources " ) ) ;
return 1 ;
} ) ) ) )
2022-08-24 03:16:36 +00:00
. then ( Commands . literal ( " player_only_battles " ) . executes ( c - > {
MutableComponent parent = Component . literal ( " Use " ) ;
MutableComponent sub = Component . literal ( " /tbm-server-edit player_only_battles <true/false> " ) ;
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . YELLOW ) ) ;
parent . getSiblings ( ) . add ( sub ) ;
c . getSource ( ) . sendSuccess ( parent , false ) ;
return 1 ;
} )
. then ( Commands . argument ( " player_only_battles " , BoolArgumentType . bool ( ) ) . executes ( c - > {
boolean player_only_battles = BoolArgumentType . getBool ( c , " player_only_battles " ) ;
TurnBasedMinecraftMod . proxy . getConfig ( ) . setIsPlayerOnlyBattles ( player_only_battles ) ;
if ( ! TurnBasedMinecraftMod . proxy . getConfig ( ) . updateConfig ( " server_config.player_only_battles " , player_only_battles ) ) {
TurnBasedMinecraftMod . logger . warn ( " Failed to set \" server_config.player_only_battles \" in config file! " ) ;
c . getSource ( ) . sendFailure ( Component . literal ( " Failed to set player_only_battles to \" " + player_only_battles + " \" in config file " ) ) ;
} else {
MutableComponent response = Component . literal ( " Successfully set player_only_battles to: " ) ;
MutableComponent sub = Component . literal ( String . valueOf ( player_only_battles ) ) ;
sub . setStyle ( sub . getStyle ( ) . withColor ( ChatFormatting . GREEN ) ) ;
response . getSiblings ( ) . add ( sub ) ;
c . getSource ( ) . sendSuccess ( response , true ) ;
}
return 1 ;
} ) ) )
2022-06-08 06:24:29 +00:00
) ;
2018-09-20 06:15:34 +00:00
}
2022-05-17 05:47:42 +00:00
2019-10-21 07:13:11 +00:00
@SubscribeEvent
2022-06-08 06:24:29 +00:00
public void serverStopping ( ServerStoppingEvent ignoredEvent ) {
2018-09-20 06:15:34 +00:00
logger . debug ( " About to cleanup BattleManager " ) ;
2022-05-17 05:47:42 +00:00
if ( proxy . cleanupBattleManager ( ) ) {
2018-09-20 06:15:34 +00:00
logger . debug ( " Cleaned up BattleManager " ) ;
}
2018-08-29 06:09:44 +00:00
}
2018-08-28 02:26:34 +00:00
}