TShock中文插件库TShock中文插件库
插件文档
插件开发
其他文档
  • 简体中文
  • en-US
GitHub
插件文档
插件开发
其他文档
  • 简体中文
  • en-US
GitHub
  • TShock插件の仓库
  • AIChatPlugin AI聊天插件
  • AdditionalPylons 放置更多晶塔权
  • AnnouncementBoxPlus
  • AutoAirItem 自动垃圾桶插件
  • AutoBroadcast 自动广播
  • AutoClassificationQuickStack 便捷分类箱子
  • Autoclear 智能自动扫地
  • AutoFish 自动钓鱼
  • AutoPluginManager 自动更新插件
  • AutoReset 完全自动重置插件
  • AutoStoreItems 自动储存
  • AutoTeamPlus 更好的自动队伍
  • Back 回到死亡点
  • BagPing 地图上标记宝藏袋
  • BanNpc 阻止怪物生成
  • BedSet 设置重生点
  • BetterWhitelist 更好的白名单
  • BridgeBuilder 快速铺桥
  • BuildMaster 豆沙小游戏·建筑大师
  • CGive 离线命令
  • CNPCShop 自定义NPC商店
  • CaiBotPlugin Bot适配插件
  • CaiBotLitePlugin 官方机器人适配插件
  • CaiCustomEmojiCommand 自定义表情命令
  • CaiLib Cai的工具库(废弃)
  • CaiPacketDebug 数据包调试
  • CaiRewardChest 奖励箱
  • Challenger 挑战者模式
  • Chameleon 进服前登录
  • ChattyBridge 聊天桥
  • ChestRestore 无限宝箱和禁止箱子改名
  • yaaiomni
  • ConsoleSql 控制台SQL
  • ConvertWorld 击败怪物替换世界物品
  • CreateSpawn 出生点建筑
  • CriticalHit 打击文字提示
  • Crossplay 跨版本支持
  • CustomMonster 自定义怪物血量
  • DTEntryBlock 阻止进入地牢或神庙
  • DamageRuleLoot 伤害规则掉落
  • DamageStatistic 伤害统计
  • DataSync 进度同步插件
  • DeathDrop 死亡掉落
  • DisableMonsLoot 禁怪物掉落
  • DonotFuck 禁止脏话
  • Dummy 假人
  • DumpPluginsList
  • DumpTerrariaID 输出 TerrariaID
  • DwTP 定位传送插件
  • Economics.Core 插件[经济套件核心]
  • Economics.Deal 交易插件
  • Economics.NPC 插件 自定义怪物奖励
  • Economics.Projectile 自定义弹幕
  • Economics.RPG 职业插件
  • Economics.Regain 回收物品插件
  • Economics.Shop 商店插件
  • Economics.Skill 技能插件
  • Economics.Task 任务插件
  • Economics.WeaponPlus 武器强化EC版
  • EndureBoost 拥有指定数量物品给指定buff
  • EssentialsPlus
  • Ezperm 便捷权限
  • FishShop 鱼店
  • GenerateMap 将地图保存至图片
  • GolfRewards 高尔夫奖励
  • Goodnight 宵禁
  • HardPlayerDrop 硬核死亡掉生命水晶
  • HelpPlus 更好的帮助
  • History 记录图格操作
  • HouseRegion 圈地插件
  • InvincibilityPlugin 限时无敌
  • ItemBox 物品盒子
  • ItemDeco 手持物品显示
  • ItemPreserver 物品不消耗
  • JourneyUnlock 解锁旅途物品
  • Lagrange.XocMat BOT适配插件
  • LazyAPI 基础库
  • LifemaxExtra 提升生命值上限
  • ListPlugins 查看插件列表
  • Maptp 双击大地图传送
  • MiniGamesAPI 豆沙小游戏API
  • ModifyWeapons 修改武器插件
  • MonsterRegen 怪物进度回血
  • MusicPlayer 简易音乐播放器
  • Noagent 反代理插件
  • NormalDropsBags 普通难度掉落宝藏袋
  • 留言墙 NoteWall
  • Online Gift Package 在线礼包
  • PacketsStop 数据包拦截
  • PerPlayerLoot 独立战利品箱子
  • PermaBuff 永久Buff
  • PersonalPermission 玩家单独权限
  • Platform 判断玩家设备
  • PlayerManager 玩家管理器
  • PlayerRandomSwapper 玩家位置随机交换
  • PlayerSpeed 玩家速度插件
  • ProgressBag 进度礼包
  • ProgressControl 计划书
  • ProgressRestrict 超进度检测
  • ProxyProtocolSocket
  • pvper 决斗系统
  • QRCoder 二维码生成器
  • RainbowChat 彩虹聊天
  • RandReSpawn 随机出生点
  • RandomBroadcast 随机广播
  • ReFishTask 刷新渔夫任务
  • RealTime 现实时间
  • RebirthCoin 复活币
  • RecipesBrowser 合成表
  • RegionView 区域显示
  • Respawn 原地复活
  • RestInventory 提供 Rest 查背包接口
  • ReverseWorld 世界反转和全图放置地雷
  • RolesModifying 修改玩家背包
  • Sandstorm 切换沙尘暴
  • ServerTools 服务器工具箱
  • SessionSentinel 踢出长时不发包玩家
  • ShortCommand 简短指令
  • ShowArmors 展示装备
  • SignInSign 告示板登录
  • SimultaneousUseFix 解决卡双锤卡星旋机枪之类的问题
  • Smart Regions 智能区域
  • SpawnInfra 生成基础建设(开服自动基建)
  • SpclPerm 服主特权
  • StatusTextManager 模板文本管理器
  • SurfaceBlock 禁止地表弹幕
  • SurvivalCrisis 类among us小游戏
  • SwitchCommand 开关指令
  • TeleportRequest 传送请求
  • TimeRate 时间加速插件
  • TimerKeeper 保存计时器状态
  • TownNPCHomes NPC快速回家
  • TransfersPatch 翻译工具
  • UnseenInventory 允许生成“无法获取”的物品
  • VBY.Common VBY通用库
  • VBY.GameContentModify 游戏内容修改
  • VBY.OtherCommand 辅助命令
  • VBY.PluginLoader VBY插件加载器
  • VBY.PluginLoaderAutoReload VBY自动重载
  • VeinMiner 连锁挖矿
  • VotePlus 多功能投票
  • WeaponPlusCostCoin 武器强化钱币版
  • Terraria中文Wiki语言包加载器
  • WorldModify 简易的世界修改器
  • ZHIPlayerManager zhi的玩家管理插件

