Compare commits

..

No commits in common. "main" and "v2.6.3-1.16.40" have entirely different histories.

4237 changed files with 26317 additions and 32381 deletions

View File

@ -1,53 +1,55 @@
# Documents: https://clang.llvm.org/docs/ClangFormatStyleOptions.html
Language: Cpp
BasedOnStyle: LLVM
# BasedOnStyle: LLVM
AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: None
AlignConsecutiveDeclarations: None
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlinesLeft: true
AlignOperands: Align
AlwaysBreakTemplateDeclarations: Yes
AlwaysBreakTemplateDeclarations : true
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AllowAllArgumentsOnNextLine : true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Always
AllowShortBlocksOnASingleLine : true
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Empty
AllowShortLambdasOnASingleLine: All
AllowShortFunctionsOnASingleLine: false
AllowShortLambdasOnASingleLine: true
AllowShortEnumsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
BinPackArguments: true
BinPackParameters: true
ConstructorInitializerIndentWidth: 0
ConstructorInitializerAllOnOneLineOrOnePerLine: true
BreakBeforeConceptDeclarations: Always
RequiresClausePosition: OwnLine
ColumnLimit: 120
ColumnLimit: 0
CommentPragmas: '^ IWYU pragma:'
PointerAlignment: Left
IndentWidth: 4
SortIncludes: Never
SortIncludes: false
MaxEmptyLinesToKeep: 2
SpacesInSquareBrackets: false
SpacesInParentheses: false
SpacesInParentheses : false
SpaceBeforeAssignmentOperators: true
SpacesInContainerLiterals: true
IndentWrappedFunctionNames: true
KeepEmptyLinesAtTheStartOfBlocks: true
SeparateDefinitionBlocks: Always
BreakConstructorInitializersBeforeComma: true
SpaceAfterCStyleCast: false
IndentCaseLabels: true
TabWidth: 4
UseTab: Never
BreakBeforeBraces: Custom
BraceWrapping:
# case 语句后面
AfterCaseLabel: false
# class定义后面
AfterClass: false
# 控制语句后面
AfterControlStatement: false
# enum定义后面
AfterEnum: false
# 函数定义后面

View File

@ -1,4 +0,0 @@
Diagnostics:
Suppress: ["-Wmicrosoft-enum-forward-reference", "-Wc++11-narrowing"]
CompileFlags:
Add: ["-ferror-limit=0", "-D__FUNCTION__=\"dummy\"", "-D_CRT_USE_BUILTIN_OFFSETOF"]

View File

@ -1,194 +0,0 @@
name: Build
on:
workflow_dispatch:
pull_request:
push:
env:
BUILD_TYPE: Release
jobs:
build:
name: Build
# runs-on: self-hosted
runs-on: windows-2022
steps:
- name: Checkout repository
uses: actions/checkout@v3.2.0
with:
fetch-depth: 1
submodules: 'true'
- name: Cache BDS libraries
id: cache-bds-lib
uses: actions/cache@v3
env:
cache-name: cache-bds-lib
with:
path: |
${{ env.GITHUB_WORKSPACE }}LiteLoader/Lib/bedrock_server_api.lib
${{ env.GITHUB_WORKSPACE }}LiteLoader/Lib/bedrock_server_var.lib
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('scripts/LINK.txt') }}
- name: Download BDS if not cached
if: steps.cache-bds-lib.outputs.cache-hit != 'true'
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: |
mkdir Tools/Server
ServerLink=$(cat 'scripts/LINK.txt')
curl -L -o Tools/Server/server.zip "$ServerLink"
unzip Tools/Server/server.zip -d Tools/Server/ > /dev/null
shell: bash
- name: Build libraries if not cached
if: steps.cache-bds-lib.outputs.cache-hit != 'true'
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: |
cd Tools
LibraryBuilder.exe Server
mkdir ..\LiteLoader\lib
move bedrock_server_api.lib ..\LiteLoader\lib
move bedrock_server_var.lib ..\LiteLoader\lib
shell: cmd
- name: Get short SHA
id: sha_short
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Set LITELOADER_VERSION_COMMIT_SHA
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: |
sed -r -i 's/#define\s+LITELOADER_VERSION_COMMIT_SHA\s+.*/#define LITELOADER_VERSION_COMMIT_SHA ${{ steps.sha_short.outputs.sha_short }}\r/' LiteLoader/include/liteloader/Version.h
shell: bash
- name: Configure CMake (MSVC)
run: |
cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
shell: cmd
- name: Build all
run: |
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
shell: cmd
- name: Pack output
run: |
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target PackOutput
shell: cmd
- name: Pack SDK on push event
if: github.event_name == 'push'
run: |
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target PackSDK
shell: cmd
- name: Configure CMake (ClangCL)
run: |
cmake -B ${{github.workspace}}/build_clang -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -T clangcl
shell: cmd
- name: Build SymDBHelper
run: cmake --build ${{github.workspace}}/build_clang --config ${{env.BUILD_TYPE}} --target SymDBHelper
- name: Compress resource packs for LiteLoaderBDS CUI on push event
if: github.event_name == 'push'
run: |
cd build/output/plugins/LiteLoader/ResourcePacks
7z a LiteLoaderBDS-CUI.tar LiteLoaderBDS-CUI
rm -r LiteLoaderBDS-CUI
shell: bash
- name: Update C++ SDK on push event
if: github.event_name == 'push'
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
cd scripts
./UploadSDK.cmd action
env:
REPO_KEY: ${{secrets.PUSH_TOKEN}}
USERNAME: github-actions[bot]
shell: cmd
# - name: Download LLMoney
# working-directory: ${{ env.GITHUB_WORKSPACE }}
# run: |
# git clone https://github.com/Tooth-Hub/LLMoney.git LLMoney-bin
# cp LLMoney-bin/LLMoney.dll build/output/plugins/
# shell: bash
- name: Upload LiteLoaderBDS
uses: actions/upload-artifact@v3.1.0
with:
name: LiteLoaderBDS
path: |
${{ github.workspace }}\build\output\LLPeEditor.exe
${{ github.workspace }}\build\output\LLPreLoader.dll
${{ github.workspace }}\build\output\LiteLoader.dll
${{ github.workspace }}\build\output\plugins\lib\
${{ github.workspace }}\build\output\plugins\LiteLoader\LangPack\
${{ github.workspace }}\build\output\plugins\LiteLoader\CrashLogger_Daemon.exe
${{ github.workspace }}\build\output\plugins\LiteLoader\LiteLoader.Js.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\LiteLoader.Lua.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\LiteLoader.NodeJs.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\7z\
${{ github.workspace }}\build\output\plugins\LiteLoader\ParticleAPI.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\ResourcePacks\LiteLoaderBDS-CUI.tar
${{ github.workspace }}\build\output\plugins\LiteLoader\PermissionAPI.dll
# ${{ github.workspace }}\build\output\plugins\LLMoney.dll
- name: Upload PeEditor
uses: actions/upload-artifact@v3.1.0
with:
name: PeEditor
path: ${{ github.workspace }}\build\output\LLPeEditor.exe
- name: Upload PreLoader
uses: actions/upload-artifact@v3.1.0
with:
name: PreLoader
path: ${{ github.workspace }}\build\output\LLPreLoader.dll
- name: Upload LiteLoader
uses: actions/upload-artifact@v3.1.0
with:
name: LiteLoader
path: |
${{ github.workspace }}\build\output\LiteLoader.dll
${{ github.workspace }}\build\output\plugins\lib\*.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\LangPack\
${{ github.workspace }}\build\output\plugins\LiteLoader\7z\
${{ github.workspace }}\build\output\plugins\LiteLoader\CrashLogger_Daemon.exe
- name: Upload ScriptEngine
uses: actions/upload-artifact@v3.1.0
with:
name: ScriptEngine
path: |
${{ github.workspace }}\build\output\plugins\LiteLoader\LiteLoader.Js.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\LiteLoader.Lua.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\LiteLoader.NodeJs.dll
${{ github.workspace }}\build\output\plugins\lib\node_modules.tar
${{ github.workspace }}\build\output\plugins\lib\package.json
- name: Upload LLParticle
uses: actions/upload-artifact@v3.1.0
with:
name: LLParticle
path: |
${{ github.workspace }}\build\output\plugins\LiteLoader\ParticleAPI.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\ResourcePacks\LiteLoaderBDS-CUI.tar
- name: Upload LLPermission
uses: actions/upload-artifact@v3.1.0
with:
name: LLPermission
path: ${{ github.workspace }}\build\output\plugins\LiteLoader\PermissionAPI.dll
- name: Upload PDB files
uses: actions/upload-artifact@v3.1.0
with:
name: PDB
path: ${{ github.workspace }}\build\pdb\

189
.github/workflows/cmake-self-hosted.yml vendored Normal file
View File

