Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
root = true

[*.java]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4
max_line_length = 120
trim_trailing_whitespace = true
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,9 @@ jobs:
if-no-files-found: error
retention-days: 30
path: |
build/libs/SkysBuildingPieces-BiomesOPlenty-Addon-0.1.0.110021.jar
build/libs/SkysBuildingPieces-BiomesOPlenty-Addon-0.1.0.110021-sources.jar
build/libs/SkysBuildingPieces-BiomesOPlenty-Addon-0.1.0.110021-javadoc.jar
build/libs/SkysBuildingPieces-BiomesOPlenty-Addon-0.1.2.110021.jar
build/libs/SkysBuildingPieces-BiomesOPlenty-Addon-0.1.2.110021-sources.jar
build/libs/SkysBuildingPieces-BiomesOPlenty-Addon-0.1.2.110021-javadoc.jar
build/release/SHA256SUMS
CHANGELOG.md

Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## 0.1.2.110021

- Shortened names for gem and wood pieces across all 18 languages.
- Kept names independent of the full blocks used to craft each piece.
- Requires Building Pieces 0.3.6 for the updated names; update both jars together.

## 0.1.1.110021

- Gave BOP stone and gem walls lower panels and raised posts.
- Kept posts at ends, corners, junctions and beneath blocks or torches above.
- Matched selection and collision shapes to the wall profile and removed internal faces.
- Kept existing materials, registry IDs, recipes and saved palette assignments unchanged.
- Update together with Building Pieces 0.3.5 for the matching wall shapes.

## 0.1.0.110021

- Added building pieces for all BOP plank woods, bamboo thatching, stones and gem blocks.
Expand Down
15 changes: 15 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Contributing

Keep the code easy to read and straightforward to review.

- Use four spaces, UTF-8 and LF line endings. Aim for 120 columns; do not split a registry ID or other literal just to meet the limit.
- Put each statement on its own line and use braces for conditional and loop bodies, including early returns.
- Leave a blank line between logical steps. Keep related assignments together rather than separating every line.
- Name variables for their role. Use `inventorySlot`, `cellX` or `chunkX` when that context matters, rather than a single letter or a type abbreviation. Keep established names such as `world` and `state` when their meaning is already clear.
- Declare separate local values on separate lines. Explain packed masks and coordinate conventions where the names cannot tell the whole story.
- Write comments in plain English. Explain a decision, save-format constraint or surprising API behaviour instead of repeating what the next line says.
- Document public extension points, including when they can be called and what they preserve. Keep comments current when behaviour changes.

For Eclipse, import [the Java formatter profile](style/eclipse-java-formatter.xml) under **Java > Code Style > Formatter** and select **Sky Java**. The formatter handles layout; braces and logical grouping still need a quick human review.

Treat registry IDs, metadata palettes, configuration keys and saved NBT fields as compatibility contracts. A readability change should not alter them. Keep behavioural changes separate and run the relevant tests before submitting a pull request. See [the build guide](docs/BUILDING.md) for this branch's toolchain and checks.
14 changes: 11 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
# Sky's Building Pieces — Biomes O Plenty

Piece names use the material itself: Gold Wall and Oak Step, rather than the
full block's name followed by the shape. All 18 languages have matching material labels.

Building pieces for the woods, stones and gem blocks in Biomes O Plenty.
Requires Minecraft 1.10.2, Forge 12.18.3.2511, Java 8, Sky's Building Pieces
0.3.0.110021 and Biomes O Plenty 5.0.0. This beta is qualified against BOP
0.3.6.110021 and Biomes O Plenty 5.0.0. This beta is qualified against BOP
5.0.0.2236. Install all three mods on both the client and server.

Version 0.1.0.110021 adds 66 block IDs for 33 materials, including all 16
Version 0.1.2.110021 adds 66 block IDs for 33 materials, including all 16
plank woods, bamboo thatching, eight stone materials and eight gem blocks.
Existing BOP slabs and stairs are reused. New pieces use fixed metadata
palettes and do not need tile entities. No terrain is generated.

With core 0.3.0.110021, use ordinary crafting patterns for BOP materials;
With core 0.3.6.110021, use ordinary crafting patterns for BOP materials;
no template or tool is needed. Native BOP slab and stair recipes remain intact.
Regular slab items also place vertically. Vertical slabs drop regular slabs and
are hidden from creative inventory; no separate vertical slab recipe is needed.
Expand All @@ -35,3 +38,8 @@ and [trying the beta](docs/TRYING-THE-BETA.md). Publication is not yet enabled.

Licensed under LGPL-2.1-only. Adapted BuildingBricks definitions and core
geometry retain their MIT notice. BOP code and textures are not bundled.

