aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/util')
-rw-r--r--src/main/java/gregtech/api/util/GT_LanguageManager.java21
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java43
2 files changed, 62 insertions, 2 deletions
diff --git a/src/main/java/gregtech/api/util/GT_LanguageManager.java b/src/main/java/gregtech/api/util/GT_LanguageManager.java
index 59a24ef432..18c9432033 100644
--- a/src/main/java/gregtech/api/util/GT_LanguageManager.java
+++ b/src/main/java/gregtech/api/util/GT_LanguageManager.java
@@ -317,7 +317,26 @@ public class GT_LanguageManager {
// addStringLocalization("Interaction_DESCRIPTION_Index_209", "Grab");
// addStringLocalization("Interaction_DESCRIPTION_Index_210", "Grab");
addStringLocalization("Interaction_DESCRIPTION_Index_211", "Items per side: ");
-
+
+ addStringLocalization("Item_DESCRIPTION_Index_000", "Stored Heat: %s");
+ addStringLocalization("Item_DESCRIPTION_Index_001", "Durability: %s/%s");
+ addStringLocalization("Item_DESCRIPTION_Index_002", "%s lvl %s");
+ addStringLocalization("Item_DESCRIPTION_Index_003", "Attack Damage: %s");
+ addStringLocalization("Item_DESCRIPTION_Index_004", "Mining Speed: %s");
+ addStringLocalization("Item_DESCRIPTION_Index_005", "Turbine Efficiency: %s");
+ addStringLocalization("Item_DESCRIPTION_Index_006", "Optimal Steam flow: %sL/sec");
+ addStringLocalization("Item_DESCRIPTION_Index_007", "Optimal Gas flow(EU burnvalue per tick): %sEU/t");
+ addStringLocalization("Item_DESCRIPTION_Index_008", "Optimal Plasma flow(Plasma energyvalue per tick): %sEU/t");
+ addStringLocalization("Item_DESCRIPTION_Index_009", "Contains %s EU Tier: %s");
+ addStringLocalization("Item_DESCRIPTION_Index_010", "Empty. You should recycle it properly.");
+ addStringLocalization("Item_DESCRIPTION_Index_011", "%s / %s EU - Voltage: %s");
+ addStringLocalization("Item_DESCRIPTION_Index_012", "No Fluids Contained");
+ addStringLocalization("Item_DESCRIPTION_Index_013", "%sL / %sL");
+ addStringLocalization("Item_DESCRIPTION_Index_014", "Missing Coodinates!");
+ addStringLocalization("Item_DESCRIPTION_Index_015", "Device at:");
+ addStringLocalization("Item_DESCRIPTION_Index_016", "Amount: %s L");
+ addStringLocalization("Item_DESCRIPTION_Index_017", "Temperature: %s K");
+ addStringLocalization("Item_DESCRIPTION_Index_018", "State: %s");
}
}
diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java
index f102cc4246..69f5b9783c 100644
--- a/src/main/java/gregtech/api/util/GT_Utility.java
+++ b/src/main/java/gregtech/api/util/GT_Utility.java
@@ -56,7 +56,12 @@ import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.common.util.BlockSnapshot;
+import net.minecraftforge.common.util.FakePlayer;
+import net.minecraftforge.common.util.FakePlayerFactory;
import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.event.ForgeEventFactory;
+import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fluids.*;
import net.minecraftforge.fluids.FluidContainerRegistry.FluidContainerData;
@@ -69,6 +74,8 @@ import java.text.NumberFormat;
import java.util.*;
import java.util.Map.Entry;
+import com.mojang.authlib.GameProfile;
+
import static gregtech.api.enums.GT_Values.*;
import static gregtech.common.GT_Proxy.GTPOLLUTION;
import static gregtech.common.GT_UndergroundOil.undergroundOilReadInformation;
@@ -1994,7 +2001,41 @@ public class GT_Utility {
public static ItemStack getIntegratedCircuit(int config){
return ItemList.Circuit_Integrated.getWithDamage(0, config, new Object[0]);
}
-
+
+ public static float getBlockHardnessAt(World aWorld, int aX, int aY, int aZ) {
+ return aWorld.getBlock(aX, aY, aZ).getBlockHardness(aWorld, aX, aY, aZ);
+ }
+
+ public static FakePlayer getFakePlayer(IGregTechTileEntity aBaseMetaTileEntity) {
+ if (aBaseMetaTileEntity.getWorld() instanceof WorldServer) {
+ return FakePlayerFactory.get((WorldServer) aBaseMetaTileEntity.getWorld(), new GameProfile(null, aBaseMetaTileEntity.getOwnerName()));
+ }
+ return null;
+ }
+
+ public static boolean eraseBlockByFakePlayer(FakePlayer aPlayer, int aX, int aY, int aZ, boolean isSimulate) {
+ if (aPlayer == null) return false;
+ World aWorld = aPlayer.worldObj;
+ BlockEvent.BreakEvent event = new BlockEvent.BreakEvent(aX, aY, aZ, aWorld, aWorld.getBlock(aX, aY, aZ), aWorld.getBlockMetadata(aX, aY, aZ), aPlayer);
+ MinecraftForge.EVENT_BUS.post(event);
+ if (!event.isCanceled()) {
+ if (!isSimulate) return aWorld.setBlockToAir(aX, aY, aZ);
+ return true;
+ }
+ return false;
+ }
+
+ public static boolean setBlockByFakePlayer(FakePlayer aPlayer, int aX, int aY, int aZ, Block aBlock, int aMeta, boolean isSimulate) {
+ if (aPlayer == null) return false;
+ World aWorld = aPlayer.worldObj;
+ BlockEvent.PlaceEvent event = ForgeEventFactory.onPlayerBlockPlace(aPlayer, new BlockSnapshot(aWorld, aX, aY, aZ, aBlock, aMeta), ForgeDirection.UNKNOWN);
+ if (!event.isCanceled()) {
+ if (!isSimulate) return aWorld.setBlock(aX, aY, aZ, aBlock, aMeta, 3);
+ return true;
+ }
+ return false;
+ }
+
public static class ItemNBT {
public static void setNBT(ItemStack aStack, NBTTagCompound aNBT) {
if (aNBT == null) {