mirror of
https://github.com/lukasabbe/bookshelf-inspector.git
synced 2026-04-30 10:40:53 +00:00
@@ -1,5 +1,5 @@
|
||||
name: build
|
||||
on: [push, pull_request]
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
+2
-3
@@ -1,7 +1,6 @@
|
||||
plugins {
|
||||
// see https://fabricmc.net/develop/ for new versions
|
||||
id 'fabric-loom' version '1.10-SNAPSHOT' apply false
|
||||
id 'fabric-loom' version '1.11-SNAPSHOT' apply false
|
||||
// see https://projects.neoforged.net/neoforged/moddevgradle for new versions
|
||||
id 'net.neoforged.moddev' version '2.0.97' apply false
|
||||
|
||||
id 'net.neoforged.moddev' version '2.0.112' apply false
|
||||
}
|
||||
@@ -19,7 +19,7 @@ public class Config {
|
||||
|
||||
public void loadConfig(){
|
||||
Path configPath = Services.PLATFORM.getConfigPath("bookshelfinspector-config.yml");
|
||||
if(!Files.exists(configPath))createConfig(configPath);
|
||||
if(!Files.exists(configPath)) createConfig(configPath);
|
||||
Yaml yaml = new Yaml();
|
||||
try{
|
||||
Map<String, Object> configMap = yaml.load(new FileReader(configPath.toFile()));
|
||||
@@ -39,7 +39,8 @@ public class Config {
|
||||
}
|
||||
|
||||
private void createConfig(Path configPath){
|
||||
Path defaultConfigPath = Services.PLATFORM.getFileInModContainer("bookshelfinspector", "bookshelfinspector-config.yml");
|
||||
Path defaultConfigPath = Services.PLATFORM.getFileOrCopyInModContainer("bookshelfinspector", "bookshelfinspector-config.yml");
|
||||
if(defaultConfigPath == null) return;
|
||||
try {
|
||||
Files.copy(defaultConfigPath, configPath);
|
||||
} catch (IOException e) {
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
package com.lukasabbe.bookshelfinspector.mixin;
|
||||
|
||||
import net.minecraft.world.level.block.ChiseledBookShelfBlock;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.phys.BlockHitResult;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Invoker;
|
||||
|
||||
import java.util.OptionalInt;
|
||||
|
||||
@Mixin(ChiseledBookShelfBlock.class)
|
||||
public interface BookshelfInvoker {
|
||||
@Invoker("getHitSlot")
|
||||
OptionalInt invokerGetSlotForHitPos(BlockHitResult hit, BlockState state);
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.lukasabbe.bookshelfinspector.mixin;
|
||||
|
||||
import com.lukasabbe.bookshelfinspector.Constants;
|
||||
import com.lukasabbe.bookshelfinspector.renderer.Inspector;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.lukasabbe.bookshelfinspector.mixin;
|
||||
|
||||
import com.lukasabbe.bookshelfinspector.Constants;
|
||||
import com.lukasabbe.bookshelfinspector.renderer.HudRenderer;
|
||||
import net.minecraft.client.DeltaTracker;
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
||||
+1
-8
@@ -7,14 +7,7 @@ public interface IPlatformHelper {
|
||||
|
||||
boolean isModLoaded(String modId);
|
||||
|
||||
boolean isDevelopmentEnvironment();
|
||||
|
||||
Path getConfigPath(String file);
|
||||
|
||||
Path getFileInModContainer(String mod, String fileName);
|
||||
|
||||
default String getEnvironmentName() {
|
||||
|
||||
return isDevelopmentEnvironment() ? "development" : "production";
|
||||
}
|
||||
Path getFileOrCopyInModContainer(String mod, String fileName);
|
||||
}
|
||||
@@ -1,10 +1,8 @@
|
||||
package com.lukasabbe.bookshelfinspector.renderer;
|
||||
|
||||
import com.lukasabbe.bookshelfinspector.BookshelfInspectorClient;
|
||||
import com.lukasabbe.bookshelfinspector.Constants;
|
||||
import com.lukasabbe.bookshelfinspector.data.BookData;
|
||||
import com.lukasabbe.bookshelfinspector.util.RomanNumerals;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.Font;
|
||||
|
||||
@@ -3,13 +3,11 @@ package com.lukasabbe.bookshelfinspector.renderer;
|
||||
import com.lukasabbe.bookshelfinspector.BookshelfInspectorClient;
|
||||
import com.lukasabbe.bookshelfinspector.data.BookData;
|
||||
import com.lukasabbe.bookshelfinspector.data.Tags;
|
||||
import com.lukasabbe.bookshelfinspector.mixin.BookshelfInvoker;
|
||||
import com.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryRequestPayload;
|
||||
import com.lukasabbe.bookshelfinspector.network.packets.LecternInventoryRequestPayload;
|
||||
import com.lukasabbe.bookshelfinspector.platform.Services;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.ChiseledBookShelfBlock;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.phys.BlockHitResult;
|
||||
@@ -23,9 +21,9 @@ public class Inspector {
|
||||
public void inspect(Minecraft client){
|
||||
if(!modAvailable) return;
|
||||
|
||||
if(client.cameraEntity == null || client.player == null) return;
|
||||
if(client.getCameraEntity() == null || client.player == null) return;
|
||||
|
||||
HitResult hit = client.cameraEntity.pick(5f,0f,false);
|
||||
HitResult hit = client.getCameraEntity().pick(5f,0f,false);
|
||||
|
||||
//find block hit, if not found block returns
|
||||
final HitResult.Type type = hit.getType();
|
||||
@@ -81,7 +79,7 @@ public class Inspector {
|
||||
|
||||
//Gets index position for a book in the bookshelf
|
||||
ChiseledBookShelfBlock bookshelfBlock = (ChiseledBookShelfBlock) blockState.getBlock();
|
||||
OptionalInt optionalInt = ((BookshelfInvoker)bookshelfBlock).invokerGetSlotForHitPos(blockHitResult,blockState);
|
||||
OptionalInt optionalInt = bookshelfBlock.getHitSlot(blockHitResult, blockState.getValue(ChiseledBookShelfBlock.FACING));
|
||||
|
||||
//if the position is empty, return
|
||||
if(optionalInt.isEmpty()) {
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
],
|
||||
"client": [
|
||||
"BookshelfMixin",
|
||||
"InGameHudMixin",
|
||||
"BookshelfInvoker"
|
||||
"InGameHudMixin"
|
||||
],
|
||||
"server": [],
|
||||
"injectors": {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
plugins {
|
||||
id 'multiloader-loader'
|
||||
id 'fabric-loom'
|
||||
id "com.modrinth.minotaur" version "2.+"
|
||||
}
|
||||
repositories {
|
||||
maven { url "https://maven.shedaniel.me/" }
|
||||
@@ -45,3 +46,24 @@ loom {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
modrinth {
|
||||
token = System.getenv("MODRINTH_TOKEN")
|
||||
projectId = "rOrXjyPb" // https://modrinth.com/mod/bookshelf-inspector
|
||||
version = project.version
|
||||
versionType = project.versionType
|
||||
uploadFile = remapJar
|
||||
gameVersions = [project.minecraft_version]
|
||||
loaders = ["fabric"]
|
||||
if(project.versionType == "beta" || project.versionType == "alpha"){
|
||||
dependencies {
|
||||
required.project "fabric-api"
|
||||
}
|
||||
}else{
|
||||
dependencies {
|
||||
required.project "fabric-api"
|
||||
required.project "cloth-config"
|
||||
required.project "modmenu"
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
package com.lukasabbe.bookshelfinspector;
|
||||
package com.lukasabbe.bookshelfinspector.config;
|
||||
|
||||
import com.lukasabbe.bookshelfinspector.BookshelfInspectorClient;
|
||||
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
|
||||
import com.terraformersmc.modmenu.api.ModMenuApi;
|
||||
import me.shedaniel.clothconfig2.api.ConfigBuilder;
|
||||
+1
-8
@@ -15,23 +15,16 @@ public class FabricPlatformHelper implements IPlatformHelper {
|
||||
|
||||
@Override
|
||||
public boolean isModLoaded(String modId) {
|
||||
|
||||
return FabricLoader.getInstance().isModLoaded(modId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDevelopmentEnvironment() {
|
||||
|
||||
return FabricLoader.getInstance().isDevelopmentEnvironment();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Path getConfigPath(String file) {
|
||||
return FabricLoader.getInstance().getConfigDir().resolve(file);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Path getFileInModContainer(String mod, String fileName) {
|
||||
public Path getFileOrCopyInModContainer(String mod, String fileName) {
|
||||
if(FabricLoader.getInstance().getModContainer(mod).isEmpty()) return null;
|
||||
ModContainer modContainer = FabricLoader.getInstance().getModContainer(mod).get();
|
||||
return modContainer.findPath(fileName).orElseThrow();
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"com.lukasabbe.bookshelfinspector.BookshelfInspectorFabricClient"
|
||||
],
|
||||
"modmenu": [
|
||||
"com.lukasabbe.bookshelfinspector.ModMenu"
|
||||
"com.lukasabbe.bookshelfinspector.config.ModMenu"
|
||||
]
|
||||
},
|
||||
"mixins": [
|
||||
@@ -31,7 +31,7 @@
|
||||
"depends": {
|
||||
"fabricloader": ">=${fabric_loader_version}",
|
||||
"fabric-api": "*",
|
||||
"minecraft": "~${minecraft_version}",
|
||||
"minecraft": "~1.21.9-beta.1",
|
||||
"java": ">=${java_version}"
|
||||
}
|
||||
}
|
||||
|
||||
+15
-11
@@ -1,28 +1,32 @@
|
||||
version=2.1+1.21.8
|
||||
version=2.1+1.21.10
|
||||
|
||||
# release, beta & alpha
|
||||
versionType=release
|
||||
group=com.lukasabbe.bookshelfinspector
|
||||
java_version=21
|
||||
|
||||
# Common
|
||||
minecraft_version=1.21.8
|
||||
minecraft_version=1.21.10
|
||||
mod_name=BookshelfInspector
|
||||
mod_author=Lukasabbe
|
||||
mod_id=bookshelfinspector
|
||||
license=MIT
|
||||
credits=
|
||||
description=Inspect any book in a chiseled bookshelf.
|
||||
minecraft_version_range=[1.21.8, 1.22)
|
||||
minecraft_version_range=[1.21.10, 1.22)
|
||||
|
||||
neo_form_version=1.21.8-20250717.133445
|
||||
# https://projects.neoforged.net/neoforged/neoform
|
||||
neo_form_version=1.21.10-20251007.142004
|
||||
# The version of ParchmentMC that is used, see https://parchmentmc.org/docs/getting-started#choose-a-version for new versions
|
||||
parchment_minecraft=1.21.8
|
||||
parchment_version=2025.07.20
|
||||
parchment_minecraft=1.21.9
|
||||
parchment_version=2025.10.05
|
||||
|
||||
# Fabric
|
||||
fabric_version=0.132.0+1.21.8
|
||||
fabric_version=0.134.1+1.21.10
|
||||
fabric_loader_version=0.17.2
|
||||
|
||||
# NeoForge
|
||||
neoforge_version=21.8.39
|
||||
neoforge_version=21.10.1-beta
|
||||
neoforge_loader_version_range=[4,)
|
||||
|
||||
# Gradle
|
||||
@@ -30,6 +34,6 @@ org.gradle.jvmargs=-Xmx3G
|
||||
org.gradle.daemon=false
|
||||
|
||||
# Global dep
|
||||
YAML_snake=2.4
|
||||
cloth_config=19.0.147
|
||||
mod_menu=15.0.0-beta.3
|
||||
YAML_snake=2.5
|
||||
cloth_config=20.0.148
|
||||
mod_menu=16.0.0-rc.1
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
+21
-1
@@ -1,6 +1,7 @@
|
||||
plugins {
|
||||
id 'multiloader-loader'
|
||||
id 'net.neoforged.moddev'
|
||||
id "com.modrinth.minotaur" version "2.+"
|
||||
}
|
||||
repositories {
|
||||
maven { url "https://maven.shedaniel.me/" }
|
||||
@@ -45,7 +46,26 @@ neoForge {
|
||||
|
||||
dependencies {
|
||||
jarJar(implementation("org.yaml:snakeyaml:2.4")){}
|
||||
additionalRuntimeClasspath "org.yaml:snakeyaml:2.4"
|
||||
runtimeOnly "org.yaml:snakeyaml:2.4"
|
||||
}
|
||||
|
||||
sourceSets.main.resources { srcDir 'src/generated/resources' }
|
||||
|
||||
sourceSets.main.resources { srcDir 'src/generated/resources' }
|
||||
|
||||
modrinth {
|
||||
token = System.getenv("MODRINTH_TOKEN")
|
||||
projectId = "rOrXjyPb" // https://modrinth.com/mod/bookshelf-inspector
|
||||
version = project.version
|
||||
versionType = project.versionType
|
||||
uploadFile = jar
|
||||
gameVersions = [project.minecraft_version]
|
||||
loaders = ["neoforge"]
|
||||
if(project.versionType == "beta" || project.versionType == "alpha"){
|
||||
dependencies {}
|
||||
}else{
|
||||
dependencies {
|
||||
required.project "cloth-config"
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-1
@@ -1,11 +1,12 @@
|
||||
package com.lukasabbe.bookshelfinspector;
|
||||
|
||||
import com.lukasabbe.bookshelfinspector.util.EventHandler;
|
||||
import com.lukasabbe.bookshelfinspector.util.NetworkHandler;
|
||||
import net.neoforged.bus.api.IEventBus;
|
||||
import net.neoforged.fml.common.Mod;
|
||||
|
||||
@Mod(value = Constants.MOD_ID)
|
||||
public class BookshelfInspectorNeoForge {
|
||||
|
||||
public BookshelfInspectorNeoForge(IEventBus eventBus) {
|
||||
EventHandler.initServer();
|
||||
eventBus.addListener(NetworkHandler::registerPayloads);
|
||||
|
||||
+2
@@ -1,5 +1,7 @@
|
||||
package com.lukasabbe.bookshelfinspector;
|
||||
|
||||
import com.lukasabbe.bookshelfinspector.config.ClothConfigGenerator;
|
||||
import com.lukasabbe.bookshelfinspector.util.EventHandler;
|
||||
import net.neoforged.api.distmarker.Dist;
|
||||
import net.neoforged.bus.api.IEventBus;
|
||||
import net.neoforged.fml.ModLoadingContext;
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
package com.lukasabbe.bookshelfinspector;
|
||||
package com.lukasabbe.bookshelfinspector.config;
|
||||
|
||||
import com.lukasabbe.bookshelfinspector.BookshelfInspectorClient;
|
||||
import me.shedaniel.clothconfig2.api.ConfigBuilder;
|
||||
import me.shedaniel.clothconfig2.api.ConfigEntryBuilder;
|
||||
import net.minecraft.client.gui.screens.Screen;
|
||||
+2
-4
@@ -1,6 +1,6 @@
|
||||
package com.lukasabbe.bookshelfinspector.platform;
|
||||
|
||||
import com.lukasabbe.bookshelfinspector.EventHandler;
|
||||
import com.lukasabbe.bookshelfinspector.util.EventHandler;
|
||||
import com.lukasabbe.bookshelfinspector.platform.handlers.OnPlayerDisconnectEvent;
|
||||
import com.lukasabbe.bookshelfinspector.platform.handlers.OnPlayerJoinEvent;
|
||||
import com.lukasabbe.bookshelfinspector.platform.services.IEventHelper;
|
||||
@@ -12,7 +12,5 @@ public class NeoForgeEventHelper implements IEventHelper {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerOnPlayerDisconnect(OnPlayerDisconnectEvent event) {
|
||||
EventHandler.playerDisconnectEvents.add(event);
|
||||
}
|
||||
public void registerOnPlayerDisconnect(OnPlayerDisconnectEvent event) { EventHandler.playerDisconnectEvents.add(event); }
|
||||
}
|
||||
|
||||
+15
-9
@@ -7,7 +7,9 @@ import net.neoforged.fml.config.ModConfig;
|
||||
import net.neoforged.fml.loading.FMLLoader;
|
||||
import net.neoforged.fml.loading.FMLPaths;
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
|
||||
public class NeoForgePlatformHelper implements IPlatformHelper {
|
||||
|
||||
@@ -19,25 +21,29 @@ public class NeoForgePlatformHelper implements IPlatformHelper {
|
||||
|
||||
@Override
|
||||
public boolean isModLoaded(String modId) {
|
||||
|
||||
return ModList.get().isLoaded(modId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDevelopmentEnvironment() {
|
||||
|
||||
return !FMLLoader.isProduction();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Path getConfigPath(String file) {
|
||||
return FMLPaths.CONFIGDIR.get().resolve(file);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Path getFileInModContainer(String mod, String fileName) {
|
||||
public Path getFileOrCopyInModContainer(String mod, String fileName) {
|
||||
if(ModList.get().getModContainerById(mod).isEmpty()) return null;
|
||||
ModContainer container = ModList.get().getModContainerById(mod).get();
|
||||
return container.getModInfo().getOwningFile().getFile().findResource(fileName);
|
||||
try {
|
||||
InputStream inputStream = container.getModInfo().getOwningFile().getFile().getContents().get(fileName).open();
|
||||
File targetFile = new File(getConfigPath("bookshelfinspector-config.yml").toUri());
|
||||
try(OutputStream outputStream = new FileOutputStream(targetFile)){
|
||||
byte[] buffer = new byte[8192];
|
||||
int bytesRead;
|
||||
while((bytesRead = inputStream.read(buffer)) != -1){
|
||||
outputStream.write(buffer, 0, bytesRead);
|
||||
}
|
||||
}catch (IOException ignore){}
|
||||
}catch (IOException ignore){}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+3
-5
@@ -1,4 +1,4 @@
|
||||
package com.lukasabbe.bookshelfinspector;
|
||||
package com.lukasabbe.bookshelfinspector.util;
|
||||
|
||||
import com.lukasabbe.bookshelfinspector.platform.handlers.OnPlayerDisconnectEvent;
|
||||
import com.lukasabbe.bookshelfinspector.platform.handlers.OnPlayerJoinEvent;
|
||||
@@ -17,12 +17,10 @@ public class EventHandler {
|
||||
public static void initClient(){
|
||||
NeoForge.EVENT_BUS.addListener(EventHandler::onDisconnect);
|
||||
}
|
||||
public static void initServer(){
|
||||
NeoForge.EVENT_BUS.addListener(EventHandler::onJoin);
|
||||
}
|
||||
public static void initServer(){ NeoForge.EVENT_BUS.addListener(EventHandler::onJoin); }
|
||||
|
||||
private static void onJoin(PlayerEvent.PlayerLoggedInEvent event){
|
||||
playerJoinEvents.forEach(onPlayerJoinEvent -> onPlayerJoinEvent.onPlayerJoin((ServerPlayer) event.getEntity(),event.getEntity().getServer()));
|
||||
playerJoinEvents.forEach(onPlayerJoinEvent -> onPlayerJoinEvent.onPlayerJoin((ServerPlayer) event.getEntity(), ((ServerPlayer)event.getEntity()).level().getServer()));
|
||||
}
|
||||
|
||||
private static void onDisconnect(ClientPlayerNetworkEvent.LoggingOut event){
|
||||
+4
-3
@@ -1,5 +1,7 @@
|
||||
package com.lukasabbe.bookshelfinspector;
|
||||
package com.lukasabbe.bookshelfinspector.util;
|
||||
|
||||
import com.lukasabbe.bookshelfinspector.BookshelfInspector;
|
||||
import com.lukasabbe.bookshelfinspector.Constants;
|
||||
import com.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryPayload;
|
||||
import com.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryRequestPayload;
|
||||
import com.lukasabbe.bookshelfinspector.network.packets.LecternInventoryRequestPayload;
|
||||
@@ -7,7 +9,6 @@ import com.lukasabbe.bookshelfinspector.network.packets.ModCheckPayload;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.neoforged.bus.api.SubscribeEvent;
|
||||
import net.neoforged.neoforge.network.event.RegisterConfigurationTasksEvent;
|
||||
import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent;
|
||||
import net.neoforged.neoforge.network.registration.PayloadRegistrar;
|
||||
|
||||
@@ -15,7 +16,7 @@ public class NetworkHandler {
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerPayloads(final RegisterPayloadHandlersEvent event){
|
||||
final PayloadRegistrar registrar = event.registrar("bookshelfinspector").optional();
|
||||
final PayloadRegistrar registrar = event.registrar(Constants.MOD_ID).optional();
|
||||
registrar.playToClient(
|
||||
BookShelfInventoryPayload.ID,
|
||||
BookShelfInventoryPayload.CODEC,
|
||||
@@ -11,3 +11,15 @@ authors = "${mod_author}" #optional
|
||||
description = '''${description}''' #mandatory (Supports multiline text)
|
||||
[[mixins]]
|
||||
config = "${mod_id}.mixins.json"
|
||||
[[dependencies.${mod_id}]] #optional
|
||||
modId = "neoforge" #mandatory
|
||||
type = "required" #mandatory (Can be one of "required", "optional", "incompatible" or "discouraged")
|
||||
versionRange = "[${neoforge_version},)" #mandatory
|
||||
ordering = "NONE" # The order that this dependency should load in relation to your mod, required to be either 'BEFORE' or 'AFTER' if the dependency is not mandatory
|
||||
side = "BOTH" # Side this dependency is applied on - 'BOTH', 'CLIENT' or 'SERVER'
|
||||
[[dependencies.${mod_id}]]
|
||||
modId = "minecraft"
|
||||
type="required" #mandatory (Can be one of "required", "optional", "incompatible" or "discouraged")
|
||||
versionRange = "${minecraft_version_range}"
|
||||
ordering = "NONE"
|
||||
side = "BOTH"
|
||||
+4
-13
@@ -3,18 +3,11 @@ pluginManagement {
|
||||
gradlePluginPortal()
|
||||
mavenCentral()
|
||||
|
||||
exclusiveContent {
|
||||
forRepository {
|
||||
maven {
|
||||
name = 'Fabric'
|
||||
url = uri('https://maven.fabricmc.net')
|
||||
}
|
||||
}
|
||||
filter {
|
||||
includeGroup('net.fabricmc')
|
||||
includeGroup('fabric-loom')
|
||||
}
|
||||
maven {
|
||||
name = 'Fabric'
|
||||
url = uri('https://maven.fabricmc.net')
|
||||
}
|
||||
|
||||
exclusiveContent {
|
||||
forRepository {
|
||||
maven {
|
||||
@@ -49,5 +42,3 @@ rootProject.name = 'BookshelfInspectorMultiloader'
|
||||
include('common')
|
||||
include('fabric')
|
||||
include('neoforge')
|
||||
|
||||
include 'spigot'
|
||||
Reference in New Issue
Block a user