feat: economy system with minigames, bank, rob, jobs, fishing, blackjack, slots

+ economy domain (EconomyAccount, Job, SlotCombination, EconomyTransaction)
+ EconomyRepository + SqlEconomyRepository + DB schema
+ EconomyService (transfer, daily, deposit/withdraw, stat upgrades)
+ FishingService (fish grid with difficulty levels, speed bonus)
+ BlackjackService (dealer stands on 16, ties lose)
+ SlotService (weighted combos up to x50)
+ JobService (6 jobs with level reqs and efficiency stat)
+ 11 commands: balance, baltop, pay, daily, bank, rob,
  fish, blackjack, slot, job, work
+ Tests for SqlEconomyRepository
+ EconomyModule + EconomyCommandRegistrar wired into BotModule
This commit is contained in:
loki5512344 2026-06-20 00:23:15 +02:00
parent fcb5cd7207
commit fe121c8546
270 changed files with 18632 additions and 11656 deletions

20
Dockerfile Normal file
View file

@ -0,0 +1,20 @@
FROM eclipse-temurin:21-jdk-alpine AS builder
WORKDIR /build
COPY gradle gradle
COPY gradlew settings.gradle build.gradle ./
COPY src src
RUN ./gradlew jar --no-daemon --stacktrace
FROM eclipse-temurin:21-jre-alpine
RUN addgroup -S bot && adduser -S bot -G bot
WORKDIR /app
COPY --from=builder /build/build/libs/discord-bot-1.0.0.jar app.jar
COPY --from=builder /build/data/ ./data/
RUN mkdir -p /app/data && chown -R bot:bot /app
USER bot
VOLUME /app/data
EXPOSE 8712
HEALTHCHECK --interval=30s --timeout=5s --start-period=15s \
CMD wget --no-verbose --tries=1 --spider http://localhost:8712/health || exit 1
ENV DB_PATH=/app/data/bot.db
ENTRYPOINT ["java", "-jar", "app.jar"]