aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util/GT_ToolHarvestHelper.java
diff options
context:
space:
mode:
authorMinepolz320 <42765118+Minepolz320@users.noreply.github.com>2021-09-19 19:01:24 +0500
committerGitHub <noreply@github.com>2021-09-19 19:01:24 +0500
commit42543040b0533d2cd714412efa29a51b75321bb6 (patch)
tree2e98b4ca500c27fba9b43c8505d85ee981dc8f51 /src/main/java/gregtech/api/util/GT_ToolHarvestHelper.java
parent06d7905348de8bbf00752afc0f14a0a9c83fbeb8 (diff)
downloadGT5-Unofficial-42543040b0533d2cd714412efa29a51b75321bb6.tar.gz
GT5-Unofficial-42543040b0533d2cd714412efa29a51b75321bb6.tar.bz2
GT5-Unofficial-42543040b0533d2cd714412efa29a51b75321bb6.zip
Fix GT Tools
I tried to fix the tools
Diffstat (limited to 'src/main/java/gregtech/api/util/GT_ToolHarvestHelper.java')
-rw-r--r--src/main/java/gregtech/api/util/GT_ToolHarvestHelper.java61
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;
+ }
+
+
+}