StatusTextManager 模板文本管理器

  • 作者: LaoSparrow
  • 出处: https://github.com/CNS-Team/StatusTxtMgr
  • 管理 PC 端右上角的模板文本

指令

语法权限说明
/statustext无切换模板文本显示
/st无切换模板文本显示

DynamicText 插值表

插值插值内容
{PlayerName}玩家名称
{PlayerGroupName}玩家所在组名称
{PlayerLife}玩家生命值
{PlayerMana}玩家魔力值
{PlayerLifeMax}玩家最大生命值
{PlayerManaMax}玩家最大魔力值
{PlayerLuck}玩家幸运值
{PlayerCoordinateX}玩家X坐标
{PlayerCoordinateY}玩家Y坐标
{PlayerCurrentRegion}玩家所在的 TShock 区域
{IsPlayerAlive}玩家是否存活
{RespawnTimer}玩家重生倒计时 (未知原因不生效)
{OnlinePlayersCount}在线玩家数量
{OnlinePlayersList}在线玩家列表
{AnglerQuestFishName}渔夫任务鱼名称
{AnglerQuestFishID}渔夫任务鱼ID
{AnglerQuestFishingBiome}渔夫任务鱼钓鱼点
{AnglerQuestCompleted}渔夫任务是否已完成
{CurrentTime}游戏内时间
{RealWorldTime}现实世界时间
{WorldName}世界名称
{CurrentBiomes}玩家当前所处群系

配置

配置文件位置:tshock/StatusTextManager.json

{
  "Settings": {
    "LogLevel": "INFO", //日志等级
    "StatusTextSettings": [ //模板文本配置
      {
        "TypeName": "StaticText", //静态文本类型
        "Text": "Helloooooooooooooooooooooooooo\n" //静态文本内容
      },
      {
        "TypeName": "HandlerInfoOverride", //插件模板文本配置覆盖
        "PluginName": "STMTest2", //插件的 AssemblyName, 一般是插件 dll 去掉扩展名
        "Enabled": true, //是否启用插件模板文本
        "OverrideInterval": true, //是否覆盖插件模板文本更新间隔
        "UpdateInterval": 1200 //更新间隔, 以帧为单位, 60=1s, 比如这里 1200=20s 
      },
      {
        "TypeName": "DynamicText", //动态文本类型
        "Text": "\nWorld Name: {WorldName}, {Player Name: {PlayerName}}, Field: {{PlayerName}}\n", //动态文本内容, 被花括号{}包裹的插值会被动态替换成对应的插值内容, 用双花括号跳过插值
        // 如果想要做到 Player Name: {Sparrow} 还是用两个 StaticText 包裹吧。。
        "UpdateInterval": 60 //更新间隔, 大同小异
      },
      {
        "TypeName": "HandlerInfoOverride", //大同小异
        "PluginName": "STMTest1",
        "Enabled": true,
        "OverrideInterval": true,
        "UpdateInterval": 600
      }
    ]
  }
}

最终显示效果

Helloooooooooooooooooooooooooo
Sparrow Hello from STMTest2 9
World Name: 1449World, {Player Name: Sparrow}, Field: {PlayerName}
Sparrow Hello from STMTest1 16

示例配置文件

{
  "Settings": {
    "LogLevel": "INFO",
    "StatusTextSettings": [
      {
        "TypeName": "DynamicText",
        "Text": "\n\n\n\n\n\n\n\n\n\n--[提[i:29]瓦[i:29]特]--\n[i:1503]玩家名称: {PlayerName}\n[i:346]当前组别: {PlayerGroupName}\n[i:893]当前世界: {WorldName}\n[i:855]幸运值: {PlayerLuck}\n[i:889]游戏时间: {CurrentTime}\n[i:{AnglerQuestFishID}]渔夫任务鱼: {AnglerQuestFishName}\n[i:3036]任务鱼钓鱼点: {AnglerQuestFishingBiome}[i:1307]\n[i:267]在线玩家: {OnlinePlayersList}\n[i:3122]当前群系: {CurrentBiomes}",
        "UpdateInterval": 60
      }
    ]
  }
}

适配示例代码

using Terraria;
using TerrariaApi.Server;

namespace STMTest1;

[ApiVersion(2, 1)]
// ReSharper disable once UnusedType.Global
public class Plugin : TerrariaPlugin
{
    public override string Name => System.Reflection.Assembly.GetExecutingAssembly().GetName().Name!;
    public Plugin(Main game) : base(game)
    {
    }

    public override void Initialize()
    {
        StatusTextManager.Hooks.OnStatusTextUpdate.Register(this.OnStatusTextUpdate, 60);
    }

    private int _counter;
    private void OnStatusTextUpdate(StatusTextManager.StatusTextUpdateEventArgs args)
    {
        args.StatusTextBuilder.AppendFormat($"{args.TSPlayer.Name} Hello from STMTest1 {this._counter++}");
    }

    protected override void Dispose(bool disposing)
    {
        if (disposing)
        {
            StatusTextManager.Hooks.OnStatusTextUpdate.Deregister(this.OnStatusTextUpdate);
        }
        base.Dispose(disposing);
    }
}

更新日志

v1.1.3
重构渔夫任务点提取逻辑

v1.1.0
添加 DynamicText 类
可插值

v1.0.0
初次添加插件

反馈

  • 优先发issued -> 共同维护的插件库:https://github.com/UnrealMultiple/TShockPlugin
  • 次优先:TShock官方群:816771079
  • 大概率看不到但是也可以:国内社区trhub.cn ,bbstr.net , tr.monika.love
上一篇
SpclPerm 服主特权
下一篇
SurfaceBlock 禁止地表弹幕