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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .github/dependencies.sha256
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
a37f7789fcdcd11c9e5890a2fac742aa4501749588af23182991953e06ee1d17 libs/MMOItems-6.10.1-SNAPSHOT.jar
81d511d0830951f988615b6533cc93e82d00a83fb31e8ccbb36441ae3e8157ef libs/MMOCore-1.13.1-SNAPSHOT.jar
225aa7f75d4e6e6ae6b3ad87a7ca678c025c027f00374ab1062275d24f3a73c9 libs/MythicLib-1.7.1-SNAPSHOT.jar
4e69696892b88b41c55d49ab2fdcc21eead92bf54acc588c0050596c3b75199c libs/json-simple-1.1.1.jar
7 changes: 2 additions & 5 deletions .github/scripts/install-local-dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,8 @@ set -euo pipefail
sha256sum --check .github/dependencies.sha256

mvn -B --no-transfer-progress org.apache.maven.plugins:maven-install-plugin:3.1.4:install-file \
-Dfile="libs/MMOItems-6.10.1-SNAPSHOT.jar" -DgroupId="local" -DartifactId="MMOItems" \
-Dversion="6.10.1-SNAPSHOT-tfmc-a37f7789fcdc" -Dpackaging=jar -DgeneratePom=true "$@"
-Dfile="libs/MMOCore-1.13.1-SNAPSHOT.jar" -DgroupId="local" -DartifactId="MMOCore" \
-Dversion="1.13.1-SNAPSHOT-tfmc-81d511d08309" -Dpackaging=jar -DgeneratePom=true "$@"
mvn -B --no-transfer-progress org.apache.maven.plugins:maven-install-plugin:3.1.4:install-file \
-Dfile="libs/MythicLib-1.7.1-SNAPSHOT.jar" -DgroupId="local" -DartifactId="MythicLib" \
-Dversion="1.7.1-SNAPSHOT-tfmc-225aa7f75d4e" -Dpackaging=jar -DgeneratePom=true "$@"
mvn -B --no-transfer-progress org.apache.maven.plugins:maven-install-plugin:3.1.4:install-file \
-Dfile="libs/json-simple-1.1.1.jar" -DgroupId="local" -DartifactId="json-simple" \
-Dversion="1.1.1-tfmc-4e69696892b8" -Dpackaging=jar -DgeneratePom=true "$@"
3 changes: 1 addition & 2 deletions .github/scripts/prepare-release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ set -euo pipefail
: "${GH_TOKEN:?Set DEPS_TOKEN with Contents read access to TF-Minecraft/ServerAssets}"
ref=4b80431398e4ff35d703cad915b7ee4e5924a763
mkdir -p libs
curl --fail --location --silent --show-error --retry 3 -H "Authorization: Bearer $GH_TOKEN" -H "Accept: application/vnd.github.raw+json" "https://api.github.com/repos/TF-Minecraft/ServerAssets/contents/jars/a37f7789fcdc/MMOItems-6.10.1-SNAPSHOT.jar?ref=$ref" > "libs/MMOItems-6.10.1-SNAPSHOT.jar"
curl --fail --location --silent --show-error --retry 3 -H "Authorization: Bearer $GH_TOKEN" -H "Accept: application/vnd.github.raw+json" "https://api.github.com/repos/TF-Minecraft/ServerAssets/contents/jars/81d511d08309/MMOCore-1.13.1-SNAPSHOT.jar?ref=$ref" > "libs/MMOCore-1.13.1-SNAPSHOT.jar"
curl --fail --location --silent --show-error --retry 3 -H "Authorization: Bearer $GH_TOKEN" -H "Accept: application/vnd.github.raw+json" "https://api.github.com/repos/TF-Minecraft/ServerAssets/contents/jars/225aa7f75d4e/MythicLib-1.7.1-SNAPSHOT.jar?ref=$ref" > "libs/MythicLib-1.7.1-SNAPSHOT.jar"
curl --fail --location --silent --show-error --retry 3 -H "Authorization: Bearer $GH_TOKEN" -H "Accept: application/vnd.github.raw+json" "https://api.github.com/repos/TF-Minecraft/ServerAssets/contents/jars/4e69696892b8/json-simple-1.1.1.jar?ref=$ref" > "libs/json-simple-1.1.1.jar"
bash .github/scripts/install-local-dependencies.sh "$@"
34 changes: 23 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,30 @@ while breeding connects the next generation to the animals they have raised.

- **Animal ownership** — track owned animals and share responsibility through
co-ownership.
- **Daily care** — feeding and tending animals increases friendship, with
daily records of the attention each animal has received.
- **Daily care** — feeding hungry animals, brushing dirty ones, and daily
petting or riding earns trust, displayed as five hearts.
- **Inherited traits** — offspring genetics reflect their parents' genetics
and friendship, with variation between generations.
and trust, with variation between generations.
- **Mount development** — pass health, movement speed, and jump characteristics
from parent mounts to their offspring.
- **Reward bundles** — collect tiered bundles from happy animals, with better
tiers for higher friendship and genetics.
- **Stable chunks** — animals should spend the night in claimed stable chunks
with water and room, or they eventually escape.
- **Farm management** — inspect animal information and farm reports, with
ownership checks around breeding and interactions.
- **Animal products** — collect milk, wool, manure, and other species-specific
products, with care and genetics affecting yields.
- **Farm management** — inspect animal information, share ownership, and find
animals with `/animals`, with character ownership and estate inheritance.

## Upgrading to 1.2

Requires Cooking **0.5.1** and TLibs **2.6.0**. Before starting the new version,
set `enabled: false` in `plugins/Cooking/husbandry.yml`, install BreedingBuddies,
and create its writable `plugins/BreedingBuddies/Data` directory if the host
does not allow the server to create plugin folders. Activate the switch with a
server restart.

The first start copies Cooking's `Data/husbandry.db` and its journal, preserving
the originals as a backup. Existing Cooking animal and ownership keys remain
compatible. Settings start from BreedingBuddies' own `config.yml` defaults;
review them before activation. Staff need `breedingbuddies.admin` for
`/bb reload`, `/bb spawn`, and `/bb save`.

## Documentation

Expand All @@ -33,8 +45,8 @@ Technical documentation is maintained in [TF-Minecraft/Docs](https://github.com/

Run `mvn clean verify` with Java 21 after preparing the pinned plugin
dependencies, as the Build workflow does. JUnit 5, Mockito, and MockBukkit cover
ownership, taming, care, breeding, bundles, stable chunks, mount stats, day
changes, saved data, and the admin commands. Surefire test results are in
ownership, taming, trust, breeding, products, mount stats, simulation,
database migration, saved data, and the admin commands. Surefire test results are in
`target/surefire-reports/`; JaCoCo's HTML and XML reports are in
`target/site/jacoco/`. The build enforces **100% line coverage** across all
production classes, with no exclusions, and CI uploads both reports. Branch and
Expand Down
37 changes: 26 additions & 11 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

<properties>
<tlibs.version>2.6.0</tlibs.version>
<cooking.version>0.5.1</cooking.version>
<maven.compiler.release>21</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<argLine></argLine>
Expand All @@ -23,6 +24,10 @@
<groupId>me.plugins</groupId><artifactId>tlibs</artifactId><version>${tlibs.version}</version><scope>provided</scope>
<exclusions><exclusion><groupId>*</groupId><artifactId>*</artifactId></exclusion></exclusions>
</dependency>
<dependency>
<groupId>net.tfminecraft</groupId><artifactId>cooking</artifactId><version>${cooking.version}</version><scope>provided</scope>
<exclusions><exclusion><groupId>*</groupId><artifactId>*</artifactId></exclusion></exclusions>
</dependency>
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
Expand All @@ -31,14 +36,8 @@
</dependency>
<dependency>
<groupId>local</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1-tfmc-4e69696892b8</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>local</groupId>
<artifactId>MMOItems</artifactId>
<version>6.10.1-SNAPSHOT-tfmc-a37f7789fcdc</version>
<artifactId>MMOCore</artifactId>
<version>1.13.1-SNAPSHOT-tfmc-81d511d08309</version>
<scope>provided</scope>
</dependency>
<dependency>
Expand All @@ -65,6 +64,24 @@
<version>4.95.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.49.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.17</version>
<scope>test</scope>
</dependency>
</dependencies>

<repositories>
Expand Down Expand Up @@ -115,10 +132,8 @@
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.4</version>
<configuration>
<argLine>@{argLine} -javaagent:${org.mockito:mockito-core:jar} -Xshare:off</argLine>
<argLine>@{argLine} -javaagent:${org.mockito:mockito-core:jar} -Xshare:off -Duser.language=en -Duser.country=US</argLine>
<failIfNoTests>true</failIfNoTests>
<!-- PluginData stores JSON under plugins/ relative to the server directory. -->
<workingDirectory>${project.build.directory}/test-runtime</workingDirectory>
</configuration>
</plugin>
<plugin>
Expand Down
37 changes: 0 additions & 37 deletions src/main/java/net/tfminecraft/breedingbuddies/AnimalCodec.java

This file was deleted.

Loading