@ -0,0 +1,189 @@
#name: CMake(self-hosted)
#
#on:
# push:
# paths:
# - '**.cpp'
# - '**.cc'
# - '**.cxx'
# - '**.c'
# - '**.hpp'
# - '**.hh'
# - '**.hxx'
# - '**.h'
# - '.github/workflows/cmake-self-hosted.yml'
# - '**/CMakeLists.txt'
#
#env:
# BUILD_TYPE: Release
#
#jobs:
# build:
# runs-on: self-hosted
#
# steps:
# - uses: actions/checkout@v3.0.2
# with:
# fetch-depth: 1
# submodules: 'true'
#
# - name: Cache Bedrock Dedicated Server Library
# id: cache-bds-lib
# uses: actions/cache@v3
# env:
# cache-name: cache-bds-lib
# with:
# path: |
# ${{ env.GITHUB_WORKSPACE }}LiteLoader/Lib/bedrock_server_api.lib
# ${{ env.GITHUB_WORKSPACE }}LiteLoader/Lib/bedrock_server_var.lib
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('Scripts/LINK.txt') }}
#
# - name: Download Server
# if: steps.cache-bds-lib.outputs.cache-hit != 'true'
# working-directory: ${{ env.GITHUB_WORKSPACE }}
# run: |
# mkdir Tools/Server
# ServerLink=$(cat 'Scripts/LINK.txt')
# curl -L -o Tools/Server/server.zip "$ServerLink"
# unzip Tools/Server/server.zip -d Tools/Server/ > /dev/null
# shell: bash
#
# - name: Build Library
# if: steps.cache-bds-lib.outputs.cache-hit != 'true'
# working-directory: ${{ env.GITHUB_WORKSPACE }}
# run: |
# cd Tools
# LibraryBuilder.exe Server
# shell: cmd
#
# - name: Change LITELOADER_VERSION_STATUS_BETA
# working-directory: ${{ env.GITHUB_WORKSPACE }}
# if: false == startsWith(github.ref, 'refs/tags/')
# run: |
# sed -r -i 's/#define\s+LITELOADER_VERSION_STATUS\s+LITELOADER_VERSION_\w+/#define LITELOADER_VERSION_STATUS LITELOADER_VERSION_BETA/' LiteLoader/Main/Version.h
# sed -r -i 's/#define\s+LITELOADER_VERSION_ACTIONS\s+.*/#define LITELOADER_VERSION_ACTIONS ${{ github.run_number }}\r/' LiteLoader/Main/Version.h
# cat LiteLoader/Main/Version.h
# shell: bash
#
# - name: Change LITELOADER_VERSION_STATUS_RELEASE
# working-directory: ${{ env.GITHUB_WORKSPACE }}
# if: startsWith(github.ref, 'refs/tags/')
# run: |
# sed -r -i 's/#define\s+LITELOADER_VERSION_STATUS\s+LITELOADER_VERSION_\w+/#define LITELOADER_VERSION_STATUS LITELOADER_VERSION_RELEASE/' LiteLoader/Main/Version.h
# sed -r -i 's/#define\s+LITELOADER_VERSION_ACTIONS\s+.*/#define LITELOADER_VERSION_ACTIONS ${{ github.run_number }}\r/' LiteLoader/Main/Version.h
# shell: bash
#
# - name: Get MSVC Path
# working-directory: E:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\
# run: echo "MSVC_VER=$(ls | tail -n 1)" >> $GITHUB_ENV
# shell: bash
#
# #- name: Configure CMake(MSVC)
# # run: |
# # set CC="E:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/${{env.MSVC_VER}}/bin/Hostx64/x64/cl.exe"
# # "E:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 & cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -G Ninja -DCMAKE_TRY_COMPILE_TARGET_TYPE="STATIC_LIBRARY" -DCMAKE_MAKE_PROGRAM="E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\Community\COMMON7\IDE\COMMONEXTENSIONS\Microsoft\CMake\Ninja\ninja.exe"
# # shell: cmd
#
# #- name: Build
# # run: |
# # "E:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 & cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
# # shell: cmd
#
# - name: Configure CMake(MSVC)
# run: |
# cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
# shell: cmd
#
# - name: Build
# run: |
# cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
# shell: cmd
#
# - name: Configure CMake(ClangCL)
# run: |
# cmake -B ${{github.workspace}}/build_clang -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -T clangcl
# shell: cmd
#
# - name: Build SymDBHelper
# run: cmake --build ${{github.workspace}}/build_clang --config ${{env.BUILD_TYPE}} --target SymDBHelper
#
# - name: Compress Resource Packs
# run: |
# cd RELEASE/plugins/LiteLoader/ResourcePacks
# 7z a LiteLoaderBDS-CUI.tar LiteLoaderBDS-CUI
# rm -r LiteLoaderBDS-CUI
# shell: bash
#
# - name: Pack Release
# working-directory: ${{ env.GITHUB_WORKSPACE }}
# run: |
# cd Scripts
# ./PackRelease.cmd action
# shell: cmd
#
# - name: Move PDB to path
# working-directory: ${{ env.GITHUB_WORKSPACE }}
# run: |
# mkdir PDB
# cp x64/Release/*.pdb PDB
# shell: bash
#
# - name: Pack PDB
# working-directory: ${{ env.GITHUB_WORKSPACE }}
# if: startsWith(github.ref, 'refs/tags/')
# run: 7z a -tzip PDB.zip PDB
# shell: bash
#
# - name: Update LiteLoaderSDK
# working-directory: ${{ env.GITHUB_WORKSPACE }}
# run: |
# git config --global user.name "github-actions[bot]"
# git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
# cd Scripts
# ./UploadSDK.cmd action
# env:
# REPO_KEY: ${{secrets.PUSH_TOKEN}}
# USERNAME: github-actions[bot]
# shell: cmd
#
# - name: Upload LiteLoader
# uses: actions/upload-artifact@v3.1.0
# with:
# name: LiteLoader
# path: ${{ github.workspace }}\RELEASE\
#
# - name: Upload PDB
# uses: actions/upload-artifact@v3.1.0
# with:
# name: PDB
# path: ${{ github.workspace }}\PDB
#
# - name: Prepare for creating Release
# working-directory: ${{ env.GITHUB_WORKSPACE }}
# id: rel
# if: startsWith(github.ref, 'refs/tags/')
# run: |
# echo ::set-output name=tag::${GITHUB_REF#refs/*/}
# mv LiteLoader.zip LiteLoader-${GITHUB_REF#refs/*/}.zip
# shell: bash
#
# - name: Create New Release
# uses: softprops/action-gh-release@v0.1.14
# if: startsWith(github.ref, 'refs/tags/')
# with:
# body_path: ${{ github.workspace }}\CHANGELOG.md
# files: |
# ${{ github.workspace }}\LiteLoader-${{ steps.rel.outputs.tag }}.zip
# ${{ github.workspace }}\PDB.zip
# env:
# GITHUB_REPOSITORY: LiteLDev/LiteLoaderBDS
#
# #- name: Publish to MineBBS
# # working-directory: ${{ env.GITHUB_WORKSPACE }}
# # if: startsWith(github.ref, 'refs/tags/')
# # run: |
# # curl -X POST https://api.github.com/repos/LiteLDev/AutoUpdate-MineBBS/dispatches \
# # -H "Accept: application/vnd.github.everest-preview+json" \
# # -H "Authorization: Bearer ${{ secrets.MB_TOKEN }}" \
# # --data '{"event_type": "webhook"}'
# # shell: bash

143
.github/workflows/cmake.yml vendored Normal file
View File