All custom walls have lower connecting panels and raised posts at ends, corners
and junctions. A block or torch above keeps its supporting post. Selection follows
the visible wall; the wall still prevents jumping over it.
Use this add-on with the matching Building Pieces 0.3.6 core; update both jars together.
3 changes: 3 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,9 @@ tasks.named('compileTestJava', JavaCompile) {
tasks.withType(Test).configureEach {
useJUnitPlatform()
workingDir = project.projectDir
// Repository checks read these files as well as the compiled test classes.
inputs.files('build.gradle', 'gradle.properties', '.gitignore', 'README.md')
inputs.files(fileTree('gradle'), fileTree('.github/workflows'), fileTree('docs'))
if (pinnedJava8.isPresent()) javaLauncher = javaToolchains.launcherFor(exactJava8Spec)
}
tasks.withType(JavaExec).configureEach {
Expand Down
30 changes: 16 additions & 14 deletions docs/BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,25 @@

Use Java 17 for Gradle and Temurin 8.0.502+7 for production. Set
`SBP_JAVA8_HOME` to the Java 8 installation. The wrapper uses Gradle 9.6.1
and ForgeGradle 7.0.34 with stable 29-1.10.2 mappings.
and ForgeGradle 7.0.34 for Minecraft 1.10.2.

Check out the core repository at the commit in
`gradle/core-dependency.properties`, then run its `gradlew jar` task. Build
this project with `gradlew check build javadoc verifyReleaseArtifacts
writeReleaseChecksums verifyEclipseProductionClasspath
-PbuildingPiecesCoreDir=<core checkout>`.
Check out Building Pieces 0.3.6.110021 at the exact source commit in
`gradle/core-dependency.properties`, then run its `gradlew jar` task.
Build this add-on with:

```text
gradlew check build javadoc verifyReleaseArtifacts writeReleaseChecksums verifyEclipseProductionClasspath -PbuildingPiecesCoreDir=<core checkout>
```

The development dependency is the core's `build/libs-dev` jar, not a shaded
copy or a published Maven dependency. Packaged games use both normal main
jars. BOP is fetched as a checksum-verified development dependency, not bundled.
jars. BOP is fetched as a checksum-verified dependency and is not bundled.

The pinned core is 0.3.0.110021. A local-only `buildingPiecesCoreVersion`
override requires an explicit core directory and is rejected in CI.
The add-on catalogue and API version remain unchanged. CI builds the pinned
core source before building this add-on.
CI builds the pinned core commit before building the add-on. A local-only
`buildingPiecesCoreVersion` override is available for testing another core
candidate; it requires an explicit core directory and is rejected in CI.

Use `genEclipseRuns eclipse` with the same core-directory property. Ordinary
client and server launches exclude the build-only probe and unit tests.
Publication remains disabled until this mod has its own CurseForge project.
Use `genEclipseRuns eclipse` with the same core-directory property to prepare
the IDE. Ordinary client and server launches exclude unit tests and the
build-only runtime probe. Publication remains disabled until this add-on has
its own CurseForge project.
2 changes: 1 addition & 1 deletion docs/RECIPES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Crafting

Use core 0.3.0.110021 for ordinary crafting recipes. No template or cutting tool
Use core 0.3.6.110021 for ordinary crafting recipes. No template or cutting tool
is required. All ingredients must be the same material, including wood type.

- Three full blocks in a row make six horizontal slabs.
Expand Down
5 changes: 5 additions & 0 deletions docs/TRYING-THE-BETA.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
Install the main jars for the core, this add-on and BOP on the client and
server. Do not put sources or Javadoc jars in the mods folder.

- Check gem and wood piece names in English and your usual game language.
Sapphire Wall and Redwood Step should not include the full block's label.
- Check stone and gem walls in straight runs, corners
and junctions. The panels should be lower than the posts. Add and remove a
block or torch above the middle of a run, then check selection and collision.
- Craft redwood, ebony, eucalyptus, bamboo, stones and gem blocks using the
core's ordinary patterns. Check quantities and native slab recipes.
- Place and join slabs, vertical slabs, steps and corners in every direction.
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ release_enabled=false
curseforge_project_id=
mod_name=Sky's Building Pieces - Biomes O Plenty
mod_license=LGPL-2.1-only
mod_version=0.1.0.110021
mod_version=0.1.2.110021
mod_group=zone.moddev.mc.skysbuildingpiecesbop
mod_authors=SkyBlade1978
mod_description=Biomes O Plenty building pieces with ordinary crafting recipes and optional legacy recovery. No world generation.
4 changes: 2 additions & 2 deletions gradle/core-dependency.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
repository=SkyBlade1978/SkysBuildingPieces
commit=f21616d4e4bfe09dcf25490a3568fd846a820792
version=0.3.0.110021
commit=f55f53d0c6f29e741635f47234fbabba893bdffd
version=0.3.6.110021
api=1
bop_file=2425769
bop_sha256=6492F6468B0EC75E343C90DDE7A3D8DAED5516611BAE33A1DCCAAFB6549B598B
Loading
Loading