From 1dfecd54bec39ad945ec38823f66f2418f1d5a55 Mon Sep 17 00:00:00 2001 From: JFronny Date: Sat, 8 Jan 2022 23:32:51 +0100 Subject: [PATCH] Allow enabling constant burning --- gradle.properties | 2 +- .../io/gitlab/jfronny/combit/CombitConfig.java | 3 +++ .../jfronny/combit/mixin/MobEntityMixin.java | 16 ++++++++++++++++ src/main/resources/assets/combit/lang/en_us.json | 2 ++ src/main/resources/combit.mixins.json | 1 + 5 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 src/main/java/io/gitlab/jfronny/combit/mixin/MobEntityMixin.java diff --git a/gradle.properties b/gradle.properties index a6c3f2f..1c0cc0f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ maven_group=io.gitlab.jfronny archives_base_name=combit fabric_version=0.45.0+1.18 -jfapi_version=2.2.2-1641673767 +jfapi_version=2.3.0 modrinth_id=oPRrsg3M curseforge_id=561742 \ No newline at end of file diff --git a/src/main/java/io/gitlab/jfronny/combit/CombitConfig.java b/src/main/java/io/gitlab/jfronny/combit/CombitConfig.java index 950d4ad..c94deb1 100644 --- a/src/main/java/io/gitlab/jfronny/combit/CombitConfig.java +++ b/src/main/java/io/gitlab/jfronny/combit/CombitConfig.java @@ -24,6 +24,7 @@ public class CombitConfig implements JfConfig { @Entry public static Boolean zombiesBurn = true; @Entry public static Boolean creepersBurn = false; @Entry public static Boolean creepersExplodeWhenBurning = false; + @Entry public static Boolean alwaysBurn = false; // Health @Entry public static Double entityHealthFactor = 1.5; @Entry public static HashSet entityHealthBlacklist = null; @@ -82,6 +83,7 @@ public class CombitConfig implements JfConfig { zombiesBurn = true; creepersBurn = false; creepersExplodeWhenBurning = false; + alwaysBurn = false; entityHealthFactor = 1.0; entityHealthBlacklist = null; cooldownProgressOverride = 0.8; @@ -108,6 +110,7 @@ public class CombitConfig implements JfConfig { zombiesBurn = false; creepersBurn = true; creepersExplodeWhenBurning = true; + alwaysBurn = true; entityHealthFactor = 10d; entityHealthBlacklist = null; cooldownProgressOverride = 1d; diff --git a/src/main/java/io/gitlab/jfronny/combit/mixin/MobEntityMixin.java b/src/main/java/io/gitlab/jfronny/combit/mixin/MobEntityMixin.java new file mode 100644 index 0000000..20bdf9a --- /dev/null +++ b/src/main/java/io/gitlab/jfronny/combit/mixin/MobEntityMixin.java @@ -0,0 +1,16 @@ +package io.gitlab.jfronny.combit.mixin; + +import io.gitlab.jfronny.combit.CombitConfig; +import net.minecraft.entity.mob.MobEntity; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(MobEntity.class) +public class MobEntityMixin { + @Inject(method = "isAffectedByDaylight()Z", at = @At("RETURN"), cancellable = true) + private void modifyDaylight(CallbackInfoReturnable cir) { + if (CombitConfig.alwaysBurn) cir.setReturnValue(true); + } +} diff --git a/src/main/resources/assets/combit/lang/en_us.json b/src/main/resources/assets/combit/lang/en_us.json index e52d018..0d9130f 100644 --- a/src/main/resources/assets/combit/lang/en_us.json +++ b/src/main/resources/assets/combit/lang/en_us.json @@ -26,6 +26,8 @@ "combit.jfconfig.creepersBurn.tooltip": "Causes Creepers to burn in sunlight", "combit.jfconfig.creepersExplodeWhenBurning": "Creepers explode when burning", "combit.jfconfig.creepersExplodeWhenBurning.tooltip": "Causes creepers to explode when on fire. Do not combine with creepersBurn!", + "combit.jfconfig.alwaysBurn": "Always burn", + "combit.jfconfig.alwaysBurn.tooltip": "Makes mobs that burn in sunlight burn constantly", "combit.jfconfig.entityHealthFactor": "Entity Health Factor", "combit.jfconfig.entityHealthFactor.tooltip": "Factor to apply to the maximum health of entities", diff --git a/src/main/resources/combit.mixins.json b/src/main/resources/combit.mixins.json index 5d785a2..14d3e04 100644 --- a/src/main/resources/combit.mixins.json +++ b/src/main/resources/combit.mixins.json @@ -10,6 +10,7 @@ "HostileEntityMixin", "LivingEntityMixin", "MiningToolItemMixin", + "MobEntityMixin", "PlayerEntityMixin", "SnowballEntityMixin", "ZombieEntityMixin"