@ -0,0 +1,143 @@
name: CMake
on:
push:
paths:
- '**.cpp'
- '**.cc'
- '**.cxx'
- '**.c'
- '**.hpp'
- '**.hh'
- '**.hxx'
- '**.h'
- '.github/workflows/cmake.yml'
- '**/CMakeLists.txt'
env:
BUILD_TYPE: Release
jobs:
build:
runs-on: windows-2022
steps:
- uses: actions/checkout@v3.0.2
with:
fetch-depth: 1
#submodules: 'true'
- name: Cache Bedrock Dedicated Server Library
id: cache-bds-lib
uses: actions/cache@v3
env:
cache-name: cache-bds-lib
with:
path: |
${{ env.GITHUB_WORKSPACE }}LiteLoader/Lib/bedrock_server_api.lib
${{ env.GITHUB_WORKSPACE }}LiteLoader/Lib/bedrock_server_var.lib
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('Scripts/LINK.txt') }}
- name: Download Server
if: steps.cache-bds-lib.outputs.cache-hit != 'true'
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: |
mkdir Tools/Server
ServerLink=$(cat 'Scripts/LINK.txt')
curl -L -o Tools/Server/server.zip "$ServerLink"
unzip Tools/Server/server.zip -d Tools/Server/ > /dev/null
shell: bash
- name: Build Library
if: steps.cache-bds-lib.outputs.cache-hit != 'true'
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: |
cd Tools
LibraryBuilder.exe Server
shell: cmd
- name: Change LITELOADER_VERSION_STATUS_BETA
working-directory: ${{ env.GITHUB_WORKSPACE }}
if: false == startsWith(github.ref, 'refs/tags/')
run: |
sed -r -i 's/#define\s+LITELOADER_VERSION_STATUS\s+LITELOADER_VERSION_\w+/#define LITELOADER_VERSION_STATUS LITELOADER_VERSION_BETA/' LiteLoader/Main/Version.h
sed -r -i 's/#define\s+LITELOADER_VERSION_ACTIONS\s+.*/#define LITELOADER_VERSION_ACTIONS ${{ github.run_number }}\r/' LiteLoader/Main/Version.h
cat LiteLoader/Main/Version.h
shell: bash
- name: Change LITELOADER_VERSION_STATUS_RELEASE
working-directory: ${{ env.GITHUB_WORKSPACE }}
if: startsWith(github.ref, 'refs/tags/')
run: |
sed -r -i 's/#define\s+LITELOADER_VERSION_STATUS\s+LITELOADER_VERSION_\w+/#define LITELOADER_VERSION_STATUS LITELOADER_VERSION_RELEASE/' LiteLoader/Main/Version.h
sed -r -i 's/#define\s+LITELOADER_VERSION_ACTIONS\s+.*/#define LITELOADER_VERSION_ACTIONS ${{ github.run_number }}\r/' LiteLoader/Main/Version.h
shell: bash
- name: Get MSVC Path
working-directory: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\
run: echo "MSVC_VER=$(ls | tail -n 1)" >> $GITHUB_ENV
shell: bash
- name: Configure CMake(MSVC)
run: |
cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
shell: cmd
- name: Build
run: |
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
shell: cmd
- name: Configure CMake(ClangCL)
run: |
cmake -B ${{github.workspace}}/build_clang -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -T clangcl
shell: cmd
- name: Build SymDBHelper
run: cmake --build ${{github.workspace}}/build_clang --config ${{env.BUILD_TYPE}} --target SymDBHelper
- name: Pack Release
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: |
cd Scripts
./PackRelease.cmd action
shell: cmd
- name: Move PDB to path
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: |
mkdir PDB
cp x64/Release/*.pdb PDB
shell: bash
- name: Upload LiteLoader
uses: actions/upload-artifact@v3.1.0
with:
name: LiteLoader
path: ${{ github.workspace }}\RELEASE\
- name: Upload PDB
uses: actions/upload-artifact@v3.1.0
with:
name: PDB
path: ${{ github.workspace }}\PDB
- name: Prepare for creating Release
working-directory: ${{ env.GITHUB_WORKSPACE }}
id: rel
if: startsWith(github.ref, 'refs/tags/')
run: |
echo ::set-output name=tag::${GITHUB_REF#refs/*/}
mv LiteLoader.zip LiteLoader-${GITHUB_REF#refs/*/}.zip
shell: bash
- name: Create New Release
uses: softprops/action-gh-release@v0.1.14
if: startsWith(github.ref, 'refs/tags/')
with:
body_path: ${{ github.workspace }}\CHANGELOG.md
files: |
${{ github.workspace }}\LiteLoader-${{ steps.rel.outputs.tag }}.zip
${{ github.workspace }}\PDB.zip
env:
GITHUB_REPOSITORY: quizhizhe/LiteLoaderBDS-1.16.40

View File

@ -0,0 +1,19 @@
name: Issue Close Require
on:
schedule:
- cron: "0 0 * * *"
jobs:
issue-close-require:
runs-on: ubuntu-latest
steps:
- name: need reproduce
uses: actions-cool/issues-helper@v2
with:
actions: 'close-issues'
labels: 'status: more information needed'
inactive-day: 30
body: |
您超过 30 天未反馈信息,我们将关闭该 issue如有需求您可以重新打开或者提交新的 issue。
If you haven't provided feedback for more than 30 days, we will close the issue. You can reopen or submit a new issue if necessary.

16
.github/workflows/issue-close.yml vendored Normal file
View File

@ -0,0 +1,16 @@
name: Issue Close Check
on:
issues:
types: [closed]
jobs:
issue-close-remove-labels:
runs-on: ubuntu-latest
steps:
- name: Remove labels
uses: actions-cool/issues-helper@v2
if: ${{ !github.event.issue.pull_request }}
with:
actions: 'remove-labels'
labels: 'status: need review,status: more information needed'

38
.github/workflows/issue-comment.yml vendored Normal file
View File

@ -0,0 +1,38 @@
on:
issue_comment:
types: [created]
name: Add issues workflow labels
jobs:
add-label-if-is-author:
runs-on: ubuntu-latest
if: (github.event.issue.user.id == github.event.comment.user.id) && !github.event.issue.pull_request && (github.event.issue.state == 'open')
steps:
- name: Add require handle label
uses: actions-cool/issues-helper@v2
with:
actions: 'add-labels'
labels: 'status: need review'
- name: Remove require reply label
uses: actions-cool/issues-helper@v2
with:
actions: 'remove-labels'
labels: 'status: more information needed'
add-label-if-not-author:
runs-on: ubuntu-latest
if: (github.event.issue.user.id != github.event.comment.user.id) && !github.event.issue.pull_request && (github.event.issue.state == 'open')
steps:
- name: Add require replay label
uses: actions-cool/issues-helper@v2
with:
actions: 'add-labels'
labels: 'status: more information needed'
- name: Remove require handle label
uses: actions-cool/issues-helper@v2
with:
actions: 'remove-labels'
labels: 'status: need review'

16
.github/workflows/issue-open.yml vendored Normal file
View File

@ -0,0 +1,16 @@
name: Issue Open Check
on:
issues:
types: [opened]
jobs:
issue-open-add-labels:
runs-on: ubuntu-latest
steps:
- name: Add labels
uses: actions-cool/issues-helper@v2
if: ${{ !github.event.issue.pull_request }}
with:
actions: 'add-labels'
labels: 'status: need review'

View File

@ -1,281 +0,0 @@
name: Release
on:
workflow_dispatch:
inputs:
tag:
required: true
description: 'Release Tag'
status:
required: true
description: 'Release Status (beta, stable)'
env:
BUILD_TYPE: Release
jobs:
build:
name: Build
runs-on: windows-2022
steps:
- name: Checkout repository
uses: actions/checkout@v3.2.0
with:
fetch-depth: 1
submodules: 'true'
- name: Create tag
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git tag | xargs git tag -d
git tag ${{ github.event.inputs.tag }}
git push origin ${{ github.event.inputs.tag }}
shell: bash
- name: Cache BDS libraries
id: cache-bds-lib
uses: actions/cache@v3
env:
cache-name: cache-bds-lib
with:
path: |
${{ env.GITHUB_WORKSPACE }}LiteLoader/Lib/bedrock_server_api.lib
${{ env.GITHUB_WORKSPACE }}LiteLoader/Lib/bedrock_server_var.lib
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('scripts/LINK.txt') }}
- name: Download BDS if not cached
if: steps.cache-bds-lib.outputs.cache-hit != 'true'
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: |
mkdir Tools/Server
ServerLink=$(cat 'scripts/LINK.txt')
curl -L -o Tools/Server/server.zip "$ServerLink"
unzip Tools/Server/server.zip -d Tools/Server/ > /dev/null
shell: bash
- name: Build libraries if not cached
if: steps.cache-bds-lib.outputs.cache-hit != 'true'
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: |
cd Tools
LibraryBuilder.exe Server
mkdir ..\LiteLoader\lib
move bedrock_server_api.lib ..\LiteLoader\lib
move bedrock_server_var.lib ..\LiteLoader\lib
shell: cmd
- name: Get short SHA
id: sha_short
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Set LITELOADER_VERSION_COMMIT_SHA
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: |
sed -r -i 's/#define\s+LITELOADER_VERSION_COMMIT_SHA\s+.*/#define LITELOADER_VERSION_COMMIT_SHA ${{ steps.sha_short.outputs.sha_short }}\r/' LiteLoader/include/liteloader/Version.h
shell: bash
- name: Set LITELOADER_VERSION_STATUS_BETA
working-directory: ${{ env.GITHUB_WORKSPACE }}
if: github.event.inputs.status == 'beta'
run: |
sed -r -i 's/#define\s+LITELOADER_VERSION_STATUS\s+LITELOADER_VERSION_\w+/#define LITELOADER_VERSION_STATUS LITELOADER_VERSION_BETA/' LiteLoader/include/liteloader/Version.h
shell: bash
- name: Set LITELOADER_VERSION_STATUS_RELEASE
working-directory: ${{ env.GITHUB_WORKSPACE }}
if: github.event.inputs.status == 'stable'
run: |
sed -r -i 's/#define\s+LITELOADER_VERSION_STATUS\s+LITELOADER_VERSION_\w+/#define LITELOADER_VERSION_STATUS LITELOADER_VERSION_RELEASE/' LiteLoader/include/liteloader/Version.h
shell: bash
- name: Configure CMake (MSVC)
run: |
cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
shell: cmd
- name: Build all
run: |
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
shell: cmd
- name: Pack output
run: |
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target PackOutput
shell: cmd
- name: Pack SDK
run: |
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target PackSDK
shell: cmd
- name: Configure CMake (ClangCL)
run: |
cmake -B ${{github.workspace}}/build_clang -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -T clangcl
shell: cmd
- name: Build SymDBHelper
run: cmake --build ${{github.workspace}}/build_clang --config ${{env.BUILD_TYPE}} --target SymDBHelper
- name: Compress resource packs for LiteLoaderBDS
run: |
cd build/output/plugins/LiteLoader/ResourcePacks
7z a LiteLoaderBDS-CUI.tar LiteLoaderBDS-CUI
rm -r LiteLoaderBDS-CUI
shell: bash
- name: Update C++ SDK
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
cd scripts
./UploadSDK.cmd action release
env:
REPO_KEY: ${{secrets.PUSH_TOKEN}}
USERNAME: github-actions[bot]
shell: cmd
# - name: Download LLMoney
# working-directory: ${{ env.GITHUB_WORKSPACE }}
# run: |
# git clone https://github.com/Tooth-Hub/LLMoney.git LLMoney-bin
# cp LLMoney-bin/LLMoney.dll build/output/plugins/
# shell: bash
- name: Upload LiteLoaderBDS
uses: actions/upload-artifact@v3.1.0
with:
name: LiteLoaderBDS
path: |
${{ github.workspace }}\build\output\LLPeEditor.exe
${{ github.workspace }}\build\output\LLPreLoader.dll
${{ github.workspace }}\build\output\LiteLoader.dll
${{ github.workspace }}\build\output\plugins\lib\
${{ github.workspace }}\build\output\plugins\LiteLoader\LangPack\
${{ github.workspace }}\build\output\plugins\LiteLoader\CrashLogger_Daemon.exe
${{ github.workspace }}\build\output\plugins\LiteLoader\LiteLoader.Js.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\LiteLoader.Lua.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\LiteLoader.NodeJs.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\7z\
${{ github.workspace }}\build\output\plugins\LiteLoader\ParticleAPI.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\ResourcePacks\LiteLoaderBDS-CUI.tar
${{ github.workspace }}\build\output\plugins\LiteLoader\PermissionAPI.dll
# ${{ github.workspace }}\build\output\plugins\LLMoney.dll
- name: Upload PeEditor
uses: actions/upload-artifact@v3.1.0
with:
name: PeEditor
path: ${{ github.workspace }}\build\output\LLPeEditor.exe
- name: Upload PreLoader
uses: actions/upload-artifact@v3.1.0
with:
name: PreLoader
path: ${{ github.workspace }}\build\output\LLPreLoader.dll
- name: Upload LiteLoader
uses: actions/upload-artifact@v3.1.0
with:
name: LiteLoader
path: |
${{ github.workspace }}\build\output\LiteLoader.dll
${{ github.workspace }}\build\output\plugins\lib\*.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\LangPack\
${{ github.workspace }}\build\output\plugins\LiteLoader\7z\
${{ github.workspace }}\build\output\plugins\LiteLoader\CrashLogger_Daemon.exe
- name: Upload ScriptEngine
uses: actions/upload-artifact@v3.1.0
with:
name: ScriptEngine
path: |
${{ github.workspace }}\build\output\plugins\LiteLoader\LiteLoader.Js.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\LiteLoader.Lua.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\LiteLoader.NodeJs.dll
${{ github.workspace }}\build\output\plugins\lib\node_modules.tar
${{ github.workspace }}\build\output\plugins\lib\package.json
- name: Upload LLParticle
uses: actions/upload-artifact@v3.1.0
with:
name: LLParticle
path: |
${{ github.workspace }}\build\output\plugins\LiteLoader\ParticleAPI.dll
${{ github.workspace }}\build\output\plugins\LiteLoader\ResourcePacks\LiteLoaderBDS-CUI.tar
- name: Upload LLPermission
uses: actions/upload-artifact@v3.1.0
with:
name: LLPermission
path: ${{ github.workspace }}\build\output\plugins\LiteLoader\PermissionAPI.dll
- name: Upload PDB files
uses: actions/upload-artifact@v3.1.0
with:
name: PDB
path: ${{ github.workspace }}\build\pdb\
publish_release:
name: Publish release
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Download artifacts
uses: actions/download-artifact@v3
with:
path: build/
- name: Push Tooth
working-directory: ${{env.GITHUB_WORKSPACE}}
if: github.event.inputs.status == 'stable'
run: |
cd Scripts
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
chmod +x ./UploadTooth.sh
./UploadTooth.sh ${{ github.event.inputs.tag }}
env:
REPO_KEY: ${{secrets.PUSH_TOKEN}}
USERNAME: github-actions[bot]
shell: bash
- name: Pack artifacts
run: |
cd build/
zip -9r LiteLoaderBDS-${{ github.event.inputs.tag }}.zip LiteLoaderBDS/*
zip -9r PDB.zip PDB/*
zip -9r Modules.zip PeEditor PreLoader LiteLoader ScriptEngine LLParticle LLPermission
shell: bash
- name: Create release
if: github.event.inputs.status == 'stable'
uses: ncipollo/release-action@v1
with:
prerelease: false
tag: ${{ github.event.inputs.tag }}
bodyFile: RELEASE_NOTES.md
artifacts: |
build/LiteLoaderBDS-${{ github.event.inputs.tag }}.zip
build/Modules.zip
build/PDB.zip
env:
GITHUB_REPOSITORY: quizhizhe/LiteLoaderBDS-1.16.40
- name: Create pre-release
if: github.event.inputs.status != 'stable'
uses: ncipollo/release-action@v1
with:
prerelease: true
tag: ${{ github.event.inputs.tag }}
bodyFile: RELEASE_NOTES.md
artifacts: |
build/Modules.zip
build/PDB.zip
env:
GITHUB_REPOSITORY: quizhizhe/LiteLoaderBDS-1.16.40

6
.gitignore vendored
View File

@ -7,7 +7,7 @@
**/bedrock_server_api.lib
**/bedrock_server_var.lib
**/SymDB_DelayLoadHelper.lib
LiteLoader/lib/SymDBHelper.lib
LiteLoader/Lib/SymDBHelper.lib
**/*.lastcodeanalysissucceeded
*.zip
@ -27,8 +27,8 @@ RELEASE/plugins/LiteLoader/pdb
cmake-build-release/
/out
LiteLoader/lib/Demangler.pdb
LiteLoader/lib/Demangler.lib
LiteLoader/Lib/Demangler.pdb
LiteLoader/Lib/Demangler.lib
/build
**/Directory.build.props

10
.gitmodules vendored
View File

@ -1,9 +1,3 @@
[submodule "assets/plugins/LiteLoader/ResourcePacks/LiteLoaderBDS-CUI"]
path = assets/plugins/LiteLoader/ResourcePacks/LiteLoaderBDS-CUI
[submodule "RELEASE/plugins/LiteLoader/ResourcePacks/LiteLoaderBDS-CUI"]
path = RELEASE/plugins/LiteLoader/ResourcePacks/LiteLoaderBDS-CUI
url = https://github.com/OEOTYAN/LiteLoaderBDS-CUI.git
[submodule "ParticleAPI-1.16.40"]
path = ParticleAPI-1.16.40
url = https://github.com/quizhizhe/ParticleAPI-1.16.40
[submodule "PermissionAPI-1.16.40"]
path = PermissionAPI-1.16.40
url = https://github.com/quizhizhe/PermissionAPI-1.16.40

5
CHANGELOG.md Normal file
View File

@ -0,0 +1,5 @@
## [LiteLoader Release Note]
LiteLoaderBDS-2.6.2-1.16.40 update has been released, adapted 1.16.40.02, ProtocolVersion 408
## [Fix]
- Fix dynamicCommand

View File

@ -1,8 +0,0 @@
add_custom_target(
CleanOutput
COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/output
COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/pdb
COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/sdk
COMMENT "Cleaning output/pdb/sdk directory"
VERBATIM
)

View File

@ -1,29 +0,0 @@
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/pdb)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/output)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/output/plugins/LiteLoader/)
add_custom_target(PackOutput)
# Copy assets to output after build all.
add_custom_command(
TARGET PackOutput POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/assets/plugins ${CMAKE_BINARY_DIR}/output/plugins/
COMMENT "Copying assets to output"
VERBATIM
)
# Copy ScriptEngine BaseLib to output after build all.
add_custom_command(
TARGET PackOutput POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/ScriptEngine/assets ${CMAKE_BINARY_DIR}/output/plugins/lib/
COMMENT "Copying ScriptEngine BaseLib to output"
VERBATIM
)
# Copy LLPeEditor to output after build all.
add_custom_command(
TARGET PackOutput POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/Tools/LLPeEditor.exe ${CMAKE_BINARY_DIR}/output/
COMMENT "Copying LLPeEditor to output"
VERBATIM
)

View File

@ -1,20 +0,0 @@
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/sdk)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/sdk/include)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/sdk/include/llapi)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/sdk/tools)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/sdk/lib)
add_custom_target(PackSDK)
add_custom_command(
TARGET PackSDK POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LiteLoader_SOURCE_DIR}/include/llapi ${CMAKE_BINARY_DIR}/sdk/include/llapi
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LiteLoader_SOURCE_DIR}/third-party/include ${CMAKE_BINARY_DIR}/sdk/include
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/Tools/LibraryBuilder.exe ${CMAKE_BINARY_DIR}/sdk/tools/
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/Tools/LLPeEditor.exe ${CMAKE_BINARY_DIR}/sdk/tools/
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/Tools/SDK-submodule-add.cmd ${CMAKE_BINARY_DIR}/sdk/tools/
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/Tools/SDK-submodule-update.cmd ${CMAKE_BINARY_DIR}/sdk/tools/
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/Tools/SDK-subtree.cmd ${CMAKE_BINARY_DIR}/sdk/tools/
COMMENT "Copying SDK files"
VERBATIM
)

View File

@ -1,25 +1,14 @@
cmake_minimum_required(VERSION 3.21)
project(LiteLoaderBDS)
set(LiteLoader_SOURCE_DIR ${CMAKE_SOURCE_DIR}/LiteLoader)
set(Demangler_SOURCE_DIR ${CMAKE_SOURCE_DIR}/Tools/Demangler)
set(SCRIPTENGINE_SOURCE_DIR ${CMAKE_SOURCE_DIR}/ScriptEngine)
set(SCRIPTX_SOURCE_DIR ${CMAKE_SOURCE_DIR}/ScriptX)
project(LL-Parent)
# Add sub directories
add_subdirectory(LLPreLoader)
add_subdirectory(PreLoader)
add_subdirectory(LiteLoader)
add_subdirectory(ScriptEngine/CMake/ScriptEngine-Lua)
add_subdirectory(ScriptEngine/CMake/ScriptEngine-QuickJs)
add_subdirectory(ScriptEngine/CMake/ScriptEngine-NodeJs)
add_subdirectory(Tools/Demangler)
add_subdirectory(Tools/ScriptX/CMake/ScriptX-Lua)
add_subdirectory(Tools/ScriptX/CMake/ScriptX-QuickJs)
add_subdirectory(Tools/ScriptX/CMake/ScriptX-NodeJs)
add_subdirectory(Tools/SymDBHelper)
add_subdirectory(ParticleAPI-1.16.40)
add_subdirectory(PermissionAPI-1.16.40/PermissionAPI)
include(${CMAKE_SOURCE_DIR}/CMake/PackOutput.cmake)
include(${CMAKE_SOURCE_DIR}/CMake/PackSDK.cmake)
include(${CMAKE_SOURCE_DIR}/CMake/CleanOutput.cmake)
add_subdirectory(ScriptEngine/third-party/ScriptX/CMake/ScriptX-Lua)
add_subdirectory(ScriptEngine/third-party/ScriptX/CMake/ScriptX-QuickJs)
add_subdirectory(ScriptEngine/third-party/ScriptX/CMake/ScriptX-NodeJs)
add_subdirectory(Tools/SymDBHelper)

View File

@ -1,45 +0,0 @@
cmake_minimum_required(VERSION 3.21)
project(LLPreLoader)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_BUILD_TYPE Release)
add_definitions(-D"NDEBUG" -D"_WINDOWS" -D"_USRDLL" -D"_WINDLL" -D"_UNICODE" -D"UNICODE")
add_compile_options(
/permissive- /GS /GL /W0 /Gy /Zc:wchar_t /Zi /Gm- /O2 /sdl /Zc:inline /fp:precise
/errorReport:prompt /WX- /Zc:forScope /Gd /Oi /MD /FC /EHsc /nologo /diagnostics:column
)
add_link_options(
/MANIFEST /LTCG:incremental /NXCOMPAT /DEBUG /DLL /MACHINE:X64 /OPT:REF /INCREMENTAL:NO
/SUBSYSTEM:WINDOWS /MANIFESTUAC:NO /OPT:ICF /ERRORREPORT:PROMPT /NOLOGO /TLBID:1
)
aux_source_directory(${PROJECT_SOURCE_DIR}/third-party/rawpdb DIR_LIB_SRCS)
aux_source_directory(${PROJECT_SOURCE_DIR}/src PROJECT_SRCS)
aux_source_directory(${PROJECT_SOURCE_DIR}/include PROJECT_INCLUDES)
add_library(LLPreLoader SHARED ${PROJECT_INCLUDES} ${PROJECT_SRCS} ${DIR_LIB_SRCS})
target_link_libraries(
LLPreLoader SymDBHelper Demangler
"${LiteLoader_SOURCE_DIR}/third-party/lib/detours/detours.lib"
)
target_include_directories(
LLPreLoader
PRIVATE ${LiteLoader_SOURCE_DIR}/include
PRIVATE ${LiteLoader_SOURCE_DIR}/third-party/include
PRIVATE ${PROJECT_SOURCE_DIR}/include
PRIVATE ${PROJECT_SOURCE_DIR}/third-party
PRIVATE ${Demangler_SOURCE_DIR}/include
)
# Copy the dll and pdb to the output directory
add_custom_command(
TARGET LLPreLoader POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:LLPreLoader> ${CMAKE_BINARY_DIR}/output/
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_PDB_FILE:LLPreLoader> ${CMAKE_BINARY_DIR}/pdb/
COMMENT "Copying dll and pdb to output directory"
VERBATIM
)

View File

@ -2,4 +2,4 @@
/cmake-build-release/
/cmake-build-debug/
/.idea/
lib/LiteLoader.lib
Lib/LiteLoader.lib

View File

