From d3295e6b4ed863822da63addfa0b9acba5689440 Mon Sep 17 00:00:00 2001 From: gnembon Date: Wed, 14 Apr 2021 15:07:08 -0300 Subject: [PATCH] 21w15a --- gradle.properties | 4 ++-- .../BaseRangeDecorator2_cleanLogsMixin.java | 21 +++++++++++++++++++ .../BaseRangeDecorator_cleanLogsMixin.java | 14 ++++++------- .../mixins/Explosion_scarpetEventMixin.java | 11 ++++++++-- src/main/resources/carpet.mixins.json | 2 +- 5 files changed, 40 insertions(+), 12 deletions(-) create mode 100644 src/main/java/carpet/mixins/BaseRangeDecorator2_cleanLogsMixin.java diff --git a/gradle.properties b/gradle.properties index 7c59f26b..cebcb6fd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,8 +4,8 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use # or better: https://modmuss50.me/fabric.html - minecraft_version=21w14a - yarn_mappings=21w14a+build.27 + minecraft_version=21w15a + yarn_mappings=21w15a+build.1 loader_version=0.11.3 fabric_version=0.32.7+1.17 diff --git a/src/main/java/carpet/mixins/BaseRangeDecorator2_cleanLogsMixin.java b/src/main/java/carpet/mixins/BaseRangeDecorator2_cleanLogsMixin.java new file mode 100644 index 00000000..1295c0b4 --- /dev/null +++ b/src/main/java/carpet/mixins/BaseRangeDecorator2_cleanLogsMixin.java @@ -0,0 +1,21 @@ +package carpet.mixins; + +import carpet.CarpetSettings; +import net.minecraft.class_6342; +import org.apache.logging.log4j.Logger; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +@Mixin(class_6342.class) +public class BaseRangeDecorator2_cleanLogsMixin { + + //@SuppressWarnings("UnresolvedMixinReference") + @Redirect(method = "get", + at = @At(value = "INVOKE", target = "Lorg/apache/logging/log4j/Logger;warn(Ljava/lang/String;Ljava/lang/Object;)V") + ) + private void skipLogs(Logger logger, String message, Object p0) + { + if (!CarpetSettings.cleanLogs) logger.warn(message, p0); + } +} diff --git a/src/main/java/carpet/mixins/BaseRangeDecorator_cleanLogsMixin.java b/src/main/java/carpet/mixins/BaseRangeDecorator_cleanLogsMixin.java index 306a6a59..d52f77ad 100644 --- a/src/main/java/carpet/mixins/BaseRangeDecorator_cleanLogsMixin.java +++ b/src/main/java/carpet/mixins/BaseRangeDecorator_cleanLogsMixin.java @@ -1,21 +1,21 @@ package carpet.mixins; import carpet.CarpetSettings; -import net.minecraft.world.gen.decorator.BaseRangeDecorator; +import net.minecraft.class_6343; import org.apache.logging.log4j.Logger; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; -@Mixin(BaseRangeDecorator.class) +@Mixin(class_6343.class) public class BaseRangeDecorator_cleanLogsMixin { - @SuppressWarnings("UnresolvedMixinReference") - @Redirect(method = "getY(Lnet/minecraft/world/gen/decorator/DecoratorContext;Ljava/util/Random;Lnet/minecraft/world/gen/decorator/RangeDecoratorConfig;I)I", - at = @At(value = "INVOKE", target = "Lorg/apache/logging/log4j/Logger;warn(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V") + //@SuppressWarnings("UnresolvedMixinReference") + @Redirect(method = "get", + at = @At(value = "INVOKE", target = "Lorg/apache/logging/log4j/Logger;warn(Ljava/lang/String;Ljava/lang/Object;)V") ) - private void skipLogs(Logger logger, String message, Object p0, Object p1, Object p2) + private void skipLogs(Logger logger, String message, Object p0) { - if (!CarpetSettings.cleanLogs) logger.warn(message, p0, p1, p2); + if (!CarpetSettings.cleanLogs) logger.warn(message, p0); } } diff --git a/src/main/java/carpet/mixins/Explosion_scarpetEventMixin.java b/src/main/java/carpet/mixins/Explosion_scarpetEventMixin.java index 8bca895d..24810333 100644 --- a/src/main/java/carpet/mixins/Explosion_scarpetEventMixin.java +++ b/src/main/java/carpet/mixins/Explosion_scarpetEventMixin.java @@ -15,6 +15,7 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.Redirect; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.LocalCapture; @@ -39,6 +40,8 @@ public abstract class Explosion_scarpetEventMixin @Shadow /*@Nullable*/ public abstract /*@Nullable*/ LivingEntity getCausingEntity(); + @Shadow public static float getExposure(Vec3d source, Entity entity) {return 0.0f;} + private List affectedEntities; @Inject(method = "(Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/damage/DamageSource;Lnet/minecraft/world/explosion/ExplosionBehavior;DDDFZLnet/minecraft/world/explosion/Explosion$DestructionType;)V", @@ -51,13 +54,17 @@ public abstract class Explosion_scarpetEventMixin } } - @Inject(method = "collectBlocksAndDamageEntities", locals= LocalCapture.CAPTURE_FAILHARD, at=@At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;damage(Lnet/minecraft/entity/damage/DamageSource;F)Z")) - private void onExplosion(CallbackInfo ci, Set s1, float f1, int i1, int i2, int i3, int i4, int i5, int i6, List l1, Vec3d v1, int i7, Entity entity) + @Redirect(method = "collectBlocksAndDamageEntities", at=@At( + value = "INVOKE", + target = "Lnet/minecraft/world/explosion/Explosion;getExposure(Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/entity/Entity;)F") + ) + private float onExplosion(Vec3d source, Entity entity) { if (affectedEntities != null) { affectedEntities.add(entity); } + return getExposure(source, entity); } @Inject(method = "affectWorld", at = @At("HEAD")) diff --git a/src/main/resources/carpet.mixins.json b/src/main/resources/carpet.mixins.json index dc178cae..a58001ce 100644 --- a/src/main/resources/carpet.mixins.json +++ b/src/main/resources/carpet.mixins.json @@ -201,7 +201,7 @@ "BlockItem_creativeNoClipMixin", "WallStandingBlockItem_creativeNoClipMixin", "LivingEntity_creativeFlyMixin", - "BaseRangeDecorator_cleanLogsMixin" + "BaseRangeDecorator_cleanLogsMixin", "BaseRangeDecorator2_cleanLogsMixin" ], "client": [ "RenderTickCounter_tickSpeedMixin",