Mixins (update 9 of 20)

This commit is contained in:
SD 2021-02-11 22:40:42 +05:30
parent 78408baa69
commit 9014e587b5
No known key found for this signature in database
GPG key ID: E36B57EE08544BC5
3 changed files with 17 additions and 3 deletions

View file

@ -1,6 +1,7 @@
package org.dimdev.dimdoors.mixin;
import org.dimdev.dimdoors.entity.stat.ModStats;
import org.dimdev.dimdoors.mixin.accessor.EntityAccessor;
import org.dimdev.dimdoors.world.ModBiomes;
import org.dimdev.dimdoors.world.ModDimensions;
import org.spongepowered.asm.mixin.Mixin;
@ -28,7 +29,7 @@ public abstract class PlayerEntityMixin extends LivingEntity {
}
@Inject(method = "handleFallDamage", at = @At("HEAD"), cancellable = true)
public void handleLimboFallDamage(float fallDistance, float damageMultiplier, CallbackInfoReturnable<Boolean> cir) {
public void handleLimboFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource, CallbackInfoReturnable<Boolean> cir) {
if (this.world.getBiome(this.getBlockPos()) == ModBiomes.LIMBO_BIOME) {
cir.setReturnValue(false);
}
@ -42,7 +43,7 @@ public abstract class PlayerEntityMixin extends LivingEntity {
@Unique
protected void doOnDeathStuff(DamageSource source, CallbackInfo ci) {
if (ModDimensions.isPocketDimension(this.world)) {
this.removed = false;
((EntityAccessor) this).setRemovalReason(null);
this.dead = false;
this.setHealth(this.getMaxHealth());
this.incrementStat(ModStats.DEATHS_IN_POCKETS);

View file

@ -0,0 +1,12 @@
package org.dimdev.dimdoors.mixin.accessor;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
import net.minecraft.entity.Entity;
@Mixin(Entity.class)
public interface EntityAccessor {
@Accessor
void setRemovalReason(Entity.RemovalReason removalReason);
}

View file

@ -12,13 +12,14 @@
"accessor.ChunkGeneratorSettingsAccessor",
"accessor.DefaultParticleTypeAccessor",
"accessor.DirectionAccessor",
"accessor.EntityAccessor",
"accessor.GenerationSettingsAccessor",
"accessor.RedstoneWireBlockAccessor",
"accessor.StatsAccessor"
],
"client": [
"client.InGameHudMixin",
"client.ClientPlayNetworkHandlerMixin",
"client.InGameHudMixin",
"client.accessor.GlStateManagerAccessor"
],
"injectors": {