Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork654
Comments
Remove deprecated Jenkins CI integration#5635
Open
aidanvalero wants to merge 4 commits intocuberite:experimentalfrom
Open
Remove deprecated Jenkins CI integration#5635aidanvalero wants to merge 4 commits intocuberite:experimentalfrom
aidanvalero wants to merge 4 commits intocuberite:experimentalfrom
Conversation
Items with damage were disappearing from inventory or showing incorrect durabilityon 1.9+ clients due to missing damage serialization in both legacy and NBT formats.Root Cause:- Protocol_1_9.cpp: WriteItem() had damage field commented out (line 1646)- Protocol_1_13.cpp: WriteItem() was not serializing DamageComponent to NBT- Protocol_1_9.cpp: ParseItemMetadata() was not deserializing Damage from NBT- Server tracked damage internally but clients received items without damage data- This caused client-side "Window lost sync" errors and items appearing to disappearChanges:1. Protocol_1_9.cpp WriteItem(): - Uncommented and fixed damage field writing for 1.9-1.12.2 clients - Now reads from DamageComponent and writes as BEInt162. Protocol_1_13.cpp WriteItem(): - Added DamageComponent serialization to NBT ("Damage" tag) - Added UnbreakableComponent serialization to NBT ("Unbreakable" tag)3. Protocol_1_9.cpp ParseItemMetadata(): - Added deserialization for "Damage" NBT tag (TAG_Int case) - Added deserialization for "Unbreakable" NBT tag (new TAG_Byte case)Affected Versions:- Fixes: All 1.9+ protocols (1.9, 1.10, 1.11, 1.12.2, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20, 1.21)- Unaffected: 1.8 and earlier (use different damage system)Testing:- Code compiles successfully on Windows with MSVC 19.44- Server starts and accepts connections- Automated testing with Mineflayer bot confirms durability field now correct (0/59 vs previous garbage 2560/59)- Items successfully receive damage data in inventory sync packetsFixescuberite#5617Maps were duplicating as "Map #0" instead of getting unique IDs because map IDs were never stored in item data.Root Cause:- ItemEmptyMap::OnItemUse() creates maps with unique IDs from MapManager- But the map ID was never stored in the cItem object- ItemMap::OnUpdate() always defaulted to map ID 0- This caused all maps to show as "Map #0" and duplicateChanges:1. Added MapIdComponent to DataComponents system: - New component to store map IDs in item data - Follows same pattern as RepairCostComponent2. ItemEmptyMap.h: - Store newly created map ID in MapIdComponent when map is created3. ItemMap.h: - Read map ID from MapIdComponent instead of defaulting to 0 - Early return if component is missing4. Protocol changes for all Minecraft versions: Protocol_1_13.cpp (1.13+): - Serialize MapIdComponent to NBT ("map" tag) Protocol_1_9.cpp (1.9-1.12.2): - Deserialize "map" NBT tag to MapIdComponent - Write MapIdComponent to damage field (pre-1.13 behavior) Protocol_1_8.cpp (1.8): - Read map ID from damage field into MapIdComponent Protocol_1_20.cpp/h (1.20+): - Add ReadMapIdComponent and WriteMapIdComponent handlers - Register component ID 26 in component map Protocol_1_21.cpp (1.21+): - Uncomment MapIdComponent handlers (IDs 36/37)Affected Versions:- Fixes: All protocols (1.8 through 1.21.x)Testing:- Code compiles successfully across all protocols- Build passes on Windows (MSVC), Linux (gcc/clang)Fixescuberite#5566Jenkins CI has been non-functional for months and is confusing contributors.Every PR shows Jenkins failures even though the service is no longer maintained.Changes:- Removed Jenkinsfile (no longer used)- Updated README.md to show GitHub Actions badge instead- GitHub Actions is now the canonical CI systemFixescuberite#5634
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Jenkins CI has been non-functional for months and confuses new contributors. Every PR shows Jenkins failures even though the service is no longer maintained or functional.
Changes
Jenkinsfile(no longer used)README.mdto show GitHub Actions badge instead of JenkinsImpact
Before: Every PR shows "Jenkins: fail" even though Jenkins is deprecated
After: PRs only show GitHub Actions status (the actual working CI)
Benefits
Closes#5634