@ -4,90 +4,67 @@ project(LiteLoader)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_BUILD_TYPE Release) # Always uses Release mode to build BDS plugin for ABI Compatibility
file(
GLOB_RECURSE SRC_FILES
${PROJECT_SOURCE_DIR}/third-party/include/*.h
${PROJECT_SOURCE_DIR}/third-party/include/*.hpp
${PROJECT_SOURCE_DIR}/include/*.h
${PROJECT_SOURCE_DIR}/include/*.hpp
${PROJECT_SOURCE_DIR}/src/*.cpp
${PROJECT_SOURCE_DIR}/src/*.hpp
${PROJECT_SOURCE_DIR}/src/*.h
${PROJECT_SOURCE_DIR}/src/*.rc
set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/x64/)
set(TARGET_DIR ${CMAKE_SOURCE_DIR}/x64/Release/)
file(GLOB_RECURSE SRC_FILES
${PROJECT_SOURCE_DIR}/Lib/third-party/nbt-cpp/*.cpp
${PROJECT_SOURCE_DIR}/Header/*.cpp
${PROJECT_SOURCE_DIR}/Header/*.hpp
${PROJECT_SOURCE_DIR}/Header/*.h
${PROJECT_SOURCE_DIR}/Kernel/*.cpp
${PROJECT_SOURCE_DIR}/Kernel/*.hpp
${PROJECT_SOURCE_DIR}/Kernel/*.h
${PROJECT_SOURCE_DIR}/Main/*.cpp
${PROJECT_SOURCE_DIR}/Main/*.hpp
${PROJECT_SOURCE_DIR}/Main/*.h
${PROJECT_SOURCE_DIR}/Resource/*.rc
${PROJECT_SOURCE_DIR}/Resource/*.h
)
# third-party source files
file(GLOB_RECURSE THIRD_PARTY_SRC_FILES ${PROJECT_SOURCE_DIR}/third-party/src/*)
add_library(LiteLoader SHARED ${SRC_FILES} ${THIRD_PARTY_SRC_FILES})
# Replace Compile Flag /EHsc to /EHa
string(REPLACE "/EHsc" "/EHa" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
target_compile_options(
LiteLoader
PRIVATE /permissive- /MD /MP /analyze:external- /GS /GL /W3 /Gy /Zc:wchar_t /Zi /Gm- /O2 /sdl /Zc:inline /fp:precise /errorReport:prompt /WX- /Zc:forScope /Gd /Oi /FC /nologo /Ot /diagnostics:column /utf-8
add_definitions(
-DUNICODE -DNDEBUG -DLITELOADER_EXPORTS -DWIN32_LEAN_AND_MEAN
-DCPPHTTPLIB_OPENSSL_SUPPORT -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS
-D_USRDLL -D_AMD64_ -DNOMINMAX
)
target_compile_definitions(
LiteLoader
PRIVATE -DUNICODE -DNDEBUG -DLITELOADER_EXPORTS -DWIN32_LEAN_AND_MEAN -DCPPHTTPLIB_OPENSSL_SUPPORT -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -D_USRDLL -D_AMD64_ -DNOMINMAX
add_compile_options(
/permissive /MP /analyze:external- /GS /GL /W3 /Gy /Zc:wchar_t /Zi /Gm- /O2 /sdl /Zc:inline /fp:precise
/external:W1 /errorReport:prompt /WX- /Zc:forScope /Gd /Oi /MD /FC /EHa /nologo /Ot /diagnostics:column
/utf-8
)
# use delayload to import BDS APIs manually(bedrock_server.dll does not need to exist)
target_link_options(
LiteLoader
PRIVATE /MANIFEST /LTCG:incremental /NXCOMPAT /DEBUG:FULL /DLL /MACHINE:X64 /OPT:REF /INCREMENTAL:NO /SUBSYSTEM:CONSOLE /MANIFESTUAC:NO /OPT:ICF /ERRORREPORT:PROMPT /NOLOGO /TLBID:1 /DELAYLOAD:bedrock_server.dll
add_link_options(
/MANIFEST /LTCG:incremental /NXCOMPAT /DEBUG:FULL /DLL /MACHINE:X64 /OPT:REF /INCREMENTAL:NO /SUBSYSTEM:CONSOLE
/MANIFESTUAC:NO /OPT:ICF /ERRORREPORT:PROMPT /NOLOGO /TLBID:1
/DELAYLOAD:bedrock_server.dll # use delayload to import BDS APIs manually(bedrock_server.dll does not need to exist)
)
target_link_libraries(
LiteLoader
"${PROJECT_SOURCE_DIR}/third-party/lib/leveldb/leveldb.lib"
"${PROJECT_SOURCE_DIR}/third-party/lib/openssl/libcrypto.lib"
"${PROJECT_SOURCE_DIR}/third-party/lib/openssl/libssl.lib"
"${PROJECT_SOURCE_DIR}/third-party/lib/SQLiteCpp/SQLiteCpp.lib"
"${PROJECT_SOURCE_DIR}/third-party/lib/SQLiteCpp/sqlite3.lib"
"${PROJECT_SOURCE_DIR}/third-party/lib/mysql/mysqlclient.lib"
"${PROJECT_SOURCE_DIR}/third-party/lib/compact_enc_det/ced.lib"
"${PROJECT_SOURCE_DIR}/third-party/lib/dyncall/dyncall_s.lib"
"${PROJECT_SOURCE_DIR}/third-party/lib/dyncall/dyncallback_s.lib"
"${PROJECT_SOURCE_DIR}/third-party/lib/dyncall/dynload_s.lib"
"${PROJECT_SOURCE_DIR}/third-party/lib/dbghelp/dbghelp.lib"
include_directories(${PROJECT_SOURCE_DIR})
include_directories(${PROJECT_SOURCE_DIR}/Header)
include_directories(${PROJECT_SOURCE_DIR}/Header/third-party)
include_directories(${CMAKE_SOURCE_DIR})
link_directories(${PROJECT_SOURCE_DIR})
link_directories(${CMAKE_SOURCE_DIR}/x64/Release)
add_library(LiteLoader SHARED ${SRC_FILES})
target_link_libraries(LiteLoader LLPreLoader
"${PROJECT_SOURCE_DIR}/Lib/third-party/leveldb/leveldb.lib"
"${PROJECT_SOURCE_DIR}/Lib/third-party/openssl/libcrypto.lib"
"${PROJECT_SOURCE_DIR}/Lib/third-party/openssl/libssl.lib"
"${PROJECT_SOURCE_DIR}/Lib/third-party/SQLiteCpp/SQLiteCpp.lib"
"${PROJECT_SOURCE_DIR}/Lib/third-party/SQLiteCpp/sqlite3.lib"
"${PROJECT_SOURCE_DIR}/Lib/third-party/mysql/mysqlclient.lib"
"${PROJECT_SOURCE_DIR}/Lib/third-party/compact_enc_det/ced.lib"
"${PROJECT_SOURCE_DIR}/Lib/third-party/dyncall/dyncall_s.lib"
"${PROJECT_SOURCE_DIR}/Lib/third-party/dyncall/dyncallback_s.lib"
"${PROJECT_SOURCE_DIR}/Lib/third-party/dyncall/dynload_s.lib"
"${PROJECT_SOURCE_DIR}/Lib/third-party/compact_enc_det/ced.lib"
"${PROJECT_SOURCE_DIR}/Lib/third-party/dbghelp/dbghelp.lib"
# Please make sure that the BDS APIs ImportLibrary is at the bottom of the list to ensure proper linking.
"${PROJECT_SOURCE_DIR}/Lib/bedrock_server_api.lib"
"${PROJECT_SOURCE_DIR}/Lib/bedrock_server_var.lib"
LLPreLoader
)
target_include_directories(
LiteLoader SYSTEM
PRIVATE ${PROJECT_SOURCE_DIR}/third-party/include
)
target_include_directories(
LiteLoader
PRIVATE ${PROJECT_SOURCE_DIR}/include/
PRIVATE ${CMAKE_SOURCE_DIR}
)
add_custom_command(
TARGET LiteLoader PRE_BUILD
COMMAND ${CMAKE_SOURCE_DIR}/scripts/PrepareLibraries.cmd ${CMAKE_SOURCE_DIR}
)
# Copy the built DLL and PDB to the output directory
add_custom_command(
TARGET LiteLoader POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:LiteLoader> ${CMAKE_BINARY_DIR}/output/
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_PDB_FILE:LiteLoader> ${CMAKE_BINARY_DIR}/pdb/
COMMENT "Copying LiteLoader DLL and PDB to output directory"
VERBATIM
)
# Copy the built lib to the SDK directory
add_custom_command(
TARGET LiteLoader POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_LINKER_FILE:LiteLoader> ${CMAKE_BINARY_DIR}/sdk/lib/
COMMENT "Copying LiteLoader Lib to SDK directory"
VERBATIM
)

View File

@ -1,6 +1,6 @@
#pragma once
#include "Global.h"
#include "Nlohmann/json.hpp"
#include "third-party/Nlohmann/json.hpp"
//////////////////////////////////////////////////////
// For managing AllowList

View File

@ -1,5 +1,5 @@
#pragma once
#include "llapi/Global.h"
#include "../Global.h"
#include "Types.h"
#pragma region AnyConversion
@ -8,7 +8,7 @@ namespace DB
{
// Declare Any class
class Any;
} // namespace db
} // namespace DB
/**
* @brief Function to convert Any to T.
@ -605,9 +605,9 @@ public:
/**
* @brief Get the value as Date
*
* @tparam T = db::Date
* @return db::Date The value
* @throws std::bad_cast If the value cannot be converted to db::Date
* @tparam T = DB::Date
* @return DB::Date The value
* @throws std::bad_cast If the value cannot be converted to DB::Date
*/
template <>
Date get() const
@ -631,9 +631,9 @@ public:
/**
* @brief Get the value as Time
*
* @tparam T = db::Time
* @return db::Time The value
* @throws std::bad_cast If the value cannot be converted to db::Time
* @tparam T = DB::Time
* @return DB::Time The value
* @throws std::bad_cast If the value cannot be converted to DB::Time
*/
template <>
Time get() const
@ -657,9 +657,9 @@ public:
/**
* @brief Get the value as DateTime
*
* @tparam T = db::DateTime
* @return db::DateTime The value
* @throws std::bad_cast If the value cannot be converted to db::DateTime
* @tparam T = DB::DateTime
* @return DB::DateTime The value
* @throws std::bad_cast If the value cannot be converted to DB::DateTime
*/
template <>
DateTime get() const
@ -682,9 +682,9 @@ public:
/**
* @brief Get the value as ByteArray
*
* @tparam T = db::ByteArray
* @return db::ByteArray The value
* @throws std::bad_cast If the value cannot be converted to db::ByteArray
* @tparam T = DB::ByteArray
* @return DB::ByteArray The value
* @throws std::bad_cast If the value cannot be converted to DB::ByteArray
*/
template <>
ByteArray get() const
@ -725,4 +725,4 @@ public:
};
} // namespace db
} // namespace DB

View File

@ -137,4 +137,4 @@ public:
}
};
} // namespace db
} // namespace DB

View File

@ -1,5 +1,5 @@
#pragma once
#include "llapi/db/Session.h"
#include "../../Session.h"
struct MYSQL;
@ -37,4 +37,4 @@ public:
};
} // namespace db
} // namespace DB

View File

@ -1,5 +1,5 @@
#pragma once
#include "llapi/db/Stmt.h"
#include "../../Stmt.h"
struct MYSQL_STMT;
@ -68,4 +68,4 @@ public:
LIAPI static SharedPointer<Stmt> create(const std::weak_ptr<Session>& sess, const std::string& sql, bool autoExecute = false);
};
} // namespace db
} // namespace DB

View File

@ -1,5 +1,5 @@
#pragma once
#include "llapi/db/Session.h"
#include "../../Session.h"
struct sqlite3;
namespace DB
@ -31,4 +31,4 @@ public:
friend class SQLiteStmt;
};
} // namespace db
} // namespace DB

View File

@ -1,5 +1,5 @@
#pragma once
#include "llapi/db/Stmt.h"
#include "../../Stmt.h"
struct sqlite3_stmt;
@ -54,4 +54,4 @@ public:
LIAPI static SharedPointer<Stmt> create(const std::weak_ptr<Session>& sess, const std::string& sql, bool autoExecute = false);
};
} // namespace db
} // namespace DB

View File

@ -65,4 +65,4 @@ public:
};
} // namespace db
} // namespace DB

View File

@ -247,7 +247,7 @@ public:
LIAPI void forEach(std::function<bool(const std::string&, const Any&)> cb) const;
};
} // namespace db
} // namespace DB
/**
* @brief Function to convert a row to T.

View File

@ -75,4 +75,4 @@ public:
using ResultSet = RowSet;
} // namespace db
} // namespace DB

View File

@ -143,7 +143,7 @@ public:
* ResultSet res;
* session << "SELECT * FROM table WHERE id = ?", bind(114514), into(res);
* @endcode
* @note It is not recommended to store the db::Stmt reference returned by this method,
* @note It is not recommended to store the DB::Stmt reference returned by this method,
* it will be closed on the next execution.
*/
virtual SharedPointer<Stmt> operator<<(const std::string& query);
@ -228,4 +228,4 @@ public:
};
} // namespace db
} // namespace DB

View File

