From 4ce229880cc256646a31f02440f456f737babc1f Mon Sep 17 00:00:00 2001 From: Me <135455255+IcarussOne@users.noreply.github.com> Date: Sun, 11 Aug 2024 06:19:59 -0500 Subject: [PATCH] Start Void compat --- .../mod/emt/balkonsexpansion/BEConfig.java | 5 ++ .../emt/balkonsexpansion/BEItemBuilder.java | 49 ++++++------- .../thaumcraft/ThaumcraftItemBuilder.java | 69 ++++++++++++++++++ .../thaumcraft/ThaumcraftRegistration.java | 46 ++++++++++++ .../thaumcraft/item/BEItemFlailVoid.java | 68 +++++++++++++++++ .../thaumcraft/item/BEItemMeleeVoid.java | 69 ++++++++++++++++++ .../models/item/battleaxe.void.block.json | 6 ++ .../models/item/battleaxe.void.json | 14 ++++ .../models/item/boomerang.void.json | 14 ++++ .../models/item/boomerang.void_ready.json | 6 ++ .../models/item/flail.void-thrown.json | 6 ++ .../models/item/flail.void.json | 14 ++++ .../models/item/halberd.void.json | 50 +++++++++++++ .../models/item/halberd.void_state.json | 6 ++ .../models/item/katana.void.block.json | 6 ++ .../models/item/katana.void.json | 14 ++++ .../models/item/knife.void.json | 6 ++ .../models/item/spear.void.json | 42 +++++++++++ .../models/item/warhammer.void.json | 6 ++ .../thaumcraft/items/battleaxe.void.png | Bin 0 -> 357 bytes .../thaumcraft/items/boomerang.void.png | Bin 0 -> 322 bytes .../thaumcraft/items/flail-thrown.void.png | Bin 0 -> 212 bytes .../textures/thaumcraft/items/flail.void.png | Bin 0 -> 266 bytes .../thaumcraft/items/halberd-stab.void.png | Bin 0 -> 517 bytes .../thaumcraft/items/halberd.void.png | Bin 0 -> 517 bytes .../textures/thaumcraft/items/katana.void.png | Bin 0 -> 387 bytes .../textures/thaumcraft/items/knife.void.png | Bin 0 -> 375 bytes .../textures/thaumcraft/items/spear.void.png | Bin 0 -> 387 bytes .../thaumcraft/items/warhammer.void.png | Bin 0 -> 762 bytes .../items/warhammer.void.png.mcmeta | 5 ++ 30 files changed, 475 insertions(+), 26 deletions(-) create mode 100644 src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/ThaumcraftItemBuilder.java create mode 100644 src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/item/BEItemFlailVoid.java create mode 100644 src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/item/BEItemMeleeVoid.java create mode 100644 src/main/resources/assets/balkonsexpansion/models/item/battleaxe.void.block.json create mode 100644 src/main/resources/assets/balkonsexpansion/models/item/battleaxe.void.json create mode 100644 src/main/resources/assets/balkonsexpansion/models/item/boomerang.void.json create mode 100644 src/main/resources/assets/balkonsexpansion/models/item/boomerang.void_ready.json create mode 100644 src/main/resources/assets/balkonsexpansion/models/item/flail.void-thrown.json create mode 100644 src/main/resources/assets/balkonsexpansion/models/item/flail.void.json create mode 100644 src/main/resources/assets/balkonsexpansion/models/item/halberd.void.json create mode 100644 src/main/resources/assets/balkonsexpansion/models/item/halberd.void_state.json create mode 100644 src/main/resources/assets/balkonsexpansion/models/item/katana.void.block.json create mode 100644 src/main/resources/assets/balkonsexpansion/models/item/katana.void.json create mode 100644 src/main/resources/assets/balkonsexpansion/models/item/knife.void.json create mode 100644 src/main/resources/assets/balkonsexpansion/models/item/spear.void.json create mode 100644 src/main/resources/assets/balkonsexpansion/models/item/warhammer.void.json create mode 100644 src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/battleaxe.void.png create mode 100644 src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/boomerang.void.png create mode 100644 src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/flail-thrown.void.png create mode 100644 src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/flail.void.png create mode 100644 src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/halberd-stab.void.png create mode 100644 src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/halberd.void.png create mode 100644 src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/katana.void.png create mode 100644 src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/knife.void.png create mode 100644 src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/spear.void.png create mode 100644 src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/warhammer.void.png create mode 100644 src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/warhammer.void.png.mcmeta diff --git a/src/main/java/mod/emt/balkonsexpansion/BEConfig.java b/src/main/java/mod/emt/balkonsexpansion/BEConfig.java index b2b81f2..2c1c6ba 100644 --- a/src/main/java/mod/emt/balkonsexpansion/BEConfig.java +++ b/src/main/java/mod/emt/balkonsexpansion/BEConfig.java @@ -121,6 +121,11 @@ public static class ThaumcraftSettings { @Config.Comment("Enables support for the Thaumium material [default: true]") @Config.RequiresWorldRestart public boolean TC_THAUMIUM_MATERIAL = true; + + @Config.Name("Material: Void") + @Config.Comment("Enables support for the Void material [default: true]") + @Config.RequiresWorldRestart + public boolean TC_VOID_MATERIAL = true; } @Mod.EventBusSubscriber(modid = BalkonsExpansion.MOD_ID) diff --git a/src/main/java/mod/emt/balkonsexpansion/BEItemBuilder.java b/src/main/java/mod/emt/balkonsexpansion/BEItemBuilder.java index ab1b38b..69d7e31 100644 --- a/src/main/java/mod/emt/balkonsexpansion/BEItemBuilder.java +++ b/src/main/java/mod/emt/balkonsexpansion/BEItemBuilder.java @@ -3,9 +3,6 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; -import ckathode.weaponmod.WMItemBuilder; -import ckathode.weaponmod.item.ItemFlail; -import ckathode.weaponmod.item.ItemMelee; import ckathode.weaponmod.item.ItemMusket; import ckathode.weaponmod.item.MeleeCompNone; import ckathode.weaponmod.item.MeleeComponent; @@ -26,23 +23,23 @@ public class BEItemBuilder { // ==================================================================== // // Custom builders used to specify a custom attribute amount // ==================================================================== // - public static ItemMelee createCustomBattleaxe(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, float ignoreArmorAmount) { + public static BEItemMelee createCustomBattleaxe(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, float ignoreArmorAmount) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompBattleaxeCustom(material, knockbackAmount, ignoreArmorAmount), EnumRarity.COMMON); } - public static ItemMelee createCustomBoomerang(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount) { + public static BEItemMelee createCustomBoomerang(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompBoomerangCustom(material, knockbackAmount), EnumRarity.COMMON); } - public static ItemMelee createCustomHalberd(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, float reachAmount) { + public static BEItemMelee createCustomHalberd(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, float reachAmount) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompHalberdCustom(material, knockbackAmount, reachAmount), EnumRarity.COMMON); } - public static ItemMelee createCustomKatana(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount) { + public static BEItemMelee createCustomKatana(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompKatanaCustom(material, knockbackAmount), EnumRarity.COMMON); } - public static ItemMelee createCustomKnife(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount) { + public static BEItemMelee createCustomKnife(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompKnifeCustom(material, knockbackAmount), EnumRarity.COMMON); } @@ -50,38 +47,38 @@ public static ItemMusket createCustomMusketBayonet(String id, @Nonnull Item.Tool return createCustomItemMusket(BalkonsExpansion.MOD_ID, id, new MeleeCompKnifeCustom(material, knockbackAmount), bayonetItem, EnumRarity.COMMON); } - public static ItemMelee createCustomSpear(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, float reachAmount) { + public static BEItemMelee createCustomSpear(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, float reachAmount) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompSpearCustom(material, knockbackAmount, reachAmount), EnumRarity.COMMON); } - public static ItemMelee createCustomWarhammer(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount) { + public static BEItemMelee createCustomWarhammer(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompWarhammerCustom(material, knockbackAmount), EnumRarity.COMMON); } // ==================================================================== // // Same as above except you can customize the rarity // ==================================================================== // - public static ItemMelee createCustomBattleaxe(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, float ignoreArmorAmount, EnumRarity rarity) { + public static BEItemMelee createCustomBattleaxe(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, float ignoreArmorAmount, EnumRarity rarity) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompBattleaxeCustom(material, knockbackAmount, ignoreArmorAmount), rarity); } - public static ItemMelee createCustomBoomerang(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, EnumRarity rarity) { + public static BEItemMelee createCustomBoomerang(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, EnumRarity rarity) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompBoomerangCustom(material, knockbackAmount), rarity); } - public static ItemFlail createCustomFlail(String id, @Nonnull Item.ToolMaterial material, EnumRarity rarity) { + public static BEItemFlail createCustomFlail(String id, @Nonnull Item.ToolMaterial material, EnumRarity rarity) { return createCustomItemFlail(BalkonsExpansion.MOD_ID, id, new MeleeCompNone(material), rarity); } - public static ItemMelee createCustomHalberd(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, float reachAmount, EnumRarity rarity) { + public static BEItemMelee createCustomHalberd(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, float reachAmount, EnumRarity rarity) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompHalberdCustom(material, knockbackAmount, reachAmount), rarity); } - public static ItemMelee createCustomKatana(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, EnumRarity rarity) { + public static BEItemMelee createCustomKatana(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, EnumRarity rarity) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompKatanaCustom(material, knockbackAmount), rarity); } - public static ItemMelee createCustomKnife(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, EnumRarity rarity) { + public static BEItemMelee createCustomKnife(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, EnumRarity rarity) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompKnifeCustom(material, knockbackAmount), rarity); } @@ -89,38 +86,38 @@ public static ItemMusket createCustomMusketBayonet(String id, @Nonnull Item.Tool return createCustomItemMusket(BalkonsExpansion.MOD_ID, id, new MeleeCompKnifeCustom(material, knockbackAmount), bayonetItem, rarity); } - public static ItemMelee createCustomSpear(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, float reachAmount, EnumRarity rarity) { + public static BEItemMelee createCustomSpear(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, float reachAmount, EnumRarity rarity) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompSpearCustom(material, knockbackAmount, reachAmount), rarity); } - public static ItemMelee createCustomWarhammer(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, EnumRarity rarity) { + public static BEItemMelee createCustomWarhammer(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, EnumRarity rarity) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompWarhammerCustom(material, knockbackAmount), rarity); } // ==================================================================== // // More basic builders that are mainly used to easily register items // ==================================================================== // - public static ItemMelee createCustomBattleaxe(String id, @Nonnull Item.ToolMaterial material) { + public static BEItemMelee createCustomBattleaxe(String id, @Nonnull Item.ToolMaterial material) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompBattleaxeCustom(material, 0.1F, 1.0F), EnumRarity.COMMON); } - public static ItemMelee createCustomBoomerang(String id, @Nonnull Item.ToolMaterial material) { + public static BEItemMelee createCustomBoomerang(String id, @Nonnull Item.ToolMaterial material) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompBoomerangCustom(material, 0.0F), EnumRarity.COMMON); } - public static ItemFlail createCustomFlail(String id, @Nonnull Item.ToolMaterial material) { + public static BEItemFlail createCustomFlail(String id, @Nonnull Item.ToolMaterial material) { return createCustomItemFlail(BalkonsExpansion.MOD_ID, id, new MeleeCompNone(material), EnumRarity.COMMON); } - public static ItemMelee createCustomHalberd(String id, @Nonnull Item.ToolMaterial material) { + public static BEItemMelee createCustomHalberd(String id, @Nonnull Item.ToolMaterial material) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompHalberdCustom(material, 0.2F, 1.0F), EnumRarity.COMMON); } - public static ItemMelee createCustomKatana(String id, @Nonnull Item.ToolMaterial material) { + public static BEItemMelee createCustomKatana(String id, @Nonnull Item.ToolMaterial material) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompKatanaCustom(material, -0.4F), EnumRarity.COMMON); } - public static ItemMelee createCustomKnife(String id, @Nonnull Item.ToolMaterial material) { + public static BEItemMelee createCustomKnife(String id, @Nonnull Item.ToolMaterial material) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompKnifeCustom(material, -0.2F), EnumRarity.COMMON); } @@ -128,11 +125,11 @@ public static ItemMusket createCustomMusketBayonet(String id, @Nonnull Item.Tool return createCustomItemMusket(BalkonsExpansion.MOD_ID, id, new MeleeCompKnifeCustom(material, -0.2F), bayonetItem, EnumRarity.COMMON); } - public static ItemMelee createCustomSpear(String id, @Nonnull Item.ToolMaterial material) { + public static BEItemMelee createCustomSpear(String id, @Nonnull Item.ToolMaterial material) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompSpearCustom(material, -0.2F, 1.0F), EnumRarity.COMMON); } - public static ItemMelee createCustomWarhammer(String id, @Nonnull Item.ToolMaterial material) { + public static BEItemMelee createCustomWarhammer(String id, @Nonnull Item.ToolMaterial material) { return createCustomItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompWarhammerCustom(material, 0.3F), EnumRarity.COMMON); } diff --git a/src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/ThaumcraftItemBuilder.java b/src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/ThaumcraftItemBuilder.java new file mode 100644 index 0000000..b18720b --- /dev/null +++ b/src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/ThaumcraftItemBuilder.java @@ -0,0 +1,69 @@ +package mod.emt.balkonsexpansion.compat.thaumcraft; + +import javax.annotation.Nonnull; +import ckathode.weaponmod.item.MeleeCompNone; +import ckathode.weaponmod.item.MeleeComponent; +import mod.emt.balkonsexpansion.BalkonsExpansion; +import mod.emt.balkonsexpansion.compat.thaumcraft.item.BEItemFlailVoid; +import mod.emt.balkonsexpansion.compat.thaumcraft.item.BEItemMeleeVoid; +import mod.emt.balkonsexpansion.item.MeleeCompBattleaxeCustom; +import mod.emt.balkonsexpansion.item.MeleeCompBoomerangCustom; +import mod.emt.balkonsexpansion.item.MeleeCompHalberdCustom; +import mod.emt.balkonsexpansion.item.MeleeCompKatanaCustom; +import mod.emt.balkonsexpansion.item.MeleeCompKnifeCustom; +import mod.emt.balkonsexpansion.item.MeleeCompSpearCustom; +import mod.emt.balkonsexpansion.item.MeleeCompWarhammerCustom; +import net.minecraft.item.Item; + +public class ThaumcraftItemBuilder { + // ==================================================================== // + // Custom builders used for void weapons + // ==================================================================== // + public static BEItemMeleeVoid createVoidBattleaxe(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, float ignoreArmorAmount) { + return createVoidItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompBattleaxeCustom(material, knockbackAmount, ignoreArmorAmount)); + } + + public static BEItemMeleeVoid createVoidBoomerang(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount) { + return createVoidItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompBoomerangCustom(material, knockbackAmount)); + } + + public static BEItemFlailVoid createVoidFlail(String id, @Nonnull Item.ToolMaterial material) { + return createVoidItemFlail(BalkonsExpansion.MOD_ID, id, new MeleeCompNone(material)); + } + + public static BEItemMeleeVoid createVoidHalberd(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, float reachAmount) { + return createVoidItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompHalberdCustom(material, knockbackAmount, reachAmount)); + } + + public static BEItemMeleeVoid createVoidKatana(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount) { + return createVoidItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompKatanaCustom(material, knockbackAmount)); + } + + public static BEItemMeleeVoid createVoidKnife(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount) { + return createVoidItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompKnifeCustom(material, knockbackAmount)); + } + + /*public static ItemMusket createCustomMusketBayonet(String id, @Nonnull Item.ToolMaterial material, @Nonnull Item bayonetItem, float knockbackAmount) { + return createVoidItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompKnifeCustom(material, knockbackAmount), bayonetItem, EnumRarity.COMMON); + }*/ + + public static BEItemMeleeVoid createVoidSpear(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount, float reachAmount) { + return createVoidItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompSpearCustom(material, knockbackAmount, reachAmount)); + } + + public static BEItemMeleeVoid createVoidWarhammer(String id, @Nonnull Item.ToolMaterial material, float knockbackAmount) { + return createVoidItemMelee(BalkonsExpansion.MOD_ID, id, new MeleeCompWarhammerCustom(material, knockbackAmount)); + } + + // ==================================================================== // + // Custom ItemClass Builders for void weapons + // ==================================================================== // + + public static BEItemFlailVoid createVoidItemFlail(String modId, String id, MeleeComponent meleeComponent) { + return new BEItemFlailVoid(modId, id, meleeComponent); + } + + public static BEItemMeleeVoid createVoidItemMelee(String modId, String id, MeleeComponent meleeComponent) { + return new BEItemMeleeVoid(modId, id, meleeComponent); + } +} diff --git a/src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/ThaumcraftRegistration.java b/src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/ThaumcraftRegistration.java index 85b5f27..96aa5fe 100644 --- a/src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/ThaumcraftRegistration.java +++ b/src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/ThaumcraftRegistration.java @@ -54,6 +54,18 @@ public static void registerItems(RegistryEvent.Register event) { registry.register(boomerangThaumium = BEItemBuilder.createCustomBoomerang("boomerang.thaumium", ThaumcraftMaterials.TOOLMAT_THAUMIUM, 0.1F, EnumRarity.UNCOMMON)); registry.register(bayonetThaumium = BEItemBuilder.createCustomMusketBayonet("musketbayonet.thaumium", ThaumcraftMaterials.TOOLMAT_THAUMIUM, knifeThaumium, -0.15F, EnumRarity.UNCOMMON)); } + + if (BEConfig.thaumcraft_settings.TC_VOID_MATERIAL) { + registry.register(spearVoid = ThaumcraftItemBuilder.createVoidSpear("spear.void", ThaumcraftMaterials.TOOLMAT_VOID, 0.0F, 2.0F)); + registry.register(halberdVoid = ThaumcraftItemBuilder.createVoidHalberd("halberd.void", ThaumcraftMaterials.TOOLMAT_VOID, 0.6F, 2.0F)); + registry.register(battleaxeVoid = ThaumcraftItemBuilder.createVoidBattleaxe("battleaxe.void", ThaumcraftMaterials.TOOLMAT_VOID, 0.45F, 1.0F)); + registry.register(knifeVoid = ThaumcraftItemBuilder.createVoidKnife("knife.void", ThaumcraftMaterials.TOOLMAT_VOID, -0.1F)); + registry.register(warhammerVoid = ThaumcraftItemBuilder.createVoidWarhammer("warhammer.void", ThaumcraftMaterials.TOOLMAT_VOID, 0.7F)); + registry.register(flailVoid = ThaumcraftItemBuilder.createVoidFlail("flail.void", ThaumcraftMaterials.TOOLMAT_VOID)); + registry.register(katanaVoid = ThaumcraftItemBuilder.createVoidKatana("katana.void", ThaumcraftMaterials.TOOLMAT_VOID, -0.6F)); + registry.register(boomerangVoid = ThaumcraftItemBuilder.createVoidBoomerang("boomerang.void", ThaumcraftMaterials.TOOLMAT_VOID, 0.3F)); + //registry.register(bayonetThaumium = BEItemBuilder.createCustomMusketBayonet("musketbayonet.thaumium", ThaumcraftMaterials.TOOLMAT_THAUMIUM, knifeThaumium, -0.15F, EnumRarity.UNCOMMON)); + } } @SubscribeEvent @@ -81,6 +93,28 @@ public static void registerRecipes(RegistryEvent.Register event) { GameRegistry.addSmelting(new ItemStack(spearThaumium, 1, 32767), new ItemStack(ItemsTC.nuggets, 1, 6), 0.6F); GameRegistry.addSmelting(new ItemStack(warhammerThaumium, 1, 32767), new ItemStack(ItemsTC.nuggets, 1, 6), 0.6F); } + + if (BEConfig.thaumcraft_settings.TC_VOID_MATERIAL) { + registry.register(BERecipes.registerBattleaxeRecipe("ingotVoid", "stickWood", battleaxeVoid)); + registry.register(BERecipes.registerBoomerangRecipe("ingotVoid", ItemsTC.voidSeed, boomerangVoid)); + //registry.register(BERecipes.registerBayonetRecipe(knifeVoid, bayonetVoid)); + registry.register(BERecipes.registerFlailRecipe("ingotVoid", "stickWood", "string", flailVoid)); + registry.register(BERecipes.registerHalberdRecipe("ingotVoid", "stickWood", halberdVoid)); + registry.register(BERecipes.registerKatanaRecipe("ingotVoid", "stickWood", katanaVoid)); + registry.register(BERecipes.registerKnifeRecipe("ingotVoid", "stickWood", knifeVoid)); + registry.register(BERecipes.registerKnifeAltRecipe("ingotVoid", "stickWood", knifeVoid)); + registry.register(BERecipes.registerSpearRecipe("ingotVoid", "stickWood", spearVoid)); + registry.register(BERecipes.registerWarhammerRecipe("ingotVoid", "stickWood", warhammerVoid)); + + GameRegistry.addSmelting(new ItemStack(battleaxeVoid, 1, 32767), new ItemStack(ItemsTC.nuggets, 1, 7), 1.2F); + GameRegistry.addSmelting(new ItemStack(boomerangVoid, 1, 32767), new ItemStack(ItemsTC.nuggets, 1, 7), 1.2F); + GameRegistry.addSmelting(new ItemStack(flailVoid, 1, 32767), new ItemStack(ItemsTC.nuggets, 1, 7), 1.2F); + GameRegistry.addSmelting(new ItemStack(halberdVoid, 1, 32767), new ItemStack(ItemsTC.nuggets, 1, 7), 1.2F); + GameRegistry.addSmelting(new ItemStack(katanaVoid, 1, 32767), new ItemStack(ItemsTC.nuggets, 1, 7), 1.2F); + GameRegistry.addSmelting(new ItemStack(knifeVoid, 1, 32767), new ItemStack(ItemsTC.nuggets, 1, 7), 1.2F); + GameRegistry.addSmelting(new ItemStack(spearVoid, 1, 32767), new ItemStack(ItemsTC.nuggets, 1, 7), 1.2F); + GameRegistry.addSmelting(new ItemStack(warhammerVoid, 1, 32767), new ItemStack(ItemsTC.nuggets, 1, 7), 1.2F); + } } @SideOnly(Side.CLIENT) @@ -96,5 +130,17 @@ public static void registerRenderersItem() { BERegistry.registerWeaponItemModel(spearThaumium); BERegistry.registerWeaponItemModel(warhammerThaumium); } + + if (BEConfig.thaumcraft_settings.TC_VOID_MATERIAL) { + BERegistry.registerWeaponItemModel(battleaxeVoid); + BERegistry.registerWeaponItemModel(boomerangVoid); + //BERegistry.registerWeaponItemModel(bayonetThaumium); + BERegistry.registerWeaponItemModel(flailVoid); + BERegistry.registerWeaponItemModel(halberdVoid); + BERegistry.registerWeaponItemModel(katanaVoid); + BERegistry.registerWeaponItemModel(knifeVoid); + BERegistry.registerWeaponItemModel(spearVoid); + BERegistry.registerWeaponItemModel(warhammerVoid); + } } } diff --git a/src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/item/BEItemFlailVoid.java b/src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/item/BEItemFlailVoid.java new file mode 100644 index 0000000..ffb8a17 --- /dev/null +++ b/src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/item/BEItemFlailVoid.java @@ -0,0 +1,68 @@ +package mod.emt.balkonsexpansion.compat.thaumcraft.item; + +import java.util.List; + +import javax.annotation.Nullable; + +import ckathode.weaponmod.item.MeleeComponent; +import mod.emt.balkonsexpansion.item.BEItemFlail; +import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.MobEffects; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.text.Style; +import net.minecraft.util.text.TextComponentTranslation; +import net.minecraft.util.text.TextFormatting; +import net.minecraft.world.World; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import thaumcraft.api.items.IWarpingGear; + +public class BEItemFlailVoid extends BEItemFlail implements IWarpingGear { + public BEItemFlailVoid(String modId, String id, MeleeComponent component) { + super(modId, id, component, EnumRarity.UNCOMMON); + } + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int itemSlot, boolean isSelected) { + super.onUpdate(stack, world, entity, itemSlot, isSelected); + + if (stack.isItemDamaged() && entity != null && entity.ticksExisted % 20 == 0) { + stack.attemptDamageItem(-1, world.rand, entity instanceof EntityPlayerMP ? (EntityPlayerMP) entity : null); + } + } + + @Override + public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) { + if (!player.world.isRemote && entity instanceof EntityLivingBase) { + if (!(entity instanceof EntityPlayer) || FMLCommonHandler.instance().getMinecraftServerInstance().isPVPEnabled()) { + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(MobEffects.WEAKNESS, 80)); + } + } + + return super.onLeftClickEntity(stack, player, entity); + } + + @Override + public int getWarp(ItemStack itemstack, EntityPlayer player) { + return 1; + } + + @Override + public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) { + return slotChanged || oldStack.getItem() != newStack.getItem(); + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, @Nullable World world, List tooltip, ITooltipFlag flag) { + tooltip.add(new TextComponentTranslation("enchantment.special.sapless").setStyle(new Style().setColor(TextFormatting.GOLD)).getFormattedText()); + super.addInformation(stack, world, tooltip, flag); + } +} diff --git a/src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/item/BEItemMeleeVoid.java b/src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/item/BEItemMeleeVoid.java new file mode 100644 index 0000000..632ee83 --- /dev/null +++ b/src/main/java/mod/emt/balkonsexpansion/compat/thaumcraft/item/BEItemMeleeVoid.java @@ -0,0 +1,69 @@ +package mod.emt.balkonsexpansion.compat.thaumcraft.item; + +import java.util.List; + +import javax.annotation.Nullable; + +import ckathode.weaponmod.item.IItemWeapon; +import ckathode.weaponmod.item.MeleeComponent; +import mod.emt.balkonsexpansion.item.BEItemMelee; +import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.MobEffects; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.text.Style; +import net.minecraft.util.text.TextComponentTranslation; +import net.minecraft.util.text.TextFormatting; +import net.minecraft.world.World; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import thaumcraft.api.items.IWarpingGear; + +public class BEItemMeleeVoid extends BEItemMelee implements IItemWeapon, IWarpingGear { + public BEItemMeleeVoid(String modId, String id, MeleeComponent component) { + super(modId, id, component, EnumRarity.UNCOMMON); + } + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int itemSlot, boolean isSelected) { + super.onUpdate(stack, world, entity, itemSlot, isSelected); + + if (stack.isItemDamaged() && entity != null && entity.ticksExisted % 20 == 0) { + stack.attemptDamageItem(-1, world.rand, entity instanceof EntityPlayerMP ? (EntityPlayerMP) entity : null); + } + } + + @Override + public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) { + if (!player.world.isRemote && entity instanceof EntityLivingBase) { + if (!(entity instanceof EntityPlayer) || FMLCommonHandler.instance().getMinecraftServerInstance().isPVPEnabled()) { + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(MobEffects.WEAKNESS, 80)); + } + } + + return super.onLeftClickEntity(stack, player, entity); + } + + @Override + public int getWarp(ItemStack itemstack, EntityPlayer player) { + return 1; + } + + @Override + public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) { + return slotChanged || oldStack.getItem() != newStack.getItem(); + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, @Nullable World world, List tooltip, ITooltipFlag flag) { + tooltip.add(new TextComponentTranslation("enchantment.special.sapless").setStyle(new Style().setColor(TextFormatting.GOLD)).getFormattedText()); + super.addInformation(stack, world, tooltip, flag); + } +} diff --git a/src/main/resources/assets/balkonsexpansion/models/item/battleaxe.void.block.json b/src/main/resources/assets/balkonsexpansion/models/item/battleaxe.void.block.json new file mode 100644 index 0000000..ec1185e --- /dev/null +++ b/src/main/resources/assets/balkonsexpansion/models/item/battleaxe.void.block.json @@ -0,0 +1,6 @@ +{ + "parent": "weaponmod:item/handheld_block", + "textures": { + "layer0": "balkonsexpansion:thaumcraft/items/battleaxe.void" + } +} diff --git a/src/main/resources/assets/balkonsexpansion/models/item/battleaxe.void.json b/src/main/resources/assets/balkonsexpansion/models/item/battleaxe.void.json new file mode 100644 index 0000000..9e6a045 --- /dev/null +++ b/src/main/resources/assets/balkonsexpansion/models/item/battleaxe.void.json @@ -0,0 +1,14 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "balkonsexpansion:thaumcraft/items/battleaxe.void" + }, + "overrides": [ + { + "predicate": { + "weaponmod:block": 1 + }, + "model": "balkonsexpansion:item/battleaxe.void.block" + } + ] +} diff --git a/src/main/resources/assets/balkonsexpansion/models/item/boomerang.void.json b/src/main/resources/assets/balkonsexpansion/models/item/boomerang.void.json new file mode 100644 index 0000000..5702c46 --- /dev/null +++ b/src/main/resources/assets/balkonsexpansion/models/item/boomerang.void.json @@ -0,0 +1,14 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "balkonsexpansion:thaumcraft/items/boomerang.void" + }, + "overrides": [ + { + "predicate": { + "weaponmod:ready-to-throw": 1 + }, + "model": "balkonsexpansion:item/boomerang.void" + } + ] +} diff --git a/src/main/resources/assets/balkonsexpansion/models/item/boomerang.void_ready.json b/src/main/resources/assets/balkonsexpansion/models/item/boomerang.void_ready.json new file mode 100644 index 0000000..9a4ee7c --- /dev/null +++ b/src/main/resources/assets/balkonsexpansion/models/item/boomerang.void_ready.json @@ -0,0 +1,6 @@ +{ + "parent": "weaponmod:item/handheld_block", + "textures": { + "layer0": "balkonsexpansion:thaumcraft/items/boomerang.void" + } +} diff --git a/src/main/resources/assets/balkonsexpansion/models/item/flail.void-thrown.json b/src/main/resources/assets/balkonsexpansion/models/item/flail.void-thrown.json new file mode 100644 index 0000000..2007c01 --- /dev/null +++ b/src/main/resources/assets/balkonsexpansion/models/item/flail.void-thrown.json @@ -0,0 +1,6 @@ +{ + "parent": "balkonsexpansion:item/flail.void", + "textures": { + "layer0": "balkonsexpansion:thaumcraft/items/flail-thrown.void" + } +} diff --git a/src/main/resources/assets/balkonsexpansion/models/item/flail.void.json b/src/main/resources/assets/balkonsexpansion/models/item/flail.void.json new file mode 100644 index 0000000..bef0674 --- /dev/null +++ b/src/main/resources/assets/balkonsexpansion/models/item/flail.void.json @@ -0,0 +1,14 @@ +{ + "parent": "weaponmod:item/handheld_rod", + "textures": { + "layer0": "balkonsexpansion:thaumcraft/items/flail.void" + }, + "overrides": [ + { + "predicate": { + "weaponmod:thrown": 1 + }, + "model": "balkonsexpansion:item/flail.void-thrown" + } + ] +} diff --git a/src/main/resources/assets/balkonsexpansion/models/item/halberd.void.json b/src/main/resources/assets/balkonsexpansion/models/item/halberd.void.json new file mode 100644 index 0000000..b136d27 --- /dev/null +++ b/src/main/resources/assets/balkonsexpansion/models/item/halberd.void.json @@ -0,0 +1,50 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "balkonsexpansion:thaumcraft/items/halberd.void" + }, + "display": { + "thirdperson_righthand": { + "rotation": [ + 20, + -90, + 55 + ], + "translation": [ + 0, + 3.0, + 2.0 + ], + "scale": [ + 1.7, + 1.7, + 1.7 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 20, + 90, + -55 + ], + "translation": [ + 0, + 3.0, + 2.0 + ], + "scale": [ + 1.7, + 1.7, + 1.7 + ] + } + }, + "overrides": [ + { + "predicate": { + "weaponmod:state": 1 + }, + "model": "balkonsexpansion:item/halberd.void_state" + } + ] +} diff --git a/src/main/resources/assets/balkonsexpansion/models/item/halberd.void_state.json b/src/main/resources/assets/balkonsexpansion/models/item/halberd.void_state.json new file mode 100644 index 0000000..7689c1b --- /dev/null +++ b/src/main/resources/assets/balkonsexpansion/models/item/halberd.void_state.json @@ -0,0 +1,6 @@ +{ + "parent": "balkonsexpansion:item/halberd.void", + "textures": { + "layer0": "balkonsexpansion:thaumcraft/items/halberd-stab.void" + } +} diff --git a/src/main/resources/assets/balkonsexpansion/models/item/katana.void.block.json b/src/main/resources/assets/balkonsexpansion/models/item/katana.void.block.json new file mode 100644 index 0000000..d0dcff2 --- /dev/null +++ b/src/main/resources/assets/balkonsexpansion/models/item/katana.void.block.json @@ -0,0 +1,6 @@ +{ + "parent": "weaponmod:item/handheld_block", + "textures": { + "layer0": "balkonsexpansion:thaumcraft/items/katana.void" + } +} diff --git a/src/main/resources/assets/balkonsexpansion/models/item/katana.void.json b/src/main/resources/assets/balkonsexpansion/models/item/katana.void.json new file mode 100644 index 0000000..ba84d36 --- /dev/null +++ b/src/main/resources/assets/balkonsexpansion/models/item/katana.void.json @@ -0,0 +1,14 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "balkonsexpansion:thaumcraft/items/katana.void" + }, + "overrides": [ + { + "predicate": { + "weaponmod:block": 1 + }, + "model": "balkonsexpansion:item/katana.void.block" + } + ] +} diff --git a/src/main/resources/assets/balkonsexpansion/models/item/knife.void.json b/src/main/resources/assets/balkonsexpansion/models/item/knife.void.json new file mode 100644 index 0000000..30f81e3 --- /dev/null +++ b/src/main/resources/assets/balkonsexpansion/models/item/knife.void.json @@ -0,0 +1,6 @@ +{ + "parent": "weaponmod:item/handheld_short", + "textures": { + "layer0": "balkonsexpansion:thaumcraft/items/knife.void" + } +} diff --git a/src/main/resources/assets/balkonsexpansion/models/item/spear.void.json b/src/main/resources/assets/balkonsexpansion/models/item/spear.void.json new file mode 100644 index 0000000..ab12b2a --- /dev/null +++ b/src/main/resources/assets/balkonsexpansion/models/item/spear.void.json @@ -0,0 +1,42 @@ +{ + "parent": "weaponmod:item/handheld_short", + "textures": { + "layer0": "balkonsexpansion:thaumcraft/items/spear.void" + }, + "display": { + "thirdperson_righthand": { + "rotation": [ + 0, + 90, + 35 + ], + "translation": [ + 0, + 3.0, + 1 + ], + "scale": [ + 1.7, + 1.7, + 1.7 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 0, + -90, + -35 + ], + "translation": [ + 0, + 3.0, + 1 + ], + "scale": [ + 1.7, + 1.7, + 1.7 + ] + } + } +} diff --git a/src/main/resources/assets/balkonsexpansion/models/item/warhammer.void.json b/src/main/resources/assets/balkonsexpansion/models/item/warhammer.void.json new file mode 100644 index 0000000..2bd5909 --- /dev/null +++ b/src/main/resources/assets/balkonsexpansion/models/item/warhammer.void.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "balkonsexpansion:thaumcraft/items/warhammer.void" + } +} diff --git a/src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/battleaxe.void.png b/src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/battleaxe.void.png new file mode 100644 index 0000000000000000000000000000000000000000..c3bef55844a59ba2cc9d1c5a719da19b2bb73a86 GIT binary patch literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%Lh(0G|+7SsrsmUOO3XQxOg|2`*hNL4RR(WjP*8MLtIzp&)r)YheymS#EPV z9&0uhZg~+yWj-fyPHjbAM;UH&pc$HizUtBray(WFJT|&Qp+J#YewLCzO1dP-FZe%B zz@TozZ3O>_%)lVG4}=*f?&_-p3YK}gIEH8h$M)P5Yf#{D={>V{i_Yyo|M_|E zyfWeEiAjj~^OAMV>1kSARdy4?8Jx6yeHqiHOfLP*Ew=v6E>_zu(_?q%ZtW`9y>j-T z-==iY9m*N1tXIVE9KYKi;GB6ZrCF76kGi+ggzv5#em~BztlRy?({hXEG4^0J(RTvX S%@IHsFnGH9xvXNS%G}}0G|+78E#W~UTZcMZXKZ@Wj-fGK1WSKUv+5*6$xuKDSKfKRe2FZ1yLha zNgHKxE1)KEPHjzDCk+`#Ibj1JclpWYOF&ArB*-uLKNi5CeY5rzPyuIwM`SSr1K%MK zW)#)%Y5)pmd%8G=XavXh1@g5h@VG2z;@-CFLEiiNFm0jc+W5KCON;{AIR$i?xdf+O zZZA5ya}7u5!Z}F|IlE6xKlts?f{v=o>-t)wSC@vA6`q))zwy+R-8bg`_&Zl4PG+|7 pgY63#ZhvOj`uFiWhsSe5{ry(*J4&1Dd-(Q>7!X?b^Fzcx+kK?&E>$w>Wm)7XL zb=dbTaJDCd$jzQ9HlEjb{5pLcIDF?VS!!^Kk(rr6CrMkNS%G|&0G|+7IUXw+Zc|M`UtOV4HWqGmX$N@`L!hKEhpIB4lLC(okZr#4p)ru+ zDGBlm{*M3*Lif*|1B!DNctjR6Fz_7&Va6R3v)=**!#!ObLo|YG&jkuKC~&X@Tr)6y zSASn*!-oEEhb8a7VtA?k-{D5%sf~=`1#EV+(;nP9_VLgg+^D_ETtA1iYsNZ<7@!plp00i_>zopr02WVJmjD0& literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/halberd-stab.void.png b/src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/halberd-stab.void.png new file mode 100644 index 0000000000000000000000000000000000000000..563329f7b0919436091c18d8d84b16a0ce9c2830 GIT binary patch literal 517 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCil;0(?STRd_Ab_-x7~mdf&&EArY&aOo=YIco6R$4N9A3H!-#n~HF#X$ktX zv2eQ!BT_Ork78x~&S zVmr_J$oxN}#F^GgZuW>@J6LMA-n*c1hfT2V(cOOzO&>IN9I2e-=Fk|d_Q}a9X4wJH zfUA2lLZ&SF)xKxZ)S%Mzzg+AGwnQ#p;_{fG@aC#z4;tSy{HUAYs<+Ks>c#iwCyyj9 zh3|QO;hN+*%?0PLuk@?hdT_b@QKsbj9?qV9tY`LduGz=<=AXU7ulj~L{~2D@oMCzK zPu${{aKTsi2XFWf-2LCMb0?ee^W+)jFP}dIe Q0s4}`)78&qol`;+0I>|uTmS$7 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/halberd.void.png b/src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/halberd.void.png new file mode 100644 index 0000000000000000000000000000000000000000..d99bd0eb5a6622412b550ec575e1f80288ef5d45 GIT binary patch literal 517 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCil;0(?STRd_Ab_-y344P|-E6?yF>xO5fy95wjurMYyBg#Bc=O+`4=v;_Ux zSh$5bRP}^BO@sr5*_GvZEOmr}n$p%W|8`@mQ-%J1FxxiF0Zz@;b_Jn`;XC z#z{1mNi202NYoT?)E012=eJejHPIDxHxTkR6!rz`oi8<4A4qAH1o;L3Cl)Xmt@scF z)Wuog5n0T@z_%ZS87)|YRe*xGJY5_^Ec|QF-4<(75MT{Bv*c4)msnUr>h_=i<#RN) zHXZ!jup>>r;b2IF!RLm8KJO#qr$u=msd#;y{PZ<1=c7eWn4X8uWn$e{xpOkpre$n? zO@A9tFZNn}>(7Mn48@RYqxBycdhE7)ahS+WFpZK`?SCfM@Sa_qj4!p8H@b313m(d5_{%2nFpZ&y7{srfb_cXk# zZ(MHA6kpG9ua5uEU;Y`hqzww~+E}OOW%0eK+WkG+YE8AxZ(Y#_al3ibQul|J@c@0v N;OXk;vd$@?2>>nw!u$XL literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/katana.void.png b/src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/katana.void.png new file mode 100644 index 0000000000000000000000000000000000000000..837df80f06ea7ad92ac3f6676dbf20672c23c4b6 GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%Lh_0G|+76X$PRGngWjcLSE|pwo1Gv zx`OW70xkwZ-azsD&)3WVQpzPke!>3<0){lr=4n9XoCO|{#S9F5`$3q|f;CtLC|Kg@ z;uxY49NQfz)MUWp(k!O4g{#9sQ)|X=`AcS;m-&8AuFW@VSpI}*L4&v2gH>Lks*JCe zmClW0x?a-xXrH3rAp`kG6$y!N{|0ioUo883IU_NO=WuokS7*|!*m%Q9GsNES@>#Rl ny@s3ZNS%Lht0G|+76<)EdeJ*9%DTrPc{~Ab!i7(K{r)C3rzt>c@aaPk@`Yj>io7!ye7JW?%Dz_ z214G3!oEQ9%X_MTB!f~(kYDhBLV$ty!r?-oYR&?W$YKTtzJnmlxMO1WTcBW$r;B5V zMsRJPJKq5X9u{AZ_j}F%|DU|^;KTsFnapqcau^@9$1`^E&zAK6-Kg!*9{7gCmdKI;Vst0H4i$>i_@% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/spear.void.png b/src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/spear.void.png new file mode 100644 index 0000000000000000000000000000000000000000..7f52a958eb4ca019d62ccd254ac1d9925abb2316 GIT binary patch literal 387 zcmV-}0et?6P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940T@X{K~z{r?Uz4K z!!QuV-#N~o0&ydXV5krarGlw!6+#GD`K~asF*7hRu<#jxPzX^)g7K9ML}JZVLVkN0-P09`C2)|P+p>B^8f`Z4%LQ8`fk>~~Lcd@w9N_->n#y{H z$@<0OO>{1XkB6rWlL7t~!*@0gmk0OGe>#HlvAfbcmy>tyO7C1w-nlE~;UjY-;{4B< zaNIw!^ZFgVPs7_z2iMl&d*;{%Dn#{FB2+7Q$ZtBInp+8wo6`BykOX}ZIIDF5O)*Tk h1+Ai{^7m#8s4sv&5Sa(k5C6L3C?&#~t zz_78O`%fY(P>w0UC&X2S*FufYMupc>j6+GD+fbTYTa-gdnb%xj$jeaJ*GSk;jnCRj zShr3$&qO#-o!?GR#Kcn6)I>N)mCuTegn(H;D6ge6iHl`OiYMV61mAWcgMr+wPs+l#0R5{8UH+t1rNf=hx)jA66 zHkuY$h!_E#?X>FuDBpB8|@%QxpH&<4%|kH}&M25w;xW@MN(M*ilPH?kU#( zET45a-zqn_wYiA-s51XE4KLMATbWxcR<4rjHU0iGQ^CW;JRn0u=Henhg;~uJHXbvd zv8ha1P$$2c+4iJ_@5B|gopm#w%}JeOdd4!{hbL`;dhbphR=utnw{PTCJ z6|mdK II;Vst0HDV-S^xk5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/warhammer.void.png.mcmeta b/src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/warhammer.void.png.mcmeta new file mode 100644 index 0000000..24f9c2f --- /dev/null +++ b/src/main/resources/assets/balkonsexpansion/textures/thaumcraft/items/warhammer.void.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +}