diff options
author | Martin Robertz <dream-master@gmx.net> | 2021-09-21 17:56:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-21 17:56:14 +0200 |
commit | e1f94bee22ea862e7c4f24821986e9e1f342cc9f (patch) | |
tree | 9247c913e22670e801b1b923b35149b09d863f00 /src/main/java/gregtech/api/util/GT_ToolHarvestHelper.java | |
parent | d0a9f79708361beb426f8cdd67d396e0c2fc415b (diff) | |
parent | bf4510ad135645fe42a100a646e1828f06727c07 (diff) | |
download | GT5-Unofficial-e1f94bee22ea862e7c4f24821986e9e1f342cc9f.tar.gz GT5-Unofficial-e1f94bee22ea862e7c4f24821986e9e1f342cc9f.tar.bz2 GT5-Unofficial-e1f94bee22ea862e7c4f24821986e9e1f342cc9f.zip |
Merge pull request #660 from Minepolz320/experimental
Gregtech tools Fix
Diffstat (limited to 'src/main/java/gregtech/api/util/GT_ToolHarvestHelper.java')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_ToolHarvestHelper.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/util/GT_ToolHarvestHelper.java b/src/main/java/gregtech/api/util/GT_ToolHarvestHelper.java new file mode 100644 index 0000000000..271b361da0 --- /dev/null +++ b/src/main/java/gregtech/api/util/GT_ToolHarvestHelper.java @@ -0,0 +1,61 @@ +package gregtech.api.util;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+
+public class GT_ToolHarvestHelper {
+
+ public static boolean isAppropriateTool(Block aBlock, byte aMetaData, String... tTools) {
+
+ if (aBlock == null || tTools == null) {
+ return false;
+ }
+ String targetTool = aBlock.getHarvestTool(aMetaData);
+ return !isStringEmpty(targetTool) && isArrayContains(targetTool, tTools);
+ }
+
+ public static boolean isAppropriateMaterial(Block aBlock, Material... tMats) {
+ if (aBlock == null || tMats == null) {
+ return false;
+ }
+ return isArrayContains(aBlock.getMaterial(), tMats);
+ }
+
+
+ public static boolean isSpecialBlock(Block aBlock, Block... tBlocks) {
+ if (aBlock == null || tBlocks == null) {
+ return false;
+ }
+ return isArrayContains(aBlock, tBlocks);
+ }
+
+
+ public static <T> boolean isArrayContains(T obj, T[] list) {
+
+ if (obj == null || list == null) {
+ return false;
+ }
+
+ for (T iObj : list) {
+ if (obj == iObj || obj.equals(iObj)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public static boolean isStringEmpty(String s) {
+ return s == null || s.length() == 0;
+ }
+
+ public static boolean hasNull(Object... obj) {
+ for (Object iObj : obj) {
+ if (iObj == null) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+
+}
|