From 2843712fca8a61984fe45977de1f6ed804cdcfa2 Mon Sep 17 00:00:00 2001 From: Jottyfan Date: Sun, 5 Feb 2023 21:22:08 +0100 Subject: [PATCH] improved leaves cutting --- build.gradle | 12 ++++++++ gradle.properties | 5 +++- .../quickiefabric/QuickieFabric.java | 1 + .../quickiefabric/help/ClassHelper.java | 27 ------------------ .../quickiefabric/init/RegistryManager.java | 5 ++++ .../quickiefabric/textures/item/salpeter.png | Bin 817 -> 5801 bytes .../quickiefabric/textures/item/sulphor.png | Bin 639 -> 5992 bytes .../minecraft/tags/blocks/blockstacker.json | 11 +++++++ ...lockstackerdown.json => blockstacker.json} | 0 .../quickiefabric/help/TestClassHelper.java | 25 ---------------- 10 files changed, 33 insertions(+), 53 deletions(-) delete mode 100644 src/main/java/de/jottyfan/minecraft/quickiefabric/help/ClassHelper.java create mode 100644 src/main/resources/data/minecraft/tags/blocks/blockstacker.json rename src/main/resources/data/quickiefabric/recipes/{blockstackerdown.json => blockstacker.json} (100%) delete mode 100644 src/test/java/de/jottyfan/minecraft/quickiefabric/help/TestClassHelper.java diff --git a/build.gradle b/build.gradle index b5bf3e0..f73ddd8 100644 --- a/build.gradle +++ b/build.gradle @@ -29,6 +29,18 @@ dependencies { // PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs. // You may need to force-disable transitiveness on them. + + // for special leaves blocks like ExtendedLeavesBlock + modImplementation "com.terraformersmc.terraform-api:terraform-wood-api-v1:${project.terraform_wood_api_version}" + repositories { + maven { + name = 'TerraformersMC' + url = 'https://maven.terraformersmc.com/' + } + maven { + url = 'https://maven.minecraftforge.net/' + } + } } processResources { diff --git a/gradle.properties b/gradle.properties index 4d8825c..3194692 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,9 +9,12 @@ loader_version=0.14.11 # Mod Properties - mod_version = 1.19.3.2 + mod_version = 1.19.3.3 maven_group = de.jottyfan.minecraft archives_base_name = quickiefabric # Dependencies fabric_version=0.69.1+1.19.3 + +# for ExtendedLeavesBlock + terraform_wood_api_version=5.0.0-beta.1 diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/QuickieFabric.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/QuickieFabric.java index 5a8f2e3..018915f 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/QuickieFabric.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/QuickieFabric.java @@ -20,5 +20,6 @@ public class QuickieFabric implements ModInitializer { RegistryManager.registerFeatures(); RegistryManager.registerContainer(); RegistryManager.registerLootings(); + RegistryManager.registerTags(); } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/help/ClassHelper.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/help/ClassHelper.java deleted file mode 100644 index 3b91f50..0000000 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/help/ClassHelper.java +++ /dev/null @@ -1,27 +0,0 @@ -package de.jottyfan.minecraft.quickiefabric.help; - -/** - * - * @author jotty - * - */ -public class ClassHelper { - - /** - * check if c is instance of name - * - * @param c the class - * @param name the name - * @return true or false - */ - public static final Boolean isInstanceOf(Class c, String name) { - Class[] a = c.getInterfaces(); - for (Class cl : a) { - String simpleName = cl.getSimpleName(); - if (simpleName.equals(name)) { - return true; - } - } - return false; - } -} diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java index 20328d2..f1dc2e6 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java @@ -42,6 +42,8 @@ import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.tag.TagKey; import net.minecraft.screen.ScreenHandlerType; import net.minecraft.text.Text; import net.minecraft.util.ActionResult; @@ -290,4 +292,7 @@ public class RegistryManager { || id.equals(new Identifier("blocks/tall_grass")); } + public final static void registerTags() { + TagKey BLOCKSTACKER = TagKey.of(RegistryKeys.ITEM, new Identifier(QUICKIEFABRIC, "blockstacker")); + } } diff --git a/src/main/resources/assets/quickiefabric/textures/item/salpeter.png b/src/main/resources/assets/quickiefabric/textures/item/salpeter.png index b1d35978c9f3a51b435001b99d3205b17f31c86c..cd765ccd5d95d59b5c19f451245b9de11f2aba81 100644 GIT binary patch literal 5801 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 L2tG6|ap}JS7ks0s delta 743 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.getClass(), "Cloneable")); - assertTrue(ClassHelper.isInstanceOf(new HashMap().getClass(), "Map")); - assertTrue(ClassHelper.isInstanceOf(new HashMap().getClass(), "Serializable")); - assertTrue(ClassHelper.isInstanceOf(HashMap.class, "Cloneable")); - assertTrue(ClassHelper.isInstanceOf(HashMap.class, "Map")); - assertTrue(ClassHelper.isInstanceOf(HashMap.class, "Serializable")); - } -}