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: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ projects/*/bin
.architectury-transformer

.vscode
.idea
.idea
.eclipse
18 changes: 18 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
plugins {
id("com.matyrobbrt.mc.registrationutils") version "1.21.0-0.2.2"
}

registrationUtils {
group("li.cil.ocreloaded.minecraft.registration")
projects {
create("Fabric") {
type("Fabric")
}
create("NeoForge") {
type("NeoForge")
}
create("Minecraft") {
type("Common")
}
}
}
3 changes: 3 additions & 0 deletions buildSrc/src/main/kotlin/oc-common.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,7 @@ repositories {
maven("https://maven.parchmentmc.org") {
name = "ParchmentMC"
}
maven("https://maven.blamejared.com") {
name = "BlameJared's maven"
}
}
24 changes: 10 additions & 14 deletions buildSrc/src/main/kotlin/oc-loader.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,6 @@ plugins {
id("oc-common")
}

configurations {
create("commonJava") {
isCanBeResolved = true
}
create("commonResources") {
isCanBeResolved = true
}
}

tasks.named<JavaCompile>("compileJava") {
dependsOn(configurations["commonJava"])
source(configurations["commonJava"])
}

tasks.withType<ProcessResources> {
val properties = mapOf(
"neoforgeVersionRange" to rootProject.properties["neo_loader_version_range"],
Expand All @@ -29,4 +15,14 @@ tasks.withType<ProcessResources> {
filesMatching(listOf("META-INF/neoforge.mods.toml", "pack.mcmeta", "fabric.mod.json")) {
expand(properties)
}
}

tasks.named<Copy>("processResources") {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from(rootProject.file("libs/lua53")) {
into("data/ocreloaded/libs/lua53")
}
from(rootProject.file("libs/lua52")) {
into("data/ocreloaded/libs/lua52")
}
}
18 changes: 4 additions & 14 deletions projects/Core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,9 @@ repositories {
mavenCentral()
}

configurations {
create("coreJava") {
isCanBeResolved = false
isCanBeConsumed = true
}
}

artifacts {
add("coreJava", sourceSets["main"].java.sourceDirectories.singleFile)
}

dependencies {
implementation(libs.typesafeConfig)
implementation(libs.slf4j)
implementation(files("../../libs/OpenComputers-JNLua.jar", "../../libs/OpenComputers-LuaJ.jar"))
compileOnly(libs.slf4j)

api(libs.typesafeConfig)
api(files("../../libs/OpenComputers-JNLua.jar", "../../libs/OpenComputers-LuaJ.jar"))
}
44 changes: 37 additions & 7 deletions projects/Fabric/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import net.fabricmc.loom.task.RemapJarTask

evaluationDependsOn(":Minecraft")

plugins {
id("oc-loader")
alias(libs.plugins.loom)
}

loom {

}

dependencies {
minecraft("com.mojang:minecraft:${libs.versions.minecraft.get()}")
mappings(loom.layered {
Expand All @@ -15,8 +16,37 @@ dependencies {
})
modImplementation("net.fabricmc:fabric-loader:${libs.versions.fabricLoader.get()}")
modImplementation("net.fabricmc.fabric-api:fabric-api:${libs.versions.fabricApi.get()}")
modImplementation("mysticdrew:common-networking-fabric:1.0.20-1.21.1")

implementation(project(":Core"))
implementation(project(":Minecraft"))
}

sourceSets.main {
resources {
srcDir(project(":Minecraft").sourceSets.main.get().resources.srcDirs)
}
}

tasks.withType<ShadowJar> {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from(project(":Core").sourceSets.main.get().output)
from(project(":Minecraft").sourceSets.main.get().output)

dependencies {
include(dependency(libs.typesafeConfig))
include(dependency(files("../../libs/OpenComputers-JNLua.jar", "../../libs/OpenComputers-LuaJ.jar")))
}

relocate("com.typesafe.config", "li.cil.ocreloaded.lib.config")
archiveClassifier.set("all")
}

tasks.withType<RemapJarTask> {
inputFile.set(tasks.shadowJar.get().archiveFile)
archiveClassifier.set("")
}

compileOnly(project(":Minecraft"))
commonJava(project(path = ":Minecraft", configuration = "commonJava"))
commonResources(project(path = ":Minecraft", configuration = "commonResources"))
tasks.build {
dependsOn(tasks.remapJar)
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,44 @@
package li.cil.ocreloaded.fabric.client;

import li.cil.ocreloaded.minecraft.client.ColorHandlers;
import li.cil.ocreloaded.minecraft.client.CommonClientHooks;
import li.cil.ocreloaded.minecraft.client.registry.ClientRegistered;
import li.cil.ocreloaded.minecraft.client.renderer.entity.CaseRenderer;
import li.cil.ocreloaded.minecraft.client.renderer.entity.screen.ScreenRenderer;
import li.cil.ocreloaded.minecraft.client.screen.CaseScreen;
import li.cil.ocreloaded.minecraft.client.screen.ScreenScreen;
import li.cil.ocreloaded.minecraft.common.registry.CommonRegistered;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.rendering.v1.ColorProviderRegistry;
import net.minecraft.client.gui.screens.MenuScreens;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderers;

public class OCReloadedClient implements ClientModInitializer {
@Override
public void onInitializeClient() {
ClientRegistered.setup();
CommonClientHooks.setup();
registerClientStuff();
}
}

public void registerClientStuff() {
registerColorHandlers();
registerBERenderers();
registerMenuScreens();
}

public void registerColorHandlers() {
ColorHandlers.registerBlockColorHandlers((block, blockColor) -> ColorProviderRegistry.BLOCK.register(blockColor, block));
ColorHandlers.registerItemColorHandlers((item, itemColor) -> ColorProviderRegistry.ITEM.register(itemColor, item));
}

public void registerBERenderers() {
BlockEntityRenderers.register(CommonRegistered.CASE_BLOCK_ENTITY.get(), CaseRenderer::new);
BlockEntityRenderers.register(CommonRegistered.SCREEN_BLOCK_ENTITY.get(), ScreenRenderer::new);
}

public void registerMenuScreens() {
MenuScreens.register(CommonRegistered.CASE_MENU_TYPE.get(), CaseScreen::new);
MenuScreens.register(CommonRegistered.SCREEN_MENU_TYPE.get(), ScreenScreen::new);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package li.cil.ocreloaded.fabric.common;

import java.util.function.Consumer;

import li.cil.ocreloaded.minecraft.common.util.IPlatformMenuHelper;
import net.fabricmc.fabric.api.networking.v1.PacketByteBufs;
import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerFactory;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.MenuProvider;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.AbstractContainerMenu;

public class FabricPlatformMenuHelper implements IPlatformMenuHelper {
@Override
public void openExtendedMenu(ServerPlayer serverPlayer, MenuProvider menuProvider, Consumer<FriendlyByteBuf> byteBufConsumer) {
serverPlayer.openMenu(new ExtendedScreenHandlerFactory<FriendlyByteBuf>() {

@Override
public Component getDisplayName() {
return menuProvider.getDisplayName();
}

@Override
public AbstractContainerMenu createMenu(int containerId, Inventory playerInventory, Player player) {
return menuProvider.createMenu(containerId, playerInventory, player);
}

@Override
public FriendlyByteBuf getScreenOpeningData(ServerPlayer player) {
FriendlyByteBuf byteBuf = PacketByteBufs.create();
byteBufConsumer.accept(byteBuf);
return byteBuf;
}

});
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package li.cil.ocreloaded.fabric.common;

import io.netty.buffer.Unpooled;
import li.cil.ocreloaded.minecraft.common.registry.IPlatformRegistryHelper;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerType;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.codec.StreamCodec;
import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.inventory.MenuType;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;

public class FabricPlatformRegistryHelper implements IPlatformRegistryHelper {
@Override
public CreativeModeTab.Builder constructTabBuilder() {
return FabricItemGroup.builder();
}

@Override
public <T extends BlockEntity> BlockEntityType<T> createBlockEntityType(BlockEntityConstructor<T> constructor, Block... blocks) {
return BlockEntityType.Builder.of(constructor::get, blocks).build();
}

@Override
public <T extends AbstractContainerMenu> MenuType<T> registerMenuType(TypedMenuConstructor<T> menuConstructor) {
ExtendedScreenHandlerType.ExtendedFactory<T, FriendlyByteBuf> screenFactory = menuConstructor::createMenu;

return new ExtendedScreenHandlerType<>(screenFactory, StreamCodec.of((dest, src) -> {
dest.writeBytes(src);
}, s -> {
FriendlyByteBuf byteBuf = new FriendlyByteBuf(Unpooled.buffer());
byteBuf.writeBytes(s);
return byteBuf;
}));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
li.cil.ocreloaded.fabric.common.FabricPlatformRegistryHelper
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
li.cil.ocreloaded.fabric.common.FabricPlatformMenuHelper
2 changes: 1 addition & 1 deletion projects/Fabric/src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
},
"depends": {
"fabricloader": ">=0.16.0",
"minecraft": "~{minecraftVersion}",
"minecraft": "~${minecraftVersion}",
"java": ">=21",
"fabric-api": "*"
}
Expand Down
38 changes: 2 additions & 36 deletions projects/Minecraft/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,46 +6,12 @@ neoForge {
neoFormVersion = libs.versions.neoForm.get()
}

configurations {
create("commonJava") {
isCanBeResolved = false
isCanBeConsumed = true
}
create("commonResources") {
isCanBeResolved = false
isCanBeConsumed = true
}
}

dependencies {
compileOnly(project(":Core"))
coreJava(project(path= ":Core", configuration= "coreJava"))

implementation(libs.typesafeConfig)
implementation(files("../../libs/OpenComputers-JNLua.jar", "../../libs/OpenComputers-LuaJ.jar"))
}

artifacts {
add("commonJava", sourceSets["main"].java.sourceDirectories.singleFile)
add("commonResources", sourceSets["main"].resources.sourceDirectories.singleFile)
}

tasks.named<JavaCompile>("compileJava") {
dependsOn(configurations["coreJava"])
source(configurations["coreJava"])
api(project(":Core"))
implementation("mysticdrew:common-networking-common:1.0.20-1.21.1")
}

tasks.register<Copy>("copyResources") {
copy {
from("${rootProject.projectDir}/libs/lua52")
into(file("build/resources/main/data/ocreloaded/libs/lua52"))
}

copy {
from("${rootProject.projectDir}/libs/lua53")
into(file("build/resources/main/data/ocreloaded/libs/lua53"))
}

copy {
from("${projectDir}/src/generated/resources/")
into(file("build/resources/main/"))
Expand Down
Loading