Skip to content

Commit 0d6bdc1

Browse files
committed
Added Command to Reset JoinWithOxygen for players
1 parent 57735c0 commit 0d6bdc1

File tree

2 files changed

+70
-1
lines changed

2 files changed

+70
-1
lines changed

src/main/java/net/rom/gctweaks/GalacticTweaks.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package net.rom.gctweaks;
22

3+
import java.util.HashMap;
34
import java.util.Map;
45

56
import net.minecraftforge.common.MinecraftForge;
@@ -10,14 +11,19 @@
1011
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
1112
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
1213
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
14+
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
1315
import net.minecraftforge.fml.common.network.NetworkCheckHandler;
1416
import net.minecraftforge.fml.common.network.NetworkRegistry;
1517
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
1618
import net.minecraftforge.fml.relauncher.Side;
19+
import net.rom.gctweaks.core.CommandOxygenReset;
1720
import net.rom.gctweaks.core.Module;
21+
import net.rom.gctweaks.core.compat.CompatMods;
1822
import net.rom.gctweaks.core.proxy.CommonProxy;
23+
import net.rom.gctweaks.core.utils.FileUtil;
1924
import net.rom.gctweaks.core.utils.I18nHelper;
2025
import net.rom.gctweaks.core.utils.LogHelper;
26+
import net.rom.gctweaks.galacticraftchanges.SeperateAddonPlanets;
2127

2228
@Mod(modid = Ref.MOD_ID, name = Ref.MOD_NAME, version = Ref.MOD_VERSION, dependencies = Ref.DEPS, certificateFingerprint = Ref.MOD_FINGERPRINT, useMetadata = true)
2329
public class GalacticTweaks {
@@ -51,6 +57,7 @@ public void preInit(FMLPreInitializationEvent event) {
5157
@EventHandler
5258
public void init(FMLInitializationEvent event) {
5359
ModuleController.modules.forEach(Module::init);
60+
5461
proxy.init(event);
5562
}
5663

@@ -62,6 +69,10 @@ public void postInit(FMLPostInitializationEvent event) {
6269

6370
private void syncConfig() {
6471
ModuleController.modules.forEach(Module::syncConfig);
65-
6672
}
73+
74+
@EventHandler
75+
public void onServerStarting(FMLServerStartingEvent event) {
76+
event.registerServerCommand(new CommandOxygenReset());
77+
}
6778
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package net.rom.gctweaks.core;
2+
3+
import java.util.List;
4+
5+
import net.minecraft.command.CommandBase;
6+
import net.minecraft.command.CommandException;
7+
import net.minecraft.command.ICommandSender;
8+
import net.minecraft.entity.player.EntityPlayer;
9+
import net.minecraft.nbt.NBTTagCompound;
10+
import net.minecraft.server.MinecraftServer;
11+
import net.minecraft.util.math.BlockPos;
12+
import net.minecraft.util.text.TextComponentString;
13+
import net.rom.gctweaks.Ref;
14+
15+
public class CommandOxygenReset extends CommandBase {
16+
17+
@Override
18+
public String getName () {
19+
return "oxygenreset";
20+
}
21+
22+
@Override
23+
public String getUsage (ICommandSender sender) {
24+
return "/" + this.getName() + " <playername>";
25+
}
26+
27+
@Override
28+
public int getRequiredPermissionLevel () {
29+
return 3;
30+
}
31+
32+
@Override
33+
public List<String> getTabCompletions (MinecraftServer server, ICommandSender sender, String[] args, BlockPos pos) {
34+
if (args.length == 1) {
35+
return getListOfStringsMatchingLastWord(args, server.getOnlinePlayerNames());
36+
}
37+
return null;
38+
}
39+
40+
@Override
41+
public void execute (MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {
42+
if (args.length > 0 && args.length < 2) {
43+
final EntityPlayer player = server.getPlayerList().getPlayerByUsername(args[0]);
44+
45+
if(player != null) {
46+
final NBTTagCompound entityData = player.getEntityData();
47+
final NBTTagCompound persistedData = entityData.getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG);
48+
entityData.setTag(EntityPlayer.PERSISTED_NBT_TAG, persistedData);
49+
final String key = Ref.MOD_ID + ":" + "ReceivedOxygen";
50+
persistedData.setBoolean(key, false);
51+
String line = String.format("Sucessfully reset %s's OxygenGear-On-Join setting", player.getName());
52+
sender.sendMessage(new TextComponentString(line));
53+
}
54+
} else {
55+
sender.sendMessage(new TextComponentString(getUsage(sender)));
56+
}
57+
}
58+
}

0 commit comments

Comments
 (0)