public void Update() { if (Input.GetKeyDown(KeyCode.LeftAlt)) { Debug.Log(CanvasHelper.ActiveMenu); Debug.Log("LeftAlt pressed and menu not open"); currentPlayers.Clear(); var players = FindObjectsOfType <Network_Player>(); var localPlayer = RAPI.GetLocalPlayer(); foreach (var player in players) { if (player != localPlayer) { currentPlayers.Add(player); } } Network_Player thisPlayer = RAPI.GetLocalPlayer(); if (thisPlayer != null) { PlayerPing(thisPlayer); } } }
private IEnumerator InstantiateAssets() { while (RAPI.GetLocalPlayer() == null) { yield return(new WaitForEndOfFrame()); } var cameraPrefab = asset.LoadAsset <GameObject>("Minimap Camera"); camera = Instantiate(cameraPrefab, RAPI.GetLocalPlayer().transform).GetComponent <Camera>(); cameraPrefab.GetComponent <Camera>().targetTexture = null; CopyComponent(Camera.main.GetComponent <WaterCamera>(), camera.gameObject); CopyComponent(Camera.main.GetComponent <WaterCameraIME>(), camera.gameObject); camera.gameObject.AddComponent <MinimapCameraMover>(); var canvasPrefab = asset.LoadAsset <GameObject>("_MinimapCanvas"); canvas = Instantiate(canvasPrefab, GameObject.Find("Canvases").transform); traverse = Traverse.Create(GameObject.Find("_CanvasGame_New").GetComponent <CanvasHelper>()).Field <Canvas[]>("canvases"); canvases = traverse.Value; if (originalSize == -1) { originalSize = canvases.Length; } Array.Resize(ref canvases, originalSize + 1); canvases[canvases.Length - 1] = canvas.GetComponent <Canvas>(); traverse.Value = canvases; zoomText = canvas.transform.FindChildRecursively("ZoomText").GetComponent <TextMeshProUGUI>(); var script = canvas.AddComponent <MinimapRotator>(); script.Camera = camera.transform; script.Compass = canvas.transform.FindChildRecursively("Compass") as RectTransform; Debug.Log("[<color=#DBBF63>Minimap</color>] has been loaded!"); }
private static void sprintSpeed(string[] args) { if (Raft_Network.InMenuScene) { Debug.Log(Error + "Is In Lobby"); return; } if (args.Length < 1) { Debug.Log(Error + "Unknown Speed"); return; } var value = float.Parse(args[0], CultureInfo.InvariantCulture); int Speedint = 1; if (!int.TryParse(args[0], out Speedint)) { Debug.Log(Error + "Invalid Speed"); return; } if (Speedint > 25f) { Debug.Log(Error + "Max Speed = 25"); return; } if (Speedint < 5f) { Debug.Log(Error + "Minimum Speed = 5"); return; } RAPI.GetLocalPlayer().PersonController.sprintSpeed = defaultSpeed * Speedint; }
IEnumerator OnModLoad() { if (notifyLoad != null) { notifyLoad.Close(); } if (notify == null) { notify = FindObjectOfType <HNotify>(); } yield return(notifyLoad = notify.AddNotification( HNotify.NotificationType.spinning, $"Loading {MOD_NAME}")); var request = AssetBundle.LoadFromMemoryAsync( GetEmbeddedFileBytes("oldworldradio.assets")); yield return(request); assetBundle = request.assetBundle; Info($"Assets loaded to {assetBundle.name}"); var assetNames = new List <string>(assetBundle.GetAllAssetNames()); audioClips = assetNames.FindAll(a => a.EndsWith(".ogg")); player = RAPI.GetLocalPlayer(); CreateRadioItem(); CreateAudioSource(); GiveRadioToPlayer(); SetBroadcastState(true); notifyLoad.Close(); notifyLoad = null; yield return(true); }
private static void godmodeisreal(string[] args) { if (Raft_Network.InMenuScene) { Debug.Log(Error + "Is In Lobby"); return; } godmode = !godmode; if (godmode) { while (RAPI.GetLocalPlayer().Stats.stat_hunger.Normal.Value < 100 || RAPI.GetLocalPlayer().Stats.stat_thirst.Normal.Value < 100 || RAPI.GetLocalPlayer().Stats.stat_health.Value < 100 || RAPI.GetLocalPlayer().Stats.stat_oxygen.GetOxygenLostPerSecond() > 0f) { RAPI.GetLocalPlayer().Stats.stat_hunger.Normal.Value = 100; RAPI.GetLocalPlayer().Stats.stat_health.Value = 100; RAPI.GetLocalPlayer().Stats.stat_thirst.Normal.Value = 100; RAPI.GetLocalPlayer().Stats.stat_oxygen.Value = 100; GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 0f; GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 0f; RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(0f); GameModeValueManager.GetCurrentGameModeValue().playerSpecificVariables.damageTakenMultiplier = 0f; } GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 0f; GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 0f; RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(0f); GameModeValueManager.GetCurrentGameModeValue().playerSpecificVariables.damageTakenMultiplier = 0f; } else { GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 1f; GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 1f; RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(1f); GameModeValueManager.GetCurrentGameModeValue().playerSpecificVariables.damageTakenMultiplier = 1f; } }
private static void Postfix(PlayerStats __instance, Item_Base edibleItem) { if (__instance.GetComponent(typeof(Network_Player)) == RAPI.GetLocalPlayer()) { ComponentManager <GlassHoneyUse> .Value.OnConsumeItem(edibleItem); } }
private static void Postfix(Tank __instance, Network_Player player, float amount, Item_Base itemType = null) { if (__instance.GetComponent(typeof(Network_Player)) == RAPI.GetLocalPlayer()) { ComponentManager <GlassHoneyUse> .Value.OnModifyTank(player, amount, itemType); } }
public override void WorldEvent_WorldLoaded() { base.WorldEvent_WorldLoaded(); player = RAPI.GetLocalPlayer(); CreateAudioSource(); GiveRadioToPlayer(); SetBroadcastState(true); }
public override void WorldEvent_WorldLoaded() { if (playerNetwork == null) { playerNetwork = RAPI.GetLocalPlayer(); } //AddLandmarkToSpawner(); //Debug.Log("The world is loaded!"); }
public void Update() { if (Semih_Network.InLobbyScene) { return; } if (MyInput.GetButtonDown("Sprint")) { sprinted = !sprinted; if (sprinted) { if (RAPI.GetLocalPlayer().PersonController.controllerType != ControllerType.Water) { return; } float sS = 1f; sS *= (RAPI.GetLocalPlayer().PlayerEquipment.GetEquipedIndexes().Contains(63) ? 1.4f : 1f); if (sS == 1f) { sS = 0f; } theSpeed = RAPI.GetLocalPlayer().PersonController.swimSpeed; if (RAPI.GetLocalPlayer().PersonController.swimSpeed > 10) { FindObjectOfType <HNotify>().AddNotification(HNotify.NotificationType.normal, "Swim Sprint : You can't actually Sprint when your swimming speed is more than the sprint itself ;-;", 2, HNotify.ErrorSprite).SetCloseDelay(2).SetTextColor(Color.red); return; } else if (RAPI.GetLocalPlayer().PersonController.swimSpeed > 2 && RAPI.GetLocalPlayer().PersonController.swimSpeed < 10) { RAPI.GetLocalPlayer().PersonController.swimSpeed = 10 + sS; RAPI.GetLocalPlayer().PersonController.swimSpeed = (2 * 5) + sS; GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 1.2f; GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 1.2f; RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(1.25f); return; } RAPI.GetLocalPlayer().PersonController.swimSpeed = 10 + sS; GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 1.3f; GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 1.3f; RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(1.5f); } } else if (MyInput.GetButtonUp("Sprint")) { sprinted = !sprinted; if (theSpeed < 2) { theSpeed = 2; } RAPI.GetLocalPlayer().PersonController.swimSpeed = theSpeed; GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 1f; GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 1f; RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(1f); } }
// The Update() method is being called every frame. Have fun! public void Update() { this.tick++; var mum = GetMumble(); var player = RAPI.GetLocalPlayer(); if (player == null || mum == null) { return; } var cam = player.Camera; // RConsole.Log("Got player location: " + player.FeetPosition.ToString() + " Camera rotation: " + cam.transform.forward.ToString() + " Camera up: " + cam.transform.up.ToString()); // UI Version mum.Write(0, 2); // Tick var tick = mum.ReadUInt32(4); mum.Write(4, tick + 1); // Plugin name WriteString(44, "Raft Mumble Link"); WriteString(1620, "Raft mod to enable positional audio."); // uid var uid = player.steamID.ToString(); WriteString(592, uid); // Context length mum.Write(592, 1); // Context var ctx = player.Network.HostID.ToString(); WriteString(596, ctx); // Character position WriteVec(8, cam.transform.position); // Unit vector out of character eyes WriteVec(20, cam.transform.forward); WriteVec(568, cam.transform.forward); // Unit vector out of character head WriteVec(32, cam.transform.up); WriteVec(80, cam.transform.up); // Camera position WriteVec(556, cam.transform.position); }
private void InitMinimapDrag(bool drag) { if (RAPI.IsCurrentSceneGame()) { RAPI.GetLocalPlayer().PlayerScript.SetMouseLookScripts(!drag); camera.GetComponent <MinimapCameraMover>().active = !drag; canvas.transform.FindChildRecursively("Player").gameObject.SetActive(!drag); allowedToDrag = drag; } }
private static void Prefix(Network_Player __instance) { if (Minimap.Instance.persistence.markers) { if (!Equals(__instance, RAPI.GetLocalPlayer())) { Minimap.AddMarker(__instance.transform, Minimap.MarkerType.PLAYER); } } }
public static void SendMessage(Message message) { if (Semih_Network.IsHost) { RAPI.GetLocalPlayer().Network.RPC(message, Target.Other, EP2PSend.k_EP2PSendReliable, (NetworkChannel)FilteredNetsNetworkChannel); } else { RAPI.GetLocalPlayer().SendP2P(message, EP2PSend.k_EP2PSendReliable, (NetworkChannel)FilteredNetsNetworkChannel); } }
public void Update() { if (CanvasHelper.ActiveMenu == MenuType.Inventory && Input.GetKeyDown(KeyCode.Z)) { Network_Player player = RAPI.GetLocalPlayer(); if (player != null) { SortPlayerInventory(player); } } }
public bool AddBatteryUsesNetworked(int amount) { if (Semih_Network.IsHost) { if (skyController.timeOfDay.hour >= 5 && skyController.timeOfDay.hour <= 19) { battery.GetBatteryInstance().Uses++; RAPI.GetLocalPlayer().Network.RPC(new Message_Battery(Messages.Battery_Update, RAPI.GetLocalPlayer().Network.NetworkIDManager, RAPI.GetLocalPlayer().steamID, this.ObjectIndex, battery.GetBatteryInstance().Uses), Target.Other, EP2PSend.k_EP2PSendReliable, NetworkChannel.Channel_Game); return(true); } } return(false); }
private static void showSpeeds(string[] args) { if (Raft_Network.InMenuScene) { Debug.Log(Error + "Is In Lobby"); return; } var showraftspeed = FindObjectOfType <Raft>(); object value = Traverse.Create(showraftspeed).Field("currentMovementSpeed").GetValue(); Debug.Log(SName + "\n" + "Raft Speed : " + value.ToString() + "( Default = 1.5 )\n" + "Walk Speed : " + RAPI.GetLocalPlayer().PersonController.normalSpeed + "( Default = 3 )\n" + "Sprint Speed : " + RAPI.GetLocalPlayer().PersonController.sprintSpeed + "( Default = 6 )\n" + "Swim Speed : " + RAPI.GetLocalPlayer().PersonController.swimSpeed + "( Default = 2 )" ); }
public void Update() { if (godmode) { if (RAPI.GetLocalPlayer().Stats.stat_hunger.Normal.Value < 100 || RAPI.GetLocalPlayer().Stats.stat_thirst.Normal.Value < 100 || RAPI.GetLocalPlayer().Stats.stat_health.Value < 100 || RAPI.GetLocalPlayer().Stats.stat_oxygen.GetOxygenLostPerSecond() > 0f) { RAPI.GetLocalPlayer().Stats.stat_hunger.Normal.Value = 100; RAPI.GetLocalPlayer().Stats.stat_health.Value = 100; RAPI.GetLocalPlayer().Stats.stat_thirst.Normal.Value = 100; RAPI.GetLocalPlayer().Stats.stat_oxygen.Value = 100; GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 0f; GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 0f; RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(0f); GameModeValueManager.GetCurrentGameModeValue().playerSpecificVariables.damageTakenMultiplier = 0f; } } }
private void TryRequestNetConfigurationFromHost() { var player = RAPI.GetLocalPlayer(); if (player == null) { return; } RConsole.Log(string.Format("{0}: Requesting the current configurations for each net from the host.", ModNamePrefix)); MessageHandler.SendMessage( new MessageSyncNetFiltersRequest( (Messages)MessageHandler.FilteredNetsMessages.SyncNetFiltersRequested)); m_justJoinedAndNotHost = false; }
private static void refill(string[] args) { if (Raft_Network.InMenuScene) { Debug.Log(Error + "Is In Lobby"); return; } if (args.Length < 1) { RAPI.GetLocalPlayer().Stats.stat_hunger.Normal.Value = 100; RAPI.GetLocalPlayer().Stats.stat_thirst.Normal.Value = 100; RAPI.GetLocalPlayer().Stats.stat_health.Value = 100; RAPI.GetLocalPlayer().Stats.stat_oxygen.Value = 100; } else { Debug.Log(Error + "use cmd \"refill\" only!"); } }
private void AddForgottenMarkers() { if (RAPI.IsCurrentSceneGame() && persistence.markers) { var animals = FindObjectsOfType <AI_NetworkBehaviour_Animal>(); foreach (var entity in animals) { if (entity is AI_NetworkBehavior_Shark) { AddMarker(entity.transform, MarkerType.SHARK); } if (entity is AI_NetworkBehaviour_Bear || entity is AI_NetworkBehaviour_Boar || entity is AI_NetworkBehaviour_ButlerBot || entity is AI_NetworkBehaviour_MamaBear || entity is AI_NetworkBehaviour_Pig || entity is AI_NetworkBehaviour_PufferFish || entity is AI_NetworkBehaviour_Rat || entity is AI_NetworkBehaviour_StoneBird) { AddMarker(entity.transform, MarkerType.ENEMY); } if (entity is AI_NetworkBehaviour_BugSwarm || entity is AI_NetworkBehaviour_Chicken || entity is AI_NetworkBehaviour_Goat || entity is AI_NetworkBehaviour_Llama) { AddMarker(entity.transform, MarkerType.NEUTRAL); } } var players = FindObjectsOfType <Network_Player>(); var me = RAPI.GetLocalPlayer(); foreach (var player in players) { if (player != me) { AddMarker(player.transform, MarkerType.PLAYER); } } } }
private static void Postfix(ref Item_Base __result) { if (__result != null) { Network_Player player = RAPI.GetLocalPlayer(); Item_Base currentItemInHand = player.PlayerItemManager.useItemController.GetCurrentItemInHand(); System.Random rand = new System.Random(); string oldItem = __result.UniqueName; if (oldItem == "Placeable_ScrapMechanic" || oldItem == "Placeable_LuckyCat" || oldItem == "Placeable_Cropplot_Shoe" || oldItem == "Placeable_GlassCandle") { Debug.Log("Item Randomizer Activated!"); if (currentItemInHand.UniqueName == "FishingRod" && rand.Next(0, 10) > 7) { __result = FishingRod_Dropper.GetRandomItem(); } else if (currentItemInHand.UniqueName == "FishingRod_Metal" && rand.Next(0, 10) < 8) { __result = FishingRod_Dropper.GetRandomItem(); } } } }
public void OnModUnload() { Debug.Log(UnLoaded); if (!Raft_Network.InMenuScene) { Raft raft = ComponentManager <Raft> .Value; if (raft != null) { var defaultRaftSpeed = defaultSpeed * defaultRaft; raft.maxSpeed = defaultRaftSpeed; raft.maxVelocity = defaultRaftSpeed; raft.waterDriftSpeed = defaultRaftSpeed; changedRaft = defaultRaftSpeed; if (anchored) { } else { ComponentManager <Raft> .Value.RemoveAnchor(10); } } if (godmode) { GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 1f; GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 1f; RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(1f); GameModeValueManager.GetCurrentGameModeValue().playerSpecificVariables.damageTakenMultiplier = 1f; } else { } RAPI.GetLocalPlayer().PersonController.normalSpeed = 3; RAPI.GetLocalPlayer().PersonController.sprintSpeed = 6; RAPI.GetLocalPlayer().PersonController.swimSpeed = 2; } }
private static void swimSpeed(string[] args) { if (Raft_Network.InMenuScene) { Debug.Log(Error + "Is In Lobby"); return; } if (args.Length < 1) { Debug.Log(Error + "Unknown Speed"); return; } var value = float.Parse(args[0], CultureInfo.InvariantCulture); int Speedint = 1; if (!int.TryParse(args[0], out Speedint)) { Debug.Log(Error + "Invalid Speed"); return; } if (Speedint > 15f) { Debug.Log(Error + "Max Speed = 15"); return; } if (Speedint < 1f) { Debug.Log(Error + "Minimum Speed = 1"); return; } float sS = 1f; sS *= (RAPI.GetLocalPlayer().PlayerEquipment.GetEquipedIndexes().Contains(63) ? 1.4f : 1f); RAPI.GetLocalPlayer().PersonController.swimSpeed = sS * Speedint; }
public void OnIsRayed() { if (!mi_loaded) { return; } if (!mi_canvas) { mi_canvas = ComponentManager <CanvasHelper> .Value; return; } if (CanvasHelper.ActiveMenu == MenuType.None && !PlayerItemManager.IsBusy && mi_canvas.CanOpenMenu && Helper.LocalPlayerIsWithinDistance(transform.position, Player.UseDistance + 0.5f)) { mi_canvas.displayTextManager.ShowText(IsOn ? "Extinguish" : "Light", MyInput.Keybinds["Interact"].MainKey, 0, 0, true); if (MyInput.GetButtonDown("Interact")) { UserControlsState = true; SetLightOn(!IsOn); var netMsg = new Message_Battery_OnOff( Messages.Battery_OnOff, RAPI.GetLocalPlayer().Network.NetworkIDManager, RAPI.GetLocalPlayer().steamID, ObjectIndex, (int)ELanternRequestType.TOGGLE, IsOn); if (Semih_Network.IsHost) { mi_network.RPC(netMsg, Target.Other, EP2PSend.k_EP2PSendReliable, NetworkChannel.Channel_Game); return; } mi_network.SendP2P(mi_network.HostID, netMsg, EP2PSend.k_EP2PSendReliable, NetworkChannel.Channel_Game); return; } if (UserControlsState && Input.GetKeyDown(KeyCode.F)) { var notifier = ComponentManager <HNotify> .Value; var notification = notifier.AddNotification(HNotify.NotificationType.normal, "Automatic light behaviour restored.", 5); notification.Show(); UserControlsState = false; CheckLightState(true); var netMsg = new Message_Battery_OnOff( Messages.Battery_OnOff, RAPI.GetLocalPlayer().Network.NetworkIDManager, RAPI.GetLocalPlayer().steamID, ObjectIndex, (int)ELanternRequestType.RELEASE_AUTO, //indicate to receiving side that we want to switch back to auto control IsOn); if (Semih_Network.IsHost) { mi_network.RPC(netMsg, Target.Other, EP2PSend.k_EP2PSendReliable, NetworkChannel.Channel_Game); return; } mi_network.SendP2P(mi_network.HostID, netMsg, EP2PSend.k_EP2PSendReliable, NetworkChannel.Channel_Game); } } else { mi_canvas.displayTextManager.HideDisplayTexts(); } }
static public Inventory getStorageInventory() { Storage_Small storage = RAPI.GetLocalPlayer().StorageManager.currentStorage; return(storage != null?storage.GetInventoryReference() : null); }
public void Update() { if (!(Semih_Network.InLobbyScene)) { if (loaded) { currentItem = " "; if (!player.Inventory.GetSelectedHotbarSlot().IsEmpty) { currentItem = player.Inventory.GetSelectedHotbarItem().settings_Inventory.DisplayName; } if (currentItem == "Fertilizer") { RaycastHit hit; if (Physics.Raycast(player.CameraTransform.position, player.CameraTransform.forward, out hit, Player.UseDistance, layerMask)) { if (hit.transform.gameObject.name == "Placeable_Cropplot_Small_Floor(Clone)" || hit.transform.gameObject.name == "Placeable_Cropplot_Medium_Floor(Clone)" || hit.transform.gameObject.name == "Placeable_Cropplot_Large(Clone)" || hit.transform.gameObject.name == "Placeable_Cropplot_Small_Wall(Clone)") { Plant clsPlant = null; float minDist = Mathf.Infinity; foreach (var plants in hit.transform.gameObject.GetComponent <Cropplot>().plantationSlots) { if (hit.transform.gameObject.GetComponent <fertilzing>() != null) { if (plants.hasWater && plants.busy && !(hit.transform.gameObject.GetComponent <fertilzing>().toFertilize.Contains(plants.plant))) { float dist = Vector3.Distance(plants.transform.position, hit.point); if (dist < minDist) { if (plants.plant.FullyGrown()) { clsPlant = plants.plant; } minDist = dist; } } } if (plants.hasWater && plants.busy) { float dist = Vector3.Distance(plants.transform.position, hit.point); if (dist < minDist) { if (!plants.plant.FullyGrown()) { clsPlant = plants.plant; } minDist = dist; } } } if (clsPlant != null) { if (player.Inventory.GetSelectedHotbarItem().settings_Inventory.DisplayName == "Fertilizer") { canvas.displayTextManager.ShowText("Use the fertlizer", MyInput.Keybinds["Interact"].MainKey, 0, 0, true); } else { canvas.displayTextManager.HideDisplayTexts(); } if (MyInput.GetButtonDown("Interact")) { RAPI.GetLocalPlayer().Inventory.GetSelectedHotbarSlot().RemoveItem(1); if (hit.transform.gameObject.GetComponent <fertilzing>() != null) { addPlant(hit); } else { addFertilizeFirstTime(hit); } } } } } } } MessageHandler.ReadP2P_Channel_Fertilizer(); } }
public override void WorldEvent_WorldLoaded() { loaded = true; player = RAPI.GetLocalPlayer(); canvas = ComponentManager <CanvasHelper> .Value; }
public void GiveGlass() { RAPI.GetLocalPlayer().Inventory.AddItem(ItemManager.GetItemByName("Glass").UniqueName, 1); }
static public Inventory getPlayerInventory() { return(RAPI.GetLocalPlayer().Inventory); }