@ -17,7 +17,7 @@ class Session;
* @brief Structure to store a single value to bind to a prepared statement.
*
* @tparam T Type of sequence container, must have begin() and end() methods
* @tparam The value type of the container must be db::Any.
* @tparam The value type of the container must be DB::Any.
*/
struct BindType
{
@ -31,13 +31,13 @@ struct BindType
* to bind multiple parameters at once.
*
* @tparam T Type of sequence container, must have begin() and end() methods
* @tparam The value type of the container must be db::Any.
* @tparam The value type of the container must be DB::Any.
*/
template <typename T>
struct BindSequenceType
{
T values;
static_assert(std::is_same<typename T::value_type, Any>::value, "Container value type must be db::Any");
static_assert(std::is_same<typename T::value_type, Any>::value, "Container value type must be DB::Any");
};
/**
* @brief Structure to store a map(relevance) container
@ -45,14 +45,14 @@ struct BindSequenceType
*
* @tparam T Type of map container, must have begin() and end() methods
* @note The key type of the map must be std::string,
* and the value type of the map must be db::Any.
* and the value type of the map must be DB::Any.
*/
template <typename T>
struct BindMapType
{
T values;
static_assert(std::is_same<typename T::key_type, std::string>::value, "Map key type must be std::string");
static_assert(std::is_same<typename T::mapped_type, Any>::value, "Map value type must be db::Any");
static_assert(std::is_same<typename T::mapped_type, Any>::value, "Map value type must be DB::Any");
};
template <typename T>
@ -401,7 +401,7 @@ public:
/**
* @brief Get the session type
*
* @return db::DBType The database type
* @return DB::DBType The database type
*
* @par Impletementation
* @see SQLiteStmt::getType
@ -458,14 +458,14 @@ public:
/**
* @brief Operator, to bind single values.
*
* @param b The return value of db::use
* @param b The return value of DB::use
* @return SharedPointer<Stmt> this
*/
virtual SharedPointer<Stmt> operator,(const BindType& b);
/**
* @brief Operator, to bind a sequence container.
*
* @param b The return value of db::use
* @param b The return value of DB::use
* @return SharedPointer<Stmt> this
*/
template <typename T>
@ -480,7 +480,7 @@ public:
/**
* @brief Operator, to bind a row.
*
* @param b The return value of db::use
* @param b The return value of DB::use
* @return SharedPointer<Stmt> this
*/
template <>
@ -505,7 +505,7 @@ public:
/**
* @brief Operator, to bind a map container.
*
* @param b The return value of db::bind
* @param b The return value of DB::bind
* @return SharedPointer<Stmt> this
*/
template <typename T>
@ -520,7 +520,7 @@ public:
/**
* @brief Operator, to store a row of results.
*
* @param i The return value of db::into
* @param i The return value of DB::into
* @return SharedPointer<Stmt> this
*/
template <typename T>
@ -532,7 +532,7 @@ public:
/**
* @brief Operator, to store a set of results.
*
* @param i The return value of db::into
* @param i The return value of DB::into
* @return SharedPointer<Stmt> this
*/
template <typename T>
@ -544,7 +544,7 @@ public:
/**
* @brief Operator, to store a set of results.
*
* @param i The return value of db::into
* @param i The return value of DB::into
* @return SharedPointer<Stmt> this
*/
template <>
@ -556,7 +556,7 @@ public:
/**
* @brief Operator, to store a row of results.
*
* @param i The return value of db::into
* @param i The return value of DB::into
* @return SharedPointer<Stmt> this
*/
template <>
@ -670,4 +670,4 @@ inline IntoType<T> into(T& out)
return IntoType<T>{out};
}
} // namespace db
} // namespace DB

View File

@ -41,4 +41,4 @@ struct Decimal
using ByteArray = std::vector<unsigned char>;
} // namespace db
} // namespace DB

View File

