8 Commits

Author SHA1 Message Date
feldenr 3ef6f03244 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>
2026-02-03 14:06:50 +01:00
felden.r@grenoble.archi.fr 9e9c4d28d6 fix: resolve crash at startup by checking if config is loaded 2026-02-03 11:32:50 +01:00
felden.r@grenoble.archi.fr d0ae2916ad fix: resolve build errors and link tool/armor stats to config 2026-02-03 11:23:06 +01:00
felden.r@grenoble.archi.fr 7bd578797b chore: align ore drops and XP with vanilla 1.21 and add AGENTS.md guide 2026-02-03 09:23:25 +01:00
feldenr 93bb4afb97 refactor: cleanup block classes and migrate tests to NeoForge
- Removed onDestroyedByPlayer from blocks (now handled by OreBreakEventHandler)
- Updated tests to use NeoForge classes (ModConfigSpec instead of ForgeConfigSpec)
- Fixed EnchantabilityFix annotation and commented out placeholder code
- Updated pack.mcmeta format for 1.21.1
2026-02-02 23:21:11 +01:00
feldenr 0fa495474b fix: register config and update recipe formats for 1.21.1
- Registered ModConfigs.SPEC in CustomOreGenMod to avoid IllegalStateException
- Updated all recipe JSONs to use 'id' instead of 'item' in result fields
- Renamed mekanism recipes folder to match 1.21.1 conventions
2026-02-02 23:20:17 +01:00
feldenr bca6034dd7 fix: restore ore drops and make them configurable via procedure
- Renamed data folders to 1.21.1 standards (singular names)
- Implemented OreBreakEventHandler to call ConfigurableOreDropsProcedure
- Updated procedure and config to handle all custom and variant ores
- Modified loot tables to only handle Silk Touch (manual drops via procedure)
- Fixed missing drops issue caused by folder name mismatch in 1.21.1
2026-02-02 23:11:42 +01:00
feldenr 4b9a4b0a05 Fix custom ore drops and tool enchantability for 1.21 2026-02-02 22:24:52 +01:00
231 changed files with 3320 additions and 4318 deletions
+6 -1
View File
@@ -30,7 +30,12 @@
"Bash(dir \"C:\\\\Program Files\\\\Eclipse Adoptium\")", "Bash(dir \"C:\\\\Program Files\\\\Eclipse Adoptium\")",
"Bash(\"C:\\\\Program Files\\\\Java\\\\latest\\\\bin\\\\java.exe\":*)", "Bash(\"C:\\\\Program Files\\\\Java\\\\latest\\\\bin\\\\java.exe\":*)",
"Bash(/c/Program Files/Java/latest/bin/java.exe:*)", "Bash(/c/Program Files/Java/latest/bin/java.exe:*)",
"Bash(/c/Program Files/Java/jdk-24/bin/java.exe:*)" "Bash(/c/Program Files/Java/jdk-24/bin/java.exe:*)",
"Bash(git show:*)",
"Bash(git fetch:*)",
"Bash(git pull:*)",
"Bash(set:*)",
"Bash(JAVA_HOME=/c/Program Files/Java/jdk-24 ./gradlew:*)"
] ]
} }
} }
Binary file not shown.
Binary file not shown.
+28
View File
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>custom_ore_gem</name>
<comment>Project custom_ore_gem created by Buildship.</comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
</natures>
<filteredResources>
<filter>
<id>1770104171004</id>
<name></name>
<type>30</type>
<matcher>
<id>org.eclipse.core.resources.regexFilterMatcher</id>
<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>
@@ -0,0 +1,13 @@
arguments=--init-script C\:\\Users\\felden.r\\.local\\share\\opencode\\bin\\jdtls\\config_win\\org.eclipse.osgi\\58\\0\\.cp\\gradle\\init\\init.gradle
auto.sync=false
build.scans.enabled=false
connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
connection.project.dir=
eclipse.preferences.version=1
gradle.user.home=
java.home=C\:/Program Files/Java/jdk-1.8
jvm.arguments=
offline.mode=false
override.workspace.settings=true
show.console.view=true
show.executions.view=true
+172
View File
@@ -0,0 +1,172 @@
# Custom Ore Gem - Developer Guide for Agents
This repository is a Minecraft **NeoForge 1.21.1** mod created with **MCreator**. Agents must follow these strict guidelines to ensure build stability and code preservation.
## 1. Build & Test Commands
Use the Gradle wrapper for all operations. Ensure you are using Java 21 (NeoForge 1.21.1 requirement).
- **Build Mod:**
```bash
./gradlew build
```
- Generates the mod JAR in `build/libs/`.
- Always run this after making changes to verify compilation.
- **Run Client:**
```bash
./gradlew runClient
```
- **Run Server:**
```bash
./gradlew runServer
```
- **Run Data Generation:**
```bash
./gradlew runData
```
- This generates resources (blockstates, models, loot tables) into `src/generated/resources`.
- **Run All Tests:**
```bash
./gradlew test
```
- **Run Single Test Class:**
```bash
./gradlew test --tests "net.mcreator.customoregen.OresCommandTest"
```
- **Run Single Test Method:**
```bash
./gradlew test --tests "net.mcreator.customoregen.OresCommandTest.testCommandRegistration_ShouldRegisterOresCommand"
```
- **Clean Project:**
```bash
./gradlew clean
```
## 2. MCreator & Code Preservation
**CRITICAL:** This project is partially generated by MCreator.
- **Generated Files:** Many files in `src/main/java` are regenerated on every build or MCreator export.
- **User Code Blocks:** You **MUST** only edit code within designated user code blocks in these files.
```java
// Start of user code block [block_name]
// ... YOUR CODE HERE ...
// End of user code block [block_name]
```
- If a file does not have these blocks, assume it is **UNSAFE** to edit unless you created it yourself.
- **Safe Files:**
- Files strictly created by you (e.g., in `src/test/java`).
- New utility classes or event handlers not managed by MCreator.
- **Do NOT** directly modify the following unless inside a user block:
- `CustomOreGenModBlocks.java`
- `CustomOreGenModItems.java`
- `CustomOreGenModTabs.java`
- Any file in `net.mcreator.customoregen.procedures` (unless explicitly safe).
## 3. Code Style & Conventions
### Formatting
- **Indentation:**
- **Source Code (`src/main`):** Use **TABS** (default MCreator style).
- **Tests (`src/test`):** Use **4 SPACES** (typical for JUnit tests).
- **Consistency:** Always check the current file's indentation before editing.
- **Encoding:** UTF-8.
### Naming
- **Classes:** PascalCase (e.g., `CustomOreGenMod`).
- **Methods:** camelCase (e.g., `queueServerWork`).
- **Constants:** UPPER_SNAKE_CASE (e.g., `MODID`, `COLD_BIOMES_TAG`).
- **Fields:** camelCase (e.g., `workQueue`, `oreGenConfig`).
- **Packages:** `net.mcreator.customoregen` (lowercase).
### Imports
- Group imports in this specific order:
1. Java/Standard Libraries (`java.*`, `javax.*`)
2. Third-party Libraries (e.g., `org.apache.logging.log4j.*`)
3. Minecraft/NeoForge (`net.minecraft.*`, `net.neoforged.*`)
4. Project Classes (`net.mcreator.customoregen.*`)
- Avoid `import *` unless there are many imports from the same package (e.g., `java.util.*` is acceptable if heavily used, but explicit imports are preferred for clarity).
### Logging
- Use `LogManager.getLogger(Class.class)` for loggers.
- Field name: `LOGGER`.
- Log levels: Use `debug` for dev info, `info` for general status, `error` for exceptions.
## 4. Architecture & Patterns
- **Framework:** NeoForge 1.21.1 (Java 21).
- **Registries:** Use `DeferredRegister` for all registries (Blocks, Items, Tabs, SoundEvents).
- Example: `public static final DeferredRegister.Blocks REGISTRY = DeferredRegister.createBlocks(CustomOreGenMod.MODID);`
- **Event Bus:**
- The `@Mod` class registers the `IEventBus`.
- Use `@SubscribeEvent` for event handling.
- Event handlers often reside in `net.mcreator.customoregen.event` or static inner classes annotated with `@EventBusSubscriber`.
- **Configuration:**
- Located in `net.mcreator.customoregen.config.ModConfigs`.
- Uses `ModConfig.Type.COMMON` built with `ModConfigSpec`.
- Access configs via the public static fields (e.g., `ModConfigs.ORE_GEN.shardDiamondOreCount.get()`).
- **Commands:**
- Registered via `RegisterCommandsEvent`.
- Use Brigadier (`CommandDispatcher`, `CommandContext`).
- See `OresCommand.java` for the reference implementation.
## 5. Testing Guidelines
- **Framework:** JUnit 5 (Jupiter) + Mockito.
- **Location:** `src/test/java`.
- **Mocking Strategy:**
- Since a full Minecraft environment is not available in unit tests, you **MUST** mock Minecraft classes.
- Use `@ExtendWith(MockitoExtension.class)`.
- Mock critical classes: `@Mock ServerPlayer player`, `@Mock Level level`, `@Mock BlockPos pos`.
- Stub methods: `when(level.getBiome(pos)).thenReturn(biomeHolder);`.
- **Assertions:** Use `org.junit.jupiter.api.Assertions` (e.g., `assertEquals`, `assertDoesNotThrow`).
## 6. Common Tasks
- **Adding a New Ore:**
1. Create Block & Item (MCreator/Manual).
2. Add JSONs: Loot Table, Configured Feature, Placed Feature, Biome Modifier.
3. Register in `CustomOreGenModBlocks` and `CustomOreGenModItems`.
4. Update `OresCommand.java` lists (e.g., `COLD_ORES`, `HOT_ORES`) to make it discoverable.
5. Update `OreBreakEventHandler.java` if it has custom drops logic.
6. Add to `ModConfigs.java` for generation parameters (vein size, count, etc.).
- **Modifying Logic:**
- Check `procedures/` for game logic (often MCreator generated).
- Check `event/` for event-driven logic.
- Always verify if logic changes need a corresponding test update.
## 7. Safety & Verification
- **Backups:** If you are unsure about MCreator regeneration, backup the file before editing.
- **Verification:**
- Always run `./gradlew build` after changes to ensure no compilation errors.
- If you touch config files, ensure `ModConfigsTest` still passes.
- If you touch commands, ensure `OresCommandTest` still passes.
## 8. Directory Structure
```
src/
├── main/
│ ├── java/net/mcreator/customoregen/
│ │ ├── block/ # Block definitions
│ │ ├── config/ # Configuration classes
│ │ ├── event/ # Event handlers
│ │ ├── init/ # Registration (Blocks, Items, Tabs)
│ │ ├── item/ # Item definitions
│ │ └── procedures/ # Game logic procedures
│ └── resources/ # Assets and data (textures, models, lang)
└── test/
└── java/net/mcreator/customoregen/ # Unit tests
```
+48 -5
View File
@@ -57,6 +57,7 @@ net.mcreator.customoregen/
├── block/ # Ore block classes (17 blocks) ├── block/ # Ore block classes (17 blocks)
├── item/ # Items (Diamond Shard, tools, armor, Paxel, OreBiomeFinder) ├── item/ # Items (Diamond Shard, tools, armor, Paxel, OreBiomeFinder)
├── config/ # NeoForge configuration system (ModConfigs.java) ├── config/ # NeoForge configuration system (ModConfigs.java)
├── event/ # Event handlers (OreBreakEventHandler, EnchantabilityFix)
├── procedures/ # Game logic (ConfigurableOreDropsProcedure, OreexperienceProcedure) ├── procedures/ # Game logic (ConfigurableOreDropsProcedure, OreexperienceProcedure)
└── init/ └── init/
├── CustomOreGenModBlocks.java # Block registry (deferred register) ├── CustomOreGenModBlocks.java # Block registry (deferred register)
@@ -76,13 +77,13 @@ The mod uses **NeoForge** biome modifiers to distribute ores based on biome temp
- `tempered_biomes.json` - Temperate biomes (iron, concentrated coal) - `tempered_biomes.json` - Temperate biomes (iron, concentrated coal)
- BOP biomes are included with `"required": false` for optional compatibility - BOP biomes are included with `"required": false` for optional compatibility
2. **Biome Modifiers** (`src/main/resources/data/custom_ore_gen/forge/biome_modifier/`): 2. **Biome Modifiers** (`src/main/resources/data/custom_ore_gen/neoforge/biome_modifier/`):
- Each ore has a JSON file linking it to biome tags - Each ore has a JSON file linking it to biome tags
- Special case: `deepslatesharddiamondore_biome_modifier.json` uses `"type": "forge:any"` for all biomes - Special case: `deepslatesharddiamondore_biome_modifier.json` uses `"type": "forge:any"` for all biomes
- **JSON Structure**: - **JSON Structure**:
```json ```json
{ {
"type": "forge:add_features", "type": "neoforge:add_features",
"biomes": "custom_ore_gen:cold_biomes", // or {"type": "forge:any"} for all biomes "biomes": "custom_ore_gen:cold_biomes", // or {"type": "forge:any"} for all biomes
"features": "custom_ore_gen:deepslatesharddiamondore", "features": "custom_ore_gen:deepslatesharddiamondore",
"step": "underground_ores" "step": "underground_ores"
@@ -111,10 +112,11 @@ Located in `src/main/java/net/mcreator/customoregen/config/`:
- Generated config file: `config/custom_ore_gen-common.toml` (created on first run) - Generated config file: `config/custom_ore_gen-common.toml` (created on first run)
**Current Implementation Status**: **Current Implementation Status**:
- **✅ Ore Drops**: Fully implemented via `OreBreakEventHandler.java` which listens to `BlockEvent.BreakEvent` and calls `ConfigurableOreDropsProcedure.execute()` for all custom ores
- **⚠️ Tool Stats**: Config classes exist in `ModConfigs.java`, but tools currently have hardcoded values (e.g., `SharddiamondpickaxeItem.java:18` has `return 200` for durability). Config reading not yet implemented. - **⚠️ Tool Stats**: Config classes exist in `ModConfigs.java`, but tools currently have hardcoded values (e.g., `SharddiamondpickaxeItem.java:18` has `return 200` for durability). Config reading not yet implemented.
- **⚠️ Ore Drops**: `ConfigurableOreDropsProcedure.java` exists but requires MCreator integration to link to block loot tables
- **⚠️ Feature Toggles**: Defined in `FeatureToggleConfig` but not yet wired to block/item registration conditional logic - **⚠️ Feature Toggles**: Defined in `FeatureToggleConfig` but not yet wired to block/item registration conditional logic
- **⚠️ Ore Generation**: Config values exist but worldgen JSON files still use hardcoded values - **⚠️ Ore Generation**: Config values exist but worldgen JSON files still use hardcoded values
- **⚠️ Enchantability**: `EnchantabilityFix.java` exists but is commented out - enchantment values not yet applied to items
### Ore Biome Finder ### Ore Biome Finder
@@ -131,12 +133,13 @@ The `OreBiomeFinderItem` (`item/OreBiomeFinderItem.java`) and `/ores` command (`
To add a new ore type (requires MCreator for full integration): To add a new ore type (requires MCreator for full integration):
1. **Create the block** in MCreator with proper properties (sound type, harvest level, etc.) 1. **Create the block** in MCreator with proper properties (sound type, harvest level, etc.)
2. **Add loot table** at `src/main/resources/data/custom_ore_gen/loot_tables/blocks/{orename}.json` 2. **Add loot table** at `src/main/resources/data/custom_ore_gen/loot_table/blocks/{orename}.json` (note: `loot_table` not `loot_tables`)
3. **Add configured_feature** JSON in `src/main/resources/data/custom_ore_gen/worldgen/configured_feature/` 3. **Add configured_feature** JSON in `src/main/resources/data/custom_ore_gen/worldgen/configured_feature/`
4. **Add placed_feature** JSON in `src/main/resources/data/custom_ore_gen/worldgen/placed_feature/` 4. **Add placed_feature** JSON in `src/main/resources/data/custom_ore_gen/worldgen/placed_feature/`
5. **Create biome_modifier** JSON in `src/main/resources/data/custom_ore_gen/forge/biome_modifier/` linking to a biome tag (or create a new tag in `tags/worldgen/biome/`) 5. **Create biome_modifier** JSON in `src/main/resources/data/custom_ore_gen/neoforge/biome_modifier/` linking to a biome tag (or create a new tag in `tags/worldgen/biome/`)
6. **Add BOP entries** (optional) to appropriate biome tag JSON files with `"required": false` wrapper 6. **Add BOP entries** (optional) to appropriate biome tag JSON files with `"required": false` wrapper
7. **Update `OreBiomeFinderItem.java`** to add the new ore to the appropriate category list 7. **Update `OreBiomeFinderItem.java`** to add the new ore to the appropriate category list
8. **Add ore type mapping** in `OreBreakEventHandler.java` if you want configurable drops via `ConfigurableOreDropsProcedure`
## User Code Sections ## User Code Sections
@@ -156,6 +159,36 @@ public static final Supplier<Item> ORE_BIOME_FINDER = REGISTRY.register("ore_bio
**Important**: Custom items like the Ore Biome Finder, Shard Diamond armor, and Paxel are registered in this protected section and will survive MCreator rebuilds. **Important**: Custom items like the Ore Biome Finder, Shard Diamond armor, and Paxel are registered in this protected section and will survive MCreator rebuilds.
## Event Handlers
The mod uses NeoForge's event system for ore processing:
### OreBreakEventHandler
- Listens to `BlockEvent.BreakEvent` with `@SubscribeEvent`
- Maps custom ore blocks to ore type strings (`shard_diamond`, `concentrated_coal`, `pure_golden`, etc.)
- Calls `ConfigurableOreDropsProcedure.execute()` with ore type when player breaks ore with correct tool
- Supports 10 ore types: shard_diamond, concentrated_coal, pure_golden, impure_iron, concentrated_diamond, lapis, redstone, emerald, copper
### EnchantabilityFix
- Uses `ModifyDefaultComponentsEvent` to set enchantability values on tools and armor
- Currently **commented out** - enchantability not yet applied
- When active, should set `DataComponents.ENCHANTABLE` with value 9 (tools) or 14 (armor)
## Loot Table Format
NeoForge 1.21 uses `loot_table` (singular) instead of `loot_tables` (plural):
- Location: `src/main/resources/data/custom_ore_gen/loot_table/blocks/{orename}.json`
- Includes Silk Touch support via `match_tool` condition
- Uses `random_sequence` for loot table randomization
- Example structure in `deepslatesharddiamondore.json` shows Silk Touch → drop block, otherwise drops handled by `OreBreakEventHandler`
## Vanilla Ore Removal
The mod removes vanilla ores via NeoForge biome modifiers (NOT KubeJS anymore):
- `src/main/resources/data/custom_ore_gen/neoforge/biome_modifier/remove_vanilla_ores.json`
- Uses `neoforge:remove_features` type to remove vanilla ore generation
- This replaces the old KubeJS automatic script system from Forge 1.20.1
## Biomes O' Plenty Integration ## Biomes O' Plenty Integration
The mod includes BOP biome support through biome tag entries. BOP biomes are wrapped with: The mod includes BOP biome support through biome tag entries. BOP biomes are wrapped with:
@@ -175,6 +208,16 @@ After making changes:
2. Run `./gradlew runClient` to test in-game 2. Run `./gradlew runClient` to test in-game
3. Check logs in `run/logs/` for errors 3. Check logs in `run/logs/` for errors
## Enchantment Tags
The mod includes enchantment tags at `src/main/resources/data/minecraft/tags/item/enchantable/`:
- **armor.json** - Marks Shard Diamond armor pieces as enchantable
- **durability.json** - Marks tools and armor for durability enchantments
- **mining.json** - Marks pickaxes, shovels, and paxel as mining tools
- **weapon.json** - Marks axes as weapons
These tags enable proper enchantment behavior for custom items in the enchanting table and anvil.
## Important Notes ## Important Notes
### README Disclaimer ### README Disclaimer
@@ -1,6 +0,0 @@
{
"type": "forge:add_features",
"biomes": "#custom_ore_gen:tempered_biomes",
"features": "custom_ore_gen:concentratedcoalore",
"step": "underground_ores"
}
@@ -1,6 +0,0 @@
{
"type": "forge:add_features",
"biomes": "#custom_ore_gen:hot_biomes",
"features": "custom_ore_gen:copperhighore",
"step": "underground_ores"
}
@@ -1,6 +0,0 @@
{
"type": "forge:add_features",
"biomes": "#custom_ore_gen:hot_biomes",
"features": "custom_ore_gen:copperlowerore",
"step": "underground_ores"
}
@@ -1,6 +0,0 @@
{
"type": "forge:add_features",
"biomes": "#custom_ore_gen:cold_biomes",
"features": "custom_ore_gen:deepslatediamondore",
"step": "underground_ores"
}
@@ -1,6 +0,0 @@
{
"type": "forge:add_features",
"biomes": "#custom_ore_gen:tempered_biomes",
"features": "custom_ore_gen:deepslateironore",
"step": "underground_ores"
}
@@ -1,6 +0,0 @@
{
"type": "forge:add_features",
"biomes": "#custom_ore_gen:cold_biomes",
"features": "custom_ore_gen:deepslatelapisore",
"step": "underground_ores"
}
@@ -1,6 +0,0 @@
{
"type": "forge:add_features",
"biomes": "#custom_ore_gen:hot_biomes",
"features": "custom_ore_gen:deepslatepuregoldenore",
"step": "underground_ores"
}
@@ -1,6 +0,0 @@
{
"type": "forge:add_features",
"biomes": "#custom_ore_gen:hot_biomes",
"features": "custom_ore_gen:deepslateredstoneore",
"step": "underground_ores"
}
@@ -1,8 +0,0 @@
{
"type": "forge:add_features",
"biomes": {
"type": "forge:any"
},
"features": "custom_ore_gen:deepslatesharddiamondore",
"step": "underground_ores"
}
@@ -1,6 +0,0 @@
{
"type": "forge:add_features",
"biomes": "#custom_ore_gen:mountain_biomes",
"features": "custom_ore_gen:highemeraldore",
"step": "underground_ores"
}
@@ -1,6 +0,0 @@
{
"type": "forge:add_features",
"biomes": "#custom_ore_gen:tempered_biomes",
"features": "custom_ore_gen:ironore",
"step": "underground_ores"
}
@@ -1,6 +0,0 @@
{
"type": "forge:add_features",
"biomes": "#custom_ore_gen:cold_biomes",
"features": "custom_ore_gen:lapisore",
"step": "underground_ores"
}
@@ -1,6 +0,0 @@
{
"type": "forge:add_features",
"biomes": "#custom_ore_gen:rare_biomes",
"features": "custom_ore_gen:loweremeraldore",
"step": "underground_ores"
}
@@ -1,6 +0,0 @@
{
"type": "forge:add_features",
"biomes": "#custom_ore_gen:hot_biomes",
"features": "custom_ore_gen:puregoldenore",
"step": "underground_ores"
}
@@ -1,6 +0,0 @@
{
"type": "forge:add_features",
"biomes": "#custom_ore_gen:hot_biomes",
"features": "custom_ore_gen:redstoneore",
"step": "underground_ores"
}
@@ -1,8 +0,0 @@
{
"type": "forge:add_features",
"biomes": {
"type": "forge:any"
},
"features": "custom_ore_gen:sharddiamondblockore",
"step": "underground_ores"
}
@@ -1,82 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:coal",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 2
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:coal_ore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/concentratedcoalore"
}
@@ -1,85 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": {
"min": 1,
"max": 2
},
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:raw_copper",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 2,
"max": 5
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:copper_ore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/copperhighore"
}
@@ -1,85 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": {
"min": 1,
"max": 2
},
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:raw_copper",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 2,
"max": 6
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:deepslate_copper_ore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/copperlowerore"
}
@@ -1,82 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:diamond",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 2
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:diamond_ore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/deepslatediamondore"
}
@@ -1,82 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:raw_iron",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "custom_ore_gen:deepslateironore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/deepslateironore"
}
@@ -1,90 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:lapis_lazuli",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 4,
"max": 6
}
},
{
"function": "enchant_with_levels",
"treasure": true,
"levels": {
"min": 1,
"max": 10
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:deepslate_lapis_ore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/deepslatelapisore"
}
@@ -1,89 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": {
"min": 1,
"max": 2
},
"bonus_rolls": {
"min": 1,
"max": 2
},
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:raw_gold",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 2
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:gold_ore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/deepslatepuregoldenore"
}
@@ -1,85 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": {
"min": 1,
"max": 2
},
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:redstone",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 4,
"max": 6
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:deepslate_redstone_ore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/deepslateredstoneore"
}
@@ -1,82 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "custom_ore_gen:diamondshard",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 2
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "custom_ore_gen:deepslatesharddiamondore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/deepslatesharddiamondore"
}
@@ -1,82 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:emerald",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:emerald_ore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/highemeraldore"
}
@@ -1,82 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:raw_iron",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:iron_ore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/ironore"
}
@@ -1,90 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:lapis_lazuli",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 4,
"max": 8
}
},
{
"function": "enchant_with_levels",
"treasure": true,
"levels": {
"min": 0,
"max": 5
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:lapis_ore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/lapisore"
}
@@ -1,82 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:emerald",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 2
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:deepslate_emerald_ore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/loweremeraldore"
}
@@ -1,89 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": {
"min": 1,
"max": 2
},
"bonus_rolls": {
"min": 1,
"max": 2
},
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:raw_gold",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 2
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:gold_ore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/puregoldenore"
}
@@ -1,82 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:redstone",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 4,
"max": 5
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:redstone_ore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/redstoneore"
}
@@ -1,82 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "custom_ore_gen:diamondshard",
"weight": 1,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 2
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "custom_ore_gen:sharddiamondblockore",
"weight": 1,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 1
}
}
]
}
]
}
],
"random_sequence": "custom_ore_gen:blocks/sharddiamondblockore"
}
@@ -1,18 +0,0 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"pattern": [
"aaa",
"aaa",
"aaa"
],
"key": {
"a": {
"item": "custom_ore_gen:diamondshard"
}
},
"result": {
"item": "minecraft:diamond",
"count": 1
}
}
@@ -1,21 +0,0 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"pattern": [
"aaa",
" b ",
" b "
],
"key": {
"a": {
"item": "custom_ore_gen:diamondshard"
},
"b": {
"item": "minecraft:stick"
}
},
"result": {
"item": "custom_ore_gen:sharddiamondpickaxe",
"count": 1
}
}
@@ -1,24 +0,0 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"pattern": [
"DSD",
"SCS",
"DSD"
],
"key": {
"D": {
"item": "custom_ore_gen:diamondshard"
},
"S": {
"item": "minecraft:soul_sand"
},
"C": {
"item": "minecraft:soul_soil"
}
},
"result": {
"item": "minecraft:sculk_catalyst",
"count": 1
}
}
@@ -1,21 +0,0 @@
{
"type": "minecraft:crafting_shaped",
"category": "equipment",
"pattern": [
"aDa",
"a a",
"a a"
],
"key": {
"a": {
"item": "custom_ore_gen:diamondshard"
},
"D": {
"item": "minecraft:diamond"
}
},
"result": {
"item": "custom_ore_gen:sharddiamondleggings",
"count": 1
}
}
@@ -1,27 +0,0 @@
{
"type": "minecraft:crafting_shaped",
"category": "equipment",
"pattern": [
"PSA",
" T ",
" T "
],
"key": {
"P": {
"item": "custom_ore_gen:sharddiamondpickaxe"
},
"S": {
"item": "custom_ore_gen:sharddiamondshovel"
},
"A": {
"item": "custom_ore_gen:sharddiamondaxe"
},
"T": {
"item": "minecraft:stick"
}
},
"result": {
"item": "custom_ore_gen:sharddiamondpaxel",
"count": 1
}
}
@@ -1,12 +0,0 @@
{
"type": "mekanism:enriching",
"input": {
"ingredient": {
"tag": "forge:ores/shard_diamond"
}
},
"output": {
"item": "custom_ore_gen:diamondshard",
"count": 2
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"pack": { "pack": {
"pack_format": 15, "pack_format": 48,
"description": "Changement de la distribution des ressources sur Minecraft, ne pas utilisé seul sans KubeJS" "description": "Changement de la distribution des ressources sur Minecraft, ne pas utilisé seul sans KubeJS"
} }
} }
Binary file not shown.
-123
View File
@@ -1,123 +0,0 @@
// Custom Ore Gem - Commande pour voir les minerais du biome actuel
// Placez ce fichier dans: kubejs/server_scripts/
// Commande: /ores
ServerEvents.commandRegistry(event => {
const oresByBiome = {
// Biomes froids (taiga, snowy_*, frozen_*, ice_spikes, grove, cold_ocean)
cold: {
biomes: ['minecraft:taiga', 'minecraft:frozen_ocean', 'minecraft:frozen_river',
'minecraft:snowy_plains', 'minecraft:snowy_beach', 'minecraft:snowy_taiga',
'minecraft:old_growth_pine_taiga', 'minecraft:grove', 'minecraft:snowy_slopes',
'minecraft:jagged_peaks', 'minecraft:frozen_peaks', 'minecraft:cold_ocean',
'minecraft:deep_cold_ocean', 'minecraft:deep_frozen_ocean', 'minecraft:ice_spikes'],
ores: ['Lapis (stone)', 'Lapis (deepslate)', 'Diamant Concentre']
},
// Biomes chauds (desert, jungle, savanna, badlands)
hot: {
biomes: ['minecraft:desert', 'minecraft:jungle', 'minecraft:sparse_jungle',
'minecraft:savanna', 'minecraft:savanna_plateau', 'minecraft:stony_peaks',
'minecraft:warm_ocean', 'minecraft:windswept_savanna', 'minecraft:eroded_badlands',
'minecraft:bamboo_jungle', 'minecraft:mangrove_swamp', 'minecraft:badlands',
'minecraft:wooded_badlands'],
ores: ['Or Pur (stone)', 'Or Pur (deepslate)', 'Redstone (stone)',
'Redstone (deepslate)', 'Cuivre (haut)', 'Cuivre (bas)']
},
// Biomes montagnes (peaks, slopes, meadow)
mountain: {
biomes: ['minecraft:jagged_peaks', 'minecraft:frozen_peaks', 'minecraft:stony_peaks',
'minecraft:savanna_plateau', 'minecraft:wooded_badlands', 'minecraft:meadow',
'minecraft:grove', 'minecraft:snowy_slopes', 'minecraft:windswept_hills'],
ores: ['Emeraude (haute altitude)']
},
// Biomes tempérés (plains, forest, swamp, coniferous)
tempered: {
biomes: ['minecraft:plains', 'minecraft:snowy_plains', 'minecraft:meadow',
'minecraft:sunflower_plains', 'minecraft:swamp', 'minecraft:mangrove_swamp',
'minecraft:taiga', 'minecraft:snowy_taiga', 'minecraft:old_growth_pine_taiga',
'minecraft:grove', 'minecraft:cherry_grove', 'minecraft:windswept_hills',
'minecraft:windswept_forest', 'minecraft:beach', 'minecraft:river', 'minecraft:stony_shore',
'minecraft:ocean', 'minecraft:lukewarm_ocean', 'minecraft:deep_ocean',
'minecraft:deep_lukewarm_ocean', 'minecraft:dripstone_caves', 'minecraft:lush_caves'],
ores: ['Charbon Concentre', 'Fer (stone)', 'Fer (deepslate)']
},
// Biomes rares (mushroom_fields, flower_forest, ice_spikes, etc.)
rare: {
biomes: ['minecraft:mushroom_fields', 'minecraft:sparse_jungle', 'minecraft:savanna_plateau',
'minecraft:sunflower_plains', 'minecraft:windswept_gravelly_hills',
'minecraft:flower_forest', 'minecraft:ice_spikes', 'minecraft:old_growth_birch_forest',
'minecraft:old_growth_spruce_taiga', 'minecraft:windswept_savanna',
'minecraft:eroded_badlands', 'minecraft:bamboo_jungle', 'minecraft:deep_dark',
'minecraft:dark_forest'],
ores: ['Emeraude (basse altitude)']
}
}
const oresEverywhere = ['Diamant Shard (deepslate)', 'Bloc Diamant Shard']
// Enregistrement de la commande /ores
const oresCmd = event.register('ores')
oresCmd.executes(function (ctx) {
const player = ctx.source.player
if (!player) {
ctx.source.sendFailure('Cette commande ne peut etre utilisee que par un joueur')
return 1
}
const level = player.getLevel()
const pos = player.blockPosition()
const biomeHolder = level.getBiome(pos)
if (!biomeHolder) {
ctx.source.sendFailure('Impossible de determiner le biome')
return 1
}
const biomeKey = biomeHolder.unwrapKey().toString()
const biomeName = biomeHolder.value().getName().getString()
const biomeId = biomeKey.replace('minecraft:', '').replace(/^.*:/, '')
// Trouver les minerais pour ce biome
const foundOres = Java.to(['empty'], 'java.util.Set')
const foundCategories = []
for (const category in oresByBiome) {
const data = oresByBiome[category]
if (data.biomes.indexOf(biomeKey) >= 0 || data.biomes.indexOf('minecraft:' + biomeId) >= 0) {
for (let i = 0; i < data.ores.length; i++) {
foundOres.add(data.ores[i])
}
foundCategories.push(category)
}
}
// Ajouter les minerais presents partout
for (let i = 0; i < oresEverywhere.length; i++) {
foundOres.add(oresEverywhere[i])
}
// Afficher le resultat
ctx.source.sendSuccess('=== Minerais dans: ' + biomeName + ' ===')
ctx.source.sendSuccess('Biome ID: ' + biomeId)
ctx.source.sendSuccess('Tags: ' + (foundCategories.join(', ') || 'standard'))
if (foundOres.size() > 0) {
ctx.source.sendSuccess('Minerais trouvables:')
const iterator = foundOres.iterator()
while (iterator.hasNext()) {
ctx.source.sendSuccess(' * ' + iterator.next())
}
} else {
ctx.source.sendSuccess('Aucun minerai specifique a ce biome')
}
return 1
})
// Alias /ore
const oreCmd = event.register('ore')
oreCmd.executes(function (ctx) {
ctx.source.server.commands.executeCommand(ctx.source.source, 'ores')
return 1
})
})
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+824 -675
View File
File diff suppressed because it is too large Load Diff
+225 -68
View File
@@ -1,15 +1,15 @@
[02févr.2026 16:32:04.536] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeclientdev, --version, 21.1.219, --assetIndex, 17, --assetsDir, C:\\Users\\felden.r\\.gradle\\caches\\neoformruntime\\assets, --gameDir, ., --fml.fmlVersion, 4.0.42, --fml.mcVersion, 1.21.1, --fml.neoForgeVersion, 21.1.219, --fml.neoFormVersion, 20240808.144430] [03févr.2026 11:23:32.725] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeclientdev, --version, 21.1.219, --assetIndex, 17, --assetsDir, C:\\Users\\felden.r\\.gradle\\caches\\neoformruntime\\assets, --gameDir, ., --fml.fmlVersion, 4.0.42, --fml.mcVersion, 1.21.1, --fml.neoForgeVersion, 21.1.219, --fml.neoFormVersion, 20240808.144430]
[02févr.2026 16:32:04.540] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: JVM identified as Eclipse Adoptium OpenJDK 64-Bit Server VM 21.0.8+9-LTS [03févr.2026 11:23:32.728] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: JVM identified as Eclipse Adoptium OpenJDK 64-Bit Server VM 21.0.8+9-LTS
[02févr.2026 16:32:04.542] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 11.0.5+main.901c6ea8 starting: java version 21.0.8 by Eclipse Adoptium; OS Windows 11 arch amd64 version 10.0 [03févr.2026 11:23:32.730] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 11.0.5+main.901c6ea8 starting: java version 21.0.8 by Eclipse Adoptium; OS Windows 11 arch amd64 version 10.0
[02févr.2026 16:32:04.659] [main/WARN] [net.neoforged.fml.loading.FMLConfig/CORE]: Configuration file C:\Users\felden.r\Desktop\Perso\custom_ore_gen\custom_ore_gem\run\config\fml.toml is not correct. Correcting [03févr.2026 11:23:32.837] [main/WARN] [net.neoforged.fml.loading.FMLConfig/CORE]: Configuration file C:\Users\felden.r\Desktop\Perso\custom_ore_gen\custom_ore_gem\run\config\fml.toml is not correct. Correcting
[02févr.2026 16:32:04.713] [main/INFO] [net.neoforged.fml.loading.ImmediateWindowHandler/]: Loading ImmediateWindowProvider fmlearlywindow [03févr.2026 11:23:32.889] [main/INFO] [net.neoforged.fml.loading.ImmediateWindowHandler/]: Loading ImmediateWindowProvider fmlearlywindow
[02févr.2026 16:32:04.876] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.6 [03févr.2026 11:23:33.084] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.6
[02févr.2026 16:32:04.954] [main/INFO] [EARLYDISPLAY/]: Requested GL version 4.6 got version 4.6 [03févr.2026 11:23:33.178] [main/INFO] [EARLYDISPLAY/]: Requested GL version 4.6 got version 4.6
[02févr.2026 16:32:05.186] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.7 Source=union:/C:/Users/felden.r/.gradle/caches/modules-2/files-2.1/net.fabricmc/sponge-mixin/0.15.2+mixin.0.8.7/2af2f021d8e02a0220dc27a7a72b4666d66d44ca/sponge-mixin-0.15.2+mixin.0.8.7.jar%23138!/ Service=ModLauncher Env=CLIENT [03févr.2026 11:23:33.330] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.7 Source=union:/C:/Users/felden.r/.gradle/caches/modules-2/files-2.1/net.fabricmc/sponge-mixin/0.15.2+mixin.0.8.7/2af2f021d8e02a0220dc27a7a72b4666d66d44ca/sponge-mixin-0.15.2+mixin.0.8.7.jar%23138!/ Service=ModLauncher Env=CLIENT
[02févr.2026 16:32:05.211] [main/WARN] [net.neoforged.fml.loading.FMLConfig/CORE]: Configuration file C:\Users\felden.r\Desktop\Perso\custom_ore_gen\custom_ore_gem\run\config\fml.toml is not correct. Correcting [03févr.2026 11:23:33.346] [main/WARN] [net.neoforged.fml.loading.FMLConfig/CORE]: Configuration file C:\Users\felden.r\Desktop\Perso\custom_ore_gen\custom_ore_gem\run\config\fml.toml is not correct. Correcting
[02févr.2026 16:32:05.536] [pool-2-thread-1/INFO] [EARLYDISPLAY/]: GL info: Intel(R) UHD Graphics GL version 4.6.0 - Build 31.0.101.2135, Intel [03févr.2026 11:23:33.672] [pool-2-thread-1/INFO] [EARLYDISPLAY/]: GL info: Intel(R) UHD Graphics GL version 4.6.0 - Build 31.0.101.2135, Intel
[02févr.2026 16:32:06.095] [main/INFO] [net.neoforged.fml.loading.moddiscovery.locators.JarInJarDependencyLocator/]: Found 4 dependencies adding them to mods collection [03févr.2026 11:23:34.022] [main/INFO] [net.neoforged.fml.loading.moddiscovery.locators.JarInJarDependencyLocator/]: Found 4 dependencies adding them to mods collection
[02févr.2026 16:32:06.097] [main/INFO] [net.neoforged.fml.loading.moddiscovery.ModDiscoverer/]: [03févr.2026 11:23:34.025] [main/INFO] [net.neoforged.fml.loading.moddiscovery.ModDiscoverer/]:
Mod List: Mod List:
Name Version (Mod Id) Name Version (Mod Id)
@@ -20,59 +20,216 @@
Minecraft 1.21.1 (minecraft) Minecraft 1.21.1 (minecraft)
NeoForge 21.1.219 (neoforge) NeoForge 21.1.219 (neoforge)
TerraBlender 4.1.0.8 (terrablender) TerraBlender 4.1.0.8 (terrablender)
[02févr.2026 16:32:08.141] [main/INFO] [mixin/]: Compatibility level set to JAVA_17 [03févr.2026 11:23:35.251] [main/INFO] [mixin/]: Compatibility level set to JAVA_17
[02févr.2026 16:32:08.178] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeclientdev' with arguments [--version, 21.1.219, --gameDir, ., --assetsDir, C:\Users\felden.r\.gradle\caches\neoformruntime\assets, --assetIndex, 17] [03févr.2026 11:23:35.276] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeclientdev' with arguments [--version, 21.1.219, --gameDir, ., --assetsDir, C:\Users\felden.r\.gradle\caches\neoformruntime\assets, --assetIndex, 17]
[02févr.2026 16:32:08.266] [main/WARN] [mixin/]: Reference map 'terrablender.refmap.json' for terrablender.mixins.json could not be read. If this is a development environment you can ignore this message [03févr.2026 11:23:35.344] [main/WARN] [mixin/]: Reference map 'terrablender.refmap.json' for terrablender.mixins.json could not be read. If this is a development environment you can ignore this message
[02févr.2026 16:32:08.267] [main/WARN] [mixin/]: Reference map 'terrablender.refmap.json' for terrablender_neoforge.mixins.json could not be read. If this is a development environment you can ignore this message [03févr.2026 11:23:35.345] [main/WARN] [mixin/]: Reference map 'terrablender.refmap.json' for terrablender_neoforge.mixins.json could not be read. If this is a development environment you can ignore this message
[02févr.2026 16:32:08.268] [main/WARN] [mixin/]: Reference map 'glitchcore.refmap.json' for glitchcore.mixins.json could not be read. If this is a development environment you can ignore this message [03févr.2026 11:23:35.346] [main/WARN] [mixin/]: Reference map 'glitchcore.refmap.json' for glitchcore.mixins.json could not be read. If this is a development environment you can ignore this message
[02févr.2026 16:32:08.269] [main/WARN] [mixin/]: Reference map 'glitchcore.refmap.json' for glitchcore.neoforge.mixins.json could not be read. If this is a development environment you can ignore this message [03févr.2026 11:23:35.347] [main/WARN] [mixin/]: Reference map 'glitchcore.refmap.json' for glitchcore.neoforge.mixins.json could not be read. If this is a development environment you can ignore this message
[02févr.2026 16:32:08.271] [main/WARN] [mixin/]: Reference map 'biomesoplenty.refmap.json' for biomesoplenty.mixins.json could not be read. If this is a development environment you can ignore this message [03févr.2026 11:23:35.348] [main/WARN] [mixin/]: Reference map 'biomesoplenty.refmap.json' for biomesoplenty.mixins.json could not be read. If this is a development environment you can ignore this message
[02févr.2026 16:32:08.272] [main/WARN] [mixin/]: Reference map 'biomesoplenty.refmap.json' for biomesoplenty.neoforge.mixins.json could not be read. If this is a development environment you can ignore this message [03févr.2026 11:23:35.348] [main/WARN] [mixin/]: Reference map 'biomesoplenty.refmap.json' for biomesoplenty.neoforge.mixins.json could not be read. If this is a development environment you can ignore this message
[02févr.2026 16:32:08.289] [main/INFO] [net.werdei.biome_replacer.BiomeReplacer/]: [BiomeReplacer] TerraBlender detected, biome replacements will be injected into it [03févr.2026 11:23:35.361] [main/INFO] [net.werdei.biome_replacer.BiomeReplacer/]: [BiomeReplacer] TerraBlender detected, biome replacements will be injected into it
[02févr.2026 16:32:08.872] [main/INFO] [MixinExtras|Service/]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.5.0). [03févr.2026 11:23:35.839] [main/INFO] [MixinExtras|Service/]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.5.0).
[02févr.2026 16:32:10.893] [Datafixer Bootstrap/INFO] [com.mojang.datafixers.DataFixerBuilder/]: 229 Datafixer optimizations took 422 milliseconds [03févr.2026 11:23:37.523] [Datafixer Bootstrap/INFO] [com.mojang.datafixers.DataFixerBuilder/]: 229 Datafixer optimizations took 402 milliseconds
[02févr.2026 16:32:17.955] [main/WARN] [net.minecraft.commands.Commands/]: Ambiguity between arguments [teleport, location] and [teleport, destination] with inputs: [0.1 -0.5 .9, 0 0 0] [03févr.2026 11:23:43.254] [main/WARN] [net.minecraft.commands.Commands/]: Ambiguity between arguments [teleport, location] and [teleport, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[02févr.2026 16:32:17.957] [main/WARN] [net.minecraft.commands.Commands/]: Ambiguity between arguments [teleport, location] and [teleport, targets] with inputs: [0.1 -0.5 .9, 0 0 0] [03févr.2026 11:23:43.256] [main/WARN] [net.minecraft.commands.Commands/]: Ambiguity between arguments [teleport, location] and [teleport, targets] with inputs: [0.1 -0.5 .9, 0 0 0]
[02févr.2026 16:32:17.961] [main/WARN] [net.minecraft.commands.Commands/]: Ambiguity between arguments [teleport, destination] and [teleport, targets] with inputs: [Player, 0123, @e, dd12be42-52a9-4a91-a8a1-11c01849e498] [03févr.2026 11:23:43.261] [main/WARN] [net.minecraft.commands.Commands/]: Ambiguity between arguments [teleport, destination] and [teleport, targets] with inputs: [Player, 0123, @e, dd12be42-52a9-4a91-a8a1-11c01849e498]
[02févr.2026 16:32:17.962] [main/WARN] [net.minecraft.commands.Commands/]: Ambiguity between arguments [teleport, targets] and [teleport, destination] with inputs: [Player, 0123, dd12be42-52a9-4a91-a8a1-11c01849e498] [03févr.2026 11:23:43.263] [main/WARN] [net.minecraft.commands.Commands/]: Ambiguity between arguments [teleport, targets] and [teleport, destination] with inputs: [Player, 0123, dd12be42-52a9-4a91-a8a1-11c01849e498]
[02févr.2026 16:32:17.964] [main/WARN] [net.minecraft.commands.Commands/]: Ambiguity between arguments [teleport, targets, location] and [teleport, targets, destination] with inputs: [0.1 -0.5 .9, 0 0 0] [03févr.2026 11:23:43.265] [main/WARN] [net.minecraft.commands.Commands/]: Ambiguity between arguments [teleport, targets, location] and [teleport, targets, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[02févr.2026 16:32:18.123] [Render thread/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/C:/Users/felden.r/Desktop/Perso/custom_ore_gen/custom_ore_gem/build/moddev/artifacts/neoforge-21.1.219.jar%23193!/assets/.mcassetsroot' uses unexpected schema [03févr.2026 11:23:43.422] [Render thread/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/C:/Users/felden.r/Desktop/Perso/custom_ore_gen/custom_ore_gem/build/moddev/artifacts/neoforge-21.1.219.jar%23193!/assets/.mcassetsroot' uses unexpected schema
[02févr.2026 16:32:18.124] [Render thread/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/C:/Users/felden.r/Desktop/Perso/custom_ore_gen/custom_ore_gem/build/moddev/artifacts/neoforge-21.1.219.jar%23193!/data/.mcassetsroot' uses unexpected schema [03févr.2026 11:23:43.422] [Render thread/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/C:/Users/felden.r/Desktop/Perso/custom_ore_gen/custom_ore_gem/build/moddev/artifacts/neoforge-21.1.219.jar%23193!/data/.mcassetsroot' uses unexpected schema
[02févr.2026 16:32:18.161] [Render thread/INFO] [com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService/]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD] [03févr.2026 11:23:43.449] [Render thread/INFO] [com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService/]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD]
[02févr.2026 16:32:18.177] [Render thread/INFO] [net.minecraft.client.Minecraft/]: Setting user: Dev [03févr.2026 11:23:43.462] [Render thread/INFO] [net.minecraft.client.Minecraft/]: Setting user: Dev
[02févr.2026 16:32:18.391] [Render thread/INFO] [net.minecraft.client.Minecraft/]: Backend library: LWJGL version 3.3.3+5 [03févr.2026 11:23:43.612] [Render thread/INFO] [net.minecraft.client.Minecraft/]: Backend library: LWJGL version 3.3.3+5
[02févr.2026 16:32:19.517] [modloading-worker-0/INFO] [net.neoforged.neoforge.common.NeoForgeMod/NEOFORGE-MOD]: NeoForge mod loading, version 21.1.219, for MC 1.21.1 [03févr.2026 11:23:44.590] [modloading-worker-0/INFO] [net.neoforged.neoforge.common.NeoForgeMod/NEOFORGE-MOD]: NeoForge mod loading, version 21.1.219, for MC 1.21.1
[02févr.2026 16:32:21.099] [Render thread/INFO] [net.neoforged.neoforge.gametest.GameTestHooks/]: Enabled Gametest Namespaces: [custom_ore_gen] [03févr.2026 11:23:45.202] [modloading-sync-worker/ERROR] [net.neoforged.fml.javafmlmod.FMLModContainer/]: Exception caught during firing event: Cannot get config value before config is loaded.
[02févr.2026 16:32:21.414] [Render thread/INFO] [net.minecraft.server.packs.resources.ReloadableResourceManager/]: Reloading ResourceManager: vanilla, mod_resources, mod/terrablender, mod/glitchcore, mod/biomesoplenty, mod/biome_replacer, mod/custom_ore_gen, mod/neoforge Index: 1
[02févr.2026 16:32:21.538] [Render thread/INFO] [terrablender/]: Registered region minecraft:overworld to index 0 for type OVERWORLD Listeners:
[02févr.2026 16:32:21.538] [Render thread/INFO] [terrablender/]: Registered region minecraft:nether to index 0 for type NETHER 0: net.neoforged.neoforge.registries.DeferredRegister$$Lambda/0x0000021601e888d8@17a07cea
[02févr.2026 16:32:21.538] [Render thread/INFO] [terrablender/]: Registered region biomesoplenty:overworld_primary to index 1 for type OVERWORLD 1: net.neoforged.neoforge.registries.DeferredRegister$$Lambda/0x0000021601e888d8@23eaf85c
[02févr.2026 16:32:21.538] [Render thread/INFO] [terrablender/]: Registered region biomesoplenty:overworld_secondary to index 2 for type OVERWORLD 2: net.neoforged.neoforge.registries.DeferredRegister$$Lambda/0x0000021601e888d8@f29974
[02févr.2026 16:32:21.539] [Render thread/INFO] [terrablender/]: Registered region biomesoplenty:overworld_rare to index 3 for type OVERWORLD 3: net.neoforged.neoforge.registries.DeferredRegister$$Lambda/0x0000021601e888d8@78563c1f
[02févr.2026 16:32:21.539] [Render thread/INFO] [terrablender/]: Registered region biomesoplenty:nether_common to index 1 for type NETHER java.lang.IllegalStateException: Cannot get config value before config is loaded.
[02févr.2026 16:32:21.539] [Render thread/INFO] [terrablender/]: Registered region biomesoplenty:nether_rare to index 2 for type NETHER at MC-BOOTSTRAP/com.google.common@32.1.2-jre/com.google.common.base.Preconditions.checkState(Preconditions.java:512)
[02févr.2026 16:32:21.566] [Worker-Main-3/INFO] [net.minecraft.client.gui.font.providers.UnihexProvider/]: Found unifont_all_no_pua-15.1.05.hex, loading at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.common.ModConfigSpec$ConfigValue.getRaw(ModConfigSpec.java:1235)
[02févr.2026 16:32:21.710] [Worker-Main-11/INFO] [net.minecraft.client.gui.font.providers.UnihexProvider/]: Found unifont_jp_patch-15.1.05.hex, loading at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.common.ModConfigSpec$ConfigValue.get(ModConfigSpec.java:1222)
[02févr.2026 16:32:23.833] [Render thread/WARN] [net.minecraft.client.sounds.SoundEngine/]: Missing sound for event: minecraft:item.goat_horn.play at TRANSFORMER/custom_ore_gen@3.0/net.mcreator.customoregen.item.SharddiamondpaxelItem$1.getSpeed(SharddiamondpaxelItem.java:24)
[02févr.2026 16:32:23.834] [Render thread/WARN] [net.minecraft.client.sounds.SoundEngine/]: Missing sound for event: minecraft:entity.goat.screaming.horn_break at TRANSFORMER/minecraft@1.21.1/net.minecraft.world.item.Tier.createToolProperties(Tier.java:23)
[02févr.2026 16:32:24.647] [Render thread/INFO] [com.mojang.blaze3d.audio.Library/]: OpenAL initialized on device OpenAL Soft on Haut-parleur (Realtek(R) Audio) at TRANSFORMER/minecraft@1.21.1/net.minecraft.world.item.DiggerItem.<init>(DiggerItem.java:15)
[02févr.2026 16:32:24.647] [Render thread/INFO] [net.minecraft.client.sounds.SoundEngine/SOUNDS]: Sound engine started at TRANSFORMER/minecraft@1.21.1/net.minecraft.world.item.PickaxeItem.<init>(PickaxeItem.java:7)
[02févr.2026 16:32:24.765] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 1024x1024x2 minecraft:textures/atlas/blocks.png-atlas at TRANSFORMER/custom_ore_gen@3.0/net.mcreator.customoregen.item.SharddiamondpaxelItem.<init>(SharddiamondpaxelItem.java:18)
[02févr.2026 16:32:25.425] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 512x256x2 minecraft:textures/atlas/signs.png-atlas at TRANSFORMER/custom_ore_gen@3.0/net.mcreator.customoregen.init.CustomOreGenModItems.lambda$static$22(CustomOreGenModItems.java:77)
[02févr.2026 16:32:25.439] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 512x512x2 minecraft:textures/atlas/shield_patterns.png-atlas at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.registries.DeferredRegister.lambda$register$0(DeferredRegister.java:215)
[02févr.2026 16:32:25.453] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 512x512x2 minecraft:textures/atlas/banner_patterns.png-atlas at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.registries.DeferredRegister.lambda$register$1(DeferredRegister.java:234)
[02févr.2026 16:32:25.469] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 2048x1024x2 minecraft:textures/atlas/armor_trims.png-atlas at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.registries.DeferredRegister.lambda$addEntries$2(DeferredRegister.java:375)
[02févr.2026 16:32:25.720] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 128x64x2 minecraft:textures/atlas/decorated_pot.png-atlas at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.registries.RegisterEvent.register(RegisterEvent.java:48)
[02févr.2026 16:32:25.740] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 256x256x2 minecraft:textures/atlas/chest.png-atlas at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.registries.DeferredRegister.addEntries(DeferredRegister.java:375)
[02févr.2026 16:32:25.748] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 512x256x2 minecraft:textures/atlas/beds.png-atlas at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.ConsumerEventHandler.invoke(ConsumerEventHandler.java:27)
[02févr.2026 16:32:25.763] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 512x256x2 minecraft:textures/atlas/shulker_boxes.png-atlas at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:360)
[02févr.2026 16:32:25.850] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 512x256x0 minecraft:textures/atlas/particles.png-atlas at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:342)
[02févr.2026 16:32:25.954] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 512x256x0 minecraft:textures/atlas/paintings.png-atlas at MC-BOOTSTRAP/fml_loader@4.0.42/net.neoforged.fml.ModContainer.acceptEvent(ModContainer.java:177)
[02févr.2026 16:32:25.974] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 256x128x0 minecraft:textures/atlas/mob_effects.png-atlas at MC-BOOTSTRAP/fml_loader@4.0.42/net.neoforged.fml.ModLoader.lambda$postEventWithWrapInModOrder$16(ModLoader.java:379)
[02févr.2026 16:32:25.994] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 64x64x0 minecraft:textures/atlas/map_decorations.png-atlas at java.base/java.lang.Iterable.forEach(Iterable.java:75)
[02févr.2026 16:32:26.003] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 1024x512x0 minecraft:textures/atlas/gui.png-atlas at MC-BOOTSTRAP/fml_loader@4.0.42/net.neoforged.fml.ModList.forEachModInOrder(ModList.java:174)
[02févr.2026 16:32:26.518] [Render thread/WARN] [net.minecraft.client.renderer.ShaderInstance/]: Shader rendertype_entity_translucent_emissive could not find sampler named Sampler2 in the specified shader program. at MC-BOOTSTRAP/fml_loader@4.0.42/net.neoforged.fml.ModLoader.postEventWithWrapInModOrder(ModLoader.java:377)
[02févr.2026 16:32:27.166] [Render thread/INFO] [net.neoforged.neoforge.client.entity.animation.json.AnimationLoader/]: Loaded 0 entity animations at MC-BOOTSTRAP/fml_loader@4.0.42/net.neoforged.fml.ModLoader.postEventWrapContainerInModOrder(ModLoader.java:368)
[02févr.2026 16:32:32.858] [Render thread/INFO] [net.minecraft.world.item.crafting.RecipeManager/]: Loaded 1598 recipes at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.registries.GameData.postRegisterEvents(GameData.java:92)
[02févr.2026 16:32:33.063] [Render thread/INFO] [net.minecraft.advancements.AdvancementTree/]: Loaded 1709 advancements at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.internal.CommonModLoader.lambda$begin$0(CommonModLoader.java:54)
[02févr.2026 16:32:45.299] [Render thread/INFO] [net.minecraft.client.Minecraft/]: Stopping! at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
[03févr.2026 11:23:45.203] [modloading-sync-worker/ERROR] [net.neoforged.fml.ModContainer/LOADING]: Caught exception during event net.neoforged.neoforge.registries.RegisterEvent@c961e08 dispatch for modid custom_ore_gen
java.lang.IllegalStateException: Cannot get config value before config is loaded.
at MC-BOOTSTRAP/com.google.common@32.1.2-jre/com.google.common.base.Preconditions.checkState(Preconditions.java:512) ~[guava-32.1.2-jre.jar%23113!/:?]
at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.common.ModConfigSpec$ConfigValue.getRaw(ModConfigSpec.java:1235) ~[neoforge-21.1.219.jar%23194!/:?]
at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.common.ModConfigSpec$ConfigValue.get(ModConfigSpec.java:1222) ~[neoforge-21.1.219.jar%23194!/:?]
at TRANSFORMER/custom_ore_gen@3.0/net.mcreator.customoregen.item.SharddiamondpaxelItem$1.getSpeed(SharddiamondpaxelItem.java:24) ~[%23199!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.world.item.Tier.createToolProperties(Tier.java:23) ~[neoforge-21.1.219.jar%23193!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.world.item.DiggerItem.<init>(DiggerItem.java:15) ~[neoforge-21.1.219.jar%23193!/:?]
at TRANSFORMER/minecraft@1.21.1/net.minecraft.world.item.PickaxeItem.<init>(PickaxeItem.java:7) ~[neoforge-21.1.219.jar%23193!/:?]
at TRANSFORMER/custom_ore_gen@3.0/net.mcreator.customoregen.item.SharddiamondpaxelItem.<init>(SharddiamondpaxelItem.java:18) ~[%23199!/:?]
at TRANSFORMER/custom_ore_gen@3.0/net.mcreator.customoregen.init.CustomOreGenModItems.lambda$static$22(CustomOreGenModItems.java:77) ~[%23199!/:?]
at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.registries.DeferredRegister.lambda$register$0(DeferredRegister.java:215) ~[neoforge-21.1.219.jar%23194!/:?]
at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.registries.DeferredRegister.lambda$register$1(DeferredRegister.java:234) ~[neoforge-21.1.219.jar%23194!/:?]
at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.registries.DeferredRegister.lambda$addEntries$2(DeferredRegister.java:375) ~[neoforge-21.1.219.jar%23194!/:?]
at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.registries.RegisterEvent.register(RegisterEvent.java:48) ~[neoforge-21.1.219.jar%23194!/:?]
at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.registries.DeferredRegister.addEntries(DeferredRegister.java:375) ~[neoforge-21.1.219.jar%23194!/:?]
at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.ConsumerEventHandler.invoke(ConsumerEventHandler.java:27) ~[bus-8.0.5.jar%23150!/:?]
at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:360) ~[bus-8.0.5.jar%23150!/:?]
at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:342) ~[bus-8.0.5.jar%23150!/:?]
at MC-BOOTSTRAP/fml_loader@4.0.42/net.neoforged.fml.ModContainer.acceptEvent(ModContainer.java:177) ~[loader-4.0.42.jar%23146!/:4.0]
at MC-BOOTSTRAP/fml_loader@4.0.42/net.neoforged.fml.ModLoader.lambda$postEventWithWrapInModOrder$16(ModLoader.java:379) ~[loader-4.0.42.jar%23146!/:4.0]
at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
at MC-BOOTSTRAP/fml_loader@4.0.42/net.neoforged.fml.ModList.forEachModInOrder(ModList.java:174) ~[loader-4.0.42.jar%23146!/:4.0]
at MC-BOOTSTRAP/fml_loader@4.0.42/net.neoforged.fml.ModLoader.postEventWithWrapInModOrder(ModLoader.java:377) ~[loader-4.0.42.jar%23146!/:4.0]
at MC-BOOTSTRAP/fml_loader@4.0.42/net.neoforged.fml.ModLoader.postEventWrapContainerInModOrder(ModLoader.java:368) ~[loader-4.0.42.jar%23146!/:4.0]
at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.registries.GameData.postRegisterEvents(GameData.java:92) ~[neoforge-21.1.219.jar%23194!/:?]
at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.internal.CommonModLoader.lambda$begin$0(CommonModLoader.java:54) ~[neoforge-21.1.219.jar%23194!/:?]
at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
[03févr.2026 11:23:45.295] [modloading-sync-worker/ERROR] [net.neoforged.neoforge.registries.GameData/]: Failed to register some entries, see suppressed exceptions for details
java.lang.RuntimeException: null
at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.registries.GameData.postRegisterEvents(GameData.java:83) ~[neoforge-21.1.219.jar%23194!/:?]
at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.internal.CommonModLoader.lambda$begin$0(CommonModLoader.java:54) ~[neoforge-21.1.219.jar%23194!/:?]
at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
Suppressed: net.neoforged.fml.ModLoadingException: Loading errors encountered:
- Custom Ore Gen (custom_ore_gen) encountered an error while dispatching the net.neoforged.neoforge.registries.RegisterEvent event
java.lang.IllegalStateException: Cannot get config value before config is loaded.
at MC-BOOTSTRAP/fml_loader@4.0.42/net.neoforged.fml.ModContainer.acceptEvent(ModContainer.java:181) ~[loader-4.0.42.jar%23146!/:4.0]
at MC-BOOTSTRAP/fml_loader@4.0.42/net.neoforged.fml.ModLoader.lambda$postEventWithWrapInModOrder$16(ModLoader.java:379) ~[loader-4.0.42.jar%23146!/:4.0]
at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
at MC-BOOTSTRAP/fml_loader@4.0.42/net.neoforged.fml.ModList.forEachModInOrder(ModList.java:174) ~[loader-4.0.42.jar%23146!/:4.0]
at MC-BOOTSTRAP/fml_loader@4.0.42/net.neoforged.fml.ModLoader.postEventWithWrapInModOrder(ModLoader.java:377) ~[loader-4.0.42.jar%23146!/:4.0]
at MC-BOOTSTRAP/fml_loader@4.0.42/net.neoforged.fml.ModLoader.postEventWrapContainerInModOrder(ModLoader.java:368) ~[loader-4.0.42.jar%23146!/:4.0]
at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.registries.GameData.postRegisterEvents(GameData.java:92) ~[neoforge-21.1.219.jar%23194!/:?]
at TRANSFORMER/neoforge@21.1.219/net.neoforged.neoforge.internal.CommonModLoader.lambda$begin$0(CommonModLoader.java:54) ~[neoforge-21.1.219.jar%23194!/:?]
at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
[03févr.2026 11:23:45.302] [modloading-sync-worker/ERROR] [net.neoforged.neoforge.registries.GameData/]: Rolling back to VANILLA state
[03févr.2026 11:23:45.875] [Render thread/FATAL] [net.neoforged.fml.ModLoader/LOADING]: Failed to wait for future Registry initialization, 1 errors found
[03févr.2026 11:23:45.972] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.sound.SoundEngineLoadEvent to a broken mod state
[03févr.2026 11:23:46.075] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterColorHandlersEvent$Block to a broken mod state
[03févr.2026 11:23:46.077] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterColorHandlersEvent$Item to a broken mod state
[03févr.2026 11:23:46.089] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterMaterialAtlasesEvent to a broken mod state
[03févr.2026 11:23:46.124] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterRenderBuffersEvent to a broken mod state
[03févr.2026 11:23:46.199] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterParticleProvidersEvent to a broken mod state
[03févr.2026 11:23:46.237] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RenderLevelStageEvent$RegisterStageEvent to a broken mod state
[03févr.2026 11:23:46.318] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsEvent to a broken mod state
[03févr.2026 11:23:46.318] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterSpriteSourceTypesEvent to a broken mod state
[03févr.2026 11:23:46.345] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterMenuScreensEvent to a broken mod state
[03févr.2026 11:23:46.345] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterClientReloadListenersEvent to a broken mod state
[03févr.2026 11:23:46.345] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$RegisterLayerDefinitions to a broken mod state
[03févr.2026 11:23:46.345] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$RegisterRenderers to a broken mod state
[03févr.2026 11:23:46.347] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterClientTooltipComponentFactoriesEvent to a broken mod state
[03févr.2026 11:23:46.348] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterEntitySpectatorShadersEvent to a broken mod state
[03févr.2026 11:23:46.348] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterKeyMappingsEvent to a broken mod state
[03févr.2026 11:23:46.350] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterRecipeBookCategoriesEvent to a broken mod state
[03févr.2026 11:23:46.350] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterGuiLayersEvent to a broken mod state
[03févr.2026 11:23:46.353] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterDimensionSpecialEffectsEvent to a broken mod state
[03févr.2026 11:23:46.354] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterNamedRenderTypesEvent to a broken mod state
[03févr.2026 11:23:46.354] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterColorHandlersEvent$ColorResolvers to a broken mod state
[03févr.2026 11:23:46.355] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterItemDecorationsEvent to a broken mod state
[03févr.2026 11:23:46.361] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterPresetEditorsEvent to a broken mod state
[03févr.2026 11:23:46.361] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.gui.map.RegisterMapDecorationRenderersEvent to a broken mod state
[03févr.2026 11:23:46.362] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterDimensionTransitionScreenEvent to a broken mod state
[03févr.2026 11:23:46.371] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterJsonAnimationTypesEvent to a broken mod state
[03févr.2026 11:23:46.536] [Render thread/INFO] [net.minecraft.server.packs.resources.ReloadableResourceManager/]: Reloading ResourceManager: vanilla
[03févr.2026 11:23:46.564] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.ModelEvent$RegisterGeometryLoaders to a broken mod state
[03févr.2026 11:23:46.644] [Worker-Main-4/INFO] [net.minecraft.client.gui.font.providers.UnihexProvider/]: Found unifont_all_no_pua-15.1.05.hex, loading
[03févr.2026 11:23:46.788] [Worker-Main-9/INFO] [net.minecraft.client.gui.font.providers.UnihexProvider/]: Found unifont_jp_patch-15.1.05.hex, loading
[03févr.2026 11:23:47.625] [Worker-Main-2/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.ModelEvent$RegisterAdditional to a broken mod state
[03févr.2026 11:23:48.177] [Worker-Main-2/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.ModelEvent$ModifyBakingResult to a broken mod state
[03févr.2026 11:23:48.292] [Render thread/WARN] [net.minecraft.client.sounds.SoundEngine/]: Missing sound for event: minecraft:item.goat_horn.play
[03févr.2026 11:23:48.292] [Render thread/WARN] [net.minecraft.client.sounds.SoundEngine/]: Missing sound for event: minecraft:entity.goat.screaming.horn_break
[03févr.2026 11:23:48.499] [Render thread/INFO] [com.mojang.blaze3d.audio.Library/]: OpenAL initialized on device OpenAL Soft on Casque pour téléphone (Jabra EVOLVE 20 MS)
[03févr.2026 11:23:48.500] [Render thread/INFO] [net.minecraft.client.sounds.SoundEngine/SOUNDS]: Sound engine started
[03févr.2026 11:23:48.501] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.sound.SoundEngineLoadEvent to a broken mod state
[03févr.2026 11:23:48.652] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 1024x512x2 minecraft:textures/atlas/blocks.png-atlas
[03févr.2026 11:23:49.119] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent to a broken mod state
[03févr.2026 11:23:49.120] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 256x256x2 minecraft:textures/atlas/signs.png-atlas
[03févr.2026 11:23:49.129] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent to a broken mod state
[03févr.2026 11:23:49.129] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 512x512x2 minecraft:textures/atlas/shield_patterns.png-atlas
[03févr.2026 11:23:49.147] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent to a broken mod state
[03févr.2026 11:23:49.147] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 512x512x2 minecraft:textures/atlas/banner_patterns.png-atlas
[03févr.2026 11:23:49.155] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent to a broken mod state
[03févr.2026 11:23:49.155] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 1024x1024x2 minecraft:textures/atlas/armor_trims.png-atlas
[03févr.2026 11:23:49.243] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent to a broken mod state
[03févr.2026 11:23:49.243] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 256x256x2 minecraft:textures/atlas/chest.png-atlas
[03févr.2026 11:23:49.247] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent to a broken mod state
[03févr.2026 11:23:49.248] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 128x64x2 minecraft:textures/atlas/decorated_pot.png-atlas
[03févr.2026 11:23:49.253] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent to a broken mod state
[03févr.2026 11:23:49.253] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 512x256x2 minecraft:textures/atlas/beds.png-atlas
[03févr.2026 11:23:49.258] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent to a broken mod state
[03févr.2026 11:23:49.258] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 512x256x2 minecraft:textures/atlas/shulker_boxes.png-atlas
[03févr.2026 11:23:49.269] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent to a broken mod state
[03févr.2026 11:23:49.270] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.ModelEvent$BakingCompleted to a broken mod state
[03févr.2026 11:23:49.382] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.383] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.482] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.483] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.483] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.487] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.488] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.490] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.493] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.495] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.498] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.498] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.499] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.499] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.500] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.500] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.501] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.501] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.501] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.504] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.511] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.512] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$CreateSkullModels to a broken mod state
[03févr.2026 11:23:49.513] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.EntityRenderersEvent$AddLayers to a broken mod state
[03févr.2026 11:23:49.513] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 512x256x0 minecraft:textures/atlas/particles.png-atlas
[03févr.2026 11:23:49.533] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent to a broken mod state
[03févr.2026 11:23:49.534] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 512x256x0 minecraft:textures/atlas/paintings.png-atlas
[03févr.2026 11:23:49.539] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent to a broken mod state
[03févr.2026 11:23:49.539] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 256x128x0 minecraft:textures/atlas/mob_effects.png-atlas
[03févr.2026 11:23:49.543] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent to a broken mod state
[03févr.2026 11:23:49.543] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 64x64x0 minecraft:textures/atlas/map_decorations.png-atlas
[03févr.2026 11:23:49.545] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent to a broken mod state
[03févr.2026 11:23:49.545] [Render thread/INFO] [net.minecraft.client.renderer.texture.TextureAtlas/]: Created: 1024x512x0 minecraft:textures/atlas/gui.png-atlas
[03févr.2026 11:23:49.562] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent to a broken mod state
[03févr.2026 11:23:49.866] [Render thread/WARN] [net.minecraft.client.renderer.ShaderInstance/]: Shader rendertype_entity_translucent_emissive could not find sampler named Sampler2 in the specified shader program.
[03févr.2026 11:23:50.417] [Render thread/ERROR] [net.neoforged.fml.ModLoader/]: Cowardly refusing to send event net.neoforged.neoforge.client.event.RegisterShadersEvent to a broken mod state
[03févr.2026 11:23:50.614] [Render thread/ERROR] [net.minecraft.CrashReport/]: Negative index in crash report handler (0/31)
[03févr.2026 11:23:50.630] [Render thread/FATAL] [net.neoforged.neoforge.common.NeoForgeMod/]: Preparing crash report with UUID 160a6dde-56f7-4750-9441-f23d13eb440b
[03févr.2026 11:23:50.631] [Render thread/FATAL] [net.neoforged.neoforge.client.loading.ClientModLoader/]: Crash report saved to .\crash-reports\crash-2026-02-03_11.23.50-fml.txt
[03févr.2026 11:23:50.632] [Render thread/FATAL] [net.neoforged.neoforge.common.NeoForgeMod/]: Preparing crash report with UUID 66c866f5-f1f1-4d57-8d34-ecdd9f0f0fd1
[03févr.2026 11:24:54.437] [Render thread/INFO] [net.minecraft.client.Minecraft/]: Stopping!
+137 -9
View File
@@ -1,12 +1,140 @@
bobView:false version:3955
fboEnable:true ao:false
lastServer:localhost:25463 biomeBlendRadius:2
renderDistance:5
fancyGraphics:false
entityShadows:true
enableVsync:false enableVsync:false
entityDistanceScaling:1.0
entityShadows:true
forceUnicodeFont:false
japaneseGlyphVariants:false
fov:0.0
fovEffectScale:1.0
darknessEffectScale:1.0
glintSpeed:0.5
glintStrength:0.75
prioritizeChunkUpdates:0
fullscreen:false
gamma:0.5
graphicsMode:0
guiScale:0
maxFps:260 maxFps:260
mipmapLevels:2
narrator:0
particles:0 particles:0
renderClouds:false reducedDebugInfo:false
ao:0 renderClouds:"false"
mipmapLevels:2 renderDistance:5
simulationDistance:12
screenEffectScale:1.0
soundDevice:""
autoJump:false
operatorItemsTab:false
autoSuggestions:true
chatColors:true
chatLinks:true
chatLinksPrompt:true
discrete_mouse_scroll:false
invertYMouse:false
realmsNotifications:true
showSubtitles:false
directionalAudio:false
touchscreen:false
bobView:false
toggleCrouch:false
toggleSprint:false
darkMojangStudiosBackground:false
hideLightningFlashes:false
hideSplashTexts:false
mouseSensitivity:0.5
damageTiltStrength:1.0
highContrast:false
narratorHotkey:true
resourcePacks:[]
incompatibleResourcePacks:[]
lastServer:localhost:25463
lang:en_us
chatVisibility:0
chatOpacity:1.0
chatLineSpacing:0.0
textBackgroundOpacity:0.5
backgroundForChatOnly:true
hideServerAddress:false
advancedItemTooltips:false
pauseOnLostFocus:true
overrideWidth:0
overrideHeight:0
chatHeightFocused:1.0
chatDelay:0.0
chatHeightUnfocused:0.4375
chatScale:1.0
chatWidth:1.0
notificationDisplayTime:1.0
useNativeTransport:true
mainHand:"right"
attackIndicator:1
tutorialStep:none
mouseWheelSensitivity:1.0
rawMouseInput:true
glDebugVerbosity:1
skipMultiplayerWarning:false
hideMatchedNames:true
joinedFirstServer:false
hideBundleTutorial:false
syncChunkWrites:true
showAutosaveIndicator:true
allowServerListing:true
onlyShowSecureChat:false
panoramaScrollSpeed:1.0
telemetryOptInExtra:false
onboardAccessibility:false
menuBackgroundBlurriness:5
key_key.attack:key.mouse.left
key_key.use:key.mouse.right
key_key.forward:key.keyboard.w
key_key.left:key.keyboard.a
key_key.back:key.keyboard.s
key_key.right:key.keyboard.d
key_key.jump:key.keyboard.space
key_key.sneak:key.keyboard.left.shift
key_key.sprint:key.keyboard.left.control
key_key.drop:key.keyboard.q
key_key.inventory:key.keyboard.e
key_key.chat:key.keyboard.t
key_key.playerlist:key.keyboard.tab
key_key.pickItem:key.mouse.middle
key_key.command:key.keyboard.slash
key_key.socialInteractions:key.keyboard.p
key_key.screenshot:key.keyboard.f2
key_key.togglePerspective:key.keyboard.f5
key_key.smoothCamera:key.keyboard.unknown
key_key.fullscreen:key.keyboard.f11
key_key.spectatorOutlines:key.keyboard.unknown
key_key.swapOffhand:key.keyboard.f
key_key.saveToolbarActivator:key.keyboard.c
key_key.loadToolbarActivator:key.keyboard.x
key_key.advancements:key.keyboard.l
key_key.hotbar.1:key.keyboard.1
key_key.hotbar.2:key.keyboard.2
key_key.hotbar.3:key.keyboard.3
key_key.hotbar.4:key.keyboard.4
key_key.hotbar.5:key.keyboard.5
key_key.hotbar.6:key.keyboard.6
key_key.hotbar.7:key.keyboard.7
key_key.hotbar.8:key.keyboard.8
key_key.hotbar.9:key.keyboard.9
soundCategory_master:1.0
soundCategory_music:1.0
soundCategory_record:1.0
soundCategory_weather:1.0
soundCategory_block:1.0
soundCategory_hostile:1.0
soundCategory_neutral:1.0
soundCategory_player:1.0
soundCategory_ambient:1.0
soundCategory_voice:1.0
modelPart_cape:true
modelPart_jacket:true
modelPart_left_sleeve:true
modelPart_right_sleeve:true
modelPart_left_pants_leg:true
modelPart_right_pants_leg:true
modelPart_hat:true
+1 -1
View File
@@ -1 +1 @@
[{"name":"Dev","uuid":"380df991-f603-344c-a090-369bad2a924a","expiresOn":"2026-03-02 16:22:45 +0100"}] [{"name":"Dev","uuid":"380df991-f603-344c-a090-369bad2a924a","expiresOn":"2026-03-03 09:20:49 +0100"}]
@@ -20,6 +20,9 @@ import net.mcreator.customoregen.init.CustomOreGenModTabs;
import net.mcreator.customoregen.init.CustomOreGenModItems; import net.mcreator.customoregen.init.CustomOreGenModItems;
import net.mcreator.customoregen.init.CustomOreGenModBlocks; import net.mcreator.customoregen.init.CustomOreGenModBlocks;
import net.mcreator.customoregen.item.ShardDiamondArmorMaterial; import net.mcreator.customoregen.item.ShardDiamondArmorMaterial;
import net.mcreator.customoregen.config.ModConfigs;
import net.neoforged.fml.config.ModConfig;
import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.List; import java.util.List;
@@ -34,7 +37,9 @@ public class CustomOreGenMod {
public CustomOreGenMod(IEventBus modEventBus, ModContainer container) { public CustomOreGenMod(IEventBus modEventBus, ModContainer container) {
// Start of user code block mod constructor // Start of user code block mod constructor
container.registerConfig(ModConfig.Type.COMMON, ModConfigs.SPEC);
// End of user code block mod constructor // End of user code block mod constructor
NeoForge.EVENT_BUS.register(this); NeoForge.EVENT_BUS.register(this);
CustomOreGenModBlocks.REGISTRY.register(modEventBus); CustomOreGenModBlocks.REGISTRY.register(modEventBus);
@@ -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));
} }
@@ -11,8 +11,6 @@ import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.mcreator.customoregen.procedures.OreexperienceProcedure;
public class ConcentratedcoaloreBlock extends Block { public class ConcentratedcoaloreBlock extends Block {
public ConcentratedcoaloreBlock() { public ConcentratedcoaloreBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(3f, 15f).requiresCorrectToolForDrops()); super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(3f, 15f).requiresCorrectToolForDrops());
@@ -23,10 +21,4 @@ public class ConcentratedcoaloreBlock extends Block {
return 15; return 15;
} }
@Override
public boolean onDestroyedByPlayer(BlockState blockstate, Level world, BlockPos pos, Player entity, boolean willHarvest, FluidState fluid) {
boolean retval = super.onDestroyedByPlayer(blockstate, world, pos, entity, willHarvest, fluid);
OreexperienceProcedure.execute(world, pos.getX(), pos.getY(), pos.getZ(), entity);
return retval;
}
} }
@@ -11,8 +11,6 @@ import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.mcreator.customoregen.procedures.OreexperienceProcedure;
public class CopperhighoreBlock extends Block { public class CopperhighoreBlock extends Block {
public CopperhighoreBlock() { public CopperhighoreBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(1f, 10f).requiresCorrectToolForDrops()); super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(1f, 10f).requiresCorrectToolForDrops());
@@ -23,10 +21,4 @@ public class CopperhighoreBlock extends Block {
return 15; return 15;
} }
@Override
public boolean onDestroyedByPlayer(BlockState blockstate, Level world, BlockPos pos, Player entity, boolean willHarvest, FluidState fluid) {
boolean retval = super.onDestroyedByPlayer(blockstate, world, pos, entity, willHarvest, fluid);
OreexperienceProcedure.execute(world, pos.getX(), pos.getY(), pos.getZ(), entity);
return retval;
}
} }
@@ -11,8 +11,6 @@ import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.mcreator.customoregen.procedures.OreexperienceProcedure;
public class CopperloweroreBlock extends Block { public class CopperloweroreBlock extends Block {
public CopperloweroreBlock() { public CopperloweroreBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(4.5f, 10f).requiresCorrectToolForDrops()); super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(4.5f, 10f).requiresCorrectToolForDrops());
@@ -23,10 +21,4 @@ public class CopperloweroreBlock extends Block {
return 15; return 15;
} }
@Override
public boolean onDestroyedByPlayer(BlockState blockstate, Level world, BlockPos pos, Player entity, boolean willHarvest, FluidState fluid) {
boolean retval = super.onDestroyedByPlayer(blockstate, world, pos, entity, willHarvest, fluid);
OreexperienceProcedure.execute(world, pos.getX(), pos.getY(), pos.getZ(), entity);
return retval;
}
} }
@@ -13,9 +13,7 @@ import net.minecraft.world.item.ItemStack;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.mcreator.customoregen.procedures.OreexperienceProcedure;
import net.mcreator.customoregen.init.CustomOreGenModBlocks; import net.mcreator.customoregen.init.CustomOreGenModBlocks;
public class DeepslatediamondoreBlock extends Block { public class DeepslatediamondoreBlock extends Block {
public DeepslatediamondoreBlock() { public DeepslatediamondoreBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(3f, 11f).requiresCorrectToolForDrops()); super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(3f, 11f).requiresCorrectToolForDrops());
@@ -26,10 +24,4 @@ public class DeepslatediamondoreBlock extends Block {
return 15; return 15;
} }
@Override }
public boolean onDestroyedByPlayer(BlockState blockstate, Level world, BlockPos pos, Player entity, boolean willHarvest, FluidState fluid) {
boolean retval = super.onDestroyedByPlayer(blockstate, world, pos, entity, willHarvest, fluid);
OreexperienceProcedure.execute(world, pos.getX(), pos.getY(), pos.getZ(), entity);
return retval;
}
}
@@ -11,8 +11,7 @@ import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.mcreator.customoregen.procedures.OreexperienceProcedure; import net.mcreator.customoregen.init.CustomOreGenModBlocks;
public class DeepslateironoreBlock extends Block { public class DeepslateironoreBlock extends Block {
public DeepslateironoreBlock() { public DeepslateironoreBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(3f, 10f).requiresCorrectToolForDrops()); super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(3f, 10f).requiresCorrectToolForDrops());
@@ -23,10 +22,4 @@ public class DeepslateironoreBlock extends Block {
return 15; return 15;
} }
@Override }
public boolean onDestroyedByPlayer(BlockState blockstate, Level world, BlockPos pos, Player entity, boolean willHarvest, FluidState fluid) {
boolean retval = super.onDestroyedByPlayer(blockstate, world, pos, entity, willHarvest, fluid);
OreexperienceProcedure.execute(world, pos.getX(), pos.getY(), pos.getZ(), entity);
return retval;
}
}
@@ -11,8 +11,7 @@ import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.mcreator.customoregen.procedures.OreexperienceProcedure; import net.mcreator.customoregen.init.CustomOreGenModBlocks;
public class DeepslatelapisoreBlock extends Block { public class DeepslatelapisoreBlock extends Block {
public DeepslatelapisoreBlock() { public DeepslatelapisoreBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(4.5f, 10f).requiresCorrectToolForDrops()); super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(4.5f, 10f).requiresCorrectToolForDrops());
@@ -23,10 +22,4 @@ public class DeepslatelapisoreBlock extends Block {
return 15; return 15;
} }
@Override }
public boolean onDestroyedByPlayer(BlockState blockstate, Level world, BlockPos pos, Player entity, boolean willHarvest, FluidState fluid) {
boolean retval = super.onDestroyedByPlayer(blockstate, world, pos, entity, willHarvest, fluid);
OreexperienceProcedure.execute(world, pos.getX(), pos.getY(), pos.getZ(), entity);
return retval;
}
}
@@ -11,8 +11,7 @@ import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.mcreator.customoregen.procedures.OreexperienceProcedure; import net.mcreator.customoregen.init.CustomOreGenModBlocks;
public class DeepslatepuregoldenoreBlock extends Block { public class DeepslatepuregoldenoreBlock extends Block {
public DeepslatepuregoldenoreBlock() { public DeepslatepuregoldenoreBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(3f, 10f).requiresCorrectToolForDrops()); super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(3f, 10f).requiresCorrectToolForDrops());
@@ -23,10 +22,4 @@ public class DeepslatepuregoldenoreBlock extends Block {
return 15; return 15;
} }
@Override }
public boolean onDestroyedByPlayer(BlockState blockstate, Level world, BlockPos pos, Player entity, boolean willHarvest, FluidState fluid) {
boolean retval = super.onDestroyedByPlayer(blockstate, world, pos, entity, willHarvest, fluid);
OreexperienceProcedure.execute(world, pos.getX(), pos.getY(), pos.getZ(), entity);
return retval;
}
}
@@ -1,8 +1,6 @@
package net.mcreator.customoregen.block; package net.mcreator.customoregen.block;
import org.checkerframework.checker.units.qual.s;
import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.FluidState;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockBehaviour;
@@ -13,8 +11,7 @@ import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.mcreator.customoregen.procedures.OreexperienceProcedure; import net.mcreator.customoregen.init.CustomOreGenModBlocks;
public class DeepslateredstoneoreBlock extends Block { public class DeepslateredstoneoreBlock extends Block {
public DeepslateredstoneoreBlock() { public DeepslateredstoneoreBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(3f, 10f).lightLevel(s -> 1).requiresCorrectToolForDrops().hasPostProcess((bs, br, bp) -> true).emissiveRendering((bs, br, bp) -> true)); super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(3f, 10f).lightLevel(s -> 1).requiresCorrectToolForDrops().hasPostProcess((bs, br, bp) -> true).emissiveRendering((bs, br, bp) -> true));
@@ -25,10 +22,4 @@ public class DeepslateredstoneoreBlock extends Block {
return 15; return 15;
} }
@Override }
public boolean onDestroyedByPlayer(BlockState blockstate, Level world, BlockPos pos, Player entity, boolean willHarvest, FluidState fluid) {
boolean retval = super.onDestroyedByPlayer(blockstate, world, pos, entity, willHarvest, fluid);
OreexperienceProcedure.execute(world, pos.getX(), pos.getY(), pos.getZ(), entity);
return retval;
}
}
@@ -11,8 +11,6 @@ import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.mcreator.customoregen.procedures.OreexperienceProcedure;
public class DeepslatesharddiamondoreBlock extends Block { public class DeepslatesharddiamondoreBlock extends Block {
public DeepslatesharddiamondoreBlock() { public DeepslatesharddiamondoreBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(3f, 14.5f).requiresCorrectToolForDrops()); super(BlockBehaviour.Properties.of().sound(SoundType.STONE).strength(3f, 14.5f).requiresCorrectToolForDrops());
@@ -23,10 +21,4 @@ public class DeepslatesharddiamondoreBlock extends Block {
return 15; return 15;
} }
@Override
public boolean onDestroyedByPlayer(BlockState blockstate, Level world, BlockPos pos, Player entity, boolean willHarvest, FluidState fluid) {
boolean retval = super.onDestroyedByPlayer(blockstate, world, pos, entity, willHarvest, fluid);
OreexperienceProcedure.execute(world, pos.getX(), pos.getY(), pos.getZ(), entity);
return retval;
}
} }

Some files were not shown because too many files have changed in this diff Show More