fix: make ore generation biome-specific and add command permissions

- Replace overworld-wide ore spawning with biome-specific generation
- Delete add_custom_ores.json that caused ores to spawn everywhere
- Create 6 biome-specific modifiers:
  * add_cold_biomes_ores.json - Lapis, concentrated diamond
  * add_hot_biomes_ores.json - Pure gold, copper, redstone
  * add_mountain_biomes_ores.json - High emerald
  * add_rare_biomes_ores.json - Lower emerald
  * add_tempered_biomes_ores.json - Iron, concentrated coal
  * add_shard_diamond_ores.json - Shard diamond (all biomes)
- Add permission level 2 requirement to /ores and /ore commands

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
feldenr
2026-02-03 14:06:50 +01:00
parent 9e9c4d28d6
commit 3ef6f03244
8 changed files with 63 additions and 23 deletions
@@ -65,10 +65,13 @@ public class OresCommand {
public static void onRegisterCommands(RegisterCommandsEvent event) { public static void onRegisterCommands(RegisterCommandsEvent event) {
CommandDispatcher<CommandSourceStack> dispatcher = event.getDispatcher(); CommandDispatcher<CommandSourceStack> dispatcher = event.getDispatcher();
// Niveau de permission 2 = OP (Admin level)
dispatcher.register(Commands.literal("ores") dispatcher.register(Commands.literal("ores")
.requires(source -> source.hasPermission(2))
.executes(OresCommand::executeOres)); .executes(OresCommand::executeOres));
dispatcher.register(Commands.literal("ore") dispatcher.register(Commands.literal("ore")
.requires(source -> source.hasPermission(2))
.executes(OresCommand::executeOres)); .executes(OresCommand::executeOres));
} }
@@ -0,0 +1,10 @@
{
"type": "neoforge:add_features",
"biomes": "#custom_ore_gen:cold_biomes",
"features": [
"custom_ore_gen:lapisore",
"custom_ore_gen:deepslatelapisore",
"custom_ore_gen:deepslatediamondore"
],
"step": "underground_ores"
}
@@ -1,23 +0,0 @@
{
"type": "neoforge:add_features",
"biomes": "#minecraft:is_overworld",
"features": [
"custom_ore_gen:sharddiamondblockore",
"custom_ore_gen:puregoldenore",
"custom_ore_gen:deepslatepuregoldenore",
"custom_ore_gen:concentratedcoalore",
"custom_ore_gen:deepslatesharddiamondore",
"custom_ore_gen:deepslatediamondore",
"custom_ore_gen:lapisore",
"custom_ore_gen:deepslatelapisore",
"custom_ore_gen:redstoneore",
"custom_ore_gen:deepslateredstoneore",
"custom_ore_gen:copperhighore",
"custom_ore_gen:copperlowerore",
"custom_ore_gen:highemeraldore",
"custom_ore_gen:loweremeraldore",
"custom_ore_gen:ironore",
"custom_ore_gen:deepslateironore"
],
"step": "underground_ores"
}
@@ -0,0 +1,13 @@
{
"type": "neoforge:add_features",
"biomes": "#custom_ore_gen:hot_biomes",
"features": [
"custom_ore_gen:puregoldenore",
"custom_ore_gen:deepslatepuregoldenore",
"custom_ore_gen:copperhighore",
"custom_ore_gen:copperlowerore",
"custom_ore_gen:redstoneore",
"custom_ore_gen:deepslateredstoneore"
],
"step": "underground_ores"
}
@@ -0,0 +1,8 @@
{
"type": "neoforge:add_features",
"biomes": "#custom_ore_gen:mountain_biomes",
"features": [
"custom_ore_gen:highemeraldore"
],
"step": "underground_ores"
}
@@ -0,0 +1,8 @@
{
"type": "neoforge:add_features",
"biomes": "#custom_ore_gen:rare_biomes",
"features": [
"custom_ore_gen:loweremeraldore"
],
"step": "underground_ores"
}
@@ -0,0 +1,11 @@
{
"type": "neoforge:add_features",
"biomes": {
"type": "neoforge:any"
},
"features": [
"custom_ore_gen:sharddiamondblockore",
"custom_ore_gen:deepslatesharddiamondore"
],
"step": "underground_ores"
}
@@ -0,0 +1,10 @@
{
"type": "neoforge:add_features",
"biomes": "#custom_ore_gen:tempered_biomes",
"features": [
"custom_ore_gen:ironore",
"custom_ore_gen:deepslateironore",
"custom_ore_gen:concentratedcoalore"
],
"step": "underground_ores"
}