Skip to content

Instantly share code, notes, and snippets.

@VariableVixen
Last active March 19, 2026 21:36
Show Gist options
  • Select an option

  • Save VariableVixen/527ba8f547bba85ac9db30245d020a2c to your computer and use it in GitHub Desktop.

Select an option

Save VariableVixen/527ba8f547bba85ac9db30245d020a2c to your computer and use it in GitHub Desktop.
Core Keeper - Teleport to anywhere at anytime - SCRIPT FIX
using Unity.Mathematics;
using Unity.Transforms;
using UnityEngine;
using HarmonyLib;
using Pug.UnityExtensions;
[HarmonyPatch]
class teleportmod {
[HarmonyPrefix, HarmonyPatch(typeof(MapMarkerUIElement), nameof(MapMarkerUIElement.OnLeftClicked))]
public static bool OnLeftClicked(MapMarkerUIElement __instance) {
if (!Input.GetKey(KeyCode.LeftShift)) {
return true;
}
if (__instance.markerType == MapMarkerType.Portal
|| __instance.markerType == MapMarkerType.Waypoint
|| __instance.markerType == MapMarkerType.PlayerGrave
|| __instance.markerType == MapMarkerType.Ping
|| __instance.markerType == MapMarkerType.UniqueBoss
|| __instance.markerType == MapMarkerType.TitanShrine
|| __instance.markerType == MapMarkerType.UserPlacedMarker) {
PlayerController playerController = Manager.main.player;
float2 rhs = (EntityUtility.GetObjectData(__instance.mapMarkerEntity, __instance.world).variation == 20) ? new float2(1f, 1f) : new float2(1f, -0.25f);
playerController.QueueInputAction(new UIInputActionData {
action = UIInputAction.Teleport,
position = EntityUtility.GetComponentData<LocalTransform>(__instance.mapMarkerEntity, __instance.world).Position.ToFloat2() + rhs,
});
if (Manager.ui.isShowingMap) {
Manager.ui.OnMapToggle();
}
}
return false;
}
}
}
}
return false;
}
}
@NightFright2k19
Copy link

Better late than never, I guess! By now someone else has apparently continued working on this mod, to keep it functional with latest game versions. Will check if their code reflects your adjustments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment