diff --git a/justfile b/justfile index fcb25da..59f816a 100644 --- a/justfile +++ b/justfile @@ -49,4 +49,5 @@ build: just create-patches ./recompile.sh ./reobfuscate.sh - (cd ./reobf/minecraft && zip -r "../../builds/${modName}-${modVersion}-modloader.zip" ./*) + for file in $(fd . ./lib ".jar"); do unzip -qo "$file" -d "./reobf/minecraft/"; done + (cd ./reobf/minecraft && zip -qr "../../builds/${modName}-${modVersion}-modloader.zip" ./*) diff --git a/src/minecraft/net/minecraft/src/BlockBed.java.patch b/src/minecraft/net/minecraft/src/BlockBed.java.patch index 790ecac..b3c13e2 100644 --- a/src/minecraft/net/minecraft/src/BlockBed.java.patch +++ b/src/minecraft/net/minecraft/src/BlockBed.java.patch @@ -1,10 +1,18 @@ --- BlockBed.java.bak 2025-04-04 22:37:36.783594000 +0300 -+++ BlockBed.java 2025-04-05 00:03:29.834894265 +0300 -@@ -22,6 +22,9 @@ ++++ BlockBed.java 2025-04-05 20:34:45.887405008 +0300 +@@ -5,6 +5,7 @@ + package net.minecraft.src; + + import java.util.*; ++import net.minecraft.src.finalbeta.ModConfig; + + // Referenced classes of package net.minecraft.src: + // Block, Material, World, WorldProvider, +@@ -22,6 +23,9 @@ public boolean blockActivated(World world, int i, int j, int k, EntityPlayer entityplayer) { -+ if (true) { ++ if (ModConfig.DISABLE_BEDS.get()) { + return false; + } if(world.multiplayerWorld) diff --git a/src/minecraft/net/minecraft/src/BlockReed.java.patch b/src/minecraft/net/minecraft/src/BlockReed.java.patch index d727f64..607cd92 100644 --- a/src/minecraft/net/minecraft/src/BlockReed.java.patch +++ b/src/minecraft/net/minecraft/src/BlockReed.java.patch @@ -1,11 +1,20 @@ --- BlockReed.java.bak 2025-04-04 22:55:28.995768000 +0300 -+++ BlockReed.java 2025-04-05 00:03:29.836894244 +0300 -@@ -50,7 +50,7 @@ ++++ BlockReed.java 2025-04-05 20:34:20.143731179 +0300 +@@ -5,6 +5,7 @@ + package net.minecraft.src; + + import java.util.Random; ++import net.minecraft.src.finalbeta.ModConfig; + + // Referenced classes of package net.minecraft.src: + // Block, Material, World, BlockGrass, +@@ -50,7 +51,8 @@ { return true; } - if(l != Block.grass.blockID && l != Block.dirt.blockID) -+ if(l != Block.grass.blockID && l != Block.dirt.blockID && l != Block.sand.blockID) ++ boolean canPlaceOnSand = ModConfig.SUGAR_CANE_ON_SAND.get() && l == Block.sand.blockID; ++ if(l != Block.grass.blockID && l != Block.dirt.blockID && !canPlaceOnSand) { return false; } diff --git a/src/minecraft/net/minecraft/src/finalbeta/ModConfig.java b/src/minecraft/net/minecraft/src/finalbeta/ModConfig.java new file mode 100644 index 0000000..7bb6bc1 --- /dev/null +++ b/src/minecraft/net/minecraft/src/finalbeta/ModConfig.java @@ -0,0 +1,138 @@ +package net.minecraft.src.finalbeta; + +import java.util.ArrayList; +import java.util.List; +import com.electronwill.nightconfig.core.file.CommentedFileConfig; +import com.electronwill.nightconfig.core.file.CommentedFileConfigBuilder; + +public class ModConfig { + private static final String CONFIG_PATH = "config/finalbeta.toml"; + private static final List