Finish updating to 1.19, rename Aion to Eternium
|
@ -127,9 +127,9 @@ dependencies {
|
|||
minecraft 'net.minecraftforge:forge:1.19-41.0.45'
|
||||
|
||||
// compile against the JEI API but do not include it at runtime
|
||||
compileOnly fg.deobf("mezz.jei:jei-${mc_version}-forge-api:${jei_version}")
|
||||
//compileOnly fg.deobf("mezz.jei:jei-${mc_version}-forge-api:${jei_version}")
|
||||
// at runtime, use the full JEI jar
|
||||
runtimeOnly fg.deobf("mezz.jei:jei-${mc_version}-forge:${jei_version}")
|
||||
//runtimeOnly fg.deobf("mezz.jei:jei-${mc_version}-forge:${jei_version}")
|
||||
// Real mod deobf dependency examples - these get remapped to your current mappings
|
||||
// compileOnly fg.deobf("mezz.jei:jei-${mc_version}:${jei_version}:api") // Adds JEI API as a compile dependency
|
||||
// runtimeOnly fg.deobf("mezz.jei:jei-${mc_version}:${jei_version}") // Adds the full JEI mod as a runtime dependency
|
||||
|
|
|
@ -4,8 +4,10 @@ import java.util.Set;
|
|||
import java.util.Map.Entry;
|
||||
|
||||
import com.mojang.logging.LogUtils;
|
||||
import com.mojang.serialization.Codec;
|
||||
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.player.Inventory;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
@ -13,6 +15,7 @@ import net.minecraft.world.item.Item;
|
|||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.common.world.BiomeModifier;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.ModLoadingContext;
|
||||
|
@ -22,13 +25,17 @@ import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
|||
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
|
||||
import net.minecraftforge.event.server.ServerStartingEvent;
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||
import net.minecraftforge.registries.DeferredRegister;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
|
||||
import dev.zontreck.otemod.blocks.ModBlocks;
|
||||
import dev.zontreck.otemod.configs.OTEServerConfig;
|
||||
import dev.zontreck.otemod.events.EventHandler;
|
||||
import dev.zontreck.otemod.items.ModItems;
|
||||
import dev.zontreck.otemod.ore.OreGenerator;
|
||||
import dev.zontreck.otemod.ore.Modifier;
|
||||
import dev.zontreck.otemod.ore.Modifier.ModifierOfBiomes;
|
||||
|
||||
// The value here should match an entry in the META-INF/mods.toml file
|
||||
@Mod(OTEMod.MOD_ID)
|
||||
|
@ -38,6 +45,8 @@ public class OTEMod
|
|||
public static final Logger LOGGER = LogUtils.getLogger();
|
||||
public static final String FIRST_JOIN_TAG = "dev.zontreck.otemod.firstjoin";
|
||||
public static final String MOD_ID = "otemod";
|
||||
public static final String MODIFY_BIOMES = "modify_biomes";
|
||||
public static final ResourceLocation MODIFY_BIOMES_RL = new ResourceLocation(OTEMod.MOD_ID, MODIFY_BIOMES);
|
||||
|
||||
|
||||
public OTEMod()
|
||||
|
@ -47,12 +56,14 @@ public class OTEMod
|
|||
bus.addListener(this::setup);
|
||||
|
||||
|
||||
ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, OTEServerConfig.SPEC, "aion-rss-server.toml");
|
||||
ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, OTEServerConfig.SPEC, "otemod-rss-server.toml");
|
||||
|
||||
|
||||
|
||||
// Register ourselves for server and other game events we are interested in
|
||||
|
||||
final DeferredRegister<Codec<? extends BiomeModifier>> serializers = DeferredRegister.create(ForgeRegistries.Keys.BIOME_MODIFIER_SERIALIZERS, OTEMod.MOD_ID);
|
||||
serializers.register(bus);
|
||||
serializers.register(MODIFY_BIOMES, ModifierOfBiomes::makeCodec);
|
||||
|
||||
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
|
|
|
@ -27,16 +27,14 @@ public class ModBlocks {
|
|||
OTEMod.LOGGER.info("Registering all blocks...");
|
||||
}
|
||||
|
||||
public static final RegistryObject<Block> ETERNIUM_ORE_BLOCK = BLOCKS.register("eternium_ore_block", () -> new Block(BlockBehaviour.Properties.of(Material.METAL).requiresCorrectToolForDrops().strength(9f).explosionResistance(1200).destroyTime(10)));
|
||||
|
||||
|
||||
public static final RegistryObject<Block> AION_ORE_BLOCK = BLOCKS.register("aion_ore_block", () -> new OreBlock(BlockBehaviour.Properties.of(Material.METAL).requiresCorrectToolForDrops().strength(9f).explosionResistance(1200).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<Item> ETERNIUM_ORE_BLOCK_I = ITEMS.register("eternium_ore_block", () -> new BlockItem(ETERNIUM_ORE_BLOCK.get(), new Item.Properties().tab(CreativeModeTab.TAB_MISC)));
|
||||
|
||||
|
||||
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(1200).destroyTime(10)));
|
||||
public static final RegistryObject<Block> DEEPSLATE_ETERNIUM_ORE_BLOCK = BLOCKS.register("deepslate_eternium_ore_block", () -> new Block(BlockBehaviour.Properties.of(Material.METAL).requiresCorrectToolForDrops().strength(9f).explosionResistance(1200).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<Item> DEEPSLATE_ETERNIUM_ORE_BLOCK_I = ITEMS.register("deepslate_eternium_ore_block", () -> new BlockItem(DEEPSLATE_ETERNIUM_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.STONE).requiresCorrectToolForDrops().strength(9f).explosionResistance(100000f).destroyTime(10).sound(SoundType.NETHERITE_BLOCK)));
|
||||
|
||||
|
|
|
@ -1,20 +1,26 @@
|
|||
package dev.zontreck.otemod.events;
|
||||
|
||||
import dev.zontreck.otemod.OTEMod;
|
||||
import dev.zontreck.otemod.ore.OreGenerator;
|
||||
import net.minecraftforge.event.world.BiomeLoadingEvent;
|
||||
import dev.zontreck.otemod.ore.Modifier;
|
||||
//import dev.zontreck.otemod.ore.OreGenerator;
|
||||
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;
|
||||
import net.minecraftforge.forge.event.lifecycle.GatherDataEvent;
|
||||
|
||||
@EventBusSubscriber(modid=OTEMod.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);
|
||||
}*/
|
||||
|
||||
@SubscribeEvent
|
||||
public void onGatherData(GatherDataEvent ev){
|
||||
Modifier.DoProcess(ev);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
package dev.zontreck.otemod.integrations;
|
||||
|
||||
import dev.zontreck.otemod.OTEMod;
|
||||
import mezz.jei.api.IModPlugin;
|
||||
import mezz.jei.api.JeiPlugin;
|
||||
//import mezz.jei.api.IModPlugin;
|
||||
//import mezz.jei.api.JeiPlugin;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
|
||||
@JeiPlugin
|
||||
public class JEI implements IModPlugin
|
||||
//@JeiPlugin
|
||||
public class JEI
|
||||
{
|
||||
|
||||
@Override
|
||||
public ResourceLocation getPluginUid() {
|
||||
//@Override
|
||||
/*public ResourceLocation getPluginUid() {
|
||||
return new ResourceLocation(OTEMod.MOD_ID, "jei_plugin");
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
|
|
@ -11,12 +11,12 @@ import net.minecraftforge.registries.RegistryObject;
|
|||
public class ModItems {
|
||||
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, OTEMod.MOD_ID);
|
||||
|
||||
public static final RegistryObject<Item> AION_FRAGMENT = ITEMS.register("aion_fragment", () -> new Item(new Item.Properties().tab(CreativeModeTab.TAB_MISC)));
|
||||
public static final RegistryObject<Item> ETERNIUM_FRAGMENT = ITEMS.register("eternium_fragment", () -> new Item(new Item.Properties().tab(CreativeModeTab.TAB_MISC)));
|
||||
|
||||
public static final RegistryObject<Item> AION_CRYSTAL = ITEMS.register("aion_crystal", () -> new Item(new Item.Properties().tab(CreativeModeTab.TAB_MISC)));
|
||||
public static final RegistryObject<Item> IHAN_CRYSTAL = ITEMS.register("ihan_crystal", () -> new Item(new Item.Properties().tab(CreativeModeTab.TAB_MISC)));
|
||||
|
||||
|
||||
public static final RegistryObject<Item> AION_RAW_ORE = ITEMS.register("aion_ore", () -> new Item(new Item.Properties().tab(CreativeModeTab.TAB_MISC)));
|
||||
public static final RegistryObject<Item> ETERNIUM_RAW_ORE = ITEMS.register("eternium_ore", () -> new Item(new Item.Properties().tab(CreativeModeTab.TAB_MISC)));
|
||||
|
||||
|
||||
public static void register(IEventBus bus){
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
package dev.zontreck.otemod.ore;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.world.level.levelgen.placement.BiomeFilter;
|
||||
import net.minecraft.world.level.levelgen.placement.CountPlacement;
|
||||
import net.minecraft.world.level.levelgen.placement.InSquarePlacement;
|
||||
import net.minecraft.world.level.levelgen.placement.PlacementModifier;
|
||||
import net.minecraft.world.level.levelgen.placement.RarityFilter;
|
||||
|
||||
public class ModdedOrePlacement {
|
||||
public static List<PlacementModifier> orePlacement(PlacementModifier p_195347_, PlacementModifier p_195348_) {
|
||||
return List.of(p_195347_, InSquarePlacement.spread(), p_195348_, BiomeFilter.biome());
|
||||
}
|
||||
|
||||
public static List<PlacementModifier> commonOrePlacement(int p_195344_, PlacementModifier p_195345_) {
|
||||
return orePlacement(CountPlacement.of(p_195344_), p_195345_);
|
||||
}
|
||||
|
||||
public static List<PlacementModifier> rareOrePlacement(int p_195350_, PlacementModifier p_195351_) {
|
||||
return orePlacement(RarityFilter.onAverageOnceEvery(p_195350_), p_195351_);
|
||||
}
|
||||
|
||||
}
|
116
src/main/java/dev/zontreck/otemod/ore/Modifier.java
Normal file
|
@ -0,0 +1,116 @@
|
|||
package dev.zontreck.otemod.ore;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.google.gson.JsonElement;
|
||||
import com.mojang.serialization.Codec;
|
||||
import com.mojang.serialization.JsonOps;
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder;
|
||||
|
||||
import cpw.mods.modlauncher.api.ITransformationService.Resource;
|
||||
import dev.zontreck.otemod.OTEMod;
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.HolderSet;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.core.RegistryAccess;
|
||||
import net.minecraft.core.HolderSet.Named;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.data.worldgen.features.NetherFeatures;
|
||||
import net.minecraft.data.worldgen.features.OreFeatures;
|
||||
import net.minecraft.resources.RegistryOps;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.BiomeTags;
|
||||
import net.minecraft.world.level.biome.Biome;
|
||||
import net.minecraft.world.level.biome.Biome.Precipitation;
|
||||
import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
|
||||
import net.minecraft.world.level.levelgen.feature.ConfiguredFeature;
|
||||
import net.minecraft.world.level.levelgen.placement.BiomeFilter;
|
||||
import net.minecraft.world.level.levelgen.placement.PlacedFeature;
|
||||
import net.minecraftforge.common.data.ExistingFileHelper;
|
||||
import net.minecraftforge.common.data.JsonCodecProvider;
|
||||
import net.minecraftforge.common.world.BiomeModifier;
|
||||
import net.minecraftforge.common.world.ModifiableBiomeInfo.BiomeInfo.Builder;
|
||||
import net.minecraftforge.common.world.ForgeBiomeModifiers.AddFeaturesBiomeModifier;
|
||||
import net.minecraftforge.forge.event.lifecycle.GatherDataEvent;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
|
||||
public class Modifier
|
||||
{
|
||||
private static final String ETERNIUM_ORE = "eternium_oregen_overworld";
|
||||
private static final ResourceLocation ETERNIUM_ORE_RL = new ResourceLocation(OTEMod.MOD_ID, ETERNIUM_ORE);
|
||||
private static final ResourceKey<PlacedFeature> ETERNIUM_ORE_KEY = ResourceKey.create(Registry.PLACED_FEATURE_REGISTRY, ETERNIUM_ORE_RL);
|
||||
private static final ResourceKey<ConfiguredFeature<?,?>> ETERNIUM_ORE_KEY_CFG = ResourceKey.create(Registry.CONFIGURED_FEATURE_REGISTRY, ETERNIUM_ORE_RL);
|
||||
|
||||
|
||||
private static final String ADD_FEATURE_ETERNIUM_ORE_OVERWORLD = "add_eternium_ow";
|
||||
private static final ResourceLocation ADD_ETERNIUM_ORE_OW = new ResourceLocation(OTEMod.MOD_ID, ADD_FEATURE_ETERNIUM_ORE_OVERWORLD);
|
||||
|
||||
|
||||
public static void DoProcess(GatherDataEvent ev) {
|
||||
/*
|
||||
final DataGenerator generator = ev.getGenerator();
|
||||
final ExistingFileHelper fExistingFileHelper = ev.getExistingFileHelper();
|
||||
final RegistryOps<JsonElement> ops = RegistryOps.create(JsonOps.INSTANCE, RegistryAccess.builtinCopy());
|
||||
|
||||
// Create the placed ore feature
|
||||
//final ResourceKey<ConfiguredFeature<?,?>> configuredFeatKey = OreFeatures.ORE_DIAMOND_SMALL.unwrapKey().get().cast(Registry.CONFIGURED_FEATURE_REGISTRY).get();
|
||||
|
||||
final Holder<ConfiguredFeature<?,?>> configuredFeatHolder = ops.registry(Registry.CONFIGURED_FEATURE_REGISTRY).get().getOrCreateHolderOrThrow(ETERNIUM_ORE_KEY_CFG);
|
||||
|
||||
final PlacedFeature eternium_ore_place = new PlacedFeature(configuredFeatHolder, List.of(
|
||||
BiomeFilter.biome()
|
||||
));
|
||||
|
||||
final PlacedFeature pfeat = ops.registry(Registry.PLACED_FEATURE_REGISTRY).get().get(ETERNIUM_ORE_RL);
|
||||
|
||||
final HolderSet.Named<Biome> hfeatBiome = new Named<>(ops.registry(Registry.BIOME_REGISTRY).get(), BiomeTags.IS_OVERWORLD);
|
||||
|
||||
|
||||
final BiomeModifier modif = new AddFeaturesBiomeModifier(
|
||||
hfeatBiome,
|
||||
HolderSet.direct(ops.registry(Registry.PLACED_FEATURE_REGISTRY).get().getOrCreateHolderOrThrow(ETERNIUM_ORE_KEY)),
|
||||
Decoration.UNDERGROUND_ORES
|
||||
);
|
||||
|
||||
|
||||
generator.addProvider(ev.includeServer(), JsonCodecProvider.forDatapackRegistry(generator, fExistingFileHelper, OTEMod.MOD_ID, ops, Registry.PLACED_FEATURE_REGISTRY, Map.of(
|
||||
ETERNIUM_ORE_RL, pfeat
|
||||
)));
|
||||
|
||||
generator.addProvider(ev.includeServer(), JsonCodecProvider.forDatapackRegistry(generator, fExistingFileHelper, OTEMod.MOD_ID, ops, ForgeRegistries.Keys.BIOME_MODIFIERS, Map.of(
|
||||
ADD_ETERNIUM_ORE_OW, modif
|
||||
)));
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
public record ModifierOfBiomes(HolderSet<Biome> biomes, Holder<PlacedFeature> feature) implements BiomeModifier
|
||||
{
|
||||
private static final RegistryObject<Codec<? extends BiomeModifier>> SERIALIZER = RegistryObject.create(OTEMod.MODIFY_BIOMES_RL, ForgeRegistries.Keys.BIOME_MODIFIER_SERIALIZERS, OTEMod.MOD_ID);
|
||||
|
||||
@Override
|
||||
public void modify(Holder<Biome> biome, Phase phase, Builder builder) {
|
||||
if(phase == Phase.ADD && biomes.contains(biome)){
|
||||
builder.getGenerationSettings().addFeature(Decoration.UNDERGROUND_ORES, feature);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Codec<? extends BiomeModifier> codec() {
|
||||
return SERIALIZER.get();
|
||||
}
|
||||
|
||||
public static Codec<ModifierOfBiomes> makeCodec()
|
||||
{
|
||||
return RecordCodecBuilder.create(builder->builder.group(
|
||||
Biome.LIST_CODEC.fieldOf("biomes").forGetter(ModifierOfBiomes::biomes),
|
||||
PlacedFeature.CODEC.fieldOf("feature").forGetter(ModifierOfBiomes::feature)
|
||||
).apply(builder, ModifierOfBiomes::new));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
package dev.zontreck.otemod.ore;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import dev.zontreck.otemod.OTEMod;
|
||||
import dev.zontreck.otemod.blocks.ModBlocks;
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.data.worldgen.features.FeatureUtils;
|
||||
import net.minecraft.data.worldgen.features.OreFeatures;
|
||||
import net.minecraft.data.worldgen.placement.PlacementUtils;
|
||||
import net.minecraft.data.worldgen.placement.VegetationPlacements;
|
||||
import net.minecraft.world.level.levelgen.GenerationStep;
|
||||
import net.minecraft.world.level.levelgen.VerticalAnchor;
|
||||
import net.minecraft.world.level.levelgen.feature.ConfiguredFeature;
|
||||
import net.minecraft.world.level.levelgen.feature.Feature;
|
||||
import net.minecraft.world.level.levelgen.feature.OreFeature;
|
||||
import net.minecraft.world.level.levelgen.feature.configurations.OreConfiguration;
|
||||
import net.minecraft.world.level.levelgen.placement.HeightRangePlacement;
|
||||
import net.minecraft.world.level.levelgen.placement.PlacedFeature;
|
||||
|
||||
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.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, 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",
|
||||
//ModConfiguredFeatures.EBONY_SPAWN, VegetationPlacements.treePlacement(
|
||||
//PlacementUtils.countExtra(3, 0.1f, 2)));
|
||||
|
||||
//public static final Holder<PlacedFeature> PINK_ROSE_PLACED = PlacementUtils.register("pink_rose_placed",
|
||||
//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(3, // VeinsPerChunk
|
||||
HeightRangePlacement.triangle(VerticalAnchor.absolute(-20), VerticalAnchor.absolute(20))));
|
||||
|
||||
|
||||
//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);
|
||||
}
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
# The name of the mod loader type to load - for regular FML @Mod mods it should be javafml
|
||||
modLoader="javafml" #mandatory
|
||||
# A version range to match for said mod loader - for regular FML @Mod it will be the forge version
|
||||
loaderVersion="[40,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions.
|
||||
loaderVersion="[41,]" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions.
|
||||
# The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties.
|
||||
# Review your options at https://choosealicense.com/. All rights reserved is the default copyright stance, and is thus the default here.
|
||||
license="GPL 2.0"
|
||||
|
@ -40,7 +40,7 @@ The entire purpose of this mod is to add datapack resources that will be present
|
|||
# Does this dependency have to exist - if not, ordering below must be specified
|
||||
mandatory=true #mandatory
|
||||
# The version range of the dependency
|
||||
versionRange="[41,)" #mandatory
|
||||
versionRange="[41,]" #mandatory
|
||||
# An ordering relationship for the dependency - BEFORE or AFTER required if the relationship is not mandatory
|
||||
ordering="NONE"
|
||||
# Side this dependency is applied on - BOTH, CLIENT or SERVER
|
||||
|
@ -50,6 +50,6 @@ The entire purpose of this mod is to add datapack resources that will be present
|
|||
modId="minecraft"
|
||||
mandatory=true
|
||||
# This version range declares a minimum of the current minecraft version up to but not including the next major version
|
||||
versionRange="[1.19)"
|
||||
versionRange="[1.19,]"
|
||||
ordering="NONE"
|
||||
side="BOTH"
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "otemod:block/deepslate_eternium_ore_block"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "otemod:block/eternium_ore_block"
|
||||
}
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 173 KiB After Width: | Height: | Size: 173 KiB |
17
src/main/resources/assets/otemod/lang/en_us.json
Normal file
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"itemGroup.refinedfabric.materials": "RefinedFabric Materials",
|
||||
"itemGroup.refinedfabric.tools": "RefinedFabric Utilities",
|
||||
"itemGroup.refinedfabric.blocks": "RefinedFabric Blocks",
|
||||
|
||||
"item.otemod.eternium_ore": "Raw Eternium Ore",
|
||||
"item.otemod.ihan_crystal": "Ihan Crystal",
|
||||
"item.otemod.ihan_crystal.levels": "Stored XP: ",
|
||||
"item.otemod.ihan_crystal.empty": "* Crystal Is Empty *",
|
||||
"item.otemod.ihan_crystal.need_repair": "Ihan Crystal must now be repaired",
|
||||
"item.otemod.ihan_crystal.durability": "Durability: ",
|
||||
"item.otemod.eternium_fragment": "Fragmented Eternium",
|
||||
|
||||
"block.otemod.eternium_ore_block": "Eternium Ore",
|
||||
"block.otemod.deepslate_eternium_ore_block": "Deepslate Eternium Ore",
|
||||
"block.otemod.aion_block": "Aion Block"
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/cube_all",
|
||||
"textures": {
|
||||
"all": "otemod:block/deepslate_eternium_ore_block"
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"parent": "block/cube_all",
|
||||
"textures": {
|
||||
"all": "otemod:block/aion_ore_block"
|
||||
"all": "otemod:block/eternium_ore_block"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "otemod:block/deepslate_eternium_ore_block"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "otemod:item/aion_fragment"
|
||||
"layer0": "otemod:item/eternium_fragment"
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "otemod:item/aion_ore"
|
||||
"layer0": "otemod:item/eternium_ore"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "otemod:block/eternium_ore_block"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "otemod:item/aion_crystal"
|
||||
"layer0": "otemod:item/ihan_crystal"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 493 B After Width: | Height: | Size: 493 B |
Before Width: | Height: | Size: 650 B After Width: | Height: | Size: 650 B |
Before Width: | Height: | Size: 705 B After Width: | Height: | Size: 705 B |
Before Width: | Height: | Size: 263 B After Width: | Height: | Size: 263 B |
Before Width: | Height: | Size: 449 B After Width: | Height: | Size: 449 B |
Before Width: | Height: | Size: 294 B After Width: | Height: | Size: 294 B |
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "otemod:block/aion_ore_block"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "otemod:block/deepslate_aion_ore_block"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"itemGroup.refinedfabric.materials": "RefinedFabric Materials",
|
||||
"itemGroup.refinedfabric.tools": "RefinedFabric Utilities",
|
||||
"itemGroup.refinedfabric.blocks": "RefinedFabric Blocks",
|
||||
|
||||
"item.otemod.aion_ore": "Raw Aion Ore",
|
||||
"item.otemod.aion_crystal": "Aion Crystal",
|
||||
"item.otemod.aion_crystal.levels": "Stored XP: ",
|
||||
"item.otemod.aion_crystal.empty": "* Crystal Is Empty *",
|
||||
"item.otemod.aion_crystal.need_repair": "Aion Crystal must now be repaired",
|
||||
"item.otemod.aion_crystal.durability": "Durability: ",
|
||||
"item.otemod.aion_fragment": "Fragmented Aion Crystal",
|
||||
|
||||
"block.otemod.aion_ore_block": "Aion Ore",
|
||||
"block.otemod.deepslate_aion_ore_block": "Deepslate Aion Ore",
|
||||
"block.otemod.aion_block": "Aion Block"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/cube_all",
|
||||
"textures": {
|
||||
"all": "otemod:block/deepslate_aion_ore_block"
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"parent": "otemod:block/aion_ore_block"
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"parent": "otemod:block/deepslate_aion_ore_block"
|
||||
}
|
Before Width: | Height: | Size: 3.2 KiB |
3
src/main/resources/data/minecraft/biome/.TestPlaceholder
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Do not remove this file.
|
||||
This file is here due to MC-241264
|
||||
https://bugs.mojang.com/browse/MC-241264
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"shapedaionresources:aion_ore_block",
|
||||
"shapedaionresources:deepslate_aion_ore_block",
|
||||
"shapedaionresources:aion_block"
|
||||
"otemod:eternium_ore_block",
|
||||
"otemod:deepslate_eternium_ore_block",
|
||||
"otemod:aion_block"
|
||||
]
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"shapedaionresources:aion_block"
|
||||
"otemod:aion_block"
|
||||
]
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"shapedaionresources:aion_ore_block",
|
||||
"shapedaionresources:deepslate_aion_ore_block"
|
||||
"otemod:eternium_ore_block",
|
||||
"otemod:deepslate_eternium_ore_block"
|
||||
]
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"shapedaionresources:aion_block"
|
||||
"otemod:aion_block"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"type": "forge:add_features",
|
||||
"features": ["otemod:eternium_oregen_overworld"],
|
||||
"biomes": "#is_overworld",
|
||||
"step": "underground_ores"
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "shapedaionresources:aion_block"
|
||||
"name": "otemod:aion_block"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
}
|
||||
}
|
||||
],
|
||||
"name": "shapedaionresources:aion_ore_block"
|
||||
"name": "otemod:deepslate_eternium_ore_block"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
|
@ -40,7 +40,7 @@
|
|||
"function": "minecraft:explosion_decay"
|
||||
}
|
||||
],
|
||||
"name": "shapedaionresources:aion_ore"
|
||||
"name": "otemod:eternium_ore"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -26,7 +26,7 @@
|
|||
}
|
||||
}
|
||||
],
|
||||
"name": "shapedaionresources:deepslate_aion_ore_block"
|
||||
"name": "otemod:eternium_ore_block"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
|
@ -40,7 +40,7 @@
|
|||
"function": "minecraft:explosion_decay"
|
||||
}
|
||||
],
|
||||
"name": "shapedaionresources:aion_ore"
|
||||
"name": "otemod:eternium_ore"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -7,7 +7,7 @@
|
|||
],
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "otemod:aion_crystal"
|
||||
"item": "otemod:ihan_crystal"
|
||||
},
|
||||
"N": {
|
||||
"item": "minecraft:nether_star"
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"type": "minecraft:smelting",
|
||||
"ingredient": [
|
||||
{
|
||||
"item": "otemod:aion_ore"
|
||||
},
|
||||
{
|
||||
"item": "otemod:aion_ore_block"
|
||||
},
|
||||
{
|
||||
"item": "otemod:deepslate_aion_ore_block"
|
||||
}
|
||||
],
|
||||
"result": "otemod:aion_fragment",
|
||||
"experience": 0.5,
|
||||
"cookingtime": 25
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"type": "minecraft:smelting",
|
||||
"ingredient": [
|
||||
{
|
||||
"item": "otemod:eternium_ore"
|
||||
},
|
||||
{
|
||||
"item": "otemod:eternium_ore_block"
|
||||
},
|
||||
{
|
||||
"item": "otemod:deepslate_eternium_ore_block"
|
||||
}
|
||||
],
|
||||
"result": "otemod:eternium_fragment",
|
||||
"experience": 0.5,
|
||||
"cookingtime": 25
|
||||
}
|
|
@ -7,14 +7,14 @@
|
|||
],
|
||||
"key": {
|
||||
"F": {
|
||||
"item": "otemod:aion_fragment"
|
||||
"item": "otemod:eternium_fragment"
|
||||
},
|
||||
"G": {
|
||||
"item": "minecraft:emerald"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "otemod:aion_crystal",
|
||||
"item": "otemod:ihan_crystal",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"type": "minecraft:ore",
|
||||
"config": {
|
||||
"size": 8,
|
||||
"discard_chance_on_air_exposure": 0,
|
||||
"targets": [
|
||||
{
|
||||
"target": {
|
||||
"predicate_type": "minecraft:tag_match",
|
||||
"tag": "minecraft:stone_ore_replaceables"
|
||||
},
|
||||
"state": {
|
||||
"Name": "otemod:eternium_ore_block"
|
||||
}
|
||||
},
|
||||
{
|
||||
"target": {
|
||||
"predicate_type": "minecraft:tag_match",
|
||||
"tag": "minecraft:deepslate_ore_replaceables"
|
||||
},
|
||||
"state": {
|
||||
"Name": "otemod:deepslate_eternium_ore_block"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"feature": "otemod:eternium_oregen_overworld",
|
||||
"placement": [
|
||||
{
|
||||
"type": "minecraft:count",
|
||||
"count": 8
|
||||
},
|
||||
{
|
||||
"type": "minecraft:in_square"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:height_range",
|
||||
"height": {
|
||||
"type": "minecraft:trapezoid",
|
||||
"min_inclusive": {
|
||||
"absolute": -20
|
||||
},
|
||||
"max_inclusive": {
|
||||
"absolute": 25
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"pack": {
|
||||
"description": "OTEMod Resources",
|
||||
"pack_format": 9
|
||||
"pack_format": 10
|
||||
}
|
||||
}
|
||||
|
|