From 38857cd25b0157aaa3b863f9814b6b18aee673f7 Mon Sep 17 00:00:00 2001 From: SD Date: Sat, 12 Dec 2020 12:43:08 +0530 Subject: [PATCH] yeet mixin --- .../dimdev/dimdoors/mixin/EntityMixin.java | 55 ------------------- .../dimdoors/util/EntityExtensions.java | 11 ---- .../org/dimdev/dimdoors/util/EntityUtils.java | 11 ---- src/main/resources/dimdoors.mixins.json | 1 - 4 files changed, 78 deletions(-) delete mode 100644 src/main/java/org/dimdev/dimdoors/mixin/EntityMixin.java delete mode 100644 src/main/java/org/dimdev/dimdoors/util/EntityExtensions.java diff --git a/src/main/java/org/dimdev/dimdoors/mixin/EntityMixin.java b/src/main/java/org/dimdev/dimdoors/mixin/EntityMixin.java deleted file mode 100644 index 3648be35..00000000 --- a/src/main/java/org/dimdev/dimdoors/mixin/EntityMixin.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.dimdev.dimdoors.mixin; - -import java.util.Objects; - -import org.dimdev.dimdoors.util.EntityExtensions; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import net.minecraft.entity.Entity; -import net.minecraft.server.world.ServerWorld; -import net.minecraft.world.TeleportTarget; -import net.minecraft.world.World; - -@Mixin(Entity.class) -public class EntityMixin implements EntityExtensions { - @Shadow - public World world; - @Unique - private boolean dimdoors_readyToTeleport = false; - private TeleportTarget dimdoors_teleportTarget = null; - - @Inject(at = @At("HEAD"), cancellable = true, method = "getTeleportTarget") - public void interceptTeleportTarget(ServerWorld destination, CallbackInfoReturnable cir) { - if (destination.getRegistryKey().getValue().getNamespace().equals("dimdoors")) { - if (this.dimdoors_isReadyToTeleport()) { - cir.setReturnValue(Objects.requireNonNull(this.dimdoors_teleportTarget)); - } - } - } - - @Inject(at = @At("TAIL"), method = "moveToWorld") - public void cleanup(ServerWorld destination, CallbackInfoReturnable cir) { - this.dimdoors_teleportTarget = null; - this.dimdoors_setReadyToTeleport(false); - } - - @Override - public boolean dimdoors_isReadyToTeleport() { - return this.dimdoors_readyToTeleport; - } - - @Override - public void dimdoors_setReadyToTeleport(boolean value) { - this.dimdoors_readyToTeleport = value; - } - - @Override - public void dimdoors_setTeleportTarget(TeleportTarget target) { - this.dimdoors_teleportTarget = target; - } -} diff --git a/src/main/java/org/dimdev/dimdoors/util/EntityExtensions.java b/src/main/java/org/dimdev/dimdoors/util/EntityExtensions.java deleted file mode 100644 index 90b68173..00000000 --- a/src/main/java/org/dimdev/dimdoors/util/EntityExtensions.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.dimdev.dimdoors.util; - -import net.minecraft.world.TeleportTarget; - -public interface EntityExtensions { - boolean dimdoors_isReadyToTeleport(); - - void dimdoors_setReadyToTeleport(boolean value); - - void dimdoors_setTeleportTarget(TeleportTarget target); -} diff --git a/src/main/java/org/dimdev/dimdoors/util/EntityUtils.java b/src/main/java/org/dimdev/dimdoors/util/EntityUtils.java index 3c50d82a..44841cf7 100644 --- a/src/main/java/org/dimdev/dimdoors/util/EntityUtils.java +++ b/src/main/java/org/dimdev/dimdoors/util/EntityUtils.java @@ -9,19 +9,8 @@ import net.minecraft.entity.projectile.FishingBobberEntity; import net.minecraft.entity.projectile.ProjectileEntity; import net.minecraft.server.world.ServerWorld; import net.minecraft.text.Text; -import net.minecraft.util.math.Vec3d; -import net.minecraft.world.TeleportTarget; public final class EntityUtils { - public static void prepareTeleportation(Entity e, Vec3d pos, float yawOffset) { - if (e instanceof EntityExtensions) { - ((EntityExtensions) e).dimdoors_setReadyToTeleport(true); - ((EntityExtensions) e).dimdoors_setTeleportTarget(new TeleportTarget(pos, Vec3d.ZERO, e.getYaw(1.0F) + yawOffset, e.getPitch(1.0F))); - } else { - throw new AssertionError("Mixin not applied"); - } - } - public static Entity getOwner(Entity entity) { Entity topmostEntity = null; diff --git a/src/main/resources/dimdoors.mixins.json b/src/main/resources/dimdoors.mixins.json index b648a3af..39d34ffe 100644 --- a/src/main/resources/dimdoors.mixins.json +++ b/src/main/resources/dimdoors.mixins.json @@ -9,7 +9,6 @@ "DefaultBiomeFeaturesMixin", "DimensionTypeAccessor", "DirectionAccessor", - "EntityMixin", "GenerationSettingsAccessor", "ListTagAccessor", "PlayerEntityMixin",