Skip to content

Commit

Permalink
Initial village work
Browse files Browse the repository at this point in the history
  • Loading branch information
GirafiStudios committed Nov 25, 2020
1 parent fd25d92 commit 67d9d03
Show file tree
Hide file tree
Showing 21 changed files with 34 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ private static void renderSand(float partialTicks, int... layers) {
float light = getSunBrightness(world, partialTicks);

RenderSystem.pushMatrix();
RenderSystem.pushTextureAttributes();

//mc.entityRenderer.setupOverlayRendering();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.teammetallurgy.atum.misc.AtumConfig;
import com.teammetallurgy.atum.world.gen.feature.pool.AtumJigsaw;
import com.teammetallurgy.atum.world.gen.feature.pool.GatehousePools;
import com.teammetallurgy.atum.world.gen.feature.pool.GenericVillagePools;
import com.teammetallurgy.atum.world.gen.structure.GatehouseStructure;
import com.teammetallurgy.atum.world.gen.structure.girafitomb.GirafiTombStructure;
import com.teammetallurgy.atum.world.gen.structure.lighthouse.LighthouseStructure;
Expand Down Expand Up @@ -51,6 +52,7 @@ public class AtumStructures {
public static final StructureFeature<AtumMineshaftConfig, ? extends Structure<AtumMineshaftConfig>> MINESHAFT_DEADWOOD_SURFACE_FEATURE = register("mineshaft_deadwood_surface", MINESHAFT_STRUCTURE, new AtumMineshaftConfig(AtumConfig.WORLD_GEN.mineshaftProbability.get().floatValue(), AtumMineshaftStructure.Type.DEADWOOD_SURFACE));
public static final StructureFeature<AtumMineshaftConfig, ? extends Structure<AtumMineshaftConfig>> MINESHAFT_LIMESTONE_SURFACE_FEATURE = register("mineshaft_limestone_surface", MINESHAFT_STRUCTURE, new AtumMineshaftConfig(AtumConfig.WORLD_GEN.mineshaftProbability.get().floatValue(), AtumMineshaftStructure.Type.LIMESTONE_SURFACE));
public static final StructureFeature<VillageConfig, ? extends Structure<VillageConfig>> GATEHOUSE_FEATURE = register("gatehouse", GATEHOUSE, new VillageConfig(() -> GatehousePools.POOL, 5));
public static final StructureFeature<VillageConfig, ? extends Structure<VillageConfig>> GENERIC_VILLAGE = register("village_generic", Structure.VILLAGE, new VillageConfig(() -> GenericVillagePools.POOL, 6));

private static <F extends Structure<?>> F register(String name, F structure, GenerationStage.Decoration generationStage) {
ResourceLocation id = new ResourceLocation(Atum.MOD_ID, name);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.teammetallurgy.atum.blocks.SandLayersBlock;
import com.teammetallurgy.atum.init.AtumBiomes;
import com.teammetallurgy.atum.init.AtumBlocks;
import com.teammetallurgy.atum.world.gen.structure.StructureHelper;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.util.RegistryKey;
Expand All @@ -17,6 +18,7 @@
import net.minecraft.world.IWorld;
import net.minecraft.world.World;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.gen.feature.structure.Structure;
import net.minecraft.world.server.ServerWorld;
import net.minecraft.world.storage.DerivedWorldInfo;
import net.minecraftforge.event.world.SleepFinishedTimeEvent;
Expand Down Expand Up @@ -59,6 +61,7 @@ public static boolean canPlaceSandLayer(ISeedReader world, BlockPos pos) {
BlockState stateDown = world.getBlockState(pos.down());
Optional<RegistryKey<Biome>> biomeKey = world.func_241828_r().getRegistry(Registry.BIOME_KEY).getOptionalKey(world.getBiome(pos));
return (biomeKey.isPresent() && biomeKey.get() != AtumBiomes.OASIS)
&& !StructureHelper.doesChunkHaveStructure(world, pos, Structure.VILLAGE)
&& world.isAirBlock(pos.up())
&& state.getMaterial().isReplaceable()
&& stateDown.getBlock() != AtumBlocks.LIMESTONE_CRACKED
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import net.minecraft.world.gen.blockplacer.SimpleBlockPlacer;
import net.minecraft.world.gen.blockstateprovider.SimpleBlockStateProvider;
import net.minecraft.world.gen.feature.*;
import net.minecraft.world.gen.feature.structure.StructureFeatures;
import net.minecraft.world.gen.foliageplacer.AcaciaFoliagePlacer;
import net.minecraft.world.gen.placement.*;
import net.minecraft.world.gen.trunkplacer.ForkyTrunkPlacer;
Expand Down Expand Up @@ -229,7 +228,6 @@ public static Biome makeSandPlains(String biomeName) {
AtumDefaultFeatures.addDeadwoodTrees(biomeGen, 0, 0.025F, 1);
addDefaultSpawns(biomeName);
addCamelSpawning(biomeName);
biomeGen.withStructure(StructureFeatures.VILLAGE_DESERT); //TODO Remove, Temporary for testing
AtumDefaultFeatures.addCarvers(biomeGen);
AtumDefaultFeatures.addSandLayer(biomeGen);
AtumDefaultFeatures.addSprings(biomeGen);
Expand All @@ -246,6 +244,7 @@ public static Biome makeSandPlains(String biomeName) {
AtumDefaultFeatures.addRuins(biomeGen);
AtumDefaultFeatures.addGatehouse(biomeGen);
AtumDefaultFeatures.addMineshaft(biomeGen, false);
AtumDefaultFeatures.addGenericVillage(biomeGen);
return new Builder().withGenerationSettings(biomeGen.build()).withMobSpawnSettings(new MobSpawnInfo.Builder().isValidSpawnBiomeForPlayer().copy()).build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,10 @@ public static void addGatehouse(BiomeGenerationSettings.Builder builder) {
}
}

public static void addGenericVillage(BiomeGenerationSettings.Builder builder) {
builder.withStructure(AtumStructures.GENERIC_VILLAGE);
}

public static void addMineshaft(BiomeGenerationSettings.Builder builder, boolean isSurface) {
if (AtumConfig.WORLD_GEN.mineshaftProbability.get() > 0.0D) {
if (isSurface) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
public class AtumJigsaw {

public static void registerJigsaws() {
AtumVillagePools.init();
GenericVillagePools.init();
GatehousePools.init();
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.teammetallurgy.atum.world.gen.feature.pool;

import com.google.common.collect.ImmutableList;
import com.mojang.datafixers.util.Pair;
import com.teammetallurgy.atum.Atum;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.gen.feature.jigsaw.JigsawPattern;
import net.minecraft.world.gen.feature.jigsaw.JigsawPatternRegistry;
import net.minecraft.world.gen.feature.jigsaw.JigsawPiece;
import net.minecraft.world.gen.feature.template.ProcessorLists;

public class GenericVillagePools {
public static final JigsawPattern POOL = JigsawPatternRegistry.func_244094_a(new JigsawPattern(new ResourceLocation(Atum.MOD_ID, "village/generic/town_centers"), new ResourceLocation("empty"), ImmutableList.of(Pair.of(JigsawPiece.func_242851_a("atum:village/generic/town_centers/town_center_1", ProcessorLists.field_244101_a), 98)), JigsawPattern.PlacementBehaviour.RIGID));

public static void init() {
ResourceLocation terminators = new ResourceLocation(Atum.MOD_ID, "village/generic/terminators");
JigsawPatternRegistry.func_244094_a(new JigsawPattern(new ResourceLocation(Atum.MOD_ID, "village/generic/streets"), terminators, ImmutableList.of(Pair.of(JigsawPiece.func_242849_a("atum:village/generic/streets/straight_1"), 3)), JigsawPattern.PlacementBehaviour.TERRAIN_MATCHING));
JigsawPatternRegistry.func_244094_a(new JigsawPattern(new ResourceLocation(Atum.MOD_ID, "village/generic/houses"), terminators, ImmutableList.of(Pair.of(JigsawPiece.func_242851_a("atum:village/generic/houses/generic_small_house_1", ProcessorLists.field_244101_a), 2), Pair.of(JigsawPiece.func_242851_a("atum:village/generic/houses/generic_small_house_2", ProcessorLists.field_244101_a), 2), Pair.of(JigsawPiece.func_242851_a("atum:village/generic/houses/generic_small_house_3", ProcessorLists.field_244101_a), 2), Pair.of(JigsawPiece.func_242851_a("atum:village/generic/houses/generic_small_house_4", ProcessorLists.field_244101_a), 2), Pair.of(JigsawPiece.func_242851_a("atum:village/generic/houses/generic_small_house_5", ProcessorLists.field_244101_a), 2), Pair.of(JigsawPiece.func_242851_a("atum:village/generic/houses/generic_small_house_6", ProcessorLists.field_244101_a), 1), Pair.of(JigsawPiece.func_242851_a("atum:village/generic/houses/generic_small_house_7", ProcessorLists.field_244101_a), 2), Pair.of(JigsawPiece.func_242851_a("atum:village/generic/houses/generic_small_house_8", ProcessorLists.field_244101_a), 2), Pair.of(JigsawPiece.func_242851_a("atum:village/generic/houses/animal_pen_1", ProcessorLists.field_244101_a), 2)), JigsawPattern.PlacementBehaviour.RIGID));
JigsawPatternRegistry.func_244094_a(new JigsawPattern(terminators, new ResourceLocation("empty"), ImmutableList.of(Pair.of(JigsawPiece.func_242849_a("atum:village/generic/terminators/terminator_1"), 1)), JigsawPattern.PlacementBehaviour.TERRAIN_MATCHING));
JigsawPatternRegistry.func_244094_a(new JigsawPattern(new ResourceLocation(Atum.MOD_ID, "village/generic/decor"), new ResourceLocation("empty"), ImmutableList.of(Pair.of(JigsawPiece.func_242849_a("atum:village/generic/torch_1"), 3), Pair.of(JigsawPiece.func_242864_g(), 4)), JigsawPattern.PlacementBehaviour.RIGID));
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 comments on commit 67d9d03

Please sign in to comment.