Skip to content
This repository has been archived by the owner on Dec 28, 2024. It is now read-only.

Commit

Permalink
Implement simple bingo task validation.
Browse files Browse the repository at this point in the history
It validates Omega Rooms and Village room tasks.
  • Loading branch information
BONNe committed Oct 26, 2024
0 parents commit 45b12fb
Show file tree
Hide file tree
Showing 14 changed files with 1,161 additions and 0 deletions.
119 changes: 119 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# User-specific stuff
.idea/

*.iml
*.ipr
*.iws

# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

*~

# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*

# KDE directory preferences
.directory

# Linux trash folder which might appear on any partition or disk
.Trash-*

# .nfs files are created when an open file is removed but is still being accessed
.nfs*

# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db

# Dump file
*.stackdump

# Folder config file
[Dd]esktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

# Windows shortcuts
*.lnk

.gradle
build/

# Ignore Gradle GUI config
gradle-app.setting

# Cache of project
.gradletasknamecache

**/build/

# Common working directory
run/
runs/

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar
204 changes: 204 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
buildscript {
repositories {
mavenCentral()
maven { url = "https://files.minecraftforge.net/maven" }
maven {
name = 'sponge'
url = 'https://repo.spongepowered.org/maven'
}
repositories {
maven {
url "https://plugins.gradle.org/m2/"

}
}
}
dependencies {
classpath 'org.spongepowered:mixingradle:0.7-SNAPSHOT'
}
}

//Gradle Plugins
plugins {
id 'net.minecraftforge.gradle' version '[6.0,6.2)'
id "com.matthewprenger.cursegradle" version "1.4.0"
id 'java'
id 'idea'
}

apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'maven-publish'
apply plugin: 'org.spongepowered.mixin'

group = mod_group_id
version = mod_version

base {
archivesName = mod_id
}

java {
toolchain.languageVersion = JavaLanguageVersion.of(17)
}

minecraft {
// The mappings can be changed at any time and must be in the following format.
mappings channel: mapping_channel, version: mapping_version

// This property allows configuring Gradle's ProcessResources task(s) to run on IDE output locations before launching the game.
// It is REQUIRED to be set to true for this template to function.
// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html
copyIdeResources = true

// Default run configurations.
// These can be tweaked, removed, or duplicated as needed.
runs {
// applies to all the run configs below
configureEach {
// Recommended logging data for a userdev environment
// The markers can be added/remove as needed separated by commas.
// "SCAN": For mods scan.
// "REGISTRIES": For firing of registry events.
// "REGISTRYDUMP": For getting the contents of all registries.
property 'forge.logging.markers', 'REGISTRIES'


// Recommended logging level for the console
// You can set various levels here.
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
property 'forge.logging.console.level', 'debug'

mods {
"${mod_id}" {
source sourceSets.main
}
}
}

client {
workingDirectory = project.file('run/client')
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
property 'forge.enabledGameTestNamespaces', mod_id
}

server {
workingDirectory = project.file('run/server')
property 'forge.enabledGameTestNamespaces', mod_id
//args '--nogui'
}

// This run config launches GameTestServer and runs all registered gametests, then exits.
// By default, the server will crash when no gametests are provided.
// The gametest system is also enabled by default for other run configs under the /test command.
gameTestServer {
property 'forge.enabledGameTestNamespaces', mod_id
}

data {
// example of overriding the workingDirectory set in configureEach above
workingDirectory project.file('run-data')

// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
}
}
}

mixin {
add sourceSets.main, "mixins.${mod_id}.refmap.json"
config "mixins.${mod_id}.vault_hunters.json"
}

// Include resources generated by data generators.
sourceSets.main.resources { srcDir 'src/generated/resources' }

repositories {
maven { url 'https://jitpack.io' }
maven {
name = 'sponge'
url = 'https://repo.spongepowered.org/maven'
}
maven { url "https://cursemaven.com" }
flatDir {
dirs "libs"
}
}

dependencies {
// Specify the version of Minecraft to use.
// Any artifact can be supplied so long as it has a "userdev" classifier artifact and is a compatible patcher artifact.
// The "userdev" classifier will be requested and setup by ForgeGradle.
// If the group id is "net.minecraft" and the artifact id is one of ["client", "server", "joined"],
// then special handling is done to allow a setup of a vanilla dependency without the use of an external repository.
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"

// mixin
annotationProcessor 'org.spongepowered:mixin:0.8.5:processor'

// Curseforge mod dependencies
implementation fg.deobf("curse.maven:vault-hunters-official-mod-458203:${vault_hunters_version}")

// Dependencies for Runtime Debug
implementation fg.deobf("curse.maven:quark-243121:3840125")
implementation fg.deobf("curse.maven:applied-energistics-2-223794:4548560")
implementation fg.deobf("curse.maven:refined-storage-243076:4392829")
implementation fg.deobf("curse.maven:mekanism-268560:3875976")
implementation fg.deobf("curse.maven:simple-storage-network-268495:3868680")
implementation fg.deobf("curse.maven:architects-palette-433862:4498424")
implementation fg.deobf("curse.maven:curios-309927:4418032")
implementation fg.deobf("curse.maven:autoreglib-250363:3642382")
implementation fg.deobf("curse.maven:sophisticated-backpacks-vault-hunters-edition-696425:4287544")
implementation fg.deobf("curse.maven:configured-457570:4462832")
implementation fg.deobf("curse.maven:storage-drawers-223852:3807626")
implementation fg.deobf("curse.maven:geckolib-388172:4181370")
implementation fg.deobf("curse.maven:citadel-331936:3783096")
implementation fg.deobf("curse.maven:jei-238222:4593548")
implementation fg.deobf("curse.maven:sophisticated-core-618298:4665730")
implementation fg.deobf("curse.maven:sophisticated-backpacks-422301:4637292")
implementation fg.deobf("curse.maven:skin-fighters-895898:4727090")
implementation fg.deobf("curse.maven:twitchspawn-273382:3772664")
implementation fg.deobf("curse.maven:alexs-mobs-426558:3853078")
}

// This block of code expands all declared replace properties in the specified resource targets.
// A missing property will result in an error. Properties are expanded using ${} Groovy notation.
// When "copyIdeResources" is enabled, this will also run before the game launches in IDE environments.
// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html
tasks.named('processResources', ProcessResources).configure {
var replaceProperties = [
minecraft_version: minecraft_version, minecraft_version_range: minecraft_version_range,
forge_version: forge_version, forge_version_range: forge_version_range,
loader_version_range: loader_version_range,
mod_id: mod_id, mod_name: mod_name, mod_license: mod_license, mod_version: mod_version,
mod_authors: mod_authors, mod_description: mod_description,
]

inputs.properties replaceProperties

filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) {
expand replaceProperties + [project: project]
}}

// Example for how to get properties into the manifest for reading at runtime.
tasks.named('jar', Jar).configure {
manifest {
attributes([
"Specification-Title": mod_id,
"Specification-Vendor": mod_authors,
"Specification-Version": "1", // We are version 1 of ourselves
"Implementation-Title": project.name,
"Implementation-Version": project.jar.archiveVersion,
"Implementation-Vendor": mod_authors,
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}

// This is the preferred method to reobfuscate your jar file
//finalizedBy 'reobfJar'
}

tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
}
42 changes: 42 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

# The Minecraft version must agree with the Forge version to get a valid artifact
minecraft_version=1.18.2
# The Minecraft version range can use any release version of Minecraft as bounds.
# Snapshots, pre-releases, and release candidates are not guaranteed to sort properly
# as they do not follow standard versioning conventions.
minecraft_version_range=[1.18.2]
# The Forge version must agree with the Minecraft version to get a valid artifact
forge_version=40.2.9
# The Forge version range can use any version of Forge as bounds or match the loader version range
forge_version_range=[40,)
# The loader version range can only use the major version of Forge/FML as bounds
loader_version_range=[40,)
# The mapping channel to use for mappings.
mapping_channel=official
# The mapping version to query from the mapping channel.
# This must match the format required by the mapping channel.
mapping_version=1.18.2

# The unique mod identifier for the mod. Must be lowercase in English locale. Must fit the regex [a-z][a-z0-9_]{1,63}
# Must match the String constant located in the main mod class annotated with @Mod.
mod_id=bingo_fix
# The human-readable display name for the mod.
mod_name=Bingo Fix Mod
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
mod_license=ECPL-3.0
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
# This should match the base package used for the mod sources.
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
mod_group_id=lv.id.bonne.vaulthunters.bingofix
# The authors of the mod. This is a simple text string that is used for display purposes in the mod list.
mod_authors=BONNe1704
# The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list.
mod_description=Mod for Fixing Bingo Tasks
# The version of Vault Hunters Mod
vault_hunters_version=5601579
# The mod version. See https://semver.org/
mod_version=1.0.0
# The change Log
changelog=Check changelog in CurseForge page
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading

0 comments on commit 45b12fb

Please sign in to comment.