Skip to content

Commit 392a52d

Browse files
authored
Merge pull request #1 from codex/paper-26-display-performance
Rewrite for Paper 26 with display entities, Gradle, and optional CraftEngine content recognition.
2 parents c7f9dd0 + a8f1a53 commit 392a52d

188 files changed

Lines changed: 5456 additions & 33624 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
* text=auto
2+
3+
*.java text eol=lf
4+
*.kt text eol=lf
5+
*.kts text eol=lf
6+
*.properties text eol=lf
7+
*.yml text eol=lf
8+
*.yaml text eol=lf
9+
*.md text eol=lf
10+
gradlew text eol=lf
11+
*.bat text eol=crlf
12+
13+
*.jar binary
14+
*.png binary
15+
*.zip binary

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
# IntelliJ
99
out/
1010

11+
# Gradle
12+
.gradle/
13+
build/
14+
1115
# Compiled class file
1216
*.class
1317

README.md

Lines changed: 63 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,75 @@
1-
[![Build Status](https://ci.loohpjames.com/job/InteractionVisualizer/badge/icon)](https://ci.loohpjames.com/job/InteractionVisualizer/)
2-
# InteractionVisualizer
3-
4-
https://www.spigotmc.org/resources/77050/<br>
5-
https://modrinth.com/plugin/interactionvisualizer<br>
6-
https://hangar.papermc.io/LOOHP/InteractionVisualizer
7-
8-
Visualize Function Blocks like Crafting Tables with Animations CLIENT-SIDE!
9-
10-
More information (screenshots, commands, permissions) about the plugin can be found on the Spigot page linked above.
11-
12-
## Built against Spigot
13-
Built against [Spigot's API](https://www.spigotmc.org/wiki/buildtools/) (required mc versions are listed on the spigot page above).
14-
Plugins built against Spigot usually also work with [Paper](https://papermc.io/).
15-
16-
## Development Builds
1+
# InteractionVisualizer — EllanServer Paper 26 fork
2+
3+
This fork is a Paper-only, performance-focused rewrite of
4+
[LOOHP/InteractionVisualizer](https://github.com/LOOHP/InteractionVisualizer).
5+
It visualizes crafting and functional blocks with native display entities while
6+
preserving the familiar commands, preferences, and configuration layout.
7+
8+
## Supported server versions
9+
10+
- Paper **26.1.2** (primary target)
11+
- Paper **26.2** (compile-verified compatibility target)
12+
- Java **25**
13+
14+
Other Minecraft versions, Spigot, and Folia are intentionally unsupported. The
15+
plugin checks the running Minecraft version during startup and disables itself
16+
outside the supported range.
17+
18+
## Rewrite highlights
19+
20+
- Native Paper `ItemDisplay` and `TextDisplay` entities replace Armor Stands and
21+
raw metadata packets.
22+
- One Paper API implementation replaces the old per-version NMS modules.
23+
- Per-viewer visibility uses Paper's `showEntity` / `hideEntity` API.
24+
- Display updates are revision-coalesced; there is no 5 ms packet scan loop.
25+
- Player/chunk proximity queries use one allocation-light snapshot per world and
26+
server tick.
27+
- Configuration is loaded with
28+
[Sparrow YAML](https://github.com/Xiao-MoMi/sparrow-yaml) and flattened into an
29+
immutable O(1)-lookup snapshot after every reload.
30+
- Gradle replaces the former Maven multi-module build and verifies the same
31+
sources against both supported Paper API lines.
32+
33+
The other Sparrow modules were deliberately not added: metadata, reflection,
34+
NBT, heart, and Redis messaging either duplicate Paper 26 APIs, reintroduce
35+
version/NMS coupling, or do not serve this single-server rendering path.
36+
37+
## Building
38+
39+
```text
40+
./gradlew clean check shadowJar
41+
```
1742

18-
- [Jenkins](https://ci.loohpjames.com/job/InteractionVisualizer/)
43+
On Windows:
1944

20-
## Maven
21-
```html
22-
<repository>
23-
<id>loohp-repo</id>
24-
<url>https://repo.loohpjames.com/repository</url>
25-
</repository>
26-
```
27-
```html
28-
<dependency>
29-
<groupId>com.loohp</groupId>
30-
<artifactId>InteractionVisualizer</artifactId>
31-
<version>VERSION</version>
32-
<scope>provided</scope>
33-
</dependency>
45+
```text
46+
gradlew.bat clean check shadowJar
3447
```
35-
Replace `VERSION` with the version number.
36-
37-
## Dependencies
3848

39-
- [ProtocolLib](https://www.spigotmc.org/resources/protocollib.1997/)
40-
- [LightsAPI Fork](https://www.spigotmc.org/resources/lightapi-fork.48247/)
49+
The production plugin JAR is written to `build/libs/InteractionVisualizer-<version>.jar`.
50+
`check` includes unit tests, the Paper 26.1.2 compilation, and a second compile
51+
against Paper 26.2.
4152

42-
## Soft Dependencies
53+
## Optional integrations
4354

44-
- [EssentialsX](https://www.spigotmc.org/resources/essentialsx.9089/)
55+
- [CraftEngine](https://github.com/Xiao-MoMi/craft-engine) 26.7.2: optional
56+
custom-item ID recognition. CraftEngine items can be selected by the third
57+
field of an item-label blacklist rule, and their display pose can be
58+
overridden in `material.yml` under `CustomItems`. CraftEngine is not bundled
59+
and the plugin behaves exactly as before when it is absent.
60+
- [LightAPI](https://www.spigotmc.org/resources/lightapi-fork.48247/)
4561
- [OpenInv](https://dev.bukkit.org/projects/openinv)
4662
- [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/)
47-
- [SuperVanish](https://www.spigotmc.org/resources/supervanish-be-invisible.1331/)
48-
- [PremiumVanish](https://www.spigotmc.org/resources/premiumvanish-stay-hidden-bungee-support.14404/)
49-
- [CMI](https://www.spigotmc.org/resources/cmi-270-commands-insane-kits-portals-essentials-economy-mysql-sqlite-much-more.3742/) ([Public API](https://github.com/Zrips/CMI-API))
50-
51-
## Community Maintained Languages
52-
Link to repository: https://github.com/LOOHP/InteractionVisualizerLanguages
53-
54-
## Partnerships
63+
- Essentials, SuperVanish, PremiumVanish, and CMI
5564

56-
### Server Hosting
57-
**Use the link or click the banner** below to **get a 25% discount off** your first month when buying any of their gaming servers!<br>
58-
It also **supports my development**, take it as an alternative way to donate while getting your very own Minecraft server as well!
65+
Language resources remain available from
66+
[InteractionVisualizerLanguages](https://github.com/LOOHP/InteractionVisualizerLanguages).
5967

60-
*P.S. Using the link or clicking the banner rather than the code supports me more! (Costs you no extra!)*
68+
## License and upstream
6169

62-
**https://www.bisecthosting.com/loohp**
70+
This project remains licensed under GPL-3.0. Original project pages:
6371

64-
[![](https://www.bisecthosting.com/partners/custom-banners/96e11ee5-50e4-494f-854d-8c1708813abd.png)](https://www.bisecthosting.com/loohp)
72+
- [GitHub](https://github.com/LOOHP/InteractionVisualizer)
73+
- [Modrinth](https://modrinth.com/plugin/interactionvisualizer)
74+
- [Hangar](https://hangar.papermc.io/LOOHP/InteractionVisualizer)
75+
- [SpigotMC](https://www.spigotmc.org/resources/77050/)

V1_13/pom.xml

Lines changed: 0 additions & 105 deletions
This file was deleted.

0 commit comments

Comments
 (0)