Simple Event Framework
🟡 Updated this year⚠️ Install Order · 6 steps
Install in this order, then this mod last — most mods fail to load without their framework and dependencies in place.
Preview

🔍 Analysis
- 👍 1.3% endorsement rate — high engagement, a strong quality signal
- 🏆 #10 of 43 Modders Resources mods in this game by downloads
📋 About This Mod
Engine level asynchronous event messaging between redscript and lua code. Add custom listeners, and send custom payloads. Finally be able to talk across code in a reliable way - at engine speed!
player:SendEventMessage("BaseStatusEffect. SimpleEventMessage",{"Payload1","Payload2","Payload3"})
Via mod manager or unzip into game directory.
> sef = GetMod("SimpleEventFramework")
> function mylistener(message) for i,tag in ipairs(message) do print("HANDLER:",tag.value) end end
> sef:AddEventMessageListener("BaseStatusEffect. SimpleEventMessage",mylistener)
> player:SendEventMessage("BaseStatusEffect. SimpleEventMessage",{"One","Two","Three"})
module SimpleEventFramework. Example
import SimpleEventFramework. System.*
public class MyListenerClass extends ListenerCallback {
public func Call() -> Void {
for tag in this.tags {
FTLog(" tag "+this.event+":"+NameToString(tag));
StatusEffectHelper. RemoveStatusEffect(this.player, t"BaseStatusEffect. SimpleEventMessage");
@wrapMethod(PlayerPuppet)
protected cb func OnGameAttached() -> Bool {
let ret: Bool = wrappedMethod();
let eventFramework = SimpleEventFramework. GetInstance(this);
if IsDefined(eventFramework) {
let listener: ref<MyListenerClass> = new MyListenerClass();
listener.event = "BaseStatusEffect. SimpleEventMessage";
eventFramework. AddEventMessageListener(listener);
return ret;
}NOTE: From r6/scripts/SimpleEventFramework/Example.reds
Message Objects
Message objects are based on Tweak records for BaseStatusEffects, as this framework uses status effects to pass messages through the engine. One is provided for you BaseStatusEffect. SimpleEventMessage however, you are free to clone that into your own message types with pre-defined debugTags. This acts as a container for message payloads that are carried as tag strings in the debugTags section of the record.
BaseStatusEffect. SimpleEventMessage:
debugTags: []
duration: BaseStats. InfiniteDuration
dynamicDuration: False
gameplayTags: []
immunityStats: []
isAffectedByTimeDilationNPC: True
isAffectedByTimeDilationPlayer: True
maxStacks: RTDB. StatusEffect_inline0
packages: []
reapplyPackagesOnMaxStacks: False
removeAllStacksWhenDurationEnds: False
removeOnStoryTier: False
replicated: False
savable: True
statusEffectType: BaseStatusEffectTypes. Misc
stopActiveSfxOnDeactiva
📊 Mod Details
- Game
- Cyberpunk 2077 Mods
- Author
- Cyberbuilds
- Version
- 0.1
- Downloads
- 630
- Endorsements
- 8
- Category
- Modders Resources
- Created
- 6/1/2026
- Updated
- 6/1/2026
🔧 How to Install Cyberpunk 2077 Mods
Download from Nexus.
📖 Full step-by-step install guide for Cyberpunk 2077 →
Visit the official mod page for specific installation instructions for this mod.
🎮 Need cheat codes or console commands? Check ur gaming wiki for Cyberpunk 2077 commands, item IDs, and more.
Keep browsing — more Cyberpunk 2077 mods await