@ -3,15 +3,15 @@
class Actor;
#define USE_PARSE_ENUM_STRING
//#define ENABLE_PARAMETER_TYPE_POSTFIX
#include "llapi/mc/Command.hpp"
#include "llapi/mc/CommandOrigin.hpp"
#include "llapi/mc/CommandOutput.hpp"
#include "llapi/mc/CommandParameterData.hpp"
#include "llapi/mc/CommandRegistry.hpp"
#include "llapi/mc/CommandSelector.hpp"
#include "llapi/mc/CommandPosition.hpp"
#include "llapi/utils/WinHelper.h"
#include "magic_enum/magic_enum.hpp"
#include "MC/Command.hpp"
#include "MC/CommandOrigin.hpp"
#include "MC/CommandOutput.hpp"
#include "MC/CommandParameterData.hpp"
#include "MC/CommandRegistry.hpp"
#include "MC/CommandSelector.hpp"
#include "MC/CommandPosition.hpp"
#include "Utils/WinHelper.h"
#include <third-party/magic_enum/magic_enum.hpp>
///////////////////////////////////////////////////////
// Dynamic Command Registry
@ -390,7 +390,7 @@
/*0*/ virtual ~DynamicCommand();
/*1*/ virtual void execute(class CommandOrigin const& origin, class CommandOutput& output) const;
LIAPI static std::unique_ptr<class DynamicCommandInstance> createCommand(std::string const& name, std::string const& description, CommandPermissionLevel permission = CommandPermissionLevel::GameMasters, CommandFlag flag1 = {(CommandFlagValue)4}, CommandFlag flag2 = {(CommandFlagValue)0}, HMODULE handle = GetCurrentModule());
LIAPI static std::unique_ptr<class DynamicCommandInstance> createCommand(std::string const& name, std::string const& description, CommandPermissionLevel permission = CommandPermissionLevel::GameMasters, CommandFlag flag1 = {(CommandFlagValue)0x80}, CommandFlag flag2 = {(CommandFlagValue)0}, HMODULE handle = GetCurrentModule());
LIAPI static std::unique_ptr<class DynamicCommandInstance> createCommand(
std::string const& name,
std::string const& description,
@ -399,7 +399,7 @@
std::vector<std::vector<std::string>>&& overloads,
CallBackFn callback,
CommandPermissionLevel permission = CommandPermissionLevel::GameMasters,
CommandFlag flag1 = {(CommandFlagValue)0x40},
CommandFlag flag1 = {(CommandFlagValue)0x80},
CommandFlag flag2 = {(CommandFlagValue)0},
HMODULE handle = GetCurrentModule());
@ -412,7 +412,7 @@
std::vector<std::vector<std::string>>&& overloads,
CallBackFn callback,
CommandPermissionLevel permission = CommandPermissionLevel::GameMasters,
CommandFlag flag1 = {(CommandFlagValue)0x40},
CommandFlag flag1 = {(CommandFlagValue)0x80},
CommandFlag flag2 = {(CommandFlagValue)0},
HMODULE handle = GetCurrentModule()) {
return setup(createCommand(name, description, std::move(enums), std::move(params), std::move(overloads), std::move(callback), permission, flag1, flag2, handle));
@ -483,7 +483,7 @@
friend class DynamicCommand;
LIAPI DynamicCommandInstance(std::string const& name, std::string const& description, CommandPermissionLevel permission = CommandPermissionLevel::GameMasters, CommandFlag flag = {(CommandFlagValue)0x40}, HMODULE handle = GetCurrentModule());
LIAPI DynamicCommandInstance(std::string const& name, std::string const& description, CommandPermissionLevel permission = CommandPermissionLevel::GameMasters, CommandFlag flag = {(CommandFlagValue)0x80}, HMODULE handle = GetCurrentModule());
LIAPI bool setBuilder(DynamicCommand::BuilderFn builder);
LIAPI DynamicCommand::BuilderFn initCommandBuilder();

View File

@ -26,17 +26,18 @@
//
////////////////////////////////////////////////////////////////////////
#include "Global.h"
#include "LoggerAPI.h"
#include "MC/BlockInstance.hpp"
#include "MC/MCRESULT.hpp"
#include <functional>
#include <iterator>
#include <list>
#include <string>
#include <unordered_map>
#include "Global.h"
#include "LoggerAPI.h"
#include "llapi/mc/BlockInstance.hpp"
#include "llapi/mc/MCRESULT.hpp"
#include "LLAPI.h"
#include "utils/WinHelper.h"
#include <LLAPI.h>
#include <Utils/WinHelper.h>
class Actor;
class ServerPlayer;
@ -95,12 +96,12 @@ template <typename EVENT>
class EventTemplate {
public:
static EventListener<EVENT> subscribe(std::function<bool(EVENT)> callback) {
auto plugin = ll::getPlugin(GetCurrentModule());
auto plugin = LL::getPlugin(GetCurrentModule());
return EventListener<EVENT>(EventManager<EVENT>::addEventListener(plugin ? plugin->name : "", callback));
}
static EventListener<EVENT> subscribe_ref(std::function<bool(EVENT&)> callback) {
auto plugin = ll::getPlugin(GetCurrentModule());
auto plugin = LL::getPlugin(GetCurrentModule());
return EventListener<EVENT>(EventManager<EVENT>::addEventListenerRef(plugin ? plugin->name : "", callback));
}

View File

@ -56,20 +56,20 @@
// windows types
#include <minwindef.h>
#include "entt/entt.hpp"
#include "gsl/gsl"
#include <seh_exception/seh_exception.hpp>
#include "FMT/chrono.h"
#include "FMT/color.h"
#include "FMT/core.h"
#include "FMT/os.h"
#include "FMT/printf.h"
#include "third-party/entt/entt.hpp"
#include "third-party/gsl/gsl"
#include "third-party/seh_exception/seh_exception.hpp"
#include "third-party/FMT/chrono.h"
#include "third-party/FMT/color.h"
#include "third-party/FMT/core.h"
#include "third-party/FMT/os.h"
#include "third-party/FMT/printf.h"
#include "GlobalServiceAPI.h"
#include "llapi/utils/Optional.h"
#include "Utils/Optional.h"
// basic mc types
#include "llapi/mc/Types.hpp"
#include "MC/Types.hpp"
// clang-format off
#define M_E 2.71828182845904523536 // e
#define M_LOG2E 1.44269504088896340736 // log2(e)

View File

@ -1,14 +1,10 @@
#pragma once
#include "Global.h"
#include "Utils/Hash.h"
#include <vector>
#include <string>
#include <thread>
#include <ModUtils/ModUtils.h>
#include "Offset.h"
#include "Global.h"
#include "utils/Hash.h"
#include "third-party/ModUtils/ModUtils.h"
// The core api of the hook function
//__declspec(dllimport) int HookFunction(void* oldfunc, void** poutold, void* newfunc);

View File

@ -35,13 +35,13 @@
#include "Global.h"
#include "LLAPI.h"
#include "llapi/utils/FileHelper.h"
#include "llapi/utils/PluginOwnData.h"
#include "Nlohmann/json.hpp"
#include "FMT/core.h"
#include "FMT/os.h"
#include "Utils/FileHelper.h"
#include "Utils/PluginOwnData.h"
#include "third-party/Nlohmann/json.hpp"
#include "third-party/FMT/core.h"
#include "third-party/FMT/os.h"
#include <string>
#include "llapi/utils/StringHelper.h"
#include "Utils/StringHelper.h"
/**
* @brief I18nBase API class.
@ -189,7 +189,7 @@ public:
};
#ifdef UNICODE
#include <compact_enc_det/compact_enc_det.h>
#include "third-party/compact_enc_det/compact_enc_det.h"
#define UNICODE
#else
#include "third-party/compact_enc_det/compact_enc_det.h"
@ -338,8 +338,8 @@ inline I18nBase* load(Args&&... args) {
* @return I18nBase* The pointer to the I18nBase object in PluginOwnData, null if failed
*/
inline I18nBase* loadFrom(const std::string& plugin) {
if (ll::hasPlugin(plugin)) {
auto p = ll::getPlugin(plugin);
if (LL::hasPlugin(plugin)) {
auto p = LL::getPlugin(plugin);
if (p) {
return loadFromImpl(GetCurrentModule(), p->handle);
}

View File

@ -1,9 +1,9 @@
#pragma once
#include <cstdlib>
#include "llapi/Global.h"
#include "llapi/FormUI.h"
#include "llapi/mc/Player.hpp"
#include "../Global.h"
#include "../FormUI.h"
#include <MC/Player.hpp>
LIAPI unsigned NewFormId();

View File

@ -0,0 +1,5 @@
#pragma once
#include "../Global.h"
LIAPI uint64_t NewScoreId();

View File

@ -1,10 +1,10 @@
#pragma once
#include "leveldb/c.h"
#include "leveldb/cache.h"
#include "leveldb/db.h"
#include "leveldb/filter_policy.h"
#include "leveldb/iterator.h"
#include "Global.h"
#include "third-party/leveldb/c.h"
#include "third-party/leveldb/cache.h"
#include "third-party/leveldb/db.h"
#include "third-party/leveldb/filter_policy.h"
#include "third-party/leveldb/iterator.h"
#include <Global.h>
#include <functional>
#include <string_view>
#include <unordered_map>

View File

@ -11,14 +11,14 @@
#define NOMINMAX
#endif
#include <Windows.h>
#include <windows.h>
#include "Global.h"
#include "llapi/utils/WinHelper.h"
#include "llapi/utils/PluginOwnData.h"
#include "Utils/WinHelper.h"
#include "Utils/PluginOwnData.h"
// LL types
namespace ll {
namespace LL {
struct Version {
enum Status {
@ -67,23 +67,23 @@ struct Plugin {
}
};
} // namespace ll
inline bool operator<=(ll::Version a, ll::Version b) {
} // namespace LL
inline bool operator<=(LL::Version a, LL::Version b) {
return a < b || a == b;
}
inline bool operator>(ll::Version a, ll::Version b) {
inline bool operator>(LL::Version a, LL::Version b) {
return b < a;
}
inline bool operator>=(ll::Version a, ll::Version b) {
inline bool operator>=(LL::Version a, LL::Version b) {
return b < a || b == a;
}
// helper
LIAPI bool RegisterPlugin(HMODULE hPlugin, std::string name, std::string desc, ll::Version version,
LIAPI bool RegisterPlugin(HMODULE hPlugin, std::string name, std::string desc, LL::Version version,
std::map<std::string, std::string> others);
// Loader APIs
namespace ll {
namespace LL {
/**
* @brief Get the loader version as a string
@ -94,7 +94,7 @@ LIAPI std::string getLoaderVersionString();
/**
* @brief Get the loader version as a Version object
*
* @return ll::Version The loader version
* @return LL::Version The loader version
*/
LIAPI Version getLoaderVersion();
/**
@ -117,14 +117,14 @@ LIAPI std::string getDataPath(const std::string& pluginName);
*
* @param name The name of the plugin
* @param desc The description(introduction) of the plugin
* @param version The version of the plugin(ll::Version)
* @param version The version of the plugin(LL::Version)
* @param git The git information of the plugin
* @param license The license of the plugin
* @param website The website
* @return bool True if the plugin is registered successfully
* @note The implementation of this function must be in header file(because of `GetCurrentModule`)
*/
inline bool registerPlugin(std::string name, std::string desc, ll::Version version,
inline bool registerPlugin(std::string name, std::string desc, LL::Version version,
std::string git = "", std::string license = "", std::string website = "") {
std::map<std::string, std::string> others;
if (!git.empty())
@ -141,17 +141,17 @@ inline bool registerPlugin(std::string name, std::string desc, ll::Version versi
*
* @param name The name of the plugin
* @param desc The descirption(introduction) of the plugin
* @param version The version of the plugin(ll::Version)
* @param version The version of the plugin(LL::Version)
* @param others The other information of the plugin(key-value)
* @return bool True if the plugin is registered successfully
* @note The implementation of this function must be in header file(because of `GetCurrentModule`)
*
* @par Example
* @code
* ll::registerPlugin("Test", "A test plugin", Version(0, 0, 1, Version::Dev), {{"Note","This is Note"}});
* LL::registerPlugin("Test", "A test plugin", Version(0, 0, 1, Version::Dev), {{"Note","This is Note"}});
* @endcode
*/
inline bool registerPlugin(std::string name, std::string desc, ll::Version version,
inline bool registerPlugin(std::string name, std::string desc, LL::Version version,
std::map<std::string, std::string> others) {
return ::RegisterPlugin(GetCurrentModule(), name, desc, version, others);
}
@ -160,16 +160,16 @@ inline bool registerPlugin(std::string name, std::string desc, ll::Version versi
* @brief Get a loaded plugin by name
*
* @param name The name of the plugin
* @return ll::Plugin* The plugin(nullptr if not found)
* @return LL::Plugin* The plugin(nullptr if not found)
*/
LIAPI ll::Plugin* getPlugin(std::string name);
LIAPI LL::Plugin* getPlugin(std::string name);
/**
* @brief Get a loaded plugin by HMODULE handle
*
* @param name The name of the plugin
* @return ll::Plugin* The plugin(nullptr if not found)
* @return LL::Plugin* The plugin(nullptr if not found)
*/
LIAPI ll::Plugin* getPlugin(HMODULE handle);
LIAPI LL::Plugin* getPlugin(HMODULE handle);
/**
* @brief Get whether the plugin is loaded
@ -182,9 +182,9 @@ LIAPI bool hasPlugin(std::string name);
/**
* @brief Get the All the loaded plugins
*
* @return std::unordered_map<std::string, ll::Plugin*> The loaded plugins(name-plugin)
* @return std::unordered_map<std::string, LL::Plugin*> The loaded plugins(name-plugin)
*/
LIAPI std::unordered_map<std::string, ll::Plugin*> getAllPlugins();
LIAPI std::unordered_map<std::string, LL::Plugin*> getAllPlugins();
/**
* @breif Get the handle of LiteLoader.dll.
@ -209,4 +209,4 @@ LIAPI bool isServerStopping();
* @return std::string Language(such as: en, zh_CN, ja, ru)
*/
std::string getLanguage();
}; // namespace ll
}; // namespace LL

View File

@ -30,16 +30,16 @@
#endif
#include <filesystem>
#include "FMT/chrono.h"
#include "FMT/color.h"
#include "FMT/core.h"
#include "FMT/os.h"
#include "FMT/printf.h"
#include "llapi/utils/CsLock.h"
#include "llapi/utils/WinHelper.h"
#include "llapi/utils/FileHelper.h"
#include "llapi/utils/PluginOwnData.h"
#include "llapi/utils/StringHelper.h"
#include "third-party/FMT/chrono.h"
#include "third-party/FMT/color.h"
#include "third-party/FMT/core.h"
#include "third-party/FMT/os.h"
#include "third-party/FMT/printf.h"
#include "Utils/CsLock.h"
#include "Utils/WinHelper.h"
#include "Utils/FileHelper.h"
#include "Utils/PluginOwnData.h"
#include "Utils/StringHelper.h"
#include "I18nAPI.h"
#include <string>
#include <sstream>

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA
@ -12,7 +12,6 @@ class AABB {
public:
Vec3 min;
Vec3 max;
bool empty;
#define AFTER_EXTRA
@ -50,10 +49,6 @@ public:
MCAPI class AABB shrink(class Vec3 const &) const;
MCAPI static class AABB const EMPTY;
inline Vec3 getCenter() const{
return min+(max-min)*0.5;
};
inline Vec3& operator[](int index) {
if (index < 0 || index > 1) {
return (&min)[0];

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "Command.hpp"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "MobEffect.hpp"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "Actor.hpp"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "TreeHelper.hpp"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "TreeHelper.hpp"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "Json.hpp"
#include "BehaviorDefinition.hpp"

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "BaseRailBlock.hpp"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA
// Add include headers & pre-declares
@ -10,53 +10,6 @@
#include "ActorDamageSource.hpp"
#include "SimpleContainer.hpp"
#include "ActorDefinitionIdentifier.hpp"
#include "OwnerStorageEntity.hpp"
#include "ActorDefinitionGroup.hpp"
#include "ActorDefinitionDescriptor.hpp"
#include "RopeSystem.hpp"
#include "SynchedActorData.hpp"
#include "SpatialActorNetworkData.hpp"
#include "BaseAttributeMap.hpp"
#include "EconomyTradeableComponent.hpp"
#include "Dimension.hpp"
#include "AnimationComponent.hpp"
#include "ActorDefinitionDiffList.hpp"
#include "ActorTerrainInterlockData.hpp"
#include "MolangVariableMap.hpp"
#include "AnimationComponent.hpp"
#include "CompoundTag.hpp"
template <typename T>
class OwnerPtrT : OwnerStorageEntity {
};
const class VariantParameterList
{
struct Parameter {
unsigned __int64 type;
void* data;
};
private:
VariantParameterList::Parameter parameters[8];
};
class PredictedMovementComponent {
public:
class PredictedMovementComponent& operator=(class PredictedMovementComponent const&) = delete;
PredictedMovementComponent(class PredictedMovementComponent const&) = delete;
PredictedMovementComponent() = delete;
};
class PredictedMovementValues {
public:
bool mUseAggressiveTickInterval;
unsigned __int64 mInterpolationWindowSizeInTicks;
class PredictedMovementValues& operator=(class PredictedMovementValues const&) = delete;
PredictedMovementValues(class PredictedMovementValues const&) = delete;
PredictedMovementValues() = delete;
};
class Actor;
class Player;
class NetworkIdentifier;
@ -162,227 +115,14 @@ enum ActorFlags : int{
CELEBRATING = 0x5B,
Count_7 = 0x5C,
};
enum class FocusImpact : __int8 {
Neutral = 0x0,
ActivateFocus = 0x1,
DeactivateFocus = 0x2,
};
class _declspec(align(4)) ActionEvent {
int mActionId;
enum class ActionState : int {
Start = 0x1,
Stop = 0x2,
} mActionState;
bool mIsExclusive;
FocusImpact mFocusImpact;
};
const struct AABBShapeComponent {
public:
AABB mAABB;
Vec2 mBBDim;
};
const struct StateVectorComponent {
public:
Vec3 mPos;
Vec3 mPosPrev;
Vec3 mPosDelta;
};
struct ActionQueue {
std::deque<ActionEvent> mQueue;
};
#undef BEFORE_EXTRA
class Actor {
public:
OwnerPtrT<EntityRefTraits> mEntity;
enum class InitializationMethod : unsigned char {
INVALID = 0x0,
LOADED = 0x1,
SPAWNED = 0x2,
BORN = 0x3,
TRANSFORMED = 0x4,
UPDATED = 0x5,
EVENT = 0x6,
LEGACY = 0x7,
} mInitMethod;
std::string mCustomInitEventName;
VariantParameterList mInitParams;
bool mForceInitMethodToSpawnOnReload;
AutomaticID<Dimension, int> mDimensionId;
bool mAdded;
ActorDefinitionGroup* mDefinitions;
std::unique_ptr<ActorDefinitionDescriptor> mCurrentDescription;
ActorUniqueID mUniqueID;
std::shared_ptr<RopeSystem> mLeashRopeSystem;
Vec2 mRot;//256
Vec2 mRotPrev;
float mSwimAmount;
float mSwimPrev;
ChunkPos mChunkPos;
Vec3 mRenderPos;
Vec2 mRenderRot;
int mCategories;
int mAmbientSoundTime;
int mLastHurtByPlayerTime;
SynchedActorData mEntityData;
std::unique_ptr<SpatialActorNetworkData> mNetworkData;
Vec3 mSentDelta;
bool mSentOnGround;
float mScale;
float mScalePrev;
unsigned __int64 mNameTagHash;
const Block* mInsideBlock;
BlockPos mInsideBlockPos;
float mFallDistance;
bool mOnGround; //416
bool mWasOnGround;
bool mHorizontalCollision;
bool mVerticalCollision;
bool mCollision;
bool mIgnoreLighting;
bool mFilterLighting;
mce::Color mTintColor;
mce::Color mTintColor2;
float mStepSoundVolume;
float mStepSoundPitch;
AABB* mLastHitBB;
std::vector<AABB> mSubBBs;
float mTerrainSurfaceOffset;
float mHeightOffset;
float mExplosionOffset;
float mShadowOffset;
float mMaxAutoStep;
float mPushthrough;
float mWalkDistPrev;
float mWalkDist;
float mMoveDist;
float mBlockMovementSlowdownMultiplier;
float mNextStep;
bool mImmobile;
bool mWasInWater;
bool mHasEnteredWater;
bool mHeadInWater;
bool mIsWet;
Vec2 mSlideOffset;
Vec3 mHeadOffset;
Vec3 mEyeOffset;
Vec3 mBreathingOffset;
Vec3 mMouthOffset;
Vec3 mDropOffset;
bool mFirstTick;
int mTickCount;
int mInvulnerableTime;
int mLastHealth;
bool mFallDamageImmune;
bool mHurtMarked;
bool mWasHurtLastFrame;
bool mInvulnerable;
int mOnFire;//636
int mFlameTexFrameIndex;
int mClientSideFireTransitionStartTick;
float mFlameFrameIncrementTime;
bool mOnHotBlock;
bool mClientSideFireTransitionLatch;
bool mAlwaysFireImmune;
int mPortalCooldown;
BlockPos mPortalBlockPos;
uint8_t mPortalEntranceAxis[4];
int mInsidePortalTime;
std::vector<ActorUniqueID> mRiderIDs;
std::vector<ActorUniqueID> mRiderIDsToRemove;
ActorUniqueID mRidingID;
ActorUniqueID mRidingPrevID;
ActorUniqueID mPushedByID;
bool mInheritRotationWhenRiding;
bool mRidersChanged;
bool mBlocksBuilding;
bool mUsesOneWayCollision;
bool mForcedLoading;
bool mPrevPosRotSetThisTick;
bool mTeleportedThisTick;
bool mForceSendMotionPacket;
float mSoundVolume;
int mShakeTime;
float mWalkAnimSpeedMultiplier;
float mWalkAnimSpeedO;
float mWalkAnimSpeed;
float mWalkAnimPos;
ActorUniqueID mLegacyUniqueID;
bool mHighlightedThisFrame;
bool mInitialized;
BlockSource* mRegion;
Dimension* mDimension;
Level* mLevel;//816
HashedString mActorRendererId;
HashedString mActorRendererIdThatAnimationComponentWasInitializedWith;
bool mChanged;
bool mRemoved;
bool mGlobal;
bool mAutonomous;
ActorType mActorType;
ActorDefinitionIdentifier mActorIdentifier;
std::unique_ptr<BaseAttributeMap> mAttributes;
std::unique_ptr<EconomyTradeableComponent> mEconomyTradeableComponent;
std::shared_ptr<AnimationComponent> mAnimationComponent;
AABBShapeComponent mAABBComponent;
StateVectorComponent mStateVectorComponent;
ActorUniqueID mTargetId;
float mRestrictRadius;
BlockPos mRestrictCenter;
ActorUniqueID mInLovePartner;
std::vector<MobEffectInstance> mMobEffects;
bool mEffectsDirty;
bool mLootDropped;
bool mPersistingTrade;
std::unique_ptr<CompoundTag> mPersistingTradeOffers;
int mPersistingTradeRiches;
ActorRuntimeID mRuntimeID;
mce::Color mHurtColor;
std::unique_ptr<ActorDefinitionDiffList> mDefinitionList;
bool mIsMovedByScript;
bool mHasLimitedLife;
int mLimitedLifeTicks;
int mForceVisibleTimerTicks;
float mRidingExitDistance;
std::string mFilteredNameTag;
bool mIsSafeToSleepNear;
bool mIsStuckItem;
ActorTerrainInterlockData mTerrainInterlockData;
float mArmorDropChance[4];
float mHandDropChance[2];
std::unique_ptr<SimpleContainer> mArmor;//1400
std::unique_ptr<SimpleContainer> mHand;
bool mIsKnockedBackOnDeath;
std::vector<AABB> mOnewayPhysicsBlocks;
bool mStuckInCollider;
bool mPenetratingLastFrame;
bool mCollidableMobNear;
bool mCollidableMob;
bool mCanPickupItems;
bool mChainedDamageEffects;
bool mWasInBubbleColumn;
bool mWasInWallLastTick;
int mTicksInWall;
int mDamageNearbyMobsTick;
enum class SpawnRuleEnum : int {
Undefined = 0xFF,
NoSpawnRules = 0x0,
HasSpawnRules = 0x1,
} mSpawnRulesEnum;
std::unique_ptr<ActionQueue> mActionQueue;
MolangVariableMap mMolangVariables;
CompoundTag mCachedComponentData;
ActorUniqueID mFishingHookID;
#define AFTER_EXTRA
public:
// enum InitializationMethod;
enum InitializationMethod;
LIAPI std::string getTypeName() const;
LIAPI Vec3 getFeetPosition() const;
@ -428,26 +168,22 @@ public:
return getPosOld();
}
inline BlockSource const & getRegionConst() const{
// return dAccess<BlockSource>(this,100);
return *mRegion;
return dAccess<BlockSource>(this,100);
};
inline bool isMoving() const{
return getStatusFlag(ActorFlags::MOVING);
};
inline bool hasCategory(enum ActorCategory actorCategory) const{
// IDA Player::take Line123
// return (dAccess<ActorCategory>(this, 316) & actorCategory) !=0;
return mCategories != 0;
return (dAccess<ActorCategory>(this, 316) & actorCategory) !=0;
};
inline BlockSource & getRegion() {
// VanillaServerGameplayEventListener::onBlockPlacedByPlayer Line35
// return dAccess<BlockSource>(this,100);
return *mRegion;
//VanillaServerGameplayEventListener::onBlockPlacedByPlayer Line35
return dAccess<BlockSource>(this,100);
};
inline AABB const & getAABB() const{
//FollowMobGoal::_setWantedMob Line52
//return dAccess<AABB>(this,1112);
return mAABBComponent.mAABB;
return dAccess<AABB>(this,1112);
};
inline bool isDancing(){
return getStatusFlag(ActorFlags::DANCING);
@ -456,15 +192,13 @@ public:
return getTradingPlayer() != nullptr;
};
inline Vec2 getRotation() const{
Vec2 getRotation() const{
// Actor::getMapDecorationRotation
//return dAccess<Vec2>(this, 65);
return mRot;
return dAccess<Vec2>(this, 65);
};
ActorDefinitionIdentifier getActorIdentifier() const{
//ServerPlayer::handleActorPickRequestOnServer Line144 1048-128-8 = 912;
//return dAccess<ActorDefinitionIdentifier>(this, 912);
return mActorIdentifier;
return dAccess<ActorDefinitionIdentifier>(this, 912);
}
#undef AFTER_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "Core.hpp"
#include "JsonUtil.hpp"
#include "Json.hpp"

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "Core.hpp"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "Json.hpp"
#include "CommandOrigin.hpp"

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "ActorDamageSource.hpp"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "ActorDamageSource.hpp"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "ActorDamageByActorSource.hpp"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA
// Include Headers or Declare Types Here

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "Json.hpp"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "Json.hpp"
#define BEFORE_EXTRA

View File

@ -1,43 +1,18 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "Core.hpp"
#include "Json.hpp"
#define BEFORE_EXTRA
#include "ActorDefinition.hpp"
#include "ResourcePackManager.hpp"
#include "ActorDefinitionPtr.hpp"
#include "ActorComponentFactory.hpp"
#undef BEFORE_EXTRA
class ActorEventResponseFactory {
public:
class ActorEventResponseFactory& operator=(class ActorEventResponseFactory const &) = delete;
ActorEventResponseFactory(class ActorEventResponseFactory const &) = delete;
ActorEventResponseFactory() = delete;
};
#undef BEFORE_EXTRA
class ActorDefinitionGroup {
#define AFTER_EXTRA
public:
struct LoadActorResult;
struct EDLWrapper {
std::unordered_map<std::string, std::unique_ptr<ActorDefinition>> mList;
};
public:
void** __vftable /*VFT*/;
std::unordered_set<ActorDefinitionPtr*> mRegisteredPtrs;
std::unordered_map<std::string, std::unique_ptr<ActorDefinition>> mDefinitions;
std::unordered_map<std::string, ActorDefinitionGroup::EDLWrapper> mTemplateMap;
ResourcePackManager* mResourcePackManager;
std::mutex mReferenceMutex;
IMinecraftEventing* mEventing;
ActorComponentFactory* mComponentFactory;
std::unique_ptr<ActorEventResponseFactory> mResponseFactory;
#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_ACTORDEFINITIONGROUP
public:

View File

@ -1,10 +1,10 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA
#include "HashedString.hpp"
#include "MC/HashedString.hpp"
#undef BEFORE_EXTRA
struct ActorDefinitionIdentifier {

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "Packet.hpp"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "Packet.hpp"
#define BEFORE_EXTRA

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "FilterGroup.hpp"
#include "Json.hpp"

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "FilterTest.hpp"
#include "Json.hpp"

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "FilterTest.hpp"
#include "Json.hpp"

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "FilterTest.hpp"
#include "Json.hpp"

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "FilterTest.hpp"
#include "Json.hpp"

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "FilterTest.hpp"
#include "Json.hpp"

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "FilterTest.hpp"
#include "Json.hpp"

View File

@ -1,7 +1,7 @@
// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "../Global.h"
#include "FilterTest.hpp"
#include "Json.hpp"

Some files were not shown because too many files have changed in this diff Show More