aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/gregtech/api/interfaces/IGlobalWirelessEnergy.java25
-rw-r--r--src/main/java/gregtech/common/misc/GT_Command.java13
-rw-r--r--src/main/resources/assets/gregtech/lang/en_US.lang62
3 files changed, 97 insertions, 3 deletions
diff --git a/src/main/java/gregtech/api/interfaces/IGlobalWirelessEnergy.java b/src/main/java/gregtech/api/interfaces/IGlobalWirelessEnergy.java
index bc0bf4a9e8..3ba59a54a2 100644
--- a/src/main/java/gregtech/api/interfaces/IGlobalWirelessEnergy.java
+++ b/src/main/java/gregtech/api/interfaces/IGlobalWirelessEnergy.java
@@ -49,6 +49,8 @@ public interface IGlobalWirelessEnergy {
// --- Save data for global energy network --
default void SaveGlobalEnergyInfo(String world_name) {
+ // Replace chars because of bug in forge that doesn't understand MC converts . to _ upon world creation.
+ world_name = world_name.replace('.','_');
CreateStorageIfNotExist(world_name);
SaveGlobalEnergyMap(world_name);
SaveGlobalEnergyName(world_name);
@@ -104,7 +106,10 @@ public interface IGlobalWirelessEnergy {
// --- Load data for global energy network ---
default void LoadGlobalEnergyInfo(World world) {
- CreateStorageIfNotExist(world.getWorldInfo().getWorldName());
+ // Replace chars because of bug in forge that doesn't understand MC converts . to _ upon world creation.
+ String world_name = world.getWorldInfo().getWorldName().replace('.','_');
+ PrivateGlobalEnergy.WorldName = world_name;
+ CreateStorageIfNotExist(world_name);
LoadGlobalEnergyMap(world);
LoadGlobalEnergyName(world);
LoadGlobalEnergyTeam(world);
@@ -225,6 +230,13 @@ public interface IGlobalWirelessEnergy {
// as infrequently as possible and bulk store values to add to the global map.
default boolean addEUToGlobalEnergyMap(String user_uuid, BigInteger EU) {
+ PrivateGlobalEnergy.EnergyAdds += 1;
+
+ if (PrivateGlobalEnergy.EnergyAddsBeforeSaving >= PrivateGlobalEnergy.EnergyAdds) {
+ SaveGlobalEnergyInfo(PrivateGlobalEnergy.WorldName);
+ PrivateGlobalEnergy.EnergyAdds = 0;
+ }
+
// Get the team UUID. Users are by default in a team with a UUID equal to their player UUID.
String team_uuid = GlobalEnergyTeam.getOrDefault(user_uuid, user_uuid);
@@ -290,4 +302,15 @@ public interface IGlobalWirelessEnergy {
}
+class PrivateGlobalEnergy {
+ // EnergyAdds Counts the number of times energy has been added to the network since the last save.
+ public static long EnergyAdds = 0;
+
+ // EnergyAddsBeforeSaving stores the number of times energy must be added or removed from the network before a save
+ // is initiated. Do not set this number very low, or you may cause lag. If you use a large number of wireless
+ // machines increase this value.
+ public static long EnergyAddsBeforeSaving = 1000;
+ // Name of the folder the world is in.
+ public static String WorldName = "";
+}
diff --git a/src/main/java/gregtech/common/misc/GT_Command.java b/src/main/java/gregtech/common/misc/GT_Command.java
index a91a696d37..c478d219c7 100644
--- a/src/main/java/gregtech/common/misc/GT_Command.java
+++ b/src/main/java/gregtech/common/misc/GT_Command.java
@@ -5,6 +5,7 @@ import gregtech.GT_Mod;
import gregtech.api.enums.GT_Values;
import gregtech.api.interfaces.IGlobalWirelessEnergy;
import gregtech.api.objects.GT_ChunkManager;
+import gregtech.api.util.GT_Utility;
import gregtech.common.GT_Pollution;
import net.minecraft.command.CommandBase;
import net.minecraft.command.ICommandSender;
@@ -62,8 +63,8 @@ public final class GT_Command extends CommandBase implements IGlobalWirelessEner
public List addTabCompletionOptions(ICommandSender sender, String[] ss) {
List<String> l = new ArrayList<>();
String test = ss.length == 0 ? "" : ss[0].trim();
- if (ss.length == 0 || ss.length == 1 && (test.isEmpty() || Stream.of("toggle", "chunks", "pollution", "global_energy_add", "global_energy_set", "global_energy_join").anyMatch(s -> s.startsWith(test)))) {
- Stream.of("toggle", "chunks", "pollution", "global_energy_add", "global_energy_set", "global_energy_join")
+ if (ss.length == 0 || ss.length == 1 && (test.isEmpty() || Stream.of("toggle", "chunks", "pollution", "global_energy_add", "global_energy_set", "global_energy_join", "global_energy_display").anyMatch(s -> s.startsWith(test)))) {
+ Stream.of("toggle", "chunks", "pollution", "global_energy_add", "global_energy_set", "global_energy_join", "global_energy_display")
.filter(s -> test.isEmpty() || s.startsWith(test))
.forEach(l::add);
} else if (test.equals("toggle")) {
@@ -185,6 +186,14 @@ public final class GT_Command extends CommandBase implements IGlobalWirelessEner
sender.addChatMessage(new ChatComponentText("To undo this simply join your own network again with /gt global_energy_join " + username_0 + " " + username_0 + "."));
break;
+ case "global_energy_display":
+
+ // Usage is /gt global_energy_display username
+
+ String username_3 = strings[1];
+ sender.addChatMessage(new ChatComponentText("User " + username_3 + " has " + EnumChatFormatting.RED + GT_Utility.formatNumbers(IGlobalWirelessEnergy.super.GetUserEU(IGlobalWirelessEnergy.super.GetUUIDFromUsername(username_3))) + EnumChatFormatting.RESET + "EU in their network."));
+
+ break;
default:
sender.addChatMessage(new ChatComponentText( EnumChatFormatting.RED + "Invalid command/syntax detected."));
printHelp(sender);
diff --git a/src/main/resources/assets/gregtech/lang/en_US.lang b/src/main/resources/assets/gregtech/lang/en_US.lang
index 2bb26e3422..ba18a52751 100644
--- a/src/main/resources/assets/gregtech/lang/en_US.lang
+++ b/src/main/resources/assets/gregtech/lang/en_US.lang
@@ -654,6 +654,68 @@ achievement.gt.blockcasings5.12.desc=Pickup this item to see the recipe in NEI
achievement.gt.blockcasings5.13=Eternal Coil
achievement.gt.blockcasings5.13.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.receiver.tier.00=ULV Wireless Energy Hatch
+achievement.gt.blockmachines.wireless.receiver.tier.00.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.receiver.tier.01=LV Wireless Energy Hatch
+achievement.gt.blockmachines.wireless.receiver.tier.01.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.receiver.tier.02=MV Wireless Energy Hatch
+achievement.gt.blockmachines.wireless.receiver.tier.02.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.receiver.tier.03=HV Wireless Energy Hatch
+achievement.gt.blockmachines.wireless.receiver.tier.03.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.receiver.tier.04=EV Wireless Energy Hatch
+achievement.gt.blockmachines.wireless.receiver.tier.04.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.receiver.tier.05=IV Wireless Energy Hatch
+achievement.gt.blockmachines.wireless.receiver.tier.05.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.receiver.tier.06=LuV Wireless Energy Hatch
+achievement.gt.blockmachines.wireless.receiver.tier.06.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.receiver.tier.07=ZPM Wireless Energy Hatch
+achievement.gt.blockmachines.wireless.receiver.tier.07.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.receiver.tier.08=UV Wireless Energy Hatch
+achievement.gt.blockmachines.wireless.receiver.tier.08.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.receiver.tier.09=UHV Wireless Energy Hatch
+achievement.gt.blockmachines.wireless.receiver.tier.09.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.receiver.tier.10=UEV Wireless Energy Hatch
+achievement.gt.blockmachines.wireless.receiver.tier.10.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.receiver.tier.11=UIV Wireless Energy Hatch
+achievement.gt.blockmachines.wireless.receiver.tier.11.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.receiver.tier.12=UMV Wireless Energy Hatch
+achievement.gt.blockmachines.wireless.receiver.tier.12.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.receiver.tier.13=UXV Wireless Energy Hatch
+achievement.gt.blockmachines.wireless.receiver.tier.13.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.receiver.tier.14=MAX Wireless Energy Hatch
+achievement.gt.blockmachines.wireless.receiver.tier.14.desc=Pickup this item to see the recipe in NEI
+
+achievement.gt.blockmachines.wireless.transmitter.tier.00=ULV Wireless Dynamo
+achievement.gt.blockmachines.wireless.transmitter.tier.00.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.transmitter.tier.01=LV Wireless Dynamo
+achievement.gt.blockmachines.wireless.transmitter.tier.01.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.transmitter.tier.02=MV Wireless Dynamo
+achievement.gt.blockmachines.wireless.transmitter.tier.02.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.transmitter.tier.03=HV Wireless Dynamo
+achievement.gt.blockmachines.wireless.transmitter.tier.03.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.transmitter.tier.04=EV Wireless Dynamo
+achievement.gt.blockmachines.wireless.transmitter.tier.04.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.transmitter.tier.05=IV Wireless Dynamo
+achievement.gt.blockmachines.wireless.transmitter.tier.05.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.transmitter.tier.06=LuV Wireless Dynamo
+achievement.gt.blockmachines.wireless.transmitter.tier.06.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.transmitter.tier.07=ZPM Wireless Dynamo
+achievement.gt.blockmachines.wireless.transmitter.tier.07.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.transmitter.tier.08=UV Wireless Dynamo
+achievement.gt.blockmachines.wireless.transmitter.tier.08.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.transmitter.tier.09=UHV Wireless Dynamo
+achievement.gt.blockmachines.wireless.transmitter.tier.09.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.transmitter.tier.10=UEV Wireless Dynamo
+achievement.gt.blockmachines.wireless.transmitter.tier.10.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.transmitter.tier.11=UIV Wireless Dynamo
+achievement.gt.blockmachines.wireless.transmitter.tier.11.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.transmitter.tier.12=UMV Wireless Dynamo
+achievement.gt.blockmachines.wireless.transmitter.tier.12.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.transmitter.tier.13=UXV Wireless Dynamo
+achievement.gt.blockmachines.wireless.transmitter.tier.13.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.wireless.transmitter.tier.14=MAX Wireless Dynamo
+achievement.gt.blockmachines.wireless.transmitter.tier.14.desc=Pickup this item to see the recipe in NEI
+
achievement.gt.blockmachines.multimachine.em.infuser=Energy Infuser
achievement.gt.blockmachines.multimachine.em.infuser.desc=Pickup this item to see the recipe in NEI
achievement.gt.blockmachines.hatch.holder.tier.09=Object Holder