diff --git a/.settings/org.eclipse.buildship.core.prefs b/.settings/org.eclipse.buildship.core.prefs index a40ec5d..0f326a4 100644 --- a/.settings/org.eclipse.buildship.core.prefs +++ b/.settings/org.eclipse.buildship.core.prefs @@ -1,13 +1,13 @@ -arguments= +arguments=--init-script /home/jotty/.config/VSCodium/User/globalStorage/redhat.java/1.53.0/config_linux/org.eclipse.osgi/58/0/.cp/gradle/init/init.gradle --init-script /home/jotty/.config/VSCodium/User/globalStorage/redhat.java/1.53.0/config_linux/org.eclipse.osgi/58/0/.cp/gradle/protobuf/init.gradle --init-script /home/jotty/.config/VSCodium/User/globalStorage/redhat.java/1.53.0/config_linux/org.eclipse.osgi/58/0/.cp/gradle/kotlin/init.gradle --init-script /home/jotty/.config/VSCodium/User/globalStorage/redhat.java/1.53.0/config_linux/org.eclipse.osgi/58/0/.cp/gradle/groovy/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= +java.home=/usr/lib/jvm/java-25-openjdk-amd64 jvm.arguments= offline.mode=false -override.workspace.settings=false +override.workspace.settings=true show.console.view=true show.executions.view=true diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..563d666 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,31 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "java", + "name": "Minecraft Client", + "request": "launch", + "cwd": "${workspaceFolder}/run", + "console": "integratedTerminal", + "stopOnEntry": false, + "mainClass": "net.fabricmc.devlaunchinjector.Main", + "vmArgs": "-Dfabric.dli.config\u003d/home/jotty/Entwicklung/git/uno/.gradle/loom-cache/launch.cfg -Dfabric.dli.env\u003dclient -Dfabric.dli.main\u003dnet.fabricmc.loader.impl.launch.knot.KnotClient --sun-misc-unsafe-memory-access\u003dallow --enable-native-access\u003dALL-UNNAMED", + "args": "", + "env": {}, + "projectName": "uno" + }, + { + "type": "java", + "name": "Minecraft Server", + "request": "launch", + "cwd": "${workspaceFolder}/run", + "console": "integratedTerminal", + "stopOnEntry": false, + "mainClass": "net.fabricmc.devlaunchinjector.Main", + "vmArgs": "-Dfabric.dli.config\u003d/home/jotty/Entwicklung/git/uno/.gradle/loom-cache/launch.cfg -Dfabric.dli.env\u003dserver -Dfabric.dli.main\u003dnet.fabricmc.loader.impl.launch.knot.KnotServer --sun-misc-unsafe-memory-access\u003dallow --enable-native-access\u003dALL-UNNAMED", + "args": "nogui", + "env": {}, + "projectName": "uno" + } + ] +} \ No newline at end of file diff --git a/src/main/java/de/jottyfan/minecraft/gta/Uno.java b/src/main/java/de/jottyfan/minecraft/gta/Uno.java index 73a4ed6..7f24984 100644 --- a/src/main/java/de/jottyfan/minecraft/gta/Uno.java +++ b/src/main/java/de/jottyfan/minecraft/gta/Uno.java @@ -5,6 +5,7 @@ import org.apache.logging.log4j.Logger; import de.jottyfan.minecraft.gta.block.UnoBlocks; import de.jottyfan.minecraft.gta.item.UnoItems; +import de.jottyfan.minecraft.gta.feature.UnoFeatures; import net.fabricmc.api.ModInitializer; public class Uno implements ModInitializer { @@ -17,5 +18,6 @@ public class Uno implements ModInitializer { LOGGER.info("initializing uno"); UnoItems.registerUnoItems(); UnoBlocks.registerModBlocks(); + UnoFeatures.registerFeatures(); } } \ No newline at end of file diff --git a/src/main/java/de/jottyfan/minecraft/gta/feature/UnoFeatures.java b/src/main/java/de/jottyfan/minecraft/gta/feature/UnoFeatures.java new file mode 100644 index 0000000..40337be --- /dev/null +++ b/src/main/java/de/jottyfan/minecraft/gta/feature/UnoFeatures.java @@ -0,0 +1,29 @@ +package de.jottyfan.minecraft.gta.feature; + +import de.jottyfan.minecraft.gta.Uno; +import net.fabricmc.fabric.api.biome.v1.BiomeModifications; +import net.fabricmc.fabric.api.biome.v1.BiomeSelectors; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.Identifier; +import net.minecraft.resources.ResourceKey; +import net.minecraft.world.level.levelgen.GenerationStep; +import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; +import net.minecraft.world.level.levelgen.placement.PlacedFeature; + +public class UnoFeatures { + public static final ResourceKey> CF_RUBY_ORE = genCf("ruby_ore"); + + public static final ResourceKey PF_RUBY_ORE = genPf("ruby_ore"); + + private static ResourceKey> genCf(String name) { + return ResourceKey.create(Registries.CONFIGURED_FEATURE, Identifier.fromNamespaceAndPath(Uno.MOD_ID, name)); + } + + private static ResourceKey genPf(String name) { + return ResourceKey.create(Registries.PLACED_FEATURE, Identifier.fromNamespaceAndPath(Uno.MOD_ID, name)); + } + + public static final void registerFeatures() { + BiomeModifications.addFeature(BiomeSelectors.foundInOverworld(), GenerationStep.Decoration.UNDERGROUND_ORES, PF_RUBY_ORE); + } +} \ No newline at end of file diff --git a/src/main/resources/data/uno/tag/block/mineable/pickaxe.json b/src/main/resources/data/uno/tag/block/mineable/pickaxe.json new file mode 100644 index 0000000..1f221b9 --- /dev/null +++ b/src/main/resources/data/uno/tag/block/mineable/pickaxe.json @@ -0,0 +1,6 @@ + { + "replace": false, + "values": [ + "uno:ruby_ore" + ] + } \ No newline at end of file diff --git a/src/main/resources/data/uno/tag/items/ores/ruby_ore.json b/src/main/resources/data/uno/tag/items/ores/ruby_ore.json new file mode 100644 index 0000000..404bbff --- /dev/null +++ b/src/main/resources/data/uno/tag/items/ores/ruby_ore.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "uno:ruby_ore" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/uno/worldgen/configured_feature/ruby_ore.json b/src/main/resources/data/uno/worldgen/configured_feature/ruby_ore.json new file mode 100644 index 0000000..f630417 --- /dev/null +++ b/src/main/resources/data/uno/worldgen/configured_feature/ruby_ore.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 10, + "targets": [ + { + "state": { + "Name": "uno:ruby_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/uno/worldgen/placed_feature/ruby_ore.json b/src/main/resources/data/uno/worldgen/placed_feature/ruby_ore.json new file mode 100644 index 0000000..7ce6639 --- /dev/null +++ b/src/main/resources/data/uno/worldgen/placed_feature/ruby_ore.json @@ -0,0 +1,27 @@ +{ + "feature": "uno:ruby_ore", + "placement": [ + { + "type": "minecraft:count", + "count": 9 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:trapezoid", + "max_inclusive": { + "absolute": 128 + }, + "min_inclusive": { + "absolute": -128 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file