Backport 2.0.0 to 1.16.1

This commit is contained in:
Motschen
2020-09-20 12:45:23 +02:00
parent 4764147e1c
commit 9b5a356ed1
15 changed files with 92 additions and 117 deletions

View File

@@ -27,18 +27,26 @@ dependencies {
modCompile "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
modImplementation "vazkii.patchouli:Patchouli:${patchouli_version}"
modImplementation "com.github.Draylar:maybe-data:${maybedata_version}"
include "com.github.Draylar:maybe-data:${maybedata_version}"
modImplementation "eu.midnightdust:midnight-hats:${midnighthats_version}"
include "eu.midnightdust:midnight-hats:${midnighthats_version}"
modImplementation ("me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}")
include ("me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}")
modImplementation ("me.shedaniel.cloth:config-2:${project.cloth_config_version}")
include ("me.shedaniel.cloth:config-2:${project.cloth_config_version}")
modImplementation ("io.github.prospector:modmenu:${project.mod_menu_version}")
modImplementation ("me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}") {
exclude(module: "fabric-api")
}
include ("me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}") {
exclude(module: "fabric-api")
}
modImplementation ("me.shedaniel.cloth:config-2:${project.cloth_config_version}") {
exclude(module: "fabric-api")
}
include ("me.shedaniel.cloth:config-2:${project.cloth_config_version}") {
exclude(module: "fabric-api")
}
modImplementation ("io.github.prospector:modmenu:${project.mod_menu_version}") {
exclude(module: "fabric-api")
}
}
processResources {

View File

@@ -3,9 +3,9 @@ org.gradle.jvmargs=-Xmx1G
# Fabric Properties
# check these on https://fabricmc.net/use
minecraft_version=1.16.2
yarn_mappings=1.16.2+build.6
loader_version=0.9.1+build.205
minecraft_version=1.16.1
yarn_mappings=1.16.1+build.7
loader_version=0.8.8+build.202
# Mod Properties
mod_version = 2.0.0
@@ -14,13 +14,13 @@ org.gradle.jvmargs=-Xmx1G
# Dependencies
# currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api
fabric_version=0.17.2+build.396-1.16
patchouli_version=1.16-40-FABRIC
maybedata_version=1.0.0-1.16.2
fabric_version=0.14.0+build.371-1.16
patchouli_version=1.16-38-FABRIC
maybedata_version=1.0.0-1.16.1
# Config stuff
auto_config_version = 3.2.0-unstable
cloth_config_version = 4.7.0-unstable
cloth_config_version = 4.6.0
mod_menu_version = 1.14.6+build.31
# MidnightHats

View File

View File

@@ -20,6 +20,8 @@ import net.minecraft.item.*;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import java.util.Locale;
public class DishesMain implements ModInitializer {
public static final String MOD_ID = "dishes";
public static DishesConfig DD_CONFIG;
@@ -165,5 +167,28 @@ public class DishesMain implements ModInitializer {
Flags.init();
}
WorldGenInit.init();
}
public enum Ores implements ItemConvertible {
SaltOre(4, 20, 40, 120);
public final String name;
public final int veinSize;
public final int veinsPerChunk;
public final int minY;
public final int maxY;
Ores(int veinSize, int veinsPerChunk, int minY, int maxY) {
name = this.toString().toLowerCase(Locale.ROOT);
this.veinSize = veinSize;
this.veinsPerChunk = veinsPerChunk;
this.minY = minY;
this.maxY = maxY;
}
@Override
public Item asItem() {
return SaltOre.asItem();
}
}
}

View File

@@ -1,7 +1,7 @@
package eu.midnightdust.motschen.dishes.config;
import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment;
import me.sargunvohra.mcmods.autoconfig1u.annotation.Config;
import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment;
@Config(name = "trader")
public class IceCreamTraderConfig {

View File

@@ -1,7 +1,7 @@
package eu.midnightdust.motschen.dishes.config;
import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment;
import me.sargunvohra.mcmods.autoconfig1u.annotation.Config;
import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment;
@Config(name = "main")
public class MainConfig {

View File

@@ -1,7 +1,7 @@
package eu.midnightdust.motschen.dishes.config;
import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment;
import me.sargunvohra.mcmods.autoconfig1u.annotation.Config;
import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment;
@Config(name = "trader")
public class WorldGenConfig {

View File

@@ -3,8 +3,6 @@ package eu.midnightdust.motschen.dishes.init;
import eu.midnightdust.motschen.dishes.config.DishesConfig;
import eu.midnightdust.motschen.dishes.entities.IceCreamTraderSpawn;
import eu.midnightdust.motschen.dishes.world.LootModifier;
import eu.midnightdust.motschen.dishes.world.OreFeatureInjector;
import eu.midnightdust.motschen.dishes.world.OreFeatures;
import me.sargunvohra.mcmods.autoconfig1u.AutoConfig;
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents;
import net.minecraft.server.world.ServerWorld;
@@ -18,8 +16,7 @@ public class WorldGenInit {
}
if (config.worldgen.loot == true) { LootModifier.init(); }
if (config.worldgen.salt_ore == true) {
OreFeatures.init();
OreFeatureInjector.init();
eu.midnightdust.motschen.dishes.world.SaltOre.initBiomeFeatures();
}
if (config.trader.enabled == true && config.trader.spawntrader == true) {

View File

@@ -1,19 +0,0 @@
package eu.midnightdust.motschen.dishes.mixin;
import net.minecraft.world.biome.GenerationSettings;
import net.minecraft.world.gen.feature.ConfiguredFeature;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
import java.util.List;
import java.util.function.Supplier;
@Mixin(GenerationSettings.class)
public interface GenerationSettingsAccessorMixin {
@Accessor
List<List<Supplier<ConfiguredFeature<?, ?>>>> getFeatures();
@Accessor
void setFeatures(List<List<Supplier<ConfiguredFeature<?, ?>>>> features);
}

View File

@@ -1,44 +0,0 @@
package eu.midnightdust.motschen.dishes.world;
import com.google.common.collect.Lists;
import eu.midnightdust.motschen.dishes.mixin.GenerationSettingsAccessorMixin;
import net.fabricmc.fabric.api.event.registry.RegistryEntryAddedCallback;
import net.minecraft.util.registry.BuiltinRegistries;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.gen.GenerationStep;
import net.minecraft.world.gen.feature.ConfiguredFeature;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Supplier;
public class OreFeatureInjector {
public static void init() {
BuiltinRegistries.BIOME.forEach(OreFeatureInjector::addToBiome);
RegistryEntryAddedCallback.event(BuiltinRegistries.BIOME).register((i, identifier, biome) -> addToBiome(biome));
}
private static void addToBiome(Biome biome) {
addSaltOre(biome);
}
private static void addSaltOre(Biome biome) {
if (biome.getCategory() != Biome.Category.NETHER && biome.getCategory() != Biome.Category.THEEND) {
addFeature(biome, GenerationStep.Feature.UNDERGROUND_DECORATION, OreFeatures.SALT_ORE_FEATURE);
}
}
public static void addFeature(Biome biome, GenerationStep.Feature step, ConfiguredFeature<?, ?> feature) {
GenerationSettingsAccessorMixin generationSettingsAccessor = (GenerationSettingsAccessorMixin) biome.getGenerationSettings();
int stepIndex = step.ordinal();
List<List<Supplier<ConfiguredFeature<?, ?>>>> featuresByStep = new ArrayList<>( generationSettingsAccessor.getFeatures());
while (featuresByStep.size() <= stepIndex) {
featuresByStep.add(Lists.newArrayList());
}
List<Supplier<ConfiguredFeature<?, ?>>> features = new ArrayList<>(featuresByStep.get(stepIndex));
features.add(() -> feature);
featuresByStep.set(stepIndex, features);
generationSettingsAccessor.setFeatures(featuresByStep);
}
}

View File

@@ -1,18 +0,0 @@
package eu.midnightdust.motschen.dishes.world;
import eu.midnightdust.motschen.dishes.DishesMain;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.BuiltinRegistries;
import net.minecraft.util.registry.Registry;
import net.minecraft.world.gen.feature.ConfiguredFeature;
import net.minecraft.world.gen.feature.Feature;
import net.minecraft.world.gen.feature.OreFeatureConfig;
public class OreFeatures {
public static final ConfiguredFeature<?, ?> SALT_ORE_FEATURE = Feature.ORE.configure(new OreFeatureConfig(OreFeatureConfig.Rules.BASE_STONE_OVERWORLD, DishesMain.SaltOre.getDefaultState(), 4)).method_30377(120).spreadHorizontally().repeat(20);
public static void init() {
Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, new Identifier(DishesMain.MOD_ID, "salt_ore"), SALT_ORE_FEATURE);
}
}

View File

@@ -0,0 +1,41 @@
package eu.midnightdust.motschen.dishes.world;
import eu.midnightdust.motschen.dishes.DishesMain;
import net.fabricmc.fabric.api.event.registry.RegistryEntryAddedCallback;
import net.minecraft.util.registry.Registry;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.gen.GenerationStep;
import net.minecraft.world.gen.decorator.Decorator;
import net.minecraft.world.gen.decorator.RangeDecoratorConfig;
import net.minecraft.world.gen.feature.Feature;
import net.minecraft.world.gen.feature.OreFeatureConfig;
import java.util.ArrayList;
import java.util.List;
public class SaltOre {
private static List<Biome> checkedBiomes = new ArrayList<>();
public static void initBiomeFeatures() {
for (Biome biome : Registry.BIOME) {
addToBiome(biome);
}
//Handles modded biomes
RegistryEntryAddedCallback.event(Registry.BIOME).register((i, identifier, biome) -> addToBiome(biome));
}
private static void addToBiome(Biome biome){
if(checkedBiomes.contains(biome)){
//Just to be sure we dont add the stuff twice to the same biome
return;
}
checkedBiomes.add(biome);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, DishesMain.Ores.SaltOre);
}
private static void addOre(Biome biome, OreFeatureConfig.Target canReplaceIn, DishesMain.Ores ore) {
biome.addFeature(GenerationStep.Feature.UNDERGROUND_ORES, Feature.ORE.configure(
new OreFeatureConfig(canReplaceIn, DishesMain.SaltOre.getDefaultState(), ore.veinSize)).createDecoratedFeature(Decorator.COUNT_RANGE.configure(
new RangeDecoratorConfig(ore.veinsPerChunk, ore.minY, ore.minY, ore.maxY))));
}
}

View File

@@ -1,11 +0,0 @@
{
"required": true,
"package": "eu.midnightdust.motschen.dishes.mixin",
"compatibilityLevel": "JAVA_8",
"mixins": [
"GenerationSettingsAccessorMixin"
],
"injectors": {
"defaultRequire": 1
}
}

View File

@@ -30,10 +30,6 @@
]
},
"mixins": [
"dishes.mixins.json"
],
"depends": {
"fabricloader": ">=0.7.2",
"fabric": "*"