Fixed /tbm-enable and /tbm-disable not working in singleplayer.
Added /tbm-enable-all and /tbm-disable-all to enable/disable for all
players.
apply plugin: 'net.minecraftforge.gradle.forge'\r
//Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.\r
\r
-version = "1.1"\r
+version = "1.2"\r
group = "com.seodisparate.TurnBasedMinecraft" // http://maven.apache.org/guides/mini/guide-naming-conventions.html\r
archivesBaseName = "TurnBasedMinecraft"\r
\r
{
EntityPlayerMP player = null;
player = getCommandSenderAsPlayer(sender);
- if(!config.getIfOnlyOPsCanDisableTurnBasedForSelf() || player.getServer().getPlayerList().getOppedPlayers().getEntry(player.getGameProfile()) != null)
+ if(!config.getIfOnlyOPsCanDisableTurnBasedForSelf() || player.getServer().isSinglePlayer() || player.getServer().getPlayerList().getOppedPlayers().getEntry(player.getGameProfile()) != null)
{
config.addBattleIgnoringPlayer(player.getEntityId());
TurnBasedMinecraftMod.NWINSTANCE.sendTo(new PacketGeneralMessage("Disabled turn-based-combat for current player"), player);
+ TurnBasedMinecraftMod.logger.info("Disabled turn-based-combat for " + player.getName());
}
else
{
--- /dev/null
+package com.seodisparate.TurnBasedMinecraft.common;
+
+import com.seodisparate.TurnBasedMinecraft.common.networking.PacketGeneralMessage;
+
+import net.minecraft.command.CommandBase;
+import net.minecraft.command.CommandException;
+import net.minecraft.command.ICommandSender;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.server.MinecraftServer;
+
+public class CommandTBMDisableAll extends CommandBase
+{
+ public static final String usage = "/tbm-disable-all (Disables turn-based-battle for everyone";
+ private Config config;
+
+ public CommandTBMDisableAll(Config config)
+ {
+ this.config = config;
+ }
+
+ @Override
+ public String getName()
+ {
+ return "tbm-disable-all";
+ }
+
+ @Override
+ public String getUsage(ICommandSender sender)
+ {
+ return usage;
+ }
+
+ @Override
+ public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException
+ {
+ config.setBattleDisabledForAll(true);
+ for(Entity player : server.getPlayerList().getPlayers())
+ {
+ config.addBattleIgnoringPlayer(player.getEntityId());
+ }
+ EntityPlayerMP senderPlayer = null;
+ try {
+ senderPlayer = getCommandSenderAsPlayer(sender);
+ } catch(Throwable t)
+ {
+ // Ignore case when sender EntityPlayer cannot be found
+ }
+ if(senderPlayer != null)
+ {
+ TurnBasedMinecraftMod.logger.info(senderPlayer.getName() + " disabled turn-based-combat for everyone");
+ TurnBasedMinecraftMod.NWINSTANCE.sendTo(new PacketGeneralMessage("You disabled turn-based-combat for everyone"), senderPlayer);
+ }
+ else
+ {
+ TurnBasedMinecraftMod.logger.info("An admin disabled turn-based-combat for everyone");
+ }
+ }
+
+ @Override
+ public int getRequiredPermissionLevel()
+ {
+ return 2;
+ }
+
+}
{
EntityPlayerMP player = null;
player = getCommandSenderAsPlayer(sender);
- if(!config.getIfOnlyOPsCanDisableTurnBasedForSelf() || player.getServer().getPlayerList().getOppedPlayers().getEntry(player.getGameProfile()) != null)
+ if(!config.getIfOnlyOPsCanDisableTurnBasedForSelf() || player.getServer().isSinglePlayer() || player.getServer().getPlayerList().getOppedPlayers().getEntry(player.getGameProfile()) != null)
{
config.removeBattleIgnoringPlayer(player.getEntityId());
TurnBasedMinecraftMod.NWINSTANCE.sendTo(new PacketGeneralMessage("Enabled turn-based-combat for current player"), player);
+ TurnBasedMinecraftMod.logger.info("Enabled turn-based-combat for " + player.getName());
}
else
{
--- /dev/null
+package com.seodisparate.TurnBasedMinecraft.common;
+
+import com.seodisparate.TurnBasedMinecraft.common.networking.PacketGeneralMessage;
+
+import net.minecraft.command.CommandBase;
+import net.minecraft.command.CommandException;
+import net.minecraft.command.ICommandSender;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.server.MinecraftServer;
+
+public class CommandTBMEnableAll extends CommandBase
+{
+ public static final String usage = "/tbm-enable-all (enables turn-based-combat for everyone)";
+ private Config config;
+
+ public CommandTBMEnableAll(Config config)
+ {
+ this.config = config;
+ }
+
+ @Override
+ public String getName()
+ {
+ return "tbm-enable-all";
+ }
+
+ @Override
+ public String getUsage(ICommandSender sender)
+ {
+ return usage;
+ }
+
+ @Override
+ public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException
+ {
+ config.setBattleDisabledForAll(false);
+ config.clearBattleIgnoringPlayers();
+ EntityPlayerMP senderPlayer = null;
+ try {
+ senderPlayer = getCommandSenderAsPlayer(sender);
+ } catch(Throwable t)
+ {
+ // Ignore case when sender EntityPlayer cannot be found
+ }
+ if(senderPlayer != null)
+ {
+ TurnBasedMinecraftMod.logger.info(senderPlayer.getName() + " enabled turn-based-combat for everyone");
+ TurnBasedMinecraftMod.NWINSTANCE.sendTo(new PacketGeneralMessage("You enabled turn-based-combat for everyone"), senderPlayer);
+ }
+ else
+ {
+ TurnBasedMinecraftMod.logger.info("An admin enabled turn-based-combat for everyone");
+ }
+ }
+
+ @Override
+ public int getRequiredPermissionLevel()
+ {
+ return 2;
+ }
+}
private int configVersion = 0;
private Set<Integer> battleIgnoringPlayers = null;
private boolean onlyOPsSelfDisableTB = true;
+ private boolean battleDisabledForAll = false;
public Config(Logger logger)
{
{
return onlyOPsSelfDisableTB;
}
+
+ protected void setBattleDisabledForAll(boolean isDisabled)
+ {
+ battleDisabledForAll = isDisabled;
+ }
+
+ protected boolean getBattleDisabledForAll()
+ {
+ return battleDisabledForAll;
+ }
}
--- /dev/null
+package com.seodisparate.TurnBasedMinecraft.common;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+
+public class PlayerJoinEventHandler
+{
+ @SubscribeEvent
+ public void entityJoinHandler(EntityJoinWorldEvent event)
+ {
+ if(event.getEntity().world.isRemote)
+ {
+ return;
+ }
+ if(event.getEntity() instanceof EntityPlayer && TurnBasedMinecraftMod.proxy.getConfig().getBattleDisabledForAll())
+ {
+ TurnBasedMinecraftMod.proxy.getConfig().addBattleIgnoringPlayer(event.getEntity().getEntityId());
+ }
+ }
+}
{
public static final String MODID = "com.seodisparate.turnbasedminecraft";
public static final String NAME = "Turn Based Minecraft Mod";
- public static final String VERSION = "1.1";
+ public static final String VERSION = "1.2";
public static final String CONFIG_FILENAME = "TBM_Config.xml";
public static final String CONFIG_DIRECTORY = "config/TurnBasedMinecraft/";
public static final String CONFIG_FILE_PATH = CONFIG_DIRECTORY + CONFIG_FILENAME;
// register event handler(s)
MinecraftForge.EVENT_BUS.register(new AttackEventHandler());
+ MinecraftForge.EVENT_BUS.register(new PlayerJoinEventHandler());
}
@EventHandler
event.registerServerCommand(new CommandTBMDisable(proxy.getConfig()));
event.registerServerCommand(new CommandTBMEnable(proxy.getConfig()));
event.registerServerCommand(new CommandTBMSet(proxy.getConfig()));
+ event.registerServerCommand(new CommandTBMDisableAll(proxy.getConfig()));
+ event.registerServerCommand(new CommandTBMEnableAll(proxy.getConfig()));
}
@EventHandler