Chaoscaot
1a14d13303
Add SIMD (Single Instruction, Multiple Data) optimizations to the compare.c file to improve performance. This includes vectorization flags and architecture-specific optimizations to enhance the processing of data in the comparison function. Additionally, the implementation now dynamically selects an optimized code path based on the size of the pattern data, ensuring efficient execution for various scenarios. By Lixfel |
||
---|---|---|
.github | ||
schemsearch-cli | ||
schemsearch-faster | ||
schemsearch-files | ||
schemsearch-java | ||
schemsearch-lib | ||
schemsearch-sql | ||
tests | ||
.gitignore | ||
Cargo.toml | ||
CODE_OF_CONDUCT.md | ||
LICENSE.txt | ||
Makefile | ||
README.md | ||
SchemSearch.java |
schemsearch
A simple CLI tool to search in Sponge Schematic files
WARNING: This is a work in progress and is really simple right now. It will be improved in the future.
Feature | Status |
---|---|
Block search | ✅ |
Block data less search | ✅ |
Tile entities data search | ❌ |
Entities search | ❌ |
Reasoning
As a Developer of the SteamWar.de Minecraft server we needed a way to search for schematics that contain a specific pattern. Focused on "competitive Redstone building" stealing of other players techniques is a big problem, so this is a little side project of mine.
Usage
The tool takes a pattern as it's first parameter, this should be a valid Sponge V2 Schematic File. The second parameter is a list of schematics or directories to search in.
schemsearch-cli <pattern> <schematic...>
Examples
Simple search
schemsearch-cli tests/endstone.schem tests/simple.schem
Help
The rest of the valid parameters can be found by using the help command.
schemsearch-cli --help
Roadmap
A list of features that are planned to be implemented in the future. In order of priority.
- Use AVX2 for faster search
- Tile entities data search
- Entities search
- McEdit Schematic support
Building
This project is build using Rust for the CLI and library. It can be built using Cargo.
cargo build --release
Features: schemsearch-sql
This feature is not enabled by default as it is a specific implementation for the SteamWar.de Minecraft server. You shouldn't enable this feature unless you know what you are doing.
License
This project is licensed under the AGPL-3.0 License. See the LICENSE file for details.