|
|
地板
发表于 2021-1-14 17:15:17
|
只看该作者
IP:广东
本帖最后由 Ran_n 于 2021-1-14 17:39 编辑
监听这两个事件
OnCarriedNewItemChangedServerEvent
触发时机:玩家切换主手物品时触发该事件
=======
OnOffhandItemChangedServerEvent
触发时机:玩家切换副手物品时触发该事件
- class UIDemoServerSystem(ServerSystem):
- def __init__(self, namespace, systemName):
- ServerSystem.__init__(self, namespace, systemName)
- self.DefineEvent('CarriedAimItemEvent')
- self.ListenForEvent(serverApi.GetEngineNamespace(), serverApi.GetEngineSystemName(),
- ServerEvent.OnCarriedNewItemChangedServerEvent, self, self.OnCarriedNewItemChangedServer)
- pass
- def OnCarriedNewItemChangedServer(self, args):
- self.NotifyToClient(args['playerId'], 'CarriedAimItemEvent', args)
- pass
- #########
- class UIDemoClientSystem(ClientSystem):
- def __init__(self, namespace, systemName):
- ClientSystem.__init__(self, namespace, systemName)
- self.ListenForEvent(modConfig.ModName, modConfig.ServerSystemName,
- 'CarriedAimItemEvent', self, self.OnCarriedAimItem)
- pass
- def OnCarriedAimItem(self, args):
- if args['newItemName'] != 'minecraft:stick':
- print '显示UI'
- else:
- print '关闭UI'
- pass
复制代码
|
|