Files
rtdd/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/System/Client/MainClient.py
T
2026-09-28 11:18:26 +08:00

40 lines
1.5 KiB
Python

# coding=utf-8
from ...BlueFoxTools.ModConfig import MOD_NAME
from ...BlueFoxTools.SpecialFunciton.BlueFoxSystem import BlueFoxClientSystem
from ...BlueFoxTools.SystemTools import SystemTools
from ...BlueFoxTools.ToolsConfig import *
from ...BlueFoxTools.EventFilter import BlueFoxFilterEnum as ef
class MainClient(BlueFoxClientSystem):
systemTools = SystemTools.GetTools('MainClient')
mcListener = systemTools.ListenForEvent()
blueFoxListener = systemTools.GetBlueFoxServerListener()
mainServer = systemTools.ListenForEvent(
namespace=MOD_NAME, systemName='MainServer'
)
blockUseListener = systemTools.FilterListener(eventName='ClientItemUseOnEvent')
def __init__(self, *args):
super(MainClient, self).__init__(*args)
self.systemTools.Binding(self)
self.usingCd = False
@blueFoxListener
def PlaySound(self, args):
posDim = args['posDim']
pitch = args['pitch']
if posDim[3] == clientCompFactory.CreateGame(LevelId).GetCurrentDimension():
clientCompFactory.CreateCustomAudio(LevelId).PlayCustomMusic(
args['soundName'], posDim[:3], pitch=pitch
)
@blockUseListener(ef.ClientEvent.NormalEvent.NotInCd('rtdd:ItemUseOnEvent', 0.2))
def ClientItemUseOnEventNotInCd02(self, args):
if args['itemName'] == 'rtdd:recipe_book':
clientApi.PushScreen(MOD_NAME, 'CookRecipe', {})
@blueFoxListener
def PlayAttackAnim(self, args):
clientCompFactory.CreatePlayer(LevelId).Swing()