前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CLion编写我的世界基岩版插件(LiteLoaderBDS)-2

CLion编写我的世界基岩版插件(LiteLoaderBDS)-2

作者头像
DearXuan
发布2022-01-19 18:52:04
6090
发布2022-01-19 18:52:04
举报

如果你没有看过上一篇博客,请点击这里查看

添加链接库

将headers和lib文件夹复制到项目目录中

DearXuan
DearXuan

在CMakeLists.txt中添加对头文件和库文件的引用

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.20)
project(plugins)
 
set(CMAKE_CXX_STANDARD 17)
 
add_library(plugins SHARED library.cpp)
 
include_directories(${PROJECT_SOURCE_DIR}/headers)
 
link_directories(${PROJECT_SOURCE_DIR}/lib)
 
target_link_libraries(plugins
        ${PROJECT_SOURCE_DIR}/lib/Chakra.lib
        ${PROJECT_SOURCE_DIR}/lib/LiteLoader.lib)

在library.h中添加头文件

代码语言:javascript
复制
#ifndef PLUGINS_LIBRARY_H
#define PLUGINS_LIBRARY_H
 
#include "headers/api/basicEvent.h"
#include "headers/mc/Player.h"
 
#endif //PLUGINS_LIBRARY_H

添加事件监听

修改library.cpp

代码语言:javascript
复制
#include "library.h"
 
#include <iostream>
#include <windows.h>
#include <string>
 
BOOL APIENTRY DllMain(HMODULE hModule,
                      DWORD ul_reason_for_call,
                      LPVOID lpReserved
) {
    switch (ul_reason_for_call) {
        case DLL_PROCESS_ATTACH:
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}
 
void entry();
 
extern "C" {
_declspec(dllexport)
void onPostInit() {
    std::ios::sync_with_stdio(false);
    entry();
}
}
 
void PlayerJoin(JoinEV ev);
 
void entry() {
    std::cout << "\nDearXuan's Plugins is runing!'\n" << std::endl;
    Event::addEventListener(PlayerJoin);
}
 
void PlayerJoin(JoinEV ev){
    //在玩家加入服务器后打印信息
    string name = ev.Player->getNameTag();
    std::cout << name << " joined the server." << std::endl;
}

构建该项目

如果在构建途中报了以下错误

DearXuan
DearXuan

只需要进入mass.h,注释掉这一行即可解决

DearXuan
DearXuan

将生成的dll文件复制到服务器plugins文件夹内,运行服务器

如果你是在自己的电脑上运行客户端,可能会受到UWP的回路限制,无法连接上自己的服务器,此时需要管理员身份运行cmd,并执行以下指令

代码语言:javascript
复制
CheckNetIsolation.exe LoopbackExempt –a –p=S-1-15-2-1958404141-86561845-1752920682-3514627264-368642714-62675701-733520436

进入自己的服务器,可以看到控制台上已经打印出信息

DearXuan
DearXuan
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021年11月8日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 添加链接库
  • 添加事件监听
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档