Mixins (update 9 of 20)
This commit is contained in:
parent
78408baa69
commit
9014e587b5
3 changed files with 17 additions and 3 deletions
|
@ -1,6 +1,7 @@
|
||||||
package org.dimdev.dimdoors.mixin;
|
package org.dimdev.dimdoors.mixin;
|
||||||
|
|
||||||
import org.dimdev.dimdoors.entity.stat.ModStats;
|
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.ModBiomes;
|
||||||
import org.dimdev.dimdoors.world.ModDimensions;
|
import org.dimdev.dimdoors.world.ModDimensions;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
@ -28,7 +29,7 @@ public abstract class PlayerEntityMixin extends LivingEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(method = "handleFallDamage", at = @At("HEAD"), cancellable = true)
|
@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) {
|
if (this.world.getBiome(this.getBlockPos()) == ModBiomes.LIMBO_BIOME) {
|
||||||
cir.setReturnValue(false);
|
cir.setReturnValue(false);
|
||||||
}
|
}
|
||||||
|
@ -42,7 +43,7 @@ public abstract class PlayerEntityMixin extends LivingEntity {
|
||||||
@Unique
|
@Unique
|
||||||
protected void doOnDeathStuff(DamageSource source, CallbackInfo ci) {
|
protected void doOnDeathStuff(DamageSource source, CallbackInfo ci) {
|
||||||
if (ModDimensions.isPocketDimension(this.world)) {
|
if (ModDimensions.isPocketDimension(this.world)) {
|
||||||
this.removed = false;
|
((EntityAccessor) this).setRemovalReason(null);
|
||||||
this.dead = false;
|
this.dead = false;
|
||||||
this.setHealth(this.getMaxHealth());
|
this.setHealth(this.getMaxHealth());
|
||||||
this.incrementStat(ModStats.DEATHS_IN_POCKETS);
|
this.incrementStat(ModStats.DEATHS_IN_POCKETS);
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
|
@ -12,13 +12,14 @@
|
||||||
"accessor.ChunkGeneratorSettingsAccessor",
|
"accessor.ChunkGeneratorSettingsAccessor",
|
||||||
"accessor.DefaultParticleTypeAccessor",
|
"accessor.DefaultParticleTypeAccessor",
|
||||||
"accessor.DirectionAccessor",
|
"accessor.DirectionAccessor",
|
||||||
|
"accessor.EntityAccessor",
|
||||||
"accessor.GenerationSettingsAccessor",
|
"accessor.GenerationSettingsAccessor",
|
||||||
"accessor.RedstoneWireBlockAccessor",
|
"accessor.RedstoneWireBlockAccessor",
|
||||||
"accessor.StatsAccessor"
|
"accessor.StatsAccessor"
|
||||||
],
|
],
|
||||||
"client": [
|
"client": [
|
||||||
"client.InGameHudMixin",
|
|
||||||
"client.ClientPlayNetworkHandlerMixin",
|
"client.ClientPlayNetworkHandlerMixin",
|
||||||
|
"client.InGameHudMixin",
|
||||||
"client.accessor.GlStateManagerAccessor"
|
"client.accessor.GlStateManagerAccessor"
|
||||||
],
|
],
|
||||||
"injectors": {
|
"injectors": {
|
||||||
|
|
Loading…
Reference in a new issue