package com.thebrokenrail.obsidianspawn.mixin; import com.thebrokenrail.obsidianspawn.DataHolder; import net.minecraft.server.network.ServerPlayerEntity; 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.CallbackInfo; @SuppressWarnings("unused") @Mixin(ServerPlayerEntity.class) public abstract class MixinServerPlayerEntity implements DataHolder { @Inject(at = @At("HEAD"), method = "copyFrom") public void copyFrom(ServerPlayerEntity oldPlayer, boolean alive, CallbackInfo info) { DataHolder oldData = (DataHolder) oldPlayer; DataHolder newData = this; newData.setSpawnDimension(oldData.getSpawnDimension()); } }