11 using callback_fn = std::function<void(
CompoundTag&)>;
15 EventPriority priority = EventPriority::Normal,
16 std::weak_ptr<mod::Mod> mod = mod::NativeMod::current()
19 callback(std::move(fn)) {}
23 void call(
Event& event)
override {
25 event.serialize(data);
27 event.deserialize(data);
30 static std::shared_ptr<DynamicListener> create(
32 EventPriority priority = EventPriority::Normal,
33 std::weak_ptr<mod::Mod> mod = mod::NativeMod::current()
35 return std::make_shared<DynamicListener>(std::move(fn), priority, std::move(mod));