diff --git a/build.gradle b/build.gradle index 914fbd2..4aad9a3 100644 --- a/build.gradle +++ b/build.gradle @@ -1,77 +1,48 @@ -import java.time.Instant -import java.time.format.DateTimeFormatter -import java.time.temporal.ChronoUnit - -buildscript { - repositories { - maven { url = 'https://maven.minecraftforge.net' } - maven { url = 'https://maven.parchmentmc.org' } - mavenCentral() - } - dependencies { - classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true - classpath group: 'org.parchmentmc', name: 'librarian', version: '1.+' - } +plugins { + id 'eclipse' + id 'maven-publish' + id 'net.minecraftforge.gradle' version '5.1.+' + id 'org.parchmentmc.librarian.forgegradle' version '1.+' } -apply plugin: 'net.minecraftforge.gradle' -apply plugin: 'org.parchmentmc.librarian.forgegradle' - -apply plugin: 'eclipse' -apply plugin: 'maven-publish' - -version = '0.4.0' +version = '0.5.0' group = 'org.teacon' -archivesBaseName = 'ChromeBall-Forge-1.18' +archivesBaseName = 'ChromeBall-Forge-1.19' java.toolchain.languageVersion = JavaLanguageVersion.of(17) minecraft { - // mappings channel: 'official', version: '1.18.2' - mappings channel: 'parchment', version: '2022.03.06-1.18.1' + mappings channel: 'official', version: '1.19.4' + // mappings channel: 'parchment', version: '2022.03.06-1.18.1' runs { client { workingDirectory project.file('run') - property 'forge.logging.markers', 'REGISTRIES' - property 'forge.logging.console.level', 'info' - + property 'forge.enabledGameTestNamespaces', 'chromeball' mods { - examplemod { - source sourceSets.main - } + chromeball { source sourceSets.main } } } server { workingDirectory project.file('run_server') - property 'forge.logging.markers', 'REGISTRIES' - property 'forge.logging.console.level', 'info' - + property 'forge.enabledGameTestNamespaces', 'chromeball' mods { - examplemod { - source sourceSets.main - } + chromeball { source sourceSets.main } } } data { workingDirectory project.file('run') - property 'forge.logging.markers', 'REGISTRIES' - property 'forge.logging.console.level', 'info' - args '--mod', 'chromeball', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/') - mods { - examplemod { - source sourceSets.main - } + chromeball { source sourceSets.main } } } } @@ -79,12 +50,10 @@ minecraft { sourceSets.main.resources { srcDir 'src/generated/resources' } -repositories { - -} +repositories { /* no repository here*/ } dependencies { - minecraft 'net.minecraftforge:forge:1.18.2-40.0.12' + minecraft 'net.minecraftforge:forge:1.19.4-45.0.9' } jar { @@ -96,26 +65,21 @@ jar { "Implementation-Title": project.name, "Implementation-Version": "${project.version}", "Implementation-Vendor": "TeaConMC", - "Implementation-Timestamp": DateTimeFormatter.ISO_INSTANT.format(Instant.now().truncatedTo(ChronoUnit.SECONDS)) + "Implementation-Timestamp": "${Instant.now().truncatedTo(java.time.temporal.ChronoUnit.SECONDS)}" ]) } } -def reobfFile = file("$buildDir/reobfJar/output.jar") -def reobfArtifact = artifacts.add('default', reobfFile) { - it.type = 'jar' - it.builtBy 'reobfJar' -} +jar.finalizedBy('reobfJar') publishing { publications { release(MavenPublication) { groupId = "org.teacon" - artifactId = "ChromeBall-Forge-1.18" - - artifact reobfArtifact + artifactId = "ChromeBall-Forge-1.19" + artifact jar pom { - name = 'ChromeBall for Minecraft 1.18' + name = 'ChromeBall for Minecraft 1.19' description = 'ChromeBall! Just a Chrome Ball.' licenses { license { @@ -138,18 +102,14 @@ publishing { } tasks.withType(PublishToMavenRepository) { - onlyIf { - System.env.ARCHIVE_ACCESS_KEY && System.env.ARCHIVE_SECRET_KEY - } + onlyIf { System.env.ARCHIVE_ACCESS_KEY && System.env.ARCHIVE_SECRET_KEY } } /** * A simple task to pass down the artifact name and path to other GitHub actions. */ task("githubActionOutput") { - onlyIf { - System.env.GITHUB_ACTIONS - } + onlyIf { System.env.GITHUB_ACTIONS } doLast { println "::set-output name=artifact_path::${jar.archiveFile.get().asFile.absolutePath}" println "::set-output name=artifact_name::${jar.archiveFileName.get()}" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 669386b..f42e62f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..21e200f --- /dev/null +++ b/settings.gradle @@ -0,0 +1,7 @@ +pluginManagement { + repositories { + gradlePluginPortal() + maven { url = 'https://maven.minecraftforge.net/' } + maven { url = 'https://maven.parchmentmc.org/' } + } +} diff --git a/src/main/java/org/teacon/chromeball/ChromeBall.java b/src/main/java/org/teacon/chromeball/ChromeBall.java index 1d5689f..bbf0e58 100644 --- a/src/main/java/org/teacon/chromeball/ChromeBall.java +++ b/src/main/java/org/teacon/chromeball/ChromeBall.java @@ -26,6 +26,7 @@ public ChromeBall() { var eventBus = FMLJavaModLoadingContext.get().getModEventBus(); CBRegistry.ITEMS.register(eventBus); CBRegistry.ENTITIES.register(eventBus); + eventBus.addListener(CBRegistry::registerCreativeTabs); } public static Config getConfig() { diff --git a/src/main/java/org/teacon/chromeball/common/CBHitsByStat.java b/src/main/java/org/teacon/chromeball/common/CBHitsByStat.java index c6921c0..40679a7 100644 --- a/src/main/java/org/teacon/chromeball/common/CBHitsByStat.java +++ b/src/main/java/org/teacon/chromeball/common/CBHitsByStat.java @@ -2,6 +2,7 @@ import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.stats.Stats; import net.minecraftforge.eventbus.api.SubscribeEvent; @@ -20,7 +21,7 @@ public class CBHitsByStat { @SubscribeEvent public static void registerStat(FMLCommonSetupEvent event) { event.enqueueWork(() -> { - Registry.register(Registry.CUSTOM_STAT, INSTANCE, INSTANCE); + Registry.register(BuiltInRegistries.CUSTOM_STAT, INSTANCE, INSTANCE); Stats.CUSTOM.get(INSTANCE); }); } diff --git a/src/main/java/org/teacon/chromeball/common/CBRegistry.java b/src/main/java/org/teacon/chromeball/common/CBRegistry.java index 0632ee0..8d83c07 100644 --- a/src/main/java/org/teacon/chromeball/common/CBRegistry.java +++ b/src/main/java/org/teacon/chromeball/common/CBRegistry.java @@ -4,7 +4,9 @@ import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MobCategory; import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.CreativeModeTabs; import net.minecraft.world.item.Item; +import net.minecraftforge.event.CreativeModeTabEvent; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; @@ -16,10 +18,15 @@ @ParametersAreNonnullByDefault public class CBRegistry { public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, ChromeBall.MOD_ID); - public static final DeferredRegister> ENTITIES = DeferredRegister.create(ForgeRegistries.ENTITIES, ChromeBall.MOD_ID); + public static final DeferredRegister> ENTITIES = DeferredRegister.create(ForgeRegistries.ENTITY_TYPES, ChromeBall.MOD_ID); - public static final RegistryObject ITEM = ITEMS.register("chrome", - () -> new CBItem(new Item.Properties().stacksTo(16).tab(CreativeModeTab.TAB_MISC))); + public static final RegistryObject ITEM = ITEMS.register("chrome", () -> new CBItem(new Item.Properties().stacksTo(16))); public static final RegistryObject> ENTITY_TYPE = ENTITIES.register("chrome", () -> EntityType.Builder.of(CBEntity::new, MobCategory.MISC).sized(0.25F, 0.25F).build("chrome")); + + public static void registerCreativeTabs(CreativeModeTabEvent.BuildContents event) { + if (event.getTab().equals(CreativeModeTabs.SEARCH)) { + event.accept(CBRegistry.ITEM, CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); + } + } }