diff --git a/src/generated/resources/assets/gtceu/lang/en_ud.json b/src/generated/resources/assets/gtceu/lang/en_ud.json index 367176eab91..ea5871e7a89 100644 --- a/src/generated/resources/assets/gtceu/lang/en_ud.json +++ b/src/generated/resources/assets/gtceu/lang/en_ud.json @@ -4794,10 +4794,15 @@ "item.gtceu.tool.hoe": "ǝoH %s", "item.gtceu.tool.hv_chainsaw": ")ΛH( ʍɐsuıɐɥƆ %s", "item.gtceu.tool.hv_drill": ")ΛH( ןןıɹᗡ %s", + "item.gtceu.tool.hv_screwdriver": ")ΛH( ɹǝʌıɹpʍǝɹɔS %s", + "item.gtceu.tool.hv_screwdriver.tooltip": "sǝuıɥɔɐW puɐ sɹǝʌoƆ sʇsnظpⱯ8§", "item.gtceu.tool.hv_wirecutter": ")ΛH( ɹǝʇʇnƆ ǝɹıM %s", "item.gtceu.tool.hv_wrench": ")ΛH( ɥɔuǝɹM %s", "item.gtceu.tool.hv_wrench.tooltip": "sǝuıɥɔɐW ǝןʇuɐɯsıp oʇ ʞɔıןɔ ʇɟǝן pןoH8§", + "item.gtceu.tool.iv_chainsaw": ")ΛI( ʍɐsuıɐɥƆ %s", "item.gtceu.tool.iv_drill": ")ΛI( ןןıɹᗡ %s", + "item.gtceu.tool.iv_screwdriver": ")ΛI( ɹǝʌıɹpʍǝɹɔS %s", + "item.gtceu.tool.iv_screwdriver.tooltip": "sǝuıɥɔɐW puɐ sɹǝʌoƆ sʇsnظpⱯ8§", "item.gtceu.tool.iv_wirecutter": ")ΛI( ɹǝʇʇnƆ ǝɹıM %s", "item.gtceu.tool.iv_wrench": ")ΛI( ɥɔuǝɹM %s", "item.gtceu.tool.iv_wrench.tooltip": "sǝuıɥɔɐW ǝןʇuɐɯsıp oʇ ʞɔıןɔ ʇɟǝן pןoH8§", @@ -4809,7 +4814,7 @@ "item.gtceu.tool.lv_screwdriver.tooltip": "sǝuıɥɔɐW puɐ sɹǝʌoƆ sʇsnظpⱯ8§", "item.gtceu.tool.lv_wirecutter": ")ΛꞀ( ɹǝʇʇnƆ ǝɹıM %s", "item.gtceu.tool.lv_wrench": ")ΛꞀ( ɥɔuǝɹM %s", - "item.gtceu.tool.lv_wrench.tooltip": "sǝuıɥɔɐW ǝןʇuɐɯsıp oʇ ʞɔıןɔ ʇɟǝן pןoH8§", + "item.gtceu.tool.lv_wrench.tooltip": "sǝuıɥɔɐW ǝןʇuɐɯsıp oʇs ʞɔıןɔ ʇɟǝן pןoH8§", "item.gtceu.tool.mallet": "ʇǝןןɐW ʇɟoS %s", "item.gtceu.tool.mallet.tooltip.0": "˙ǝdıɔǝᴚ ʇuǝɹɹnƆ ɹǝʇɟⱯ ǝuıɥɔɐW ǝsnɐԀ oʇ ʞɐǝuS8§", "item.gtceu.tool.mallet.tooltip.1": "sǝuıɥɔɐW sʇɹɐʇS/sdoʇS8§", diff --git a/src/generated/resources/assets/gtceu/lang/en_us.json b/src/generated/resources/assets/gtceu/lang/en_us.json index 42c76727ea0..956f2211845 100644 --- a/src/generated/resources/assets/gtceu/lang/en_us.json +++ b/src/generated/resources/assets/gtceu/lang/en_us.json @@ -4794,10 +4794,15 @@ "item.gtceu.tool.hoe": "%s Hoe", "item.gtceu.tool.hv_chainsaw": "%s Chainsaw (HV)", "item.gtceu.tool.hv_drill": "%s Drill (HV)", + "item.gtceu.tool.hv_screwdriver": "%s Screwdriver (HV)", + "item.gtceu.tool.hv_screwdriver.tooltip": "§8Adjusts Covers and Machines", "item.gtceu.tool.hv_wirecutter": "%s Wire Cutter (HV)", "item.gtceu.tool.hv_wrench": "%s Wrench (HV)", "item.gtceu.tool.hv_wrench.tooltip": "§8Hold left click to dismantle Machines", + "item.gtceu.tool.iv_chainsaw": "%s Chainsaw (IV)", "item.gtceu.tool.iv_drill": "%s Drill (IV)", + "item.gtceu.tool.iv_screwdriver": "%s Screwdriver (IV)", + "item.gtceu.tool.iv_screwdriver.tooltip": "§8Adjusts Covers and Machines", "item.gtceu.tool.iv_wirecutter": "%s Wire Cutter (IV)", "item.gtceu.tool.iv_wrench": "%s Wrench (IV)", "item.gtceu.tool.iv_wrench.tooltip": "§8Hold left click to dismantle Machines", diff --git a/src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/properties/ToolProperty.java b/src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/properties/ToolProperty.java index db1fff3651b..b6b7a3851d7 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/properties/ToolProperty.java +++ b/src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/properties/ToolProperty.java @@ -217,11 +217,15 @@ public static Builder of(float harvestSpeed, float attackDamage, int durability, DRILL_EV, DRILL_IV, CHAINSAW_LV, + CHAINSAW_HV, + CHAINSAW_IV, WRENCH_LV, WRENCH_HV, WRENCH_IV, BUZZSAW, SCREWDRIVER_LV, + SCREWDRIVER_HV, + SCREWDRIVER_IV, WIRE_CUTTER_LV, WIRE_CUTTER_HV, WIRE_CUTTER_IV, diff --git a/src/main/java/com/gregtechceu/gtceu/api/item/tool/GTToolType.java b/src/main/java/com/gregtechceu/gtceu/api/item/tool/GTToolType.java index 38a84ee4fb3..19c2f4361a9 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/item/tool/GTToolType.java +++ b/src/main/java/com/gregtechceu/gtceu/api/item/tool/GTToolType.java @@ -381,6 +381,44 @@ public class GTToolType { .defaultActions(ToolActions.AXE_DIG, ToolActions.SWORD_DIG, ToolActions.HOE_DIG, GTToolActions.SAW_DIG) .build(); + public static final GTToolType CHAINSAW_HV = GTToolType.builder("hv_chainsaw") + .idFormat("hv_%s_chainsaw") + .toolTag(ToolItemTagType.MATCH, ItemTags.AXES) + .toolTag(ToolItemTagType.MATCH, CustomTags.CHAINSAWS) + .harvestTag(BlockTags.MINEABLE_WITH_AXE) + .harvestTag(BlockTags.SWORD_EFFICIENT) + .harvestTag(BlockTags.MINEABLE_WITH_HOE) + .toolStats(b -> b.blockBreaking() + .efficiencyMultiplier(3.0F) + .attackDamage(5.0F).attackSpeed(-3.2F) + .brokenStack(ToolHelper.SUPPLY_POWER_UNIT_HV) + .behaviors(HarvestIceBehavior.INSTANCE, DisableShieldBehavior.INSTANCE, + TreeFellingBehavior.INSTANCE)) + .sound(GTSoundEntries.CHAINSAW_TOOL, true) + .electric(GTValues.HV) + .toolClasses(GTToolType.AXE) + .defaultActions(ToolActions.AXE_DIG, ToolActions.SWORD_DIG, ToolActions.HOE_DIG, + GTToolActions.SAW_DIG) + .build(); + public static final GTToolType CHAINSAW_IV = GTToolType.builder("iv_chainsaw") + .idFormat("iv_%s_chainsaw") + .toolTag(ToolItemTagType.MATCH, ItemTags.AXES) + .toolTag(ToolItemTagType.MATCH, CustomTags.CHAINSAWS) + .harvestTag(BlockTags.MINEABLE_WITH_AXE) + .harvestTag(BlockTags.SWORD_EFFICIENT) + .harvestTag(BlockTags.MINEABLE_WITH_HOE) + .toolStats(b -> b.blockBreaking() + .efficiencyMultiplier(4.0F) + .attackDamage(5.0F).attackSpeed(-3.2F) + .brokenStack(ToolHelper.SUPPLY_POWER_UNIT_IV) + .behaviors(HarvestIceBehavior.INSTANCE, DisableShieldBehavior.INSTANCE, + TreeFellingBehavior.INSTANCE)) + .sound(GTSoundEntries.CHAINSAW_TOOL, true) + .electric(GTValues.IV) + .toolClasses(GTToolType.AXE) + .defaultActions(ToolActions.AXE_DIG, ToolActions.SWORD_DIG, ToolActions.HOE_DIG, + GTToolActions.SAW_DIG) + .build(); public static final GTToolType WRENCH_LV = GTToolType.builder("lv_wrench") .idFormat("lv_%s_wrench") .toolTag(ToolItemTagType.CRAFTING, CustomTags.CRAFTING_WRENCHES) @@ -497,6 +535,32 @@ public class GTToolType { .toolClasses(GTToolType.SCREWDRIVER) .defaultActions(GTToolActions.DEFAULT_SCREWDRIVER_ACTIONS) .build(); + public static final GTToolType SCREWDRIVER_HV = GTToolType.builder("hv_screwdriver") + .idFormat("hv_%s_screwdriver") + .toolTag(ToolItemTagType.CRAFTING, CustomTags.CRAFTING_SCREWDRIVERS) + .toolTag(ToolItemTagType.MATCH, CustomTags.SCREWDRIVERS) + .toolStats(b -> b.crafting().sneakBypassUse() + .attackDamage(-1.0F).attackSpeed(3.0F) + .behaviors(new EntityDamageBehavior(3.0F, Spider.class)) + .brokenStack(ToolHelper.SUPPLY_POWER_UNIT_HV)) + .sound(GTSoundEntries.SCREWDRIVER_TOOL) + .electric(GTValues.HV) + .toolClasses(GTToolType.SCREWDRIVER) + .defaultActions(GTToolActions.DEFAULT_SCREWDRIVER_ACTIONS) + .build(); + public static final GTToolType SCREWDRIVER_IV = GTToolType.builder("iv_screwdriver") + .idFormat("iv_%s_screwdriver") + .toolTag(ToolItemTagType.CRAFTING, CustomTags.CRAFTING_SCREWDRIVERS) + .toolTag(ToolItemTagType.MATCH, CustomTags.SCREWDRIVERS) + .toolStats(b -> b.crafting().sneakBypassUse() + .attackDamage(-1.0F).attackSpeed(3.0F) + .behaviors(new EntityDamageBehavior(3.0F, Spider.class)) + .brokenStack(ToolHelper.SUPPLY_POWER_UNIT_IV)) + .sound(GTSoundEntries.SCREWDRIVER_TOOL) + .electric(GTValues.IV) + .toolClasses(GTToolType.SCREWDRIVER) + .defaultActions(GTToolActions.DEFAULT_SCREWDRIVER_ACTIONS) + .build(); public final String name; public final String idFormat; diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java index e319eb4f605..54658dac5c8 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java @@ -241,6 +241,7 @@ public static void init(RegistrateLangProvider provider) { replace(provider, "item.gtceu.tool.lv_chainsaw", "%s Chainsaw (LV)"); replace(provider, "item.gtceu.tool.mv_chainsaw", "%s Chainsaw (MV)"); replace(provider, "item.gtceu.tool.hv_chainsaw", "%s Chainsaw (HV)"); + replace(provider, "item.gtceu.tool.iv_chainsaw", "%s Chainsaw (IV)"); replace(provider, "item.gtceu.tool.lv_wrench", "%s Wrench (LV)"); provider.add("item.gtceu.tool.lv_wrench.tooltip", "§8Hold left click to dismantle Machines"); replace(provider, "item.gtceu.tool.hv_wrench", "%s Wrench (HV)"); @@ -251,6 +252,10 @@ public static void init(RegistrateLangProvider provider) { provider.add("item.gtceu.tool.buzzsaw.tooltip", "§8Not suitable for harvesting Blocks"); replace(provider, "item.gtceu.tool.lv_screwdriver", "%s Screwdriver (LV)"); provider.add("item.gtceu.tool.lv_screwdriver.tooltip", "§8Adjusts Covers and Machines"); + replace(provider, "item.gtceu.tool.hv_screwdriver", "%s Screwdriver (HV)"); + provider.add("item.gtceu.tool.hv_screwdriver.tooltip", "§8Adjusts Covers and Machines"); + replace(provider, "item.gtceu.tool.iv_screwdriver", "%s Screwdriver (IV)"); + provider.add("item.gtceu.tool.iv_screwdriver.tooltip", "§8Adjusts Covers and Machines"); replace(provider, "item.gtceu.tool.plunger", "%s Plunger"); provider.add("item.gtceu.tool.plunger.tooltip", "§8Removes Fluids from Machines"); replace(provider, "item.gtceu.tool.shears", "%s Shears"); diff --git a/src/main/java/com/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler.java b/src/main/java/com/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler.java index d67aa688dd7..2139209ef0b 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler.java +++ b/src/main/java/com/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler.java @@ -235,7 +235,9 @@ private static void processElectricTool(@NotNull Consumer provid 'S', steelPlate, 'R', steelRing); - addElectricToolRecipe(provider, toolPrefix, new GTToolType[] { GTToolType.CHAINSAW_LV }, material); + addElectricToolRecipe(provider, toolPrefix, + new GTToolType[] { GTToolType.CHAINSAW_LV, GTToolType.CHAINSAW_HV, GTToolType.CHAINSAW_IV }, + material); } // wrench @@ -300,7 +302,8 @@ private static void processElectricTool(@NotNull Consumer provid if (property.hasType(GTToolType.SCREWDRIVER_LV)) { if (material.hasFlag(GENERATE_LONG_ROD)) { toolPrefix = TagPrefix.toolHeadScrewdriver; - addElectricToolRecipe(provider, toolPrefix, new GTToolType[] { GTToolType.SCREWDRIVER_LV }, material); + addElectricToolRecipe(provider, toolPrefix, new GTToolType[] { GTToolType.SCREWDRIVER_LV, + GTToolType.SCREWDRIVER_HV, GTToolType.SCREWDRIVER_IV }, material); VanillaRecipeHelper.addShapedRecipe(provider, String.format("screwdriver_tip_%s", material.getName()), ChemicalHelper.get(toolPrefix, material), diff --git a/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/CustomToolRecipes.java b/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/CustomToolRecipes.java index 636dde61977..2d94a1c84ca 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/CustomToolRecipes.java +++ b/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/CustomToolRecipes.java @@ -88,11 +88,15 @@ private static void initializeGTItems() { ToolHeadReplaceRecipe.setToolHeadForTool(toolHeadDrill, GTToolType.DRILL_EV); ToolHeadReplaceRecipe.setToolHeadForTool(toolHeadDrill, GTToolType.DRILL_IV); ToolHeadReplaceRecipe.setToolHeadForTool(toolHeadChainsaw, GTToolType.CHAINSAW_LV); + ToolHeadReplaceRecipe.setToolHeadForTool(toolHeadChainsaw, GTToolType.CHAINSAW_HV); + ToolHeadReplaceRecipe.setToolHeadForTool(toolHeadChainsaw, GTToolType.CHAINSAW_IV); ToolHeadReplaceRecipe.setToolHeadForTool(toolHeadWrench, GTToolType.WRENCH_LV); ToolHeadReplaceRecipe.setToolHeadForTool(toolHeadWrench, GTToolType.WRENCH_HV); ToolHeadReplaceRecipe.setToolHeadForTool(toolHeadWrench, GTToolType.WRENCH_IV); ToolHeadReplaceRecipe.setToolHeadForTool(toolHeadBuzzSaw, GTToolType.BUZZSAW); ToolHeadReplaceRecipe.setToolHeadForTool(toolHeadScrewdriver, GTToolType.SCREWDRIVER_LV); + ToolHeadReplaceRecipe.setToolHeadForTool(toolHeadScrewdriver, GTToolType.SCREWDRIVER_HV); + ToolHeadReplaceRecipe.setToolHeadForTool(toolHeadScrewdriver, GTToolType.SCREWDRIVER_IV); ToolHeadReplaceRecipe.setToolHeadForTool(toolHeadWireCutter, GTToolType.WIRE_CUTTER_LV); ToolHeadReplaceRecipe.setToolHeadForTool(toolHeadWireCutter, GTToolType.WIRE_CUTTER_HV); ToolHeadReplaceRecipe.setToolHeadForTool(toolHeadWireCutter, GTToolType.WIRE_CUTTER_IV); diff --git a/src/main/resources/assets/gtceu/models/item/tools/hv_chainsaw.json b/src/main/resources/assets/gtceu/models/item/tools/hv_chainsaw.json new file mode 100644 index 00000000000..ebfd3e33362 --- /dev/null +++ b/src/main/resources/assets/gtceu/models/item/tools/hv_chainsaw.json @@ -0,0 +1,9 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "gtceu:item/tools/power_unit_hv", + "layer1": "gtceu:item/tools/chainsaw", + "layer2": "gtceu:item/void", + "layer3": "gtceu:item/tools/chainsaw_body" + } +} diff --git a/src/main/resources/assets/gtceu/models/item/tools/hv_screwdriver.json b/src/main/resources/assets/gtceu/models/item/tools/hv_screwdriver.json new file mode 100644 index 00000000000..e45c0a35fc1 --- /dev/null +++ b/src/main/resources/assets/gtceu/models/item/tools/hv_screwdriver.json @@ -0,0 +1,8 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "gtceu:item/tools/handle_electric_screwdriver", + "layer1": "gtceu:item/tools/screwdriver_short", + "layer2": "gtceu:item/tools/screwdriver_overlay" + } +} diff --git a/src/main/resources/assets/gtceu/models/item/tools/iv_chainsaw.json b/src/main/resources/assets/gtceu/models/item/tools/iv_chainsaw.json new file mode 100644 index 00000000000..6d10ea06bc1 --- /dev/null +++ b/src/main/resources/assets/gtceu/models/item/tools/iv_chainsaw.json @@ -0,0 +1,9 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "gtceu:item/tools/power_unit_iv", + "layer1": "gtceu:item/tools/chainsaw", + "layer2": "gtceu:item/void", + "layer3": "gtceu:item/tools/chainsaw_body" + } +} diff --git a/src/main/resources/assets/gtceu/models/item/tools/iv_screwdriver.json b/src/main/resources/assets/gtceu/models/item/tools/iv_screwdriver.json new file mode 100644 index 00000000000..e45c0a35fc1 --- /dev/null +++ b/src/main/resources/assets/gtceu/models/item/tools/iv_screwdriver.json @@ -0,0 +1,8 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "gtceu:item/tools/handle_electric_screwdriver", + "layer1": "gtceu:item/tools/screwdriver_short", + "layer2": "gtceu:item/tools/screwdriver_overlay" + } +}