public static bool GetHoverText(Bed __instance, ref string __result) { // No special logic, so defer to normal execution if (!modEnabled.Value && !enableMultipleBedfellows.Value && !sleepWithoutSpawnpoint.Value) { return(true); } // @todo Better hook and not replace entire method string ownerName = __instance.GetOwnerName(); if (ownerName == "") { string claimText = "$piece_bed_unclaimed\n[<color=yellow><b>$KEY_Use</b></color>] $piece_bed_claim"; if (sleepWithoutClaiming.Value) { claimText += "\n[<color=yellow><b>left shift + $KEY_Use</b></color>] $piece_bed_sleep"; } __result = Localization.instance.Localize(claimText); return(false); } string ownerText = ownerName + "'s $piece_bed"; if (!__instance.IsMine()) { if (enableMultipleBedfellows.Value) { __result = Localization.instance.Localize(ownerText + "\n[<color=yellow><b>$KEY_Use</b></color>] $piece_bed_sleep"); } else { __result = Localization.instance.Localize(ownerText); } return(false); } if (sleepWithoutSpawnpoint.Value) { __result = Localization.instance.Localize(ownerText + "\n[<color=yellow><b>$KEY_Use</b></color>] $piece_bed_sleep"); return(false); } if (!__instance.IsCurrent()) { __result = Localization.instance.Localize(ownerText + "\n[<color=yellow><b>$KEY_Use</b></color>] $piece_bed_setspawn"); } return(false); }