Upload fixed mod with oregen

This commit is contained in:
Zontreck 2022-05-30 10:44:18 -07:00
parent 1ce264862e
commit 4252f8281a
19 changed files with 141 additions and 30 deletions

View file

@ -28,6 +28,7 @@ import org.slf4j.Logger;
import dev.zontreck.shapedaionresources.blocks.ModBlocks;
import dev.zontreck.shapedaionresources.configs.SARServerConfig;
import dev.zontreck.shapedaionresources.events.EventHandler;
import dev.zontreck.shapedaionresources.items.ModItems;
import dev.zontreck.shapedaionresources.ore.OreGenerator;
@ -47,6 +48,7 @@ public class ShapedAionResources
// Register the setup method for modloading
bus.addListener(this::setup);
ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, SARServerConfig.SPEC, "aion-rss-server.toml");
@ -56,7 +58,7 @@ public class ShapedAionResources
MinecraftForge.EVENT_BUS.register(this);
MinecraftForge.EVENT_BUS.register(new EventHandler());
ModBlocks.register(bus);
ModItems.register(bus);
@ -74,11 +76,6 @@ public class ShapedAionResources
}
@SubscribeEvent
public static void biomeLoadingEvent(final BiomeLoadingEvent ev){
//OreGenerator.generateOres(ev);
}
@SubscribeEvent
public void onSpawn(EntityJoinWorldEvent ev){
Level w = ev.getWorld();

View file

@ -29,11 +29,16 @@ public class ModBlocks {
public static final RegistryObject<Block> AION_ORE_BLOCK = BLOCKS.register("aion_ore_block", () -> new OreBlock(BlockBehaviour.Properties.of(Material.METAL)));
public static final RegistryObject<Block> AION_ORE_BLOCK = BLOCKS.register("aion_ore_block", () -> new OreBlock(BlockBehaviour.Properties.of(Material.METAL).requiresCorrectToolForDrops().strength(9f).explosionResistance(10).destroyTime(10)));
public static final RegistryObject<Item> AION_ORE_BLOCK_I = ITEMS.register("aion_ore_block", () -> new BlockItem(AION_ORE_BLOCK.get(), new Item.Properties().tab(CreativeModeTab.TAB_MISC)));
public static final RegistryObject<Block> AION_BLOCK = BLOCKS.register("aion_block", () -> new Block(BlockBehaviour.Properties.of(Material.HEAVY_METAL).explosionResistance(10000).requiresCorrectToolForDrops().strength(9f)));
public static final RegistryObject<Block> DEEPSLATE_AION_ORE_BLOCK = BLOCKS.register("deepslate_aion_ore_block", () -> new OreBlock(BlockBehaviour.Properties.of(Material.METAL).requiresCorrectToolForDrops().strength(9f).explosionResistance(10).destroyTime(10)));
public static final RegistryObject<Item> DEEPSLATE_AION_ORE_BLOCK_I = ITEMS.register("deepslate_aion_ore_block", () -> new BlockItem(DEEPSLATE_AION_ORE_BLOCK.get(), new Item.Properties().tab(CreativeModeTab.TAB_MISC)));
public static final RegistryObject<Block> AION_BLOCK = BLOCKS.register("aion_block", () -> new Block(BlockBehaviour.Properties.of(Material.HEAVY_METAL).requiresCorrectToolForDrops().strength(9f).explosionResistance(10).destroyTime(10)));
public static final RegistryObject<Item> AION_BLOCK_I = ITEMS.register("aion_block", () -> new BlockItem(AION_BLOCK.get(), new Item.Properties().tab(CreativeModeTab.TAB_MISC)));

View file

@ -0,0 +1,20 @@
package dev.zontreck.shapedaionresources.events;
import dev.zontreck.shapedaionresources.ShapedAionResources;
import dev.zontreck.shapedaionresources.ore.OreGenerator;
import net.minecraftforge.event.world.BiomeLoadingEvent;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
@EventBusSubscriber(modid=ShapedAionResources.MOD_ID)
public class EventHandler {
@SubscribeEvent(priority = EventPriority.HIGH)
public static void addOresToBiomes(final BiomeLoadingEvent ev){
ShapedAionResources.LOGGER.info("Biome loading event called. Registering aion ores");
OreGenerator.generateOres(ev);
}
}

View file

@ -3,6 +3,7 @@ package dev.zontreck.shapedaionresources.ore;
import java.util.ArrayList;
import java.util.List;
import dev.zontreck.shapedaionresources.ShapedAionResources;
import dev.zontreck.shapedaionresources.blocks.ModBlocks;
import net.minecraft.core.Holder;
import net.minecraft.data.worldgen.features.FeatureUtils;
@ -23,9 +24,11 @@ public class OreGenerator {
public static final List<ConfiguredFeature<OreConfiguration, OreFeature>> OVERWORLD_ORES = new ArrayList();
public static final List<OreConfiguration.TargetBlockState> OVERWORLD_AION_ORE = List.of(OreConfiguration.target(OreFeatures.STONE_ORE_REPLACEABLES, ModBlocks.AION_ORE_BLOCK.get().defaultBlockState()), OreConfiguration.target(OreFeatures.DEEPSLATE_ORE_REPLACEABLES, ModBlocks.AION_ORE_BLOCK.get().defaultBlockState()));
public static final List<OreConfiguration.TargetBlockState> OVERWORLD_AION_ORE = List.of(OreConfiguration.target(OreFeatures.STONE_ORE_REPLACEABLES, ModBlocks.AION_ORE_BLOCK.get().defaultBlockState()), OreConfiguration.target(OreFeatures.DEEPSLATE_ORE_REPLACEABLES, ModBlocks.DEEPSLATE_AION_ORE_BLOCK.get().defaultBlockState()));
public static final Holder<ConfiguredFeature<OreConfiguration, ?>> AION_ORE = FeatureUtils.register("aion_ore_block", Feature.ORE, new OreConfiguration(OVERWORLD_AION_ORE, 9));
public static final Holder<ConfiguredFeature<OreConfiguration, ?>> AION_ORE = FeatureUtils.register("aion_ore_block", Feature.ORE, new OreConfiguration(OVERWORLD_AION_ORE, 6));
public static final Holder<ConfiguredFeature<OreConfiguration, ?>> DEEPSLATE_AION_ORE = FeatureUtils.register("deepslate_aion_ore_block", Feature.ORE, new OreConfiguration(OVERWORLD_AION_ORE, 6));
//public static final Holder<PlacedFeature> EBONY_PLACED = PlacementUtils.register("ebony_placed",
@ -36,13 +39,22 @@ public class OreGenerator {
//ModConfiguredFeatures.PINK_ROSE, RarityFilter.onAverageOnceEvery(16),
//InSquarePlacement.spread(), PlacementUtils.HEIGHTMAP, BiomeFilter.biome());
public static final Holder<PlacedFeature> AION_ORE_PLACED = PlacementUtils.register("aion_ore_placed",
AION_ORE, ModdedOrePlacement.commonOrePlacement(6, // VeinsPerChunk
HeightRangePlacement.triangle(VerticalAnchor.aboveBottom(-40), VerticalAnchor.aboveBottom(40))));
public static final Holder<PlacedFeature> AION_ORE_PLACED = PlacementUtils.register("aion_ore_placed",
AION_ORE, ModdedOrePlacement.commonOrePlacement(3, // VeinsPerChunk
HeightRangePlacement.triangle(VerticalAnchor.absolute(-20), VerticalAnchor.absolute(20))));
public static void generateOres(final BiomeLoadingEvent ev){
//public static final Holder<PlacedFeature> DEEPSLATE_AION_ORE_PLACED = PlacementUtils.register("deepslate_aion_ore_placed",
// DEEPSLATE_AION_ORE, ModdedOrePlacement.commonOrePlacement(3, // VeinsPerChunk
// HeightRangePlacement.triangle(VerticalAnchor.aboveBottom(-20), VerticalAnchor.aboveBottom(0))));
public static void generateOres(final BiomeLoadingEvent ev)
{
List<Holder<PlacedFeature>> base = ev.getGeneration().getFeatures(GenerationStep.Decoration.UNDERGROUND_ORES);
ShapedAionResources.LOGGER.info("Register: AION_ORE");
base.add(AION_ORE_PLACED);
//base.add(DEEPSLATE_AION_ORE_PLACED);
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "shapedaionresources:block/deepslate_aion_ore_block"
}
}
}

View file

@ -12,5 +12,6 @@
"item.shapedaionresources.aion_fragment": "Fragmented Aion Crystal",
"block.shapedaionresources.aion_ore_block": "Aion Ore",
"block.shapedaionresources.deepslate_aion_ore_block": "Deepslate Aion Ore",
"block.shapedaionresources.aion_block": "Aion Block"
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "shapedaionresources:block/deepslate_aion_ore_block"
}
}

View file

@ -0,0 +1,3 @@
{
"parent": "shapedaionresources:block/deepslate_aion_ore_block"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 718 B

After

Width:  |  Height:  |  Size: 705 B

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

View file

@ -1,6 +1,8 @@
{
"replace": false,
"values": [
"shapedaionresources:aion_ore_block"
"shapedaionresources:aion_ore_block",
"shapedaionresources:deepslate_aion_ore_block",
"shapedaionresources:aion_block"
]
}

View file

@ -1,6 +1,7 @@
{
"replace": false,
"values": [
"shapedaionresources:aion_ore_block"
"shapedaionresources:aion_ore_block",
"shapedaionresources:deepslate_aion_ore_block"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"shapedaionresources:aion_block"
]
}

View file

@ -0,0 +1,50 @@
{
"type": "minecraft:block",
"pools": [
{
"name": "main",
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:alternatives",
"children": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"name": "shapedaionresources:deepslate_aion_ore_block"
},
{
"type": "minecraft:item",
"functions": [
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
],
"name": "shapedaionresources:aion_ore"
}
]
}
]
}
]
}

View file

@ -1,8 +1,17 @@
{
"type": "minecraft:smelting",
"ingredient": {
"item": "shapedaionresources:aion_ore_block"
},
"ingredient": [
{
"item": "shapedaionresources:aion_ore"
},
{
"item": "shapedaionresources:aion_ore_block"
},
{
"item": "shapedaionresources:deepslate_aion_ore_block"
}
],
"result": "shapedaionresources:aion_fragment",
"experience": 0.5
}
"experience": 0.5,
"cookingtime": 25
}

View file

@ -1,8 +0,0 @@
{
"type": "minecraft:smelting",
"ingredient": {
"item": "shapedaionresources:aion_ore"
},
"result": "shapedaionresources:aion_fragment",
"experience": 0.5
}