From a0644ac434ab8f86bfdc07960c5afbc0e9ec270b Mon Sep 17 00:00:00 2001 From: Deximus-Maximus Date: Tue, 28 Jul 2020 08:13:19 -0400 Subject: [PATCH] AutoSwitch support (#2175). Thanks to dexman545 --- build.gradle | 2 + .../compat/autoswitch/AutoSwitchApiImpl.java | 42 +++++++++++++++++++ src/main/resources/fabric.mod.json | 5 ++- 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 src/main/java/techreborn/compat/autoswitch/AutoSwitchApiImpl.java diff --git a/build.gradle b/build.gradle index d839014be..c41fb1157 100644 --- a/build.gradle +++ b/build.gradle @@ -93,6 +93,8 @@ dependencies { compileOnly "com.google.code.findbugs:jsr305:3.0.2" modApi 'teamreborn:energy:0.1.0' + + optionalDependency "com.github.dexman545:autoswitch-api:-SNAPSHOT" } def optionalDependency(String dep) { diff --git a/src/main/java/techreborn/compat/autoswitch/AutoSwitchApiImpl.java b/src/main/java/techreborn/compat/autoswitch/AutoSwitchApiImpl.java new file mode 100644 index 000000000..18c4c43b0 --- /dev/null +++ b/src/main/java/techreborn/compat/autoswitch/AutoSwitchApiImpl.java @@ -0,0 +1,42 @@ +package techreborn.compat.autoswitch; + +import autoswitch.api.AutoSwitchApi; +import autoswitch.api.AutoSwitchMap; +import autoswitch.api.DurabilityGetter; +import net.minecraft.item.Item; +import net.minecraft.tag.Tag; +import org.apache.commons.lang3.tuple.Pair; +import reborncore.common.util.ItemUtils; +import techreborn.items.tool.ChainsawItem; +import techreborn.items.tool.DrillItem; +import techreborn.items.tool.JackhammerItem; +import techreborn.items.tool.advanced.RockCutterItem; +import techreborn.items.tool.basic.ElectricTreetapItem; +import techreborn.items.tool.industrial.NanosaberItem; +import techreborn.items.tool.industrial.OmniToolItem; + +public class AutoSwitchApiImpl implements AutoSwitchApi { + + @Override + public void moddedTargets(AutoSwitchMap targets, AutoSwitchMap actionConfig, AutoSwitchMap usableConfig) { + + } + + @Override + public void moddedToolGroups(AutoSwitchMap, Class>> toolGroupings) { + + } + + @Override + public void customDamageSystems(AutoSwitchMap, DurabilityGetter> damageMap) { + // Multiple by 100 to get percentage out of decimal form + damageMap.put(DrillItem.class, stack -> 100 * ItemUtils.getPowerForDurabilityBar(stack)); + damageMap.put(ChainsawItem.class, stack -> 100 * ItemUtils.getPowerForDurabilityBar(stack)); + damageMap.put(JackhammerItem.class, stack -> 100 * ItemUtils.getPowerForDurabilityBar(stack)); + damageMap.put(NanosaberItem.class, stack -> 100 * ItemUtils.getPowerForDurabilityBar(stack)); + damageMap.put(OmniToolItem.class, stack -> 100 * ItemUtils.getPowerForDurabilityBar(stack)); + damageMap.put(ElectricTreetapItem.class, stack -> 100 * ItemUtils.getPowerForDurabilityBar(stack)); + damageMap.put(RockCutterItem.class, stack -> 100 * ItemUtils.getPowerForDurabilityBar(stack)); + + } +} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index c33222225..f7142f2e4 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -24,7 +24,10 @@ ], "libcd": [ "techreborn.compat.libcd.LibCDPlugin" - ] + ], + "autoswitch": [ + "techreborn.compat.autoswitch.AutoSwitchApiImpl" + ] }, "depends": { "fabricloader": ">=0.6.3",