Иконка ресурса

FREE Contracts : 1.13.0 1.13.0

Нет прав для скачивания
C#:
#nullable enable
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Drawing;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Facepunch;
using Facepunch.CardGames;
using JSON;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using Oxide.Core;
using Oxide.Core.Configuration;
using Oxide.Core.Libraries;
using Oxide.Core.Libraries.Covalence;
using Oxide.Game.Rust.Cui;
using PokerEvaluator;
using ProtoBuf;
using Rust;
using Rust.Modular;
using UnityEngine;
using UnityEngine.UI;
//Contracts created with PluginMerge v(1.0.15.0) by MJSU @ https://github.com/dassjosh/Plugin.Merge
namespace Oxide.Plugins;
[Info("Contracts", "MaxiJonson", "1.13.0")]
[Description("Time-rotating quest system that keeps players coming back for more.")]
public class Contracts : RustPlugin {
    public static Contracts Instance {
        get;
        private set;
    }
    = null!;
    public Contracts() {
        Instance = this;
    }
    public void RefreshCaches() {
        KillObjectiveCache.Refresh();
        CraftObjectiveCache.Refresh();
        LootObjectiveCache.Refresh();
        GatherObjectiveCache.Refresh();
        AttackersCache.Refresh();
        PlantObjectiveCache.Refresh();
    }
    public static void UnloadCaches() {
        KillObjectiveCache.Unload();
        CraftObjectiveCache.Unload();
        LootObjectiveCache.Unload();
        GatherObjectiveCache.Unload();
        AttackersCache.Unload();
        PlantObjectiveCache.Unload();
    }
    public readonly struct ObjectiveMatches {
        private static readonly HashSet<(string categoryId, string contractId, string objectiveId)> Empty = new();
        private readonly HashSet<(string categoryId, string contractId, string objectiveId)>? _specific;
        private readonly HashSet<(string categoryId, string contractId, string objectiveId)>? _byNpcName;
        private readonly HashSet<(string categoryId, string contractId, string objectiveId)>? _any;
        public ObjectiveMatches(HashSet<(string categoryId, string contractId, string objectiveId)>? specific, HashSet<(string categoryId, string contractId, string objectiveId)>? any = null, HashSet<(string categoryId, string contractId, string objectiveId)>? byNpcName = null ) {
            _specific = specific;
            _any = any;
            _byNpcName = byNpcName;
        }
        public bool IsEmpty => (_specific is null || _specific.Count == 0) && (_byNpcName is null || _byNpcName.Count == 0) && (_any is null || _any.Count == 0);
        public Enumerator GetEnumerator() => new(_specific ?? Empty, _byNpcName ?? Empty, _any ?? Empty);
        public struct Enumerator {
            private HashSet<(string categoryId, string contractId, string objectiveId)>.Enumerator _specific;
            private HashSet<(string categoryId, string contractId, string objectiveId)>.Enumerator _byNpcName;
            private HashSet<(string categoryId, string contractId, string objectiveId)>.Enumerator _any;
            private readonly HashSet<(string categoryId, string contractId, string objectiveId)> _specificSet;
            private int _stage;
            public Enumerator(HashSet<(string categoryId, string contractId, string objectiveId)> specific, HashSet<(string categoryId, string contractId, string objectiveId)> byNpcName, HashSet<(string categoryId, string contractId, string objectiveId)> any ) {
                _specific = specific.GetEnumerator();
                _byNpcName = byNpcName.GetEnumerator();
                _any = any.GetEnumerator();
                _specificSet = specific;
                _stage = 0;
            }
            public (string categoryId, string contractId, string objectiveId) Current => _stage switch {
                0 => _specific.Current, 1 => _byNpcName.Current, _ => _any.Current,
            }
            ;
            public bool MoveNext() {
                if (_stage == 0) {
                    if (_specific.MoveNext()) return true;
                    _stage = 1;
                }
                if (_stage == 1) {
                    while (_byNpcName.MoveNext()) {
                        if (!_specificSet.Contains(_byNpcName.Current)) return true;
                    }
                    _stage = 2;
                }
                return _any.MoveNext();
            }
        }
    }
    public PluginConfig Settings = new();
    private PluginConfig GetDefaultConfig() {
        Puts("Creating default config...");
        return new PluginConfig {
            Version = Version
        }
        ;
    }
    protected override void LoadConfig() {
        base.LoadConfig();
        Config.Settings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
        LoadDataFile(ref Settings, Config, GetDefaultConfig, SaveConfig, MigrationFileType.Config);
        Settings.Validate();
        SaveConfig();
        UI.Colors.Init(Settings.Ui);
    }
    protected override void LoadDefaultConfig() {
        Settings = GetDefaultConfig();
    }
    protected override void SaveConfig() {
        try {
            Config.WriteObject(Settings);
        }
        catch (Exception ex) {
            PrintError("Failed to save 'oxide/config/Contracts.json'.");
            PrintError(ex.ToString());
        }
    }
    public bool CanUseContractsPermission(string playerId, string perm, string? defaultPerm) {
        if (string.IsNullOrWhiteSpace(perm)) {
            if (string.IsNullOrWhiteSpace(defaultPerm)) return true;
            if (!permission.PermissionExists(defaultPerm)) permission.RegisterPermission(defaultPerm, this);
            return permission.UserHasPermission(playerId, defaultPerm);
        }
        return permission.UserHasPermission(playerId, perm);
    }
    public bool CanUseContracts(string playerId) {
        if (!IsDataLoaded) {
            PrintWarning("Data is not loaded, refusing contract usage. There may be have been an issue loading your data and Contracts was unable to recover, leaving it in this disabled state. Please check the logs from when the plugin loaded for any errors." );
            return false;
        }
        return CanUseContractsPermission(playerId, Settings.Permissions.Use, "contracts.use");
    }
    public bool IsContractsAdmin(string playerId) {
        return CanUseContractsPermission(playerId, Settings.Permissions.Admin, "contracts.admin");
    }
    public bool IsAdmin(BasePlayer player) {
        if (player is null) return false;
        return player.IsAdmin || IsContractsAdmin(player.UserIDString);
    }
    public bool IsAdmin(ConsoleSystem.Arg arg) {
        if (arg is null) return false;
        if (arg.IsAdmin) return true;
        var player = arg.Player();
        if (player is null) return false;
        return IsAdmin(player);
    }
    private void RegisterCommands() {
        foreach (var command in Settings.Command) {
            cmd.AddChatCommand(command, this, ContractsChatCommand);
        }
    }
    public new Permission permission => base.permission;
    private void RegisterPermissions() {
        var permissions = new HashSet<string> {
            Settings.Permissions.Use, Settings.Permissions.Admin
        }
        ;
        foreach (var maxActiveContractsPerm in Settings.Permissions.MaxActiveContracts.Keys) {
            permissions.Add(maxActiveContractsPerm);
        }
        foreach (var maxPausedContractsPerm in Settings.Permissions.MaxPausedContracts.Keys) {
            permissions.Add(maxPausedContractsPerm);
        }
        foreach (var maxTrackedContractsPerm in Settings.Permissions.MaxTrackedContracts.Keys) {
            permissions.Add(maxTrackedContractsPerm);
        }
        foreach (var perm in permissions) {
            if (string.IsNullOrWhiteSpace(perm)) continue;
            if (!permission.PermissionExists(perm, this)) permission.RegisterPermission(perm, this);
        }
    }
    public CacheData Cache = null!;
    DynamicConfigFile? CacheFile;
    public DynamicConfigFile GetCacheFile() {
        var file = Interface.Oxide.DataFileSystem.GetFile("Contracts/cache_data");
        file.Settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
        return file;
    }
    public void LoadCacheData() {
        CacheFile = GetCacheFile();
        LoadDataFile(ref Cache, CacheFile, () => new CacheData {
            Version = Version
        }
        , WriteCacheData, MigrationFileType.Cache );
    }
    public void SaveCacheData() {
        WriteCacheData();
    }
    private void WriteCacheData() {
        CacheFile ??= GetCacheFile();
        try {
            if (Cache is not null) CacheFile.WriteObject(Cache);
        }
        catch (Exception ex) {
            PrintError("Failed to save 'oxide/data/Contracts/cache_data.json'.");
            PrintError(ex.ToString());
        }
        finally {
            CacheFile.Clear();
        }
    }
    public ContractCategoryData Categories = null!;
    DynamicConfigFile? CategoriesFile;
    public DynamicConfigFile GetContractCategoryDataFile() {
        var file = Interface.Oxide.DataFileSystem.GetFile("Contracts/contract_category_data");
        file.Settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
        return file;
    }
    public void LoadContractCategoryData() {
        CategoriesFile = GetContractCategoryDataFile();
        LoadDataFile(ref Categories, CategoriesFile, GetDefaultContractCategoryData, SaveContractCategoryData, MigrationFileType.Categories );
    }
    public void SaveContractCategoryData() {
        CategoriesFile ??= GetContractCategoryDataFile();
        try {
            if (Categories is not null) CategoriesFile.WriteObject(Categories);
        }
        catch (Exception ex) {
            PrintError("Failed to save 'oxide/data/Contracts/contract_category_data.json'.");
            PrintError(ex.ToString());
        }
        finally {
            CategoriesFile.Clear();
        }
    }
    public ContractCategoryStateData CategoryState = null!;
    DynamicConfigFile? CategoryStateFile;
    public DynamicConfigFile GetContractCategoryStateDataFile() {
        var file = Interface.Oxide.DataFileSystem.GetFile("Contracts/contract_category_state_data");
        file.Settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
        return file;
    }
    public void LoadContractCategoryStateData() {
        CategoryStateFile = GetContractCategoryStateDataFile();
        LoadDataFile(ref CategoryState, CategoryStateFile, GetDefaultContractCategoryStateData, SaveContractCategoryStateData, MigrationFileType.CategoryState );
    }
    public void SaveContractCategoryStateData() {
        CategoryStateFile ??= GetContractCategoryStateDataFile();
        try {
            if (CategoryState is not null) CategoryStateFile.WriteObject(CategoryState);
        }
        catch (Exception ex) {
            PrintError("Failed to save 'oxide/data/Contracts/contract_category_state_data.json'.");
            PrintError(ex.ToString());
        }
        finally {
            CategoryStateFile.Clear();
        }
    }
    public ContractProgressData Progress = null!;
    DynamicConfigFile? ProgressFile;
    public DynamicConfigFile GetContractProgressDataFile() {
        var file = Interface.Oxide.DataFileSystem.GetFile("Contracts/contract_progress_data");
        file.Settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
        return file;
    }
    public void LoadContractProgressData() {
        ProgressFile = GetContractProgressDataFile();
        LoadDataFile(ref Progress, ProgressFile, GetDefaultContractProgressData, SaveContractProgressData, MigrationFileType.Progress );
    }
    public void SaveContractProgressData() {
        ProgressFile ??= GetContractProgressDataFile();
        try {
            if (Progress is not null) ProgressFile.WriteObject(Progress);
        }
        catch (Exception ex) {
            PrintError("Failed to save 'oxide/data/Contracts/contract_progress_data.json'.");
            PrintError(ex.ToString());
        }
        finally {
            ProgressFile.Clear();
        }
    }
    public void ClearContractProgressData() {
        Progress.PlayerContractProgress.Clear();
    }
    public ContractsData Definitions = null!;
    DynamicConfigFile? DefinitionsFile;
    public DynamicConfigFile GetContractsDataFile() {
        var file = Interface.Oxide.DataFileSystem.GetFile("Contracts/contracts_data");
        file.Settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
        return file;
    }
    public void LoadContractsData() {
        DefinitionsFile = GetContractsDataFile();
        LoadDataFile(ref Definitions, DefinitionsFile, GetDefaultContractsData, SaveContractsData, MigrationFileType.Contracts );
        OrderContractConditions();
    }
    private void OrderContractConditions() {
        var ordering = Settings.Conditions.ConditionOrdering;
        if (ordering == ConditionOrdering.None) return;
        foreach (var contract in Definitions.Contracts.Values) {
            foreach (var objective in contract.Objectives.Values) {
                objective.Conditions = Condition.OrderConditions(objective.Conditions, ordering);
            }
        }
    }
    public void SaveContractsData() {
        DefinitionsFile ??= GetContractsDataFile();
        try {
            if (Definitions is not null) DefinitionsFile.WriteObject(Definitions);
        }
        catch (Exception ex) {
            PrintError("Failed to save 'oxide/data/Contracts/contracts_data.json'.");
            PrintError(ex.ToString());
        }
        finally {
            DefinitionsFile.Clear();
        }
    }
    public CustomRewardData CustomRewards = null!;
    DynamicConfigFile? CustomRewardsFile;
    public DynamicConfigFile GetCustomRewardDataFile() {
        var file = Interface.Oxide.DataFileSystem.GetFile("Contracts/custom_reward_data");
        file.Settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
        return file;
    }
    public void LoadCustomRewardData() {
        CustomRewardsFile = GetCustomRewardDataFile();
        LoadDataFile(ref CustomRewards, CustomRewardsFile, GetDefaultCustomRewardData, SaveCustomRewardData, MigrationFileType.CustomRewards );
    }
    public void SaveCustomRewardData() {
        CustomRewardsFile ??= GetCustomRewardDataFile();
        try {
            if (CustomRewards is not null) CustomRewardsFile.WriteObject(CustomRewards);
        }
        catch (Exception ex) {
            PrintError("Failed to save 'oxide/data/Contracts/custom_reward_data.json'.");
            PrintError(ex.ToString());
        }
        finally {
            CustomRewardsFile.Clear();
        }
    }
    public bool IsDataLoaded = false;
    private void LoadData() {
        LoadPresetData();
        LoadCustomRewardData();
        LoadContractsData();
        LoadContractCategoryData();
        LoadContractCategoryStateData();
        LoadContractProgressData();
        LoadPlayerScoreData();
        LoadPlayerPreferencesData();
        LoadPendingRewardsData();
        LoadCacheData();
        ReconcilePremiumLockedContracts();
        IsDataLoaded = true;
        Migration.Unload();
    }
    public enum EntityCategory {
        Npc, Animal, Mount, World, Structure, Deployable,
    }
    public static readonly Dictionary<string, (string DisplayName, EntityCategory Category)> EntityDisplays = new() {
        ["abovegroundpool.deployed"]
        = ("Above Ground Pool", EntityCategory.World), ["advendcalendar.deployed"] = ("Advent Calendar", EntityCategory.World), ["anchor.deployed"] = ("Anchor", EntityCategory.World), ["andswitch.entity"] = ("AND Switch", EntityCategory.World), ["attackhelicopter.entity"] = ("Attack Helicopter", EntityCategory.Mount), ["audioalarm"] = ("Audio Alarm", EntityCategory.World), ["autoturret_deployed"] = ("Auto Turret", EntityCategory.Deployable), ["ballista.constructable.entity"] = ("Mounted Ballista", EntityCategory.World), ["ballista.mounted"] = ("Ballista (Mounted)", EntityCategory.Mount), ["ballista.static"] = ("Ballista (Static)", EntityCategory.Mount), ["ballistagun.static.entity"] = ("Ballista", EntityCategory.World), ["barricade.concrete"] = ("Concrete Barricade", EntityCategory.World), ["barricade.cover.wood_double"] = ("Wooden Barricade Cover", EntityCategory.World), ["barricade.medieval"] = ("Medieval Barricade", EntityCategory.World), ["barricade.metal"] = ("Metal Barricade", EntityCategory.Deployable), ["barricade.sandbags"] = ("Sandbag Barricade", EntityCategory.World), ["barricade.stone"] = ("Stone Barricade", EntityCategory.World), ["barricade.wood"] = ("Wooden Barricade", EntityCategory.Deployable), ["barricade.woodwire"] = ("Barbed Wooden Barricade", EntityCategory.World), ["bathtub.planter.deployed"] = ("Bath Tub Planter", EntityCategory.World), ["batteringram.constructable.entity"] = ("Battering Ram", EntityCategory.World), ["bbq.deployed"] = ("Barbeque", EntityCategory.World), ["beachchair.deployed"] = ("Beach Chair", EntityCategory.World), ["beachparasol.deployed"] = ("Beach Parasol", EntityCategory.World), ["beachtable.deployed"] = ("Beach Table", EntityCategory.World), ["beachtowel.deployed"] = ("Beach Towel", EntityCategory.World), ["bear"] = ("Bear", EntityCategory.Animal), ["beartrap"] = ("Snap Trap", EntityCategory.World), ["bed_deployed"] = ("Bed", EntityCategory.World), ["beehive.deployed"] = ("Beehive", EntityCategory.World), ["black_berry.entity"] = ("Black Berry Clone", EntityCategory.World), ["block.stair.lshape"] = ("L Shaped Stairs", EntityCategory.Structure), ["block.stair.spiral"] = ("Spiral Stairs", EntityCategory.Structure), ["block.stair.ushape"] = ("U Shaped Stairs", EntityCategory.Structure), ["blue_berry.entity"] = ("Blue Berry Clone", EntityCategory.World), ["boar"] = ("Boar", EntityCategory.Animal), ["boatbuildingstation.deployed"] = ("Boat Building Station", EntityCategory.World), ["boogieboard.deployed"] = ("Boogie Board", EntityCategory.World), ["boombox.deployed"] = ("Boom Box", EntityCategory.World), ["box.wooden.large"] = ("Large Wood Box", EntityCategory.Deployable), ["bradleyapc"] = ("Bradley APC", EntityCategory.Npc), ["button"] = ("Button", EntityCategory.World), ["cabletunnel"] = ("Cable Tunnel", EntityCategory.World), ["campfire"] = ("Campfire", EntityCategory.Deployable), ["cannon.deployed"] = ("Cannon", EntityCategory.World), ["carvable.pumpkin"] = ("Carvable Pumpkin", EntityCategory.World), ["catapult.constructable.entity"] = ("Catapult", EntityCategory.World), ["cctv_deployed"] = ("CCTV Camera", EntityCategory.World), ["ceilinglight.deployed"] = ("Ceiling Light", EntityCategory.World), ["chair.deployed"] = ("Chair", EntityCategory.World), ["charityplushie_01_deployed"] = ("Cancer Research UK Plushie", EntityCategory.World), ["charityplushie_02_deployed"] = ("Ronald McDonald House UK Plushie", EntityCategory.World), ["charityplushie_03_deployed"] = ("Ronald McDonald House UK 2026 Plushie", EntityCategory.World), ["charityplushie_04_deployed"] = ("Cancer Research UK 2026 Plushie", EntityCategory.World), ["chicken"] = ("Chicken", EntityCategory.Animal), ["chickencoop.deployed"] = ("Chicken Coop", EntityCategory.World), ["chineselantern.deployed"] = ("Chinese Lantern", EntityCategory.World), ["chineselantern_white.deployed"] = ("Chinese Lantern White", EntityCategory.World), ["chippyarcademachine"] = ("Chippy Arcade Game", EntityCategory.World), ["christmas_door_wreath_deployed"] = ("Christmas Door Wreath", EntityCategory.World), ["circle_balloon.deployed"] = ("Circle Balloon", EntityCategory.World), ["clantable.deployed"] = ("Clan Table", EntityCategory.World), ["coffinstorage"] = ("Coffin", EntityCategory.World), ["command.block.deployed"] = ("Command Block", EntityCategory.World), ["composter"] = ("Composter", EntityCategory.World), ["computerstation.deployed"] = ("Computer Station", EntityCategory.World), ["confetticannon.deployed"] = ("Confetti Cannon", EntityCategory.World), ["connectedspeaker.deployed"] = ("Connected Speaker", EntityCategory.World), ["cookingworkbench.deployed"] = ("Cooking Workbench", EntityCategory.World), ["corn.entity"] = ("Corn Clone", EntityCategory.World), ["counter"] = ("Counter", EntityCategory.World), ["crocodile"] = ("Crocodile", EntityCategory.Animal), ["cupboard.tool.deployed"] = ("Tool Cupboard", EntityCategory.World), ["cursedcauldron.deployed"] = ("Cursed Cauldron", EntityCategory.World), ["dartboard.deployed"] = ("Dart Board", EntityCategory.World), ["diesel_barrel_world"] = ("Diesel Barrel", EntityCategory.World), ["discoball.deployed"] = ("Disco Ball", EntityCategory.World), ["discofloor.deployed"] = ("Disco Floor", EntityCategory.World), ["discordplushie_deployed"] = ("Wumpus Plush", EntityCategory.World), ["discordtrophy_deployed"] = ("Discord Trophy", EntityCategory.World), ["door.double.hinged.bardoors"] = ("Wooden Frontier Bar Doors", EntityCategory.World), ["door.double.hinged.metal"] = ("Sheet Metal Double Door", EntityCategory.Deployable), ["door.double.hinged.toptier"] = ("Armored Double Door", EntityCategory.Deployable), ["door.double.hinged.wood"] = ("Wooden Double Door", EntityCategory.Deployable), ["door.hinged.metal"] = ("Sheet Metal Door", EntityCategory.Deployable), ["door.hinged.toptier"] = ("Armored Door", EntityCategory.Deployable), ["door.hinged.wood"] = ("Wooden Door", EntityCategory.Deployable), ["doorcloser"] = ("Door Closer", EntityCategory.World), ["doorcontroller.deployed"] = ("Door Controller", EntityCategory.World), ["doorgarland.deployed"] = ("Festive Doorway Garland", EntityCategory.World), ["double_doorgarland.deployed"] = ("Festive Double Doorway Garland", EntityCategory.World), ["dpv.deployed"] = ("Diver propulsion vehicle", EntityCategory.World), ["dragondoorknocker.deployed"] = ("Dragon Door Knocker", EntityCategory.World), ["drone.deployed"] = ("Drone", EntityCategory.World), ["dropbox.deployed"] = ("Drop Box", EntityCategory.World), ["drumkit.deployed"] = ("Junkyard Drum Kit", EntityCategory.World), ["easel.deployed"] = ("Portable Easel", EntityCategory.World), ["easter_door_wreath_deployed"] = ("Easter Door Wreath", EntityCategory.World), ["electric.bulbstringlights.deployed"] = ("Bulb String Lights", EntityCategory.World), ["electric.chandelier.deployed"] = ("Chandelier", EntityCategory.World), ["electric.digitalclock.deployed"] = ("Digital Clock", EntityCategory.World), ["electric.fairylights.deployed"] = ("Fairy Lights", EntityCategory.World), ["electric.flasherlight.deployed"] = ("Flasher Light", EntityCategory.World), ["electric.fluorescentlight.deployed"] = ("Fluorescent Light", EntityCategory.World), ["electric.seismicsensor.deployed"] = ("Seismic Sensor", EntityCategory.World), ["electric.sirenlight.deployed"] = ("Siren Light", EntityCategory.World), ["electric.spotlight.deployed"] = ("Spot Light", EntityCategory.World), ["electric.spotlight.tripod.deployed"] = ("Tripod Spot Light", EntityCategory.World), ["electric.sprinkler.deployed"] = ("Sprinkler", EntityCategory.World), ["electric.tablelamp.deployed"] = ("Electric Table Lamp", EntityCategory.World), ["electric.wallcabinet.deployed"] = ("Wall Cabinet", EntityCategory.World), ["electric.waterwheel"] = ("Water Wheel", EntityCategory.World), ["electric.windmill.small"] = ("Wind Turbine", EntityCategory.World), ["electrical.blocker.deployed"] = ("Blocker", EntityCategory.World), ["electrical.branch.deployed"] = ("Electrical Branch", EntityCategory.World), ["electrical.combiner.deployed"] = ("Root Combiner", EntityCategory.World), ["electrical.heater"] = ("Electric Heater", EntityCategory.World), ["electrical.memorycell.deployed"] = ("Memory Cell", EntityCategory.World), ["electrical.modularcarlift.deployed"] = ("Modular Car Lift", EntityCategory.World), ["electrical.random.switch.deployed"] = ("RAND Switch", EntityCategory.World), ["electricfurnace.deployed"] = ("Electric Furnace", EntityCategory.Deployable), ["elevator"] = ("Elevator", EntityCategory.World), ["explosivesiegedeployable"] = ("Propane Explosive Bomb", EntityCategory.World), ["fireplace.deployed"] = ("Stone Fireplace", EntityCategory.World), ["fishtrophy.deployed"] = ("Fish Trophy", EntityCategory.World), ["flameturret.deployed"] = ("Flame Turret", EntityCategory.Deployable), ["flammablesiegedeployable"] = ("Firebomb", EntityCategory.World), ["floor"] = ("Floor", EntityCategory.Structure), ["floor.frame"] = ("Floor Frame", EntityCategory.Structure), ["floor.grill"] = ("Floor grill", EntityCategory.World), ["floor.ladder.hatch"] = ("Ladder Hatch", EntityCategory.World), ["floor.ladder.hatch.toptier"] = ("Armored Ladder Hatch", EntityCategory.World), ["floor.triangle"] = ("Triangle Floor", EntityCategory.Structure), ["floor.triangle.grill"] = ("Floor triangle grill", EntityCategory.World), ["floor.triangle.ladder.hatch"] = ("Triangle Ladder Hatch", EntityCategory.World), ["floor.triangle.ladder.hatch.toptier"] = ("Armored Triangle Ladder Hatch", EntityCategory.World), ["fluid.combiner.deployed"] = ("Fluid Combiner", EntityCategory.World), ["fluidsplitter"] = ("Fluid Splitter", EntityCategory.World), ["fluidswitch"] = ("Fluid Switch & Pump", EntityCategory.World), ["fogmachine"] = ("Fogger-3000", EntityCategory.World), ["foundation"] = ("Foundation", EntityCategory.Structure), ["foundation.steps"] = ("Foundation Steps", EntityCategory.Structure), ["foundation.triangle"] = ("Triangle Foundation", EntityCategory.Structure), ["frankensteintable.deployed"] = ("Frankenstein Table", EntityCategory.World), ["fridge.deployed"] = ("Fridge", EntityCategory.Deployable), ["furnace"] = ("Furnace", EntityCategory.Deployable), ["furnace.large"] = ("Large Furnace", EntityCategory.Deployable), ["gates.external.high.stone"] = ("High External Stone Gate", EntityCategory.Deployable), ["gates.external.high.wood"] = ("High External Wooden Gate", EntityCategory.Deployable), ["generator.small"] = ("Test Generator", EntityCategory.World), ["giantcandycane.deployed"] = ("Giant Candy Decor", EntityCategory.World), ["giantlollipops.deployed"] = ("Giant Lollipop Decor", EntityCategory.World), ["goldframe.large"] = ("Ornate Frame large", EntityCategory.World), ["goldframe.small"] = ("Ornate Frame Small", EntityCategory.World), ["goldframe.standing"] = ("Ornate Frame Standing", EntityCategory.World), ["goldframe.xl"] = ("Ornate Frame XL", EntityCategory.World), ["goldframe.xxl"] = ("Ornate Frame XXL", EntityCategory.World), ["gravestone.stone.deployed"] = ("Gravestone", EntityCategory.World), ["gravestone.wood.deployed"] = ("Wooden Cross", EntityCategory.World), ["graveyardfence"] = ("Graveyard Fence", EntityCategory.World), ["green_berry.entity"] = ("Green Berry Clone", EntityCategory.World), ["guntrap.deployed"] = ("Shotgun Trap", EntityCategory.Deployable), ["hazmat_youtooz.deployed"] = ("Hazmat Youtooz", EntityCategory.World), ["hazmatplushy_deployed"] = ("Hazmat Plushy", EntityCategory.World), ["hbhfsensor.deployed"] = ("HBHF Sensor", EntityCategory.World), ["heart_balloon.deployed"] = ("Heart Balloon", EntityCategory.World), ["heavyscientist_youtooz.deployed"] = ("Heavy Scientist Youtooz", EntityCategory.World), ["heavyscientistplushie_deployed"] = ("Heavy Scientist Plushie", EntityCategory.World), ["hemp.entity"] = ("Hemp Clone", EntityCategory.World), ["hitchtrough.deployed"] = ("Hitch & Trough", EntityCategory.World), ["hobobarrel.deployed"] = ("Hobo Barrel", EntityCategory.World), ["hopper.deployed"] = ("Hopper", EntityCategory.World), ["huntingtrophylarge.deployed"] = ("Large Hunting Trophy", EntityCategory.World), ["huntingtrophysmall.deployed"] = ("Small Hunting Trophy", EntityCategory.World), ["icewall"] = ("Short Ice Wall", EntityCategory.World), ["igniter.deployed"] = ("Igniter", EntityCategory.World), ["industrial.wall.lamp.deployed"] = ("Industrial Wall Light", EntityCategory.World), ["industrialcombiner.deployed"] = ("Industrial Combiner", EntityCategory.World), ["industrialconveyor.deployed"] = ("Industrial Conveyor", EntityCategory.World), ["industrialcrafter.deployed"] = ("Industrial Crafter", EntityCategory.World), ["industrialsplitter.deployed"] = ("Industrial Splitter", EntityCategory.World), ["innertube.deployed"] = ("Inner Tube", EntityCategory.World), ["io.table.deployed"] = ("Engineering Workbench", EntityCategory.World), ["jackolantern.angry"] = ("Jack O Lantern Angry", EntityCategory.World), ["jackolantern.happy"] = ("Jack O Lantern Happy", EntityCategory.World), ["jukebox.deployed"] = ("Jukebox", EntityCategory.World), ["kayak"] = ("Kayak", EntityCategory.World), ["ladder.wooden.wall"] = ("Wooden Ladder", EntityCategory.Deployable), ["landmine"] = ("Homemade Landmine", EntityCategory.World), ["lantern.deployed"] = ("Lantern", EntityCategory.World), ["large.rechargable.battery.deployed"] = ("Large Rechargeable Battery", EntityCategory.World), ["largecandleset"] = ("Large Candle Set", EntityCategory.World), ["laserdetector"] = ("Laser Detector", EntityCategory.World), ["laserlight.deployed"] = ("Laser Light", EntityCategory.World), ["latex_balloon.deployed"] = ("Latex Balloon", EntityCategory.World), ["latexclump_balloon.deployed"] = ("Clump of Latex Balloons", EntityCategory.World), ["legacy.shelter.wood.deployed"] = ("Legacy Wood Shelter", EntityCategory.World), ["lightupframe.large"] = ("Light-Up Frame Large", EntityCategory.World), ["lightupframe.small"] = ("Light-Up Frame Small", EntityCategory.World), ["lightupframe.standing"] = ("Light-Up Frame Standing", EntityCategory.World), ["lightupframe.xl"] = ("Light-Up Frame XL", EntityCategory.World), ["lightupframe.xxl"] = ("Light-Up Frame XXL", EntityCategory.World), ["lock.code"] = ("Code Lock", EntityCategory.World), ["lock.key"] = ("Key Lock", EntityCategory.World), ["locker.deployed"] = ("Locker", EntityCategory.Deployable), ["loot-barrel-1"] = ("Loot Barrel 1", EntityCategory.World), ["loot-barrel-2"] = ("Loot Barrel 2", EntityCategory.World), ["lunar_near_year_2025_wall_divider_a"] = ("Lunar Wall Frame Inlay", EntityCategory.World), ["mailbox.deployed"] = ("Mail Box", EntityCategory.World), ["mannequin_deployed"] = ("Clothing Mannequin", EntityCategory.World), ["medium.rechargable.battery.deployed"] = ("Medium Rechargeable Battery", EntityCategory.World), ["microphonestand.deployed"] = ("Microphone Stand", EntityCategory.World), ["minecart.planter.deployed"] = ("Minecart Planter", EntityCategory.World), ["minicopter.entity"] = ("Minicopter", EntityCategory.Mount), ["minifridge.deployed"] = ("Mini Fridge", EntityCategory.World), ["mining.pumpjack"] = ("Pump Jack", EntityCategory.World), ["mining_quarry"] = ("Mining Quarry", EntityCategory.World), ["mixingtable.deployed"] = ("Mixing Table", EntityCategory.World), ["modular_car_radio"] = ("Car Radio", EntityCategory.World), ["mortar.entity"] = ("Mortar", EntityCategory.World), ["mortarblue"] = ("Blue Boomer", EntityCategory.World), ["mortarchampagne"] = ("Champagne Boomer", EntityCategory.World), ["mortargreen"] = ("Green Boomer", EntityCategory.World), ["mortarorange"] = ("Orange Boomer", EntityCategory.World), ["mortarpattern"] = ("Pattern Boomer", EntityCategory.World), ["mortarred"] = ("Red Boomer", EntityCategory.World), ["mortarviolet"] = ("Violet Boomer", EntityCategory.World), ["murderer"] = ("Murderer", EntityCategory.Npc), ["neonsigntr.deployed"] = ("Twitch Rivals Neon Sign", EntityCategory.World), ["newyeargong.deployed"] = ("New Year Gong", EntityCategory.World), ["npc_tunneldweller"] = ("Tunnel Dweller", EntityCategory.Npc), ["npc_tunneldweller_flame"] = ("Tunnel Dweller (Flame)", EntityCategory.Npc), ["oil_barrel"] = ("Oil Barrel", EntityCategory.World), ["orchid.entity"] = ("Orchid Clone", EntityCategory.World), ["orswitch.entity"] = ("OR Switch", EntityCategory.World), ["paddlingpool.deployed"] = ("Paddling Pool", EntityCategory.World), ["panther"] = ("Panther", EntityCategory.Animal), ["parachute"] = ("Parachute (Deployed)", EntityCategory.Mount), ["patrolhelicopter"] = ("Patrol Helicopter", EntityCategory.Npc), ["photoframe.landscape"] = ("Landscape Photo Frame", EntityCategory.World), ["photoframe.large"] = ("Large Photo Frame", EntityCategory.World), ["photoframe.portrait"] = ("Portrait Photo Frame", EntityCategory.World), ["piano.deployed"] = ("Wheelbarrow Piano", EntityCategory.World), ["pinata.deployed"] = ("Pinata", EntityCategory.World), ["plank.deployed"] = ("Plank", EntityCategory.World), ["planter.large.deployed"] = ("Large Planter Box", EntityCategory.World), ["planter.small.deployed"] = ("Small Planter Box", EntityCategory.World), ["planter.triangle.deployed"] = ("Triangle Planter Box", EntityCategory.World), ["plantpot.single.deployed"] = ("Single Plant Pot", EntityCategory.World), ["polarbear"] = ("Polar Bear", EntityCategory.Animal), ["pookie_deployed"] = ("Pookie Bear", EntityCategory.World), ["pooltable.deployed"] = ("Pool Table", EntityCategory.World), ["potato.entity"] = ("Potato Clone", EntityCategory.World), ["poweredwaterpurifier.deployed"] = ("Powered Water Purifier", EntityCategory.World), ["pressurepad.deployed"] = ("Pressure Pad", EntityCategory.World), ["ptz_cctv_deployed"] = ("PTZ CCTV Camera", EntityCategory.World), ["pumpkin.entity"] = ("Pumpkin Plant Clone", EntityCategory.World), ["ramp"] = ("Ramp", EntityCategory.Structure), ["reactivetarget_deployed"] = ("Reactive Target", EntityCategory.World), ["red_berry.entity"] = ("Red Berry Clone", EntityCategory.World), ["refinery_small_deployed"] = ("Small Oil Refinery", EntityCategory.World), ["repairbench_deployed"] = ("Repair Bench", EntityCategory.World), ["researchtable_deployed"] = ("Research Table", EntityCategory.World), ["rfbroadcaster"] = ("RF Broadcaster", EntityCategory.World), ["rfreceiver"] = ("RF Receiver", EntityCategory.World), ["rhib"] = ("RHIB", EntityCategory.Mount), ["ridablehorse"] = ("Ridable Horse", EntityCategory.Mount), ["rockingchair.deployed"] = ("Rocking Chair", EntityCategory.World), ["romancandle"] = ("Red Roman Candle", EntityCategory.World), ["romancandleblue"] = ("Blue Roman Candle", EntityCategory.World), ["romancandlegreen"] = ("Green Roman Candle", EntityCategory.World), ["romancandleviolet"] = ("Violet Roman Candle", EntityCategory.World), ["roof"] = ("Roof", EntityCategory.Structure), ["roof.triangle"] = ("Triangle Roof", EntityCategory.Structure), ["rose.entity"] = ("Rose Clone", EntityCategory.World), ["rowboat"] = ("Rowboat", EntityCategory.Mount), ["rug.bear.deployed"] = ("Bear Skin Rug", EntityCategory.World), ["rug.deployed"] = ("Rug", EntityCategory.World), ["rustigeegg_a.deployed"] = ("Rustigé Egg - Red", EntityCategory.World), ["rustigeegg_b.deployed"] = ("Rustigé Egg - Blue", EntityCategory.World), ["rustigeegg_c.deployed"] = ("Rustigé Egg - Purple", EntityCategory.World), ["rustigeegg_d.deployed"] = ("Rustigé Egg - Ivory", EntityCategory.World), ["rustigeegg_e.deployed"] = ("Rustigé Egg - Green", EntityCategory.World), ["rustigeegg_f.deployed"] = ("Rustigé Egg - White", EntityCategory.World), ["rustigeegg_g.deployed"] = ("Rustigé Egg - Cerulean", EntityCategory.World), ["rustigeegg_h.deployed"] = ("Rustigé Egg - Amethyst", EntityCategory.World), ["sail.deployed"] = ("Sail", EntityCategory.World), ["sam_site_turret_deployed"] = ("SAM Site", EntityCategory.Deployable), ["scarecrow"] = ("Scarecrow", EntityCategory.Npc), ["scarecrow.deployed"] = ("Scarecrow", EntityCategory.World), ["scientist2"] = ("Scientist (Tutorial)", EntityCategory.Npc), ["scientist2.heavy"] = ("Heavy Scientist (Tutorial)", EntityCategory.Npc), ["scientist2.shotgun"] = ("Shotgun Scientist (Tutorial)", EntityCategory.Npc), ["scientistnpc_arena"] = ("Scientist (Arena)", EntityCategory.Npc), ["scientistnpc_bradley"] = ("Bradley Scientist", EntityCategory.Npc), ["scientistnpc_bradley_heavy"] = ("Bradley Scientist (Heavy)", EntityCategory.Npc), ["scientistnpc_cargo"] = ("Cargo Ship Scientist", EntityCategory.Npc), ["scientistnpc_cargo_turret_any"] = ("Cargo Ship Turret Scientist", EntityCategory.Npc), ["scientistnpc_cargo_turret_lr300"] = ("Cargo Ship Turret Scientist (LR300)", EntityCategory.Npc), ["scientistnpc_ch47_gunner"] = ("Chinook Gunner Scientist", EntityCategory.Npc), ["scientistnpc_excavator"] = ("Excavator Scientist", EntityCategory.Npc), ["scientistnpc_full_any"] = ("Scientist (Full)", EntityCategory.Npc), ["scientistnpc_full_lr300"] = ("Scientist (Full, LR300)", EntityCategory.Npc), ["scientistnpc_full_mp5"] = ("Scientist (Full, MP5)", EntityCategory.Npc), ["scientistnpc_full_pistol"] = ("Scientist (Full, Pistol)", EntityCategory.Npc), ["scientistnpc_full_shotgun"] = ("Scientist (Full, Shotgun)", EntityCategory.Npc), ["scientistnpc_heavy"] = ("Heavy Scientist", EntityCategory.Npc), ["scientistnpc_junkpile_pistol"] = ("Junkpile Scientist (Pistol)", EntityCategory.Npc), ["scientistnpc_oilrig"] = ("Oil Rig Scientist", EntityCategory.Npc), ["scientistnpc_outbreak"] = ("Outbreak Scientist", EntityCategory.Npc), ["scientistnpc_patrol"] = ("Patrol Scientist", EntityCategory.Npc), ["scientistnpc_patrol_arctic"] = ("Arctic Patrol Scientist", EntityCategory.Npc), ["scientistnpc_peacekeeper"] = ("Peacekeeper Scientist", EntityCategory.Npc), ["scientistnpc_ptboat"] = ("PT Boat Scientist", EntityCategory.Npc), ["scientistnpc_rhib"] = ("RHIB Scientist", EntityCategory.Npc), ["scientistnpc_roam"] = ("Roaming Scientist", EntityCategory.Npc), ["scientistnpc_roam_nvg_variant"] = ("Roaming Scientist (NVG)", EntityCategory.Npc), ["scientistnpc_roamtethered"] = ("Tethered Roaming Scientist", EntityCategory.Npc), ["scientistplushie_deployed"] = ("Scientist Plushie", EntityCategory.World), ["scrapframe.large"] = ("Shutter Frame large", EntityCategory.World), ["scrapframe.small"] = ("Shutter Frame Small", EntityCategory.World), ["scrapframe.standing"] = ("Shutter Frame Standing", EntityCategory.World), ["scrapframe.xl"] = ("Shutter Frame XL", EntityCategory.World), ["scrapframe.xxl"] = ("Shutter Frame XXL", EntityCategory.World), ["sculpture.rock.deployed"] = ("Stone Sculpture", EntityCategory.World), ["searchlight.deployed"] = ("Search Light", EntityCategory.World), ["secretlabchair.deployed"] = ("Secretlab Chair", EntityCategory.World), ["shelves"] = ("Salvaged Shelves", EntityCategory.World), ["shutter.metal.embrasure.a"] = ("Metal horizontal embrasure", EntityCategory.World), ["shutter.metal.embrasure.b"] = ("Metal Vertical embrasure", EntityCategory.World), ["shutter.wood.a"] = ("Wood Shutters", EntityCategory.World), ["siegetower.constructable.entity"] = ("Siege Tower", EntityCategory.World), ["sign.artistcanvas.l"] = ("Artist Canvas Standing", EntityCategory.World), ["sign.artistcanvas.m"] = ("Artist Canvas Large", EntityCategory.World), ["sign.artistcanvas.xl"] = ("Artist Canvas XL", EntityCategory.World), ["sign.artistcanvas.xs"] = ("Artist Canvas Small", EntityCategory.World), ["sign.artistcanvas.xxl"] = ("Artist Canvas XXL", EntityCategory.World), ["sign.hanging"] = ("Two Sided Hanging Sign", EntityCategory.World), ["sign.hanging.banner.large"] = ("Large Banner Hanging", EntityCategory.World), ["sign.hanging.ornate"] = ("Two Sided Ornate Hanging Sign", EntityCategory.World), ["sign.huge.wood"] = ("Huge Wooden Sign", EntityCategory.World), ["sign.large.wood"] = ("Large Wooden Sign", EntityCategory.World), ["sign.medium.wood"] = ("Medium Wooden Sign", EntityCategory.World), ["sign.neon.125x125"] = ("Small Neon Sign", EntityCategory.World), ["sign.neon.125x215"] = ("Medium Neon Sign", EntityCategory.World), ["sign.neon.125x215.animated"] = ("Medium Animated Neon Sign", EntityCategory.World), ["sign.neon.xl"] = ("Large Neon Sign", EntityCategory.World), ["sign.neon.xl.animated"] = ("Large Animated Neon Sign", EntityCategory.World), ["sign.pictureframe.landscape"] = ("Landscape Picture Frame", EntityCategory.World), ["sign.pictureframe.portrait"] = ("Portrait Picture Frame", EntityCategory.World), ["sign.pictureframe.tall"] = ("Tall Picture Frame", EntityCategory.World), ["sign.pictureframe.xl"] = ("XL Picture Frame", EntityCategory.World), ["sign.pictureframe.xxl"] = ("XXL Picture Frame", EntityCategory.World), ["sign.pole.banner.large"] = ("Large Banner on pole", EntityCategory.World), ["sign.post.double"] = ("Double Sign Post", EntityCategory.World), ["sign.post.single"] = ("Single Sign Post", EntityCategory.World), ["sign.post.town"] = ("One Sided Town Sign Post", EntityCategory.World), ["sign.post.town.roof"] = ("Two Sided Town Sign Post", EntityCategory.World), ["sign.small.wood"] = ("Small Wooden Sign", EntityCategory.World), ["simplelight"] = ("Simple Light", EntityCategory.World), ["simpleshark"] = ("Shark", EntityCategory.Animal), ["skull_door_knocker.deployed"] = ("Skull Door Knocker", EntityCategory.World), ["skull_fire_pit"] = ("Skull Fire Pit", EntityCategory.World), ["skullspikes.deployed"] = ("Skull Spikes", EntityCategory.World), ["skulltrophy.deployed"] = ("Skull Trophy", EntityCategory.World), ["skylantern.deployed"] = ("Sky Lantern", EntityCategory.World), ["sled.deployed"] = ("Sled", EntityCategory.World), ["sleepingbag_leather_deployed"] = ("Sleeping Bag", EntityCategory.World), ["small_fuel_generator.deployed"] = ("Small Generator", EntityCategory.World), ["small_ramp.deployed"] = ("Small Ramp", EntityCategory.World), ["small_stash_deployed"] = ("Small Stash", EntityCategory.World), ["smallcandleset"] = ("Small Candle Set", EntityCategory.World), ["smallengine.deployed"] = ("Small Boat Engine", EntityCategory.World), ["smallrechargablebattery.deployed"] = ("Small Rechargeable Battery", EntityCategory.World), ["smartalarm"] = ("Smart Alarm", EntityCategory.World), ["smartswitch"] = ("Smart Switch", EntityCategory.World), ["snake.entity"] = ("Snake", EntityCategory.Animal), ["snowmachine"] = ("Snow Machine", EntityCategory.World), ["snowman.deployed"] = ("Snowman", EntityCategory.World), ["sofa.deployed"] = ("Sofa", EntityCategory.World), ["sofa.pattern.deployed"] = ("Sofa - Pattern", EntityCategory.World), ["solarpanel.large.deployed"] = ("Large Solar Panel", EntityCategory.World), ["soundlight.deployed"] = ("Sound Light", EntityCategory.World), ["speechbubble_balloon.deployed"] = ("Speech Bubble Balloon", EntityCategory.World), ["spiderweba"] = ("Spider Webs", EntityCategory.World), ["spikes.floor"] = ("Wooden Floor Spikes", EntityCategory.World), ["spikes.trap"] = ("Small Spike Trap", EntityCategory.World), ["spinner.wheel.deployed"] = ("Spinning Wheel", EntityCategory.World), ["splitter"] = ("Splitter", EntityCategory.World), ["spookyspeaker"] = ("Spooky Speaker", EntityCategory.World), ["stag"] = ("Stag", EntityCategory.Animal), ["star_balloon.deployed"] = ("Star Balloon", EntityCategory.World), ["steeringwheel.deployed"] = ("Steering Wheel", EntityCategory.World), ["stocking_large_deployed"] = ("SUPER Stocking", EntityCategory.World), ["stocking_small_deployed"] = ("Small Stocking", EntityCategory.World), ["storageadaptor.deployed"] = ("Storage Adaptor", EntityCategory.World), ["storagemonitor.deployed"] = ("Storage Monitor", EntityCategory.World), ["strobelight"] = ("Strobe Light", EntityCategory.World), ["submarineduo"] = ("Submarine (Duo)", EntityCategory.Mount), ["submarinesolo"] = ("Submarine (Solo)", EntityCategory.Mount), ["sunflower.entity"] = ("Sunflower Clone", EntityCategory.World), ["survivalfishtrap.deployed"] = ("Survival Fish Trap", EntityCategory.World), ["switch"] = ("Switch", EntityCategory.World), ["table.deployed"] = ("Table", EntityCategory.World), ["telephone.deployed"] = ("Telephone", EntityCategory.World), ["teslacoil.deployed"] = ("Tesla Coil", EntityCategory.World), ["tiger"] = ("Tiger", EntityCategory.Animal), ["timer"] = ("Timer", EntityCategory.World), ["tincan.alarm.deployed"] = ("Tin Can Alarm", EntityCategory.World), ["torchholder.deployed"] = ("Torch Holder", EntityCategory.World), ["trophy.deployed"] = ("Twitch Rivals Trophy", EntityCategory.World), ["trophy_2023.deployed"] = ("Twitch Rivals Trophy 2023", EntityCategory.World), ["tunalight.deployed"] = ("Tuna Can Lamp", EntityCategory.World), ["twitch_rivals_sofa.deployed"] = ("Twitch Rivals 2025 Sofa", EntityCategory.World), ["vendingmachine.deployed"] = ("Vending Machine", EntityCategory.Deployable), ["volcanofirework"] = ("White Volcano Firework", EntityCategory.World), ["volcanofirework-red"] = ("Red Volcano Firework", EntityCategory.World), ["volcanofirework-violet"] = ("Violet Volcano Firework", EntityCategory.World), ["wall"] = ("Wall", EntityCategory.Structure), ["wall.doorway"] = ("Doorway", EntityCategory.Structure), ["wall.external.high.ice"] = ("High Ice Wall", EntityCategory.World), ["wall.external.high.stone"] = ("High External Stone Wall", EntityCategory.Deployable), ["wall.external.high.wood"] = ("High External Wooden Wall", EntityCategory.Deployable), ["wall.frame"] = ("Wall Frame", EntityCategory.Structure), ["wall.frame.cell"] = ("Prison Cell Wall", EntityCategory.World), ["wall.frame.cell.gate"] = ("Prison Cell Gate", EntityCategory.World), ["wall.frame.fence"] = ("Chainlink Fence", EntityCategory.World), ["wall.frame.fence.gate"] = ("Chainlink Fence Gate", EntityCategory.World), ["wall.frame.garagedoor"] = ("Garage Door", EntityCategory.Deployable), ["wall.frame.netting"] = ("Netting", EntityCategory.World), ["wall.frame.shopfront"] = ("Shop Front", EntityCategory.World), ["wall.frame.shopfront.metal"] = ("Metal Shop Front", EntityCategory.World), ["wall.half"] = ("Half Wall", EntityCategory.Structure), ["wall.low"] = ("Low Wall", EntityCategory.Structure), ["wall.window"] = ("Window Wall", EntityCategory.Structure), ["wall.window.bars.metal"] = ("Metal Window Bars", EntityCategory.World), ["wall.window.bars.toptier"] = ("Reinforced Glass Window", EntityCategory.World), ["wall.window.bars.wood"] = ("Wooden Window Bars", EntityCategory.World), ["wall.window.glass.reinforced"] = ("Strengthened Glass Window", EntityCategory.World), ["wantedposter.deployed"] = ("Wanted Poster", EntityCategory.World), ["watchtower.wood"] = ("Watch Tower", EntityCategory.World), ["water.pump.deployed"] = ("Water Pump", EntityCategory.World), ["water_catcher_large"] = ("Large Water Catcher", EntityCategory.World), ["water_catcher_small"] = ("Small Water Catcher", EntityCategory.World), ["waterbarrel"] = ("Water Barrel", EntityCategory.World), ["waterpurifier.deployed"] = ("Water Purifier", EntityCategory.World), ["weaponrack_horizontal.deployed"] = ("Horizontal Weapon Rack", EntityCategory.World), ["weaponrack_single1.deployed"] = ("Frontier Bolts Single Item Rack", EntityCategory.World), ["weaponrack_single2.deployed"] = ("Frontier Horseshoe Single Item Rack", EntityCategory.World), ["weaponrack_single3.deployed"] = ("Frontier Horns Single Item Rack", EntityCategory.World), ["weaponrack_stand.deployed"] = ("Weapon Rack Stand", EntityCategory.World), ["weaponrack_tall.deployed"] = ("Tall Weapon Rack", EntityCategory.World), ["weaponrack_wide.deployed"] = ("Wide Weapon Rack", EntityCategory.World), ["wheat.entity"] = ("Wheat Clone", EntityCategory.World), ["white_berry.entity"] = ("White Berry Clone", EntityCategory.World), ["windowgarland.deployed"] = ("Festive Window Garland", EntityCategory.World), ["wolf"] = ("Wolf", EntityCategory.Animal), ["woodbox_deployed"] = ("Wood Storage Box", EntityCategory.World), ["workbench1.deployed"] = ("Workbench Level 1", EntityCategory.Deployable), ["workbench2.deployed"] = ("Workbench Level 2", EntityCategory.Deployable), ["workbench3.deployed"] = ("Workbench Level 3", EntityCategory.Deployable), ["xmas.advanced.lights.deployed"] = ("Deluxe Christmas Lights", EntityCategory.World), ["xmas.lightstring.deploy
// ... [Code preview truncated due to length. Full source in attached file] ...

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху