diff --git a/bin/main/assets/backrooms/sounds.json b/bin/main/assets/backrooms/sounds.json index e701dcb..cdf0e74 100644 --- a/bin/main/assets/backrooms/sounds.json +++ b/bin/main/assets/backrooms/sounds.json @@ -234,13 +234,6 @@ } ] }, - "tone": { - "sounds": [ - { - "name": "backrooms:tone" - } - ] - }, "tear": { "sounds": [ { diff --git a/bin/main/backrooms.mixins.json b/bin/main/backrooms.mixins.json index 68efe34..604b6ad 100644 --- a/bin/main/backrooms.mixins.json +++ b/bin/main/backrooms.mixins.json @@ -5,7 +5,8 @@ "mixins": [ "GoToBackroomsMixin", "MobSpawnLocationMixin", - "EntityMixin" + "EntityMixin", + "DefaultBiomeFeaturesMixin" ], "client": [ "BuiltinModelItemRendererMixin", diff --git a/bin/main/data/backrooms/loot_tables/blocks/light.json b/bin/main/data/backrooms/loot_tables/blocks/light.json index a8059b6..30b021d 100644 --- a/bin/main/data/backrooms/loot_tables/blocks/light.json +++ b/bin/main/data/backrooms/loot_tables/blocks/light.json @@ -9,6 +9,7 @@ "children": [ { "type": "minecraft:item", + "name": "backrooms:light", "conditions": [ { "condition": "minecraft:match_tool", @@ -23,17 +24,17 @@ ] } } - ], - "name": "backrooms:light" + ] }, { - "type": "minecraft:item", + "type": "minecraft:loot_table", + "weight": 10, + "name": "backrooms:light_dusts", "conditions": [ { "condition": "minecraft:survives_explosion" } - ], - "name": "minecraft:air" + ] } ] } diff --git a/bin/main/data/backrooms/loot_tables/blocks/pipe.json b/bin/main/data/backrooms/loot_tables/blocks/pipe.json index c7851a0..381e6cd 100644 --- a/bin/main/data/backrooms/loot_tables/blocks/pipe.json +++ b/bin/main/data/backrooms/loot_tables/blocks/pipe.json @@ -1,14 +1,64 @@ { - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "backrooms:pipe" - } - ] - } - ] + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ], + "name": "backrooms:pipe" + }, + { + "type": "minecraft:alternatives", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.05, + 0.0564882, + 0.15, + 1.0 + ] + } + ], + "name": "minecraft:iron_ingot" + }, + { + "type": "minecraft:item", + "name": "backrooms:pipe" + } + ] + } + ] + } + ] + } + ] } \ No newline at end of file diff --git a/bin/main/data/backrooms/recipes/cement.json b/bin/main/data/backrooms/recipes/cement.json index 63d76cd..00841f4 100644 --- a/bin/main/data/backrooms/recipes/cement.json +++ b/bin/main/data/backrooms/recipes/cement.json @@ -5,10 +5,10 @@ ], "key": { "#": { - "item": "minecraft:white_concrete" + "item": "minecraft:cobblestone" }, "L": { - "item": "minecraft:light_gray_concrete" + "item": "minecraft:stone" } }, "result": { diff --git a/bin/main/data/backrooms/recipes/light.json b/bin/main/data/backrooms/recipes/light.json index 1b44f40..1adab86 100644 --- a/bin/main/data/backrooms/recipes/light.json +++ b/bin/main/data/backrooms/recipes/light.json @@ -1,18 +1,23 @@ { "type": "minecraft:crafting_shaped", "pattern": [ - "#W" + "###", + "EEE", + "#$#" ], "key": { "#": { - "item": "minecraft:redstone_lamp" + "item": "minecraft:white_stained_glass_pane" }, - "W": { - "item": "minecraft:white_dye" + "E": { + "item": "minecraft:end_rod" + }, + "$": { + "item": "minecraft:repeater" } }, "result": { "item": "backrooms:light", - "count": 1 + "count": 4 } } \ No newline at end of file diff --git a/bin/main/data/backrooms/recipes/tile.json b/bin/main/data/backrooms/recipes/tile.json index 2299aec..fc54736 100644 --- a/bin/main/data/backrooms/recipes/tile.json +++ b/bin/main/data/backrooms/recipes/tile.json @@ -1,21 +1,15 @@ { "type": "minecraft:crafting_shaped", "pattern": [ - "#L", - "BG" + "#&", + "&#" ], "key": { "#": { "item": "minecraft:white_concrete" }, - "L": { - "item": "minecraft:light_gray_concrete" - }, - "B": { - "item": "minecraft:black_concrete" - }, - "G": { - "item": "minecraft:gray_concrete" + "&": { + "item": "minecraft:diorite" } }, "result": { diff --git a/bin/main/fabric.mod.json b/bin/main/fabric.mod.json index 8d9f6c1..b31f42c 100644 --- a/bin/main/fabric.mod.json +++ b/bin/main/fabric.mod.json @@ -3,7 +3,7 @@ "id": "backrooms", "version": "$version", "name": "The Backrooms", - "description": "The backrooms, endless mono yellow rooms to traverse.", + "description": "The backrooms, endless mono yellow rooms to traverse, and many more levels to come. Music by Angel Craig & LudoCrypt.", "authors": [ "LudoCrypt", "Angel Craig" diff --git a/bin/main/net/ludocrypt/backrooms/Backrooms.class b/bin/main/net/ludocrypt/backrooms/Backrooms.class index 670de72..64aa34d 100644 Binary files a/bin/main/net/ludocrypt/backrooms/Backrooms.class and b/bin/main/net/ludocrypt/backrooms/Backrooms.class differ diff --git a/bin/main/net/ludocrypt/backrooms/BackroomsClient.class b/bin/main/net/ludocrypt/backrooms/BackroomsClient.class index 8ae4b04..25e747b 100644 Binary files a/bin/main/net/ludocrypt/backrooms/BackroomsClient.class and b/bin/main/net/ludocrypt/backrooms/BackroomsClient.class differ diff --git a/bin/main/net/ludocrypt/backrooms/blocks/Cement.class b/bin/main/net/ludocrypt/backrooms/blocks/Cement.class index c72e285..bada254 100644 Binary files a/bin/main/net/ludocrypt/backrooms/blocks/Cement.class and b/bin/main/net/ludocrypt/backrooms/blocks/Cement.class differ diff --git a/bin/main/net/ludocrypt/backrooms/blocks/Cement_Bricks.class b/bin/main/net/ludocrypt/backrooms/blocks/Cement_Bricks.class index 141231e..ba86ea6 100644 Binary files a/bin/main/net/ludocrypt/backrooms/blocks/Cement_Bricks.class and b/bin/main/net/ludocrypt/backrooms/blocks/Cement_Bricks.class differ diff --git a/bin/main/net/ludocrypt/backrooms/blocks/Checkered_Block.class b/bin/main/net/ludocrypt/backrooms/blocks/Checkered_Block.class index 465bc36..69129be 100644 Binary files a/bin/main/net/ludocrypt/backrooms/blocks/Checkered_Block.class and b/bin/main/net/ludocrypt/backrooms/blocks/Checkered_Block.class differ diff --git a/bin/main/net/ludocrypt/backrooms/blocks/LinedPipe.class b/bin/main/net/ludocrypt/backrooms/blocks/LinedPipe.class index 22c45cf..d43e453 100644 Binary files a/bin/main/net/ludocrypt/backrooms/blocks/LinedPipe.class and b/bin/main/net/ludocrypt/backrooms/blocks/LinedPipe.class differ diff --git a/bin/main/net/ludocrypt/backrooms/blocks/Pipe.class b/bin/main/net/ludocrypt/backrooms/blocks/Pipe.class index ac7d83c..3744f66 100644 Binary files a/bin/main/net/ludocrypt/backrooms/blocks/Pipe.class and b/bin/main/net/ludocrypt/backrooms/blocks/Pipe.class differ diff --git a/bin/main/net/ludocrypt/backrooms/blocks/Poolstone.class b/bin/main/net/ludocrypt/backrooms/blocks/Poolstone.class index 511e082..9fc2f9c 100644 Binary files a/bin/main/net/ludocrypt/backrooms/blocks/Poolstone.class and b/bin/main/net/ludocrypt/backrooms/blocks/Poolstone.class differ diff --git a/bin/main/net/ludocrypt/backrooms/blocks/Poolstone_Bricks.class b/bin/main/net/ludocrypt/backrooms/blocks/Poolstone_Bricks.class index 1b9b24c..07283c3 100644 Binary files a/bin/main/net/ludocrypt/backrooms/blocks/Poolstone_Bricks.class and b/bin/main/net/ludocrypt/backrooms/blocks/Poolstone_Bricks.class differ diff --git a/bin/main/net/ludocrypt/backrooms/blocks/Poolstone_Path.class b/bin/main/net/ludocrypt/backrooms/blocks/Poolstone_Path.class index 80dd00a..6b4a6ca 100644 Binary files a/bin/main/net/ludocrypt/backrooms/blocks/Poolstone_Path.class and b/bin/main/net/ludocrypt/backrooms/blocks/Poolstone_Path.class differ diff --git a/bin/main/net/ludocrypt/backrooms/blocks/Poolstone_Tile.class b/bin/main/net/ludocrypt/backrooms/blocks/Poolstone_Tile.class index dddc606..031fa82 100644 Binary files a/bin/main/net/ludocrypt/backrooms/blocks/Poolstone_Tile.class and b/bin/main/net/ludocrypt/backrooms/blocks/Poolstone_Tile.class differ diff --git a/bin/main/net/ludocrypt/backrooms/blocks/Smooth_Poolstone.class b/bin/main/net/ludocrypt/backrooms/blocks/Smooth_Poolstone.class index 13ae1ca..2aea190 100644 Binary files a/bin/main/net/ludocrypt/backrooms/blocks/Smooth_Poolstone.class and b/bin/main/net/ludocrypt/backrooms/blocks/Smooth_Poolstone.class differ diff --git a/bin/main/net/ludocrypt/backrooms/blocks/Tile.class b/bin/main/net/ludocrypt/backrooms/blocks/Tile.class index 612cd01..f0e23ad 100644 Binary files a/bin/main/net/ludocrypt/backrooms/blocks/Tile.class and b/bin/main/net/ludocrypt/backrooms/blocks/Tile.class differ diff --git a/bin/main/net/ludocrypt/backrooms/blocks/Vent.class b/bin/main/net/ludocrypt/backrooms/blocks/Vent.class index 0fadb2d..a3c4fbf 100644 Binary files a/bin/main/net/ludocrypt/backrooms/blocks/Vent.class and b/bin/main/net/ludocrypt/backrooms/blocks/Vent.class differ diff --git a/bin/main/net/ludocrypt/backrooms/blocks/VoidBlock.class b/bin/main/net/ludocrypt/backrooms/blocks/VoidBlock.class index ad45086..71186db 100644 Binary files a/bin/main/net/ludocrypt/backrooms/blocks/VoidBlock.class and b/bin/main/net/ludocrypt/backrooms/blocks/VoidBlock.class differ diff --git a/bin/main/net/ludocrypt/backrooms/blocks/Wall.class b/bin/main/net/ludocrypt/backrooms/blocks/Wall.class index cc55c31..7a34a77 100644 Binary files a/bin/main/net/ludocrypt/backrooms/blocks/Wall.class and b/bin/main/net/ludocrypt/backrooms/blocks/Wall.class differ diff --git a/bin/main/net/ludocrypt/backrooms/features/Level0DottedRoom.class b/bin/main/net/ludocrypt/backrooms/features/Level0DottedRoom.class index dc7a980..366c93d 100644 Binary files a/bin/main/net/ludocrypt/backrooms/features/Level0DottedRoom.class and b/bin/main/net/ludocrypt/backrooms/features/Level0DottedRoom.class differ diff --git a/bin/main/net/ludocrypt/backrooms/features/Level0RedRoom.class b/bin/main/net/ludocrypt/backrooms/features/Level0RedRoom.class index c341ff4..638bd1b 100644 Binary files a/bin/main/net/ludocrypt/backrooms/features/Level0RedRoom.class and b/bin/main/net/ludocrypt/backrooms/features/Level0RedRoom.class differ diff --git a/bin/main/net/ludocrypt/backrooms/features/Level0Room.class b/bin/main/net/ludocrypt/backrooms/features/Level0Room.class index f742b14..f82b84e 100644 Binary files a/bin/main/net/ludocrypt/backrooms/features/Level0Room.class and b/bin/main/net/ludocrypt/backrooms/features/Level0Room.class differ diff --git a/bin/main/net/ludocrypt/backrooms/features/Level1Room.class b/bin/main/net/ludocrypt/backrooms/features/Level1Room.class index 75c4909..4caf410 100644 Binary files a/bin/main/net/ludocrypt/backrooms/features/Level1Room.class and b/bin/main/net/ludocrypt/backrooms/features/Level1Room.class differ diff --git a/bin/main/net/ludocrypt/backrooms/features/LevelsFeatureInit.class b/bin/main/net/ludocrypt/backrooms/features/LevelsFeatureInit.class index d241c99..99f9c25 100644 Binary files a/bin/main/net/ludocrypt/backrooms/features/LevelsFeatureInit.class and b/bin/main/net/ludocrypt/backrooms/features/LevelsFeatureInit.class differ diff --git a/bin/main/net/ludocrypt/backrooms/features/decorators/Level0RoomDecorator.class b/bin/main/net/ludocrypt/backrooms/features/decorators/Level0RoomDecorator.class index e792289..433c95d 100644 Binary files a/bin/main/net/ludocrypt/backrooms/features/decorators/Level0RoomDecorator.class and b/bin/main/net/ludocrypt/backrooms/features/decorators/Level0RoomDecorator.class differ diff --git a/bin/main/net/ludocrypt/backrooms/features/decorators/Level1RoomDecorator.class b/bin/main/net/ludocrypt/backrooms/features/decorators/Level1RoomDecorator.class index c2738de..87ce8df 100644 Binary files a/bin/main/net/ludocrypt/backrooms/features/decorators/Level1RoomDecorator.class and b/bin/main/net/ludocrypt/backrooms/features/decorators/Level1RoomDecorator.class differ diff --git a/bin/main/net/ludocrypt/backrooms/misc/BackroomsSoundEvents.class b/bin/main/net/ludocrypt/backrooms/misc/BackroomsSoundEvents.class index 70d784a..fabb6ff 100644 Binary files a/bin/main/net/ludocrypt/backrooms/misc/BackroomsSoundEvents.class and b/bin/main/net/ludocrypt/backrooms/misc/BackroomsSoundEvents.class differ diff --git a/bin/main/net/ludocrypt/backrooms/mixin/MusicMixin.class b/bin/main/net/ludocrypt/backrooms/mixin/MusicMixin.class index 4f1a3f9..7007007 100644 Binary files a/bin/main/net/ludocrypt/backrooms/mixin/MusicMixin.class and b/bin/main/net/ludocrypt/backrooms/mixin/MusicMixin.class differ diff --git a/bin/main/net/ludocrypt/backrooms/mixin/TitleScreenMixin.class b/bin/main/net/ludocrypt/backrooms/mixin/TitleScreenMixin.class index d4359d0..b7004e8 100644 Binary files a/bin/main/net/ludocrypt/backrooms/mixin/TitleScreenMixin.class and b/bin/main/net/ludocrypt/backrooms/mixin/TitleScreenMixin.class differ diff --git a/gradle.properties b/gradle.properties index ee84eee..0fea9e3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ org.gradle.jvmargs=-Xmx2G -mod_version = 1.3.0 +mod_version = 1.3.1 maven_group = net.ludocrypt archives_base_name = the-backrooms diff --git a/src/main/java/net/ludocrypt/backrooms/Backrooms.java b/src/main/java/net/ludocrypt/backrooms/Backrooms.java index 91103ba..42e8d2e 100644 --- a/src/main/java/net/ludocrypt/backrooms/Backrooms.java +++ b/src/main/java/net/ludocrypt/backrooms/Backrooms.java @@ -11,7 +11,6 @@ import me.sargunvohra.mcmods.autoconfig1u.serializer.GsonConfigSerializer; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.command.v1.CommandRegistrationCallback; -import net.ludocrypt.backrooms.biome.BkBiomeKeys; import net.ludocrypt.backrooms.biome.BkBuiltInBiomes; import net.ludocrypt.backrooms.biome.ConfiguratedSurfaceBuilders; import net.ludocrypt.backrooms.biome.SurfaceBuilders; @@ -53,6 +52,8 @@ import net.minecraft.block.Block; import net.minecraft.block.entity.BlockEntity; import net.minecraft.block.entity.BlockEntityType; +import net.minecraft.command.argument.EntityArgumentType; +import net.minecraft.entity.Entity; import net.minecraft.entity.decoration.painting.PaintingMotive; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.BlockItem; @@ -64,7 +65,13 @@ import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.Identifier; import net.minecraft.util.Rarity; +import net.minecraft.util.registry.BuiltinRegistries; import net.minecraft.util.registry.Registry; +import net.minecraft.world.gen.decorator.Decorator; +import net.minecraft.world.gen.decorator.RangeDecoratorConfig; +import net.minecraft.world.gen.feature.ConfiguredFeature; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.OreFeatureConfig; public class Backrooms implements ModInitializer { // loot tables @@ -73,8 +80,6 @@ public class Backrooms implements ModInitializer { public static final Identifier LEVEL1CHEST = register("backrooms:chests/level1"); public static final Identifier LEVEL3CHEST = register("backrooms:chests/level3"); // variables - public static boolean Display = false; - public static int DisplayLevel = 0; public static final String MOD_ID = "backrooms"; public static PlayerEntity teleportedEntity = null; public static long SEED = 0; @@ -200,9 +205,11 @@ public class Backrooms implements ModInitializer { public static final PaintingMotive SEA_LIFE = new PaintingMotive(64, 64); public static final PaintingMotive WOLF = new PaintingMotive(64, 64); - // builders -// public static SurfaceBuilder LEVELBUILDER; -// public static ConfiguredSurfaceBuilder CONFIGUREDLEVELBUILDER; + // Configured Features + public static ConfiguredFeature POOLSTONE_GENERATION = Feature.ORE + .configure( + new OreFeatureConfig(OreFeatureConfig.Rules.BASE_STONE_OVERWORLD, POOLSTONE.getDefaultState(), 15)) + .decorate(Decorator.RANGE.configure(new RangeDecoratorConfig(0, 5, 50))).spreadHorizontally().repeat(4); // identifier public static Identifier getId(String id) { @@ -211,32 +218,36 @@ public static Identifier getId(String id) { @Override public void onInitialize() { + // Features + Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, new Identifier("backrooms", "poolstone_blob"), + POOLSTONE_GENERATION); // commands CommandRegistrationCallback.EVENT.register((dispatcher, dedicated) -> { dispatcher.register(CommandManager.literal("backrooms").requires(source -> source.hasPermissionLevel(2)) - .then(CommandManager.literal("level").then(CommandManager.literal("0").executes(context -> { - PlayerEntity player = context.getSource().getPlayer(); - player.moveToWorld(player.getServer().getWorld(BDimension.LEVEL0WORLD)); - return 1; - })).then(CommandManager.literal("1").executes(context -> { - PlayerEntity player = context.getSource().getPlayer(); - player.moveToWorld(player.getServer().getWorld(BDimension.LEVEL1WORLD)); - return 1; - })).then(CommandManager.literal("2").executes(context -> { - PlayerEntity player = context.getSource().getPlayer(); - player.moveToWorld(player.getServer().getWorld(BDimension.LEVEL2WORLD)); - return 1; - })).then(CommandManager.literal("3").executes(context -> { - PlayerEntity player = context.getSource().getPlayer(); - player.moveToWorld(player.getServer().getWorld(BDimension.LEVEL3WORLD)); - return 1; - })))); + .then(CommandManager.literal("tp").then(CommandManager + .argument("entity", EntityArgumentType.entities()) + .then(CommandManager.literal("level").then(CommandManager.literal("0").executes(context -> { + Entity entity = EntityArgumentType.getEntity(context, "entity"); + entity.moveToWorld(entity.getServer().getWorld(BDimension.LEVEL0WORLD)); + return 1; + })).then(CommandManager.literal("1").executes(context -> { + Entity entity = EntityArgumentType.getEntity(context, "entity"); + entity.moveToWorld(entity.getServer().getWorld(BDimension.LEVEL1WORLD)); + return 1; + })).then(CommandManager.literal("2").executes(context -> { + Entity entity = EntityArgumentType.getEntity(context, "entity"); + entity.moveToWorld(entity.getServer().getWorld(BDimension.LEVEL2WORLD)); + return 1; + })).then(CommandManager.literal("3").executes(context -> { + Entity entity = EntityArgumentType.getEntity(context, "entity"); + entity.moveToWorld(entity.getServer().getWorld(BDimension.LEVEL3WORLD)); + return 1; + })))))); }); // dimensions BDimension.register(); // biomes LevelsFeatureInit.registerFeatures(); - BkBiomeKeys.turnOn(); BkBuiltInBiomes.turnOn(); ConfiguratedSurfaceBuilders.turnOn(); SurfaceBuilders.turnOn(); diff --git a/src/main/java/net/ludocrypt/backrooms/BackroomsClient.java b/src/main/java/net/ludocrypt/backrooms/BackroomsClient.java index def62dd..84fee3f 100644 --- a/src/main/java/net/ludocrypt/backrooms/BackroomsClient.java +++ b/src/main/java/net/ludocrypt/backrooms/BackroomsClient.java @@ -22,6 +22,10 @@ @Environment(EnvType.CLIENT) public class BackroomsClient implements ClientModInitializer { + // variables + public static boolean Display = false; + public static int DisplayLevel = 0; + private static Map itemRenderLayerMap = new HashMap(); @Override diff --git a/src/main/java/net/ludocrypt/backrooms/biome/BkBiomeKeys.java b/src/main/java/net/ludocrypt/backrooms/biome/BkBiomeKeys.java index f981388..2c45024 100644 --- a/src/main/java/net/ludocrypt/backrooms/biome/BkBiomeKeys.java +++ b/src/main/java/net/ludocrypt/backrooms/biome/BkBiomeKeys.java @@ -22,7 +22,4 @@ public abstract class BkBiomeKeys { private static RegistryKey register(Identifier id) { return RegistryKey.of(Registry.BIOME_KEY, id); } - - public static void turnOn() { - } } diff --git a/src/main/java/net/ludocrypt/backrooms/biome/BkBiomes.java b/src/main/java/net/ludocrypt/backrooms/biome/BkBiomes.java index 3b53d3e..0f2e043 100644 --- a/src/main/java/net/ludocrypt/backrooms/biome/BkBiomes.java +++ b/src/main/java/net/ludocrypt/backrooms/biome/BkBiomes.java @@ -28,8 +28,8 @@ public static Biome Level0() { .feature(GenerationStep.Feature.LOCAL_MODIFICATIONS, LevelsFeatureInit.LEVEL0ROOM.configure(FeatureConfig.DEFAULT) .decorate(LevelsFeatureInit.LEVEL0DECORATOR.configure(DecoratorConfig.DEFAULT))); - return (new Biome.Builder()).precipitation(Biome.Precipitation.NONE).category(Biome.Category.valueOf("level0")).depth(0F) - .scale(0F).temperature(1.0F).downfall(0.0F) + return (new Biome.Builder()).precipitation(Biome.Precipitation.NONE).category(Biome.Category.valueOf("level0")).depth(0.2F) + .scale(1F).temperature(1.0F).downfall(0.0F) .effects((new BiomeEffects.Builder()).waterColor(14402413).waterFogColor(14402413).fogColor(14402413) .skyColor(14402413).music(MusicType.createIngameMusic(BackroomsSoundEvents.LEVEL0MUSIC)) .build()) @@ -46,7 +46,7 @@ public static Biome Level0Decrepit() { LevelsFeatureInit.LEVEL0DECREPITROOM.configure(FeatureConfig.DEFAULT) .decorate(LevelsFeatureInit.LEVEL0DECORATOR.configure(DecoratorConfig.DEFAULT))); return (new Biome.Builder()).precipitation(Biome.Precipitation.NONE).category(Biome.Category.valueOf("level0")) - .depth(0F).scale(0F).temperature(1.0F).downfall(0.0F) + .depth(0.2F).scale(1F).temperature(1.0F).downfall(0.0F) .effects((new BiomeEffects.Builder()).waterColor(14402413).waterFogColor(14402413).fogColor(14402413) .skyColor(14402413).music(MusicType.createIngameMusic(BackroomsSoundEvents.LEVEL0WEIGHTEDMUSIC)) .build()) @@ -60,8 +60,9 @@ public static Biome Level0Dotted() { .feature(GenerationStep.Feature.LOCAL_MODIFICATIONS, LevelsFeatureInit.LEVEL0DOTTEDROOM.configure(FeatureConfig.DEFAULT) .decorate(LevelsFeatureInit.LEVEL0DECORATOR.configure(DecoratorConfig.DEFAULT))); + return (new Biome.Builder()).precipitation(Biome.Precipitation.NONE).category(Biome.Category.valueOf("level0")) - .depth(0F).scale(0F).temperature(1.0F).downfall(0.0F) + .depth(0.2F).scale(1F).temperature(1.0F).downfall(0.0F) .effects((new BiomeEffects.Builder()).waterColor(14402413).waterFogColor(14402413).fogColor(14402413) .skyColor(14402413).music(MusicType.createIngameMusic(BackroomsSoundEvents.LEVEL0MUSIC)) .build()) @@ -76,7 +77,7 @@ public static Biome Level0DottedRed() { LevelsFeatureInit.LEVEL0DOTTEDREDROOM.configure(FeatureConfig.DEFAULT) .decorate(LevelsFeatureInit.LEVEL0DECORATOR.configure(DecoratorConfig.DEFAULT))); return (new Biome.Builder()).precipitation(Biome.Precipitation.NONE).category(Biome.Category.valueOf("level0")) - .depth(0F).scale(0F).temperature(1.0F).downfall(0.0F) + .depth(0.2F).scale(1F).temperature(1.0F).downfall(0.0F) .effects((new BiomeEffects.Builder()).waterColor(14402413).waterFogColor(14402413).fogColor(-5171911) .skyColor(-5171911).music(MusicType.createIngameMusic(BackroomsSoundEvents.LEVEL0WEIGHTEDMUSIC)) .build()) @@ -93,7 +94,7 @@ public static Biome Level0Red() { LevelsFeatureInit.LEVEL0REDROOM.configure(FeatureConfig.DEFAULT) .decorate(LevelsFeatureInit.LEVEL0DECORATOR.configure(DecoratorConfig.DEFAULT))); return (new Biome.Builder()).precipitation(Biome.Precipitation.NONE).category(Biome.Category.valueOf("level0")) - .depth(0F).scale(0F).temperature(1.0F).downfall(0.0F) + .depth(0.2F).scale(1F).temperature(1.0F).downfall(0.0F) .effects((new BiomeEffects.Builder()).waterColor(14402413).waterFogColor(14402413).fogColor(-5171911) .skyColor(-5171911).music(MusicType.createIngameMusic(BackroomsSoundEvents.LEVEL0WEIGHTEDMUSIC)) .build()) @@ -111,7 +112,7 @@ public static Biome Level1() { LevelsFeatureInit.LEVEL1ROOM.configure(FeatureConfig.DEFAULT) .decorate(LevelsFeatureInit.LEVEL1DECORATOR.configure(DecoratorConfig.DEFAULT))); return (new Biome.Builder()).precipitation(Biome.Precipitation.NONE).category(Biome.Category.valueOf("level1")) - .depth(0F).scale(0F).temperature(1.0F).downfall(0.0F) + .depth(0.2F).scale(1F).temperature(1.0F).downfall(0.0F) .effects((new BiomeEffects.Builder()).waterColor(-6710887).waterFogColor(-6710887).fogColor(-6710887) .skyColor(-6710887).music(MusicType.createIngameMusic(BackroomsSoundEvents.LEVEL1ONMUSIC)) .build()) @@ -129,7 +130,7 @@ public static Biome Level1Off() { LevelsFeatureInit.LEVEL1OFFROOM.configure(FeatureConfig.DEFAULT) .decorate(LevelsFeatureInit.LEVEL1DECORATOR.configure(DecoratorConfig.DEFAULT))); return (new Biome.Builder()).precipitation(Biome.Precipitation.NONE).category(Biome.Category.valueOf("level1")) - .depth(0F).scale(0F).temperature(1.0F).downfall(0.0F) + .depth(0.2F).scale(1F).temperature(1.0F).downfall(0.0F) .effects((new BiomeEffects.Builder()).waterColor(-6710887).waterFogColor(-6710887).fogColor(-6710887) .skyColor(-6710887).music(MusicType.createIngameMusic(BackroomsSoundEvents.LEVEL1OFFMUSIC)) .build()) @@ -148,7 +149,7 @@ public static Biome Level2() { LevelsFeatureInit.LEVEL2ROOM.configure(FeatureConfig.DEFAULT) .decorate(LevelsFeatureInit.LEVEL2DECORATOR.configure(DecoratorConfig.DEFAULT))); return (new Biome.Builder()).precipitation(Biome.Precipitation.NONE).category(Biome.Category.valueOf("level2")) - .depth(0F).scale(0F).temperature(1.0F).downfall(0.0F) + .depth(0.2F).scale(1F).temperature(1.0F).downfall(0.0F) .effects((new BiomeEffects.Builder()).waterColor(-6710887).waterFogColor(-6710887).fogColor(-6710887) .skyColor(-6710887).music(MusicType.createIngameMusic(BackroomsSoundEvents.LEVEL2MUSIC)) .build()) @@ -167,7 +168,7 @@ public static Biome Level2Long() { LevelsFeatureInit.LEVEL2LONGROOM.configure(FeatureConfig.DEFAULT) .decorate(LevelsFeatureInit.LEVEL2DECORATOR.configure(DecoratorConfig.DEFAULT))); return (new Biome.Builder()).precipitation(Biome.Precipitation.NONE).category(Biome.Category.valueOf("level2")) - .depth(0F).scale(0F).temperature(1.0F).downfall(0.0F) + .depth(0.2F).scale(1F).temperature(1.0F).downfall(0.0F) .effects((new BiomeEffects.Builder()).waterColor(-6710887).waterFogColor(-6710887).fogColor(-6710887) .skyColor(-6710887).music(MusicType.createIngameMusic(BackroomsSoundEvents.LEVEL2LONGMUSIC)) .build()) @@ -186,7 +187,7 @@ public static Biome Level2Messy() { LevelsFeatureInit.LEVEL2MESSYROOM.configure(FeatureConfig.DEFAULT) .decorate(LevelsFeatureInit.LEVEL2DECORATOR.configure(DecoratorConfig.DEFAULT))); return (new Biome.Builder()).precipitation(Biome.Precipitation.NONE).category(Biome.Category.valueOf("level2")) - .depth(0F).scale(0F).temperature(1.0F).downfall(0.0F) + .depth(0.2F).scale(1F).temperature(1.0F).downfall(0.0F) .effects((new BiomeEffects.Builder()).waterColor(-6710887).waterFogColor(-6710887).fogColor(-6710887) .skyColor(-6710887).music(MusicType.createIngameMusic(BackroomsSoundEvents.LEVEL2MESSYMUSIC)) .build()) @@ -205,7 +206,7 @@ public static Biome Level3() { LevelsFeatureInit.LEVEL3ROOM.configure(FeatureConfig.DEFAULT) .decorate(LevelsFeatureInit.LEVEL3DECORATOR.configure(DecoratorConfig.DEFAULT))); return (new Biome.Builder()).precipitation(Biome.Precipitation.NONE).category(Biome.Category.valueOf("level3")) - .depth(0F).scale(0F).temperature(1.0F).downfall(0.0F) + .depth(0.2F).scale(1F).temperature(1.0F).downfall(0.0F) .effects((new BiomeEffects.Builder()).waterColor(-6710887).waterFogColor(-6710887).fogColor(-6710887) .skyColor(-6710887).music(MusicType.createIngameMusic(BackroomsSoundEvents.LEVEL3MUSIC)) .build()) diff --git a/src/main/java/net/ludocrypt/backrooms/blocks/Cement.java b/src/main/java/net/ludocrypt/backrooms/blocks/Cement.java index a164bdf..07e0bbf 100644 --- a/src/main/java/net/ludocrypt/backrooms/blocks/Cement.java +++ b/src/main/java/net/ludocrypt/backrooms/blocks/Cement.java @@ -10,7 +10,7 @@ public class Cement extends Block { public Cement() { super(FabricBlockSettings.of(Material.STONE).breakByTool(FabricToolTags.PICKAXES).sounds(BlockSoundGroup.STONE) - .hardness(3).resistance(5)); + .hardness(3).resistance(5).requiresTool()); } } diff --git a/src/main/java/net/ludocrypt/backrooms/blocks/Cement_Bricks.java b/src/main/java/net/ludocrypt/backrooms/blocks/Cement_Bricks.java index 765570a..90f9490 100644 --- a/src/main/java/net/ludocrypt/backrooms/blocks/Cement_Bricks.java +++ b/src/main/java/net/ludocrypt/backrooms/blocks/Cement_Bricks.java @@ -10,7 +10,7 @@ public class Cement_Bricks extends Block { public Cement_Bricks() { super(FabricBlockSettings.of(Material.STONE).breakByTool(FabricToolTags.PICKAXES).sounds(BlockSoundGroup.STONE) - .hardness(4).resistance(5)); + .hardness(4).resistance(5).requiresTool()); } } diff --git a/src/main/java/net/ludocrypt/backrooms/blocks/Checkered_Block.java b/src/main/java/net/ludocrypt/backrooms/blocks/Checkered_Block.java index a2b0238..e1a2a07 100644 --- a/src/main/java/net/ludocrypt/backrooms/blocks/Checkered_Block.java +++ b/src/main/java/net/ludocrypt/backrooms/blocks/Checkered_Block.java @@ -9,6 +9,6 @@ public class Checkered_Block extends Block { public Checkered_Block() { super(FabricBlockSettings.of(Material.STONE).breakByTool(FabricToolTags.PICKAXES).sounds(BlockSoundGroup.STONE) - .hardness(4).resistance(4)); + .hardness(4).resistance(4).requiresTool()); } } diff --git a/src/main/java/net/ludocrypt/backrooms/blocks/LinedPipe.java b/src/main/java/net/ludocrypt/backrooms/blocks/LinedPipe.java index f773e91..0273270 100644 --- a/src/main/java/net/ludocrypt/backrooms/blocks/LinedPipe.java +++ b/src/main/java/net/ludocrypt/backrooms/blocks/LinedPipe.java @@ -23,7 +23,7 @@ public class LinedPipe extends Block { public LinedPipe() { super(FabricBlockSettings.of(Material.STONE).breakByTool(FabricToolTags.PICKAXES).sounds(BlockSoundGroup.STONE) - .hardness(6).resistance(6).lightLevel(5)); + .hardness(6).resistance(6).lightLevel(5).requiresTool()); } @Override diff --git a/src/main/java/net/ludocrypt/backrooms/blocks/Pipe.java b/src/main/java/net/ludocrypt/backrooms/blocks/Pipe.java index 0ad1a98..cde4943 100644 --- a/src/main/java/net/ludocrypt/backrooms/blocks/Pipe.java +++ b/src/main/java/net/ludocrypt/backrooms/blocks/Pipe.java @@ -49,7 +49,7 @@ public class Pipe extends Block implements Waterloggable { public Pipe() { super(FabricBlockSettings.of(Material.STONE).breakByTool(FabricToolTags.PICKAXES).sounds(BlockSoundGroup.STONE) - .hardness(6).resistance(6).lightLevel(5)); + .hardness(6).resistance(6).lightLevel(5).requiresTool()); setDefaultState(getStateManager().getDefaultState().with(UP, false).with(DOWN, false).with(EAST, false) .with(WEST, false).with(NORTH, false).with(SOUTH, false).with(WATERLOGGED, false)); } diff --git a/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone.java b/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone.java index 09ff4a7..29d26e7 100644 --- a/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone.java +++ b/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone.java @@ -9,6 +9,6 @@ public class Poolstone extends Block { public Poolstone() { super(FabricBlockSettings.of(Material.STONE).breakByTool(FabricToolTags.PICKAXES).sounds(BlockSoundGroup.STONE) - .hardness(4).resistance(4)); + .hardness(4).resistance(4).requiresTool()); } } diff --git a/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone_Bricks.java b/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone_Bricks.java index d82ba47..f0a3f9c 100644 --- a/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone_Bricks.java +++ b/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone_Bricks.java @@ -9,6 +9,6 @@ public class Poolstone_Bricks extends Block { public Poolstone_Bricks() { super(FabricBlockSettings.of(Material.STONE).breakByTool(FabricToolTags.PICKAXES).sounds(BlockSoundGroup.STONE) - .hardness(4).resistance(4)); + .hardness(4).resistance(4).requiresTool()); } } diff --git a/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone_Path.java b/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone_Path.java index 09d8fb7..276cedb 100644 --- a/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone_Path.java +++ b/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone_Path.java @@ -9,6 +9,6 @@ public class Poolstone_Path extends Block { public Poolstone_Path() { super(FabricBlockSettings.of(Material.STONE).breakByTool(FabricToolTags.PICKAXES).sounds(BlockSoundGroup.STONE) - .hardness(4).resistance(4)); + .hardness(4).resistance(4).requiresTool()); } } diff --git a/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone_Tile.java b/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone_Tile.java index b4e8666..8cb778f 100644 --- a/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone_Tile.java +++ b/src/main/java/net/ludocrypt/backrooms/blocks/Poolstone_Tile.java @@ -9,6 +9,6 @@ public class Poolstone_Tile extends Block { public Poolstone_Tile() { super(FabricBlockSettings.of(Material.STONE).breakByTool(FabricToolTags.PICKAXES).sounds(BlockSoundGroup.STONE) - .hardness(4).resistance(4)); + .hardness(4).resistance(4).requiresTool()); } } diff --git a/src/main/java/net/ludocrypt/backrooms/blocks/Smooth_Poolstone.java b/src/main/java/net/ludocrypt/backrooms/blocks/Smooth_Poolstone.java index 1bea8b8..81e4386 100644 --- a/src/main/java/net/ludocrypt/backrooms/blocks/Smooth_Poolstone.java +++ b/src/main/java/net/ludocrypt/backrooms/blocks/Smooth_Poolstone.java @@ -9,6 +9,6 @@ public class Smooth_Poolstone extends Block { public Smooth_Poolstone() { super(FabricBlockSettings.of(Material.STONE).breakByTool(FabricToolTags.PICKAXES).sounds(BlockSoundGroup.STONE) - .hardness(6).resistance(6)); + .hardness(6).resistance(6).requiresTool()); } } diff --git a/src/main/java/net/ludocrypt/backrooms/blocks/Tile.java b/src/main/java/net/ludocrypt/backrooms/blocks/Tile.java index ae2ab87..407161d 100644 --- a/src/main/java/net/ludocrypt/backrooms/blocks/Tile.java +++ b/src/main/java/net/ludocrypt/backrooms/blocks/Tile.java @@ -19,7 +19,7 @@ public class Tile extends Block { public Tile() { super(FabricBlockSettings.of(Material.STONE).breakByTool(FabricToolTags.PICKAXES).sounds(BlockSoundGroup.STONE) - .hardness(3).resistance(2)); + .hardness(3).resistance(2).requiresTool()); setDefaultState(getStateManager().getDefaultState().with(SINGLE, true).with(FACING, Direction.EAST)); } diff --git a/src/main/java/net/ludocrypt/backrooms/blocks/Vent.java b/src/main/java/net/ludocrypt/backrooms/blocks/Vent.java index d71603a..92341f4 100644 --- a/src/main/java/net/ludocrypt/backrooms/blocks/Vent.java +++ b/src/main/java/net/ludocrypt/backrooms/blocks/Vent.java @@ -21,7 +21,7 @@ public class Vent extends Block { public Vent() { super(FabricBlockSettings.of(Material.STONE).breakByTool(FabricToolTags.PICKAXES).sounds(BlockSoundGroup.STONE) - .hardness(2).resistance(4)); + .hardness(2).resistance(4).requiresTool()); } @Override diff --git a/src/main/java/net/ludocrypt/backrooms/blocks/VoidBlock.java b/src/main/java/net/ludocrypt/backrooms/blocks/VoidBlock.java index 7adc80f..9327968 100644 --- a/src/main/java/net/ludocrypt/backrooms/blocks/VoidBlock.java +++ b/src/main/java/net/ludocrypt/backrooms/blocks/VoidBlock.java @@ -27,7 +27,7 @@ public class VoidBlock extends BlockWithEntity { public VoidBlock() { super(FabricBlockSettings.of(Material.PORTAL).strength(100000F, 3600000.8F).sounds(BlockSoundGroup.METAL) - .collidable(false).nonOpaque()); + .collidable(false).nonOpaque().requiresTool()); } @Override diff --git a/src/main/java/net/ludocrypt/backrooms/blocks/Wall.java b/src/main/java/net/ludocrypt/backrooms/blocks/Wall.java index 8171e6e..eee965c 100644 --- a/src/main/java/net/ludocrypt/backrooms/blocks/Wall.java +++ b/src/main/java/net/ludocrypt/backrooms/blocks/Wall.java @@ -9,6 +9,6 @@ public class Wall extends Block { public Wall() { super(FabricBlockSettings.of(Material.STONE).breakByTool(FabricToolTags.PICKAXES).sounds(BlockSoundGroup.STONE) - .strength(40000F, 3600000.8F)); + .strength(40000F, 3600000.8F).requiresTool()); } } diff --git a/src/main/java/net/ludocrypt/backrooms/features/Level0DecrepitRoom.java b/src/main/java/net/ludocrypt/backrooms/features/Level0DecrepitRoom.java index 326db74..a58de46 100644 --- a/src/main/java/net/ludocrypt/backrooms/features/Level0DecrepitRoom.java +++ b/src/main/java/net/ludocrypt/backrooms/features/Level0DecrepitRoom.java @@ -176,7 +176,8 @@ private void generateSlice(ServerWorldAccess world, BlockPos.Mutable centerPos, if (((world.getBlockState(currentPosition).getBlock() == Backrooms.WALL) || (world.getBlockState(currentPosition).getBlock() == Blocks.BEDROCK)) - && (world.getBlockState(currentPosition).getBlock() != Backrooms.CARPET_STAIRS)) { + && (world.getBlockState(currentPosition).getBlock() != Backrooms.CARPET_STAIRS) + && (world.getBlockState(currentPosition).getBlock() != Backrooms.VOID_BLOCK)) { if ((rand.nextDouble()) < ((BackroomsConfig.getInstance().Level0DoorChance))) { door1 = true; } else { diff --git a/src/main/java/net/ludocrypt/backrooms/features/Level0DottedRedRoom.java b/src/main/java/net/ludocrypt/backrooms/features/Level0DottedRedRoom.java index 4397ba8..64a72f0 100644 --- a/src/main/java/net/ludocrypt/backrooms/features/Level0DottedRedRoom.java +++ b/src/main/java/net/ludocrypt/backrooms/features/Level0DottedRedRoom.java @@ -117,37 +117,53 @@ public boolean generate(StructureWorldAccess world, ChunkGenerator chunkGenerato if (layoutInt == 100) { RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.One, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Two, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Three, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Two, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Two, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.StairWall, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Stair1NoLight, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Stair1Light, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Stair1Light, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Stair1NoLight, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.StairWall, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Two, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Two, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Three, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Two, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Four, rand, - Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_RED_WALLPAPER, Backrooms.DOTTED_RED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, + MOLDY_CARPET, true); } else { Integer[][] layoutTop = LayoutsTop.get(layoutInt); Integer[][] layoutBottom = LayoutsBottom.get(layoutInt); @@ -175,7 +191,8 @@ private void generateSlice(ServerWorldAccess world, BlockPos.Mutable centerPos, if (((world.getBlockState(currentPosition).getBlock() == Backrooms.WALL) || (world.getBlockState(currentPosition).getBlock() == Blocks.BEDROCK)) - && (world.getBlockState(currentPosition).getBlock() != Backrooms.CARPET_STAIRS)) { + && (world.getBlockState(currentPosition).getBlock() != Backrooms.CARPET_STAIRS) + && (world.getBlockState(currentPosition).getBlock() != Backrooms.VOID_BLOCK)) { if ((rand.nextDouble()) < ((BackroomsConfig.getInstance().Level0DoorChance))) { door1 = true; } else { diff --git a/src/main/java/net/ludocrypt/backrooms/features/Level0DottedRoom.java b/src/main/java/net/ludocrypt/backrooms/features/Level0DottedRoom.java index 32d94ea..b83644b 100644 --- a/src/main/java/net/ludocrypt/backrooms/features/Level0DottedRoom.java +++ b/src/main/java/net/ludocrypt/backrooms/features/Level0DottedRoom.java @@ -117,37 +117,53 @@ public boolean generate(StructureWorldAccess world, ChunkGenerator chunkGenerato if (layoutInt == 100) { RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.One, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Two, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Three, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Two, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Two, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.StairWall, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Stair1NoLight, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Stair1Light, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Stair1Light, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Stair1NoLight, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.StairWall, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Two, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Two, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Three, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Two, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); RoomArchives.generateSlice(world, mutableBlockPos.move(Direction.EAST), RoomArchives.Four, rand, - Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, true); + Backrooms.DOTTED_WALLPAPER, Backrooms.DOTTED_TORN_WALLPAPER, STAIR, Backrooms.CARPET, MOLDY_CARPET, + true); } else { Integer[][] layoutTop = LayoutsTop.get(layoutInt); Integer[][] layoutBottom = LayoutsBottom.get(layoutInt); @@ -175,7 +191,8 @@ private void generateSlice(ServerWorldAccess world, BlockPos.Mutable centerPos, if (((world.getBlockState(currentPosition).getBlock() == Backrooms.WALL) || (world.getBlockState(currentPosition).getBlock() == Blocks.BEDROCK)) - && (world.getBlockState(currentPosition).getBlock() != Backrooms.CARPET_STAIRS)) { + && (world.getBlockState(currentPosition).getBlock() != Backrooms.CARPET_STAIRS) + && (world.getBlockState(currentPosition).getBlock() != Backrooms.VOID_BLOCK)) { if ((rand.nextDouble()) < ((BackroomsConfig.getInstance().Level0DoorChance))) { door1 = true; } else { diff --git a/src/main/java/net/ludocrypt/backrooms/features/Level0RedRoom.java b/src/main/java/net/ludocrypt/backrooms/features/Level0RedRoom.java index 9ed26ac..469fc71 100644 --- a/src/main/java/net/ludocrypt/backrooms/features/Level0RedRoom.java +++ b/src/main/java/net/ludocrypt/backrooms/features/Level0RedRoom.java @@ -175,7 +175,8 @@ private void generateSlice(ServerWorldAccess world, BlockPos.Mutable centerPos, if (((world.getBlockState(currentPosition).getBlock() == Backrooms.WALL) || (world.getBlockState(currentPosition).getBlock() == Blocks.BEDROCK)) - && (world.getBlockState(currentPosition).getBlock() != Backrooms.CARPET_STAIRS)) { + && (world.getBlockState(currentPosition).getBlock() != Backrooms.CARPET_STAIRS) + && (world.getBlockState(currentPosition).getBlock() != Backrooms.VOID_BLOCK)) { if ((rand.nextDouble()) < ((BackroomsConfig.getInstance().Level0DoorChance))) { door1 = true; } else { diff --git a/src/main/java/net/ludocrypt/backrooms/features/Level0Room.java b/src/main/java/net/ludocrypt/backrooms/features/Level0Room.java index 78f11c4..dee314f 100644 --- a/src/main/java/net/ludocrypt/backrooms/features/Level0Room.java +++ b/src/main/java/net/ludocrypt/backrooms/features/Level0Room.java @@ -175,7 +175,8 @@ private void generateSlice(ServerWorldAccess world, BlockPos.Mutable centerPos, if (((world.getBlockState(currentPosition).getBlock() == Backrooms.WALL) || (world.getBlockState(currentPosition).getBlock() == Blocks.BEDROCK)) - && (world.getBlockState(currentPosition).getBlock() != Backrooms.CARPET_STAIRS)) { + && (world.getBlockState(currentPosition).getBlock() != Backrooms.CARPET_STAIRS) + && (world.getBlockState(currentPosition).getBlock() != Backrooms.VOID_BLOCK)) { if ((rand.nextDouble()) < ((BackroomsConfig.getInstance().Level0DoorChance))) { door1 = true; } else { diff --git a/src/main/java/net/ludocrypt/backrooms/features/Level1OffRoom.java b/src/main/java/net/ludocrypt/backrooms/features/Level1OffRoom.java index 84b5dda..a3ca63b 100644 --- a/src/main/java/net/ludocrypt/backrooms/features/Level1OffRoom.java +++ b/src/main/java/net/ludocrypt/backrooms/features/Level1OffRoom.java @@ -165,7 +165,8 @@ private void generateSlice(ServerWorldAccess world, BlockPos.Mutable centerPos, if (((world.getBlockState(currentPosition).getBlock() == Backrooms.WALL) || (world.getBlockState(currentPosition).getBlock() == Blocks.BEDROCK)) - && (world.getBlockState(currentPosition).getBlock() != Backrooms.CARPET_STAIRS)) { + && (world.getBlockState(currentPosition).getBlock() != Backrooms.CARPET_STAIRS) + && (world.getBlockState(currentPosition).getBlock() != Backrooms.VOID_BLOCK)) { if ((rand.nextDouble()) < ((BackroomsConfig.getInstance().Level0DoorChance))) { door1 = true; } else { diff --git a/src/main/java/net/ludocrypt/backrooms/features/Level1Room.java b/src/main/java/net/ludocrypt/backrooms/features/Level1Room.java index 3af3e86..b624da4 100644 --- a/src/main/java/net/ludocrypt/backrooms/features/Level1Room.java +++ b/src/main/java/net/ludocrypt/backrooms/features/Level1Room.java @@ -164,7 +164,8 @@ private void generateSlice(ServerWorldAccess world, BlockPos.Mutable centerPos, if (((world.getBlockState(currentPosition).getBlock() == Backrooms.WALL) || (world.getBlockState(currentPosition).getBlock() == Blocks.BEDROCK)) - && (world.getBlockState(currentPosition).getBlock() != Backrooms.CARPET_STAIRS)) { + && (world.getBlockState(currentPosition).getBlock() != Backrooms.CARPET_STAIRS) + && (world.getBlockState(currentPosition).getBlock() != Backrooms.VOID_BLOCK)) { if ((rand.nextDouble()) < ((BackroomsConfig.getInstance().Level0DoorChance))) { door1 = true; } else { diff --git a/src/main/java/net/ludocrypt/backrooms/features/Level2LongRoom.java b/src/main/java/net/ludocrypt/backrooms/features/Level2LongRoom.java index 4631255..ff51a5a 100644 --- a/src/main/java/net/ludocrypt/backrooms/features/Level2LongRoom.java +++ b/src/main/java/net/ludocrypt/backrooms/features/Level2LongRoom.java @@ -21,9 +21,24 @@ public Level2LongRoom(Codec configFactory) { super(configFactory); } - private int[][] Orange = { { 2, 2, 2, 2 }, { 2, 2, 2, 2 }, { 2, 2, 2, 2 }, { 2, 2, 2, 2 }, { 2, 2, 2, 2 } }; - private int[][] Red = { { 2, 2, 2, 2 }, { 1, 1, 1, 1 }, { 4, 4, 4, 4 }, { 1, 1, 1, 1 }, { 2, 2, 2, 2 } }; - private int[][] Brown = { { 2, 2, 2, 2 }, { 1, 1, 1, 1 }, { 1, 1, 1, 1 }, { 1, 1, 1, 1 }, { 2, 2, 2, 2 } }; + private int[][] Orange = { + { 2, 2, 2, 2 }, + { 2, 2, 2, 2 }, + { 2, 2, 2, 2 }, + { 2, 2, 2, 2 }, + { 2, 2, 2, 2 } }; + private int[][] Red = { + { 5, 5, 5, 5 }, + { 1, 1, 1, 1 }, + { 4, 4, 4, 4 }, + { 1, 1, 1, 1 }, + { 2, 2, 2, 2 } }; + private int[][] Brown = { + { 5, 5, 5, 5 }, + { 1, 1, 1, 1 }, + { 1, 1, 1, 1 }, + { 1, 1, 1, 1 }, + { 2, 2, 2, 2 } }; private static final BlockState AIR = Blocks.AIR.getDefaultState(); private static final BlockState CEMENT = Backrooms.CEMENT.getDefaultState(); @@ -31,6 +46,7 @@ public Level2LongRoom(Codec configFactory) { .with(Pipe.SOUTH, true); private static final BlockState PIPENORTHSOUTHEAST = Backrooms.PIPE.getDefaultState().with(Pipe.EAST, true) .with(Pipe.SOUTH, true).with(Pipe.NORTH, true); + private static final BlockState VENT = Backrooms.VENT.getDefaultState(); public boolean generate(StructureWorldAccess world, ChunkGenerator chunkGenerator, Random rand, BlockPos position, DefaultFeatureConfig featureConfig) { @@ -75,6 +91,12 @@ private void generateSlice(ServerWorldAccess world, BlockPos.Mutable centerPos, world.setBlockState(currentPosition, PIPENORTHSOUTHEAST, 2); } break; + case 5: + if (rand.nextDouble() < 0.01) { + world.setBlockState(currentPosition.down(), VENT, 2); + } + world.setBlockState(currentPosition, CEMENT, 2); + break; } } currentPosition.move(Direction.SOUTH); diff --git a/src/main/java/net/ludocrypt/backrooms/features/LevelsFeatureInit.java b/src/main/java/net/ludocrypt/backrooms/features/LevelsFeatureInit.java index 1f21c0e..6d815c9 100644 --- a/src/main/java/net/ludocrypt/backrooms/features/LevelsFeatureInit.java +++ b/src/main/java/net/ludocrypt/backrooms/features/LevelsFeatureInit.java @@ -1,6 +1,5 @@ package net.ludocrypt.backrooms.features; -import net.ludocrypt.backrooms.features.decorators.Level01RoofDecorator; import net.ludocrypt.backrooms.features.decorators.Level0RoomDecorator; import net.ludocrypt.backrooms.features.decorators.Level1RoomDecorator; import net.ludocrypt.backrooms.features.decorators.Level2RoomDecorator; @@ -26,8 +25,6 @@ public class LevelsFeatureInit { public static Feature LEVEL2LONGROOM = new Level2LongRoom(DefaultFeatureConfig.CODEC); public static Feature LEVEL2MESSYROOM = new Level2MessyRoom(DefaultFeatureConfig.CODEC); public static Feature LEVEL3ROOM = new Level3Room(DefaultFeatureConfig.CODEC); - public static Decorator LEVEL01ROOFDECORATOR = new Level01RoofDecorator( - NopeDecoratorConfig.CODEC); public static Decorator LEVEL0DECORATOR = new Level0RoomDecorator(NopeDecoratorConfig.CODEC); public static Decorator LEVEL1DECORATOR = new Level1RoomDecorator(NopeDecoratorConfig.CODEC); public static Decorator LEVEL2DECORATOR = new Level2RoomDecorator(NopeDecoratorConfig.CODEC); @@ -46,8 +43,6 @@ public static void registerFeatures() { Registry.register(Registry.FEATURE, new Identifier("backrooms", "level2longroom"), LEVEL2LONGROOM); Registry.register(Registry.FEATURE, new Identifier("backrooms", "level2messyroom"), LEVEL2MESSYROOM); Registry.register(Registry.FEATURE, new Identifier("backrooms", "level3room"), LEVEL3ROOM); - Registry.register(Registry.DECORATOR, new Identifier("backrooms", "level01roofdecorator"), - LEVEL01ROOFDECORATOR); Registry.register(Registry.DECORATOR, new Identifier("backrooms", "level0decorator"), LEVEL0DECORATOR); Registry.register(Registry.DECORATOR, new Identifier("backrooms", "level1decorator"), LEVEL1DECORATOR); Registry.register(Registry.DECORATOR, new Identifier("backrooms", "level2decorator"), LEVEL2DECORATOR); diff --git a/src/main/java/net/ludocrypt/backrooms/features/RoomArchives.java b/src/main/java/net/ludocrypt/backrooms/features/RoomArchives.java index be39463..0096267 100644 --- a/src/main/java/net/ludocrypt/backrooms/features/RoomArchives.java +++ b/src/main/java/net/ludocrypt/backrooms/features/RoomArchives.java @@ -66,7 +66,6 @@ public class RoomArchives { .with(Tile.SINGLE, false); private static final BlockState TILE = Backrooms.TILE.getDefaultState().with(Tile.FACING, Direction.EAST) .with(Tile.SINGLE, true); - private static final BlockState LIGHT = Backrooms.LIGHT.getDefaultState(); private static final BlockState AIR = Blocks.AIR.getDefaultState(); private static final BlockState CHEST = Blocks.CHEST.getDefaultState().with(ChestBlock.CHEST_TYPE, ChestType.SINGLE) .with(ChestBlock.FACING, Direction.NORTH).with(ChestBlock.WATERLOGGED, false); diff --git a/src/main/java/net/ludocrypt/backrooms/features/decorators/Level01RoofDecorator.java b/src/main/java/net/ludocrypt/backrooms/features/decorators/Level01RoofDecorator.java deleted file mode 100644 index cb76f1a..0000000 --- a/src/main/java/net/ludocrypt/backrooms/features/decorators/Level01RoofDecorator.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.ludocrypt.backrooms.features.decorators; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; -import java.util.stream.Stream; - -import com.mojang.serialization.Codec; - -import net.ludocrypt.backrooms.config.BackroomsConfig; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.gen.decorator.Decorator; -import net.minecraft.world.gen.decorator.DecoratorContext; -import net.minecraft.world.gen.decorator.NopeDecoratorConfig; - -public class Level01RoofDecorator extends Decorator { - - public Level01RoofDecorator(Codec codec) { - super(codec); - } - - @Override - public Stream getPositions(DecoratorContext context, Random random, NopeDecoratorConfig config, - BlockPos pos) { - - BlockPos.Mutable mutableBlockPos = new BlockPos.Mutable(pos.getX(), 0, pos.getZ()); - List blockPosList = new ArrayList(); - - for (int repeat = 0; repeat < BackroomsConfig.getInstance().Level0LayerCount; repeat++) { - mutableBlockPos.move(0, 6, 0); - blockPosList.add(mutableBlockPos.toImmutable()); - } - return blockPosList.stream(); - } -} diff --git a/src/main/java/net/ludocrypt/backrooms/features/decorators/Level0RoomDecorator.java b/src/main/java/net/ludocrypt/backrooms/features/decorators/Level0RoomDecorator.java index 4f154c8..9bc06dc 100644 --- a/src/main/java/net/ludocrypt/backrooms/features/decorators/Level0RoomDecorator.java +++ b/src/main/java/net/ludocrypt/backrooms/features/decorators/Level0RoomDecorator.java @@ -23,7 +23,7 @@ public Level0RoomDecorator(Codec codec) { public Stream getPositions(DecoratorContext context, Random random, NopeDecoratorConfig config, BlockPos pos) { - BlockPos.Mutable mutableBlockPos = new BlockPos.Mutable(pos.getX(), 1, pos.getZ()); + BlockPos.Mutable mutableBlockPos = new BlockPos.Mutable(pos.getX(), 3, pos.getZ()); List blockPosList = new ArrayList(); for (int repeat = 0; repeat < BackroomsConfig.getInstance().Level0LayerCount; repeat++) { diff --git a/src/main/java/net/ludocrypt/backrooms/features/decorators/Level1RoomDecorator.java b/src/main/java/net/ludocrypt/backrooms/features/decorators/Level1RoomDecorator.java index 6af1f5b..399275e 100644 --- a/src/main/java/net/ludocrypt/backrooms/features/decorators/Level1RoomDecorator.java +++ b/src/main/java/net/ludocrypt/backrooms/features/decorators/Level1RoomDecorator.java @@ -23,7 +23,7 @@ public Level1RoomDecorator(Codec codec) { public Stream getPositions(DecoratorContext context, Random random, NopeDecoratorConfig config, BlockPos pos) { - BlockPos.Mutable mutableBlockPos = new BlockPos.Mutable(pos.getX(), 0, pos.getZ()); + BlockPos.Mutable mutableBlockPos = new BlockPos.Mutable(pos.getX(), 3, pos.getZ()); List blockPosList = new ArrayList(); for (int repeat = 0; repeat < BackroomsConfig.getInstance().Level1LayerCount; repeat++) { diff --git a/src/main/java/net/ludocrypt/backrooms/misc/BackroomsSoundEvents.java b/src/main/java/net/ludocrypt/backrooms/misc/BackroomsSoundEvents.java index cf70c23..acef1a1 100644 --- a/src/main/java/net/ludocrypt/backrooms/misc/BackroomsSoundEvents.java +++ b/src/main/java/net/ludocrypt/backrooms/misc/BackroomsSoundEvents.java @@ -21,7 +21,6 @@ public class BackroomsSoundEvents { public static final SoundEvent MUSIC_DISC_THOSE_TORN_WALLS = register("backrooms:music_disc.those_torn_walls"); public static final SoundEvent MUSIC_DISC_BURGERS_AND_FRIES = register("backrooms:music_disc.burgers_and_fries"); public static final SoundEvent MUSIC_DISC_PRETZELS_AND_CHEESE = register("backrooms:music_disc.pretzels_and_cheese"); - public static final SoundEvent TONE = register("backrooms:tone"); public static final SoundEvent GULP = register("backrooms:gulp"); public static final SoundEvent TEAR = register("backrooms:tear"); public static final SoundEvent VENT = register("backrooms:vent"); diff --git a/src/main/java/net/ludocrypt/backrooms/mixin/DefaultBiomeFeaturesMixin.java b/src/main/java/net/ludocrypt/backrooms/mixin/DefaultBiomeFeaturesMixin.java new file mode 100644 index 0000000..6a08482 --- /dev/null +++ b/src/main/java/net/ludocrypt/backrooms/mixin/DefaultBiomeFeaturesMixin.java @@ -0,0 +1,19 @@ +package net.ludocrypt.backrooms.mixin; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import net.ludocrypt.backrooms.Backrooms; +import net.minecraft.world.biome.GenerationSettings; +import net.minecraft.world.gen.GenerationStep; +import net.minecraft.world.gen.feature.DefaultBiomeFeatures; + +@Mixin(DefaultBiomeFeatures.class) +public class DefaultBiomeFeaturesMixin { + @Inject(method = "addDefaultOres(Lnet/minecraft/world/biome/GenerationSettings$Builder;)V", at = @At("TAIL")) + private static void addDefaultOres(GenerationSettings.Builder builder, CallbackInfo ci) { + builder.feature(GenerationStep.Feature.UNDERGROUND_ORES, Backrooms.POOLSTONE_GENERATION); + } +} diff --git a/src/main/java/net/ludocrypt/backrooms/mixin/MusicMixin.java b/src/main/java/net/ludocrypt/backrooms/mixin/MusicMixin.java index 810c737..3459edc 100644 --- a/src/main/java/net/ludocrypt/backrooms/mixin/MusicMixin.java +++ b/src/main/java/net/ludocrypt/backrooms/mixin/MusicMixin.java @@ -8,7 +8,7 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.ludocrypt.backrooms.Backrooms; +import net.ludocrypt.backrooms.BackroomsClient; import net.ludocrypt.backrooms.dimension.BDimension; import net.ludocrypt.backrooms.misc.BackroomsMusicType; import net.minecraft.client.MinecraftClient; @@ -29,15 +29,15 @@ public class MusicMixin { @Inject(method = "getMusicType", at = @At("HEAD"), cancellable = true) private void getMusicType(CallbackInfoReturnable callbackInfoReturnable) { - if (this.player == null && Backrooms.Display == true && Backrooms.DisplayLevel == 0) { + if (this.player == null && BackroomsClient.Display == true && BackroomsClient.DisplayLevel == 0) { callbackInfoReturnable.setReturnValue(BackroomsMusicType.LEVEL0MENU); - } else if (this.player == null && Backrooms.Display == true && Backrooms.DisplayLevel == 1) { + } else if (this.player == null && BackroomsClient.Display == true && BackroomsClient.DisplayLevel == 1) { callbackInfoReturnable.setReturnValue(BackroomsMusicType.LEVEL1MENU); - } else if (this.player == null && Backrooms.Display == true && Backrooms.DisplayLevel == 2) { + } else if (this.player == null && BackroomsClient.Display == true && BackroomsClient.DisplayLevel == 2) { callbackInfoReturnable.setReturnValue(BackroomsMusicType.LEVEL2MENU); - } else if (this.player == null && Backrooms.Display == true && Backrooms.DisplayLevel == 3) { + } else if (this.player == null && BackroomsClient.Display == true && BackroomsClient.DisplayLevel == 3) { callbackInfoReturnable.setReturnValue(BackroomsMusicType.LEVEL3MENU); - } else if (this.player == null && Backrooms.Display == false) { + } else if (this.player == null && BackroomsClient.Display == false) { callbackInfoReturnable.setReturnValue(MusicType.MENU); } else if (world != null && this.world.getRegistryKey() == BDimension.LEVEL0WORLD) { callbackInfoReturnable.setReturnValue((MusicSound) this.world.getBiomeAccess() diff --git a/src/main/java/net/ludocrypt/backrooms/mixin/TitleScreenMixin.java b/src/main/java/net/ludocrypt/backrooms/mixin/TitleScreenMixin.java index 7128d85..e117ab6 100644 --- a/src/main/java/net/ludocrypt/backrooms/mixin/TitleScreenMixin.java +++ b/src/main/java/net/ludocrypt/backrooms/mixin/TitleScreenMixin.java @@ -8,7 +8,7 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.ludocrypt.backrooms.Backrooms; +import net.ludocrypt.backrooms.BackroomsClient; import net.ludocrypt.backrooms.config.BackroomsConfig; import net.minecraft.client.gui.CubeMapRenderer; import net.minecraft.client.gui.RotatingCubeMapRenderer; @@ -57,53 +57,53 @@ private void addCustomButton(int y, int spacingY, CallbackInfo ci) { this.backgroundRenderer = new RotatingCubeMapRenderer(LEVEL2_CUBE_MAP); } else if (BackroomsConfig.getInstance().ForceLevel3) { this.backgroundRenderer = new RotatingCubeMapRenderer(LEVEL3_CUBE_MAP); - } else if (!Backrooms.Display) { - Backrooms.Display = true; + } else if (!BackroomsClient.Display) { + BackroomsClient.Display = true; this.backgroundRenderer = new RotatingCubeMapRenderer(LEVEL0_CUBE_MAP); - } else if (Backrooms.Display && Backrooms.DisplayLevel == 0) { - Backrooms.DisplayLevel = 1; + } else if (BackroomsClient.Display && BackroomsClient.DisplayLevel == 0) { + BackroomsClient.DisplayLevel = 1; this.backgroundRenderer = new RotatingCubeMapRenderer(LEVEL1_CUBE_MAP); - } else if (Backrooms.Display && Backrooms.DisplayLevel == 1) { - Backrooms.DisplayLevel = 2; + } else if (BackroomsClient.Display && BackroomsClient.DisplayLevel == 1) { + BackroomsClient.DisplayLevel = 2; this.backgroundRenderer = new RotatingCubeMapRenderer(LEVEL2_CUBE_MAP); - } else if (Backrooms.Display && Backrooms.DisplayLevel == 2) { - Backrooms.DisplayLevel = 3; + } else if (BackroomsClient.Display && BackroomsClient.DisplayLevel == 2) { + BackroomsClient.DisplayLevel = 3; this.backgroundRenderer = new RotatingCubeMapRenderer(LEVEL3_CUBE_MAP); - } else if (Backrooms.Display && Backrooms.DisplayLevel == 3) { - Backrooms.DisplayLevel = 0; - Backrooms.Display = false; + } else if (BackroomsClient.Display && BackroomsClient.DisplayLevel == 3) { + BackroomsClient.DisplayLevel = 0; + BackroomsClient.Display = false; this.backgroundRenderer = new RotatingCubeMapRenderer(NORMAL_CUBE_MAP); } })); if (BackroomsConfig.getInstance().ForceNormal) { - Backrooms.Display = false; + BackroomsClient.Display = false; this.backgroundRenderer = new RotatingCubeMapRenderer(NORMAL_CUBE_MAP); } else if (BackroomsConfig.getInstance().ForceLevel0) { - Backrooms.Display = true; - Backrooms.DisplayLevel = 0; + BackroomsClient.Display = true; + BackroomsClient.DisplayLevel = 0; this.backgroundRenderer = new RotatingCubeMapRenderer(LEVEL0_CUBE_MAP); } else if (BackroomsConfig.getInstance().ForceLevel1) { - Backrooms.Display = true; - Backrooms.DisplayLevel = 1; + BackroomsClient.Display = true; + BackroomsClient.DisplayLevel = 1; this.backgroundRenderer = new RotatingCubeMapRenderer(LEVEL1_CUBE_MAP); } else if (BackroomsConfig.getInstance().ForceLevel2) { - Backrooms.Display = true; - Backrooms.DisplayLevel = 2; + BackroomsClient.Display = true; + BackroomsClient.DisplayLevel = 2; this.backgroundRenderer = new RotatingCubeMapRenderer(LEVEL2_CUBE_MAP); } else if (BackroomsConfig.getInstance().ForceLevel3) { - Backrooms.Display = true; - Backrooms.DisplayLevel = 3; + BackroomsClient.Display = true; + BackroomsClient.DisplayLevel = 3; this.backgroundRenderer = new RotatingCubeMapRenderer(LEVEL3_CUBE_MAP); - } else if (!Backrooms.Display) { + } else if (!BackroomsClient.Display) { this.backgroundRenderer = new RotatingCubeMapRenderer(NORMAL_CUBE_MAP); - } else if (Backrooms.Display && Backrooms.DisplayLevel == 0) { + } else if (BackroomsClient.Display && BackroomsClient.DisplayLevel == 0) { this.backgroundRenderer = new RotatingCubeMapRenderer(LEVEL0_CUBE_MAP); - } else if (Backrooms.Display && Backrooms.DisplayLevel == 1) { + } else if (BackroomsClient.Display && BackroomsClient.DisplayLevel == 1) { this.backgroundRenderer = new RotatingCubeMapRenderer(LEVEL1_CUBE_MAP); - } else if (Backrooms.Display && Backrooms.DisplayLevel == 2) { + } else if (BackroomsClient.Display && BackroomsClient.DisplayLevel == 2) { this.backgroundRenderer = new RotatingCubeMapRenderer(LEVEL2_CUBE_MAP); - } else if (Backrooms.Display && Backrooms.DisplayLevel == 3) { + } else if (BackroomsClient.Display && BackroomsClient.DisplayLevel == 3) { this.backgroundRenderer = new RotatingCubeMapRenderer(LEVEL3_CUBE_MAP); } } diff --git a/src/main/resources/assets/backrooms/sounds.json b/src/main/resources/assets/backrooms/sounds.json index e701dcb..cdf0e74 100644 --- a/src/main/resources/assets/backrooms/sounds.json +++ b/src/main/resources/assets/backrooms/sounds.json @@ -234,13 +234,6 @@ } ] }, - "tone": { - "sounds": [ - { - "name": "backrooms:tone" - } - ] - }, "tear": { "sounds": [ { diff --git a/src/main/resources/backrooms.mixins.json b/src/main/resources/backrooms.mixins.json index 68efe34..604b6ad 100644 --- a/src/main/resources/backrooms.mixins.json +++ b/src/main/resources/backrooms.mixins.json @@ -5,7 +5,8 @@ "mixins": [ "GoToBackroomsMixin", "MobSpawnLocationMixin", - "EntityMixin" + "EntityMixin", + "DefaultBiomeFeaturesMixin" ], "client": [ "BuiltinModelItemRendererMixin", diff --git a/src/main/resources/data/backrooms/dimension/level_0.json b/src/main/resources/data/backrooms/dimension/level_0.json index 9b72b0c..707f75d 100644 --- a/src/main/resources/data/backrooms/dimension/level_0.json +++ b/src/main/resources/data/backrooms/dimension/level_0.json @@ -326,7 +326,7 @@ "type": "minecraft:multi_noise" }, "seed": 672760, - "settings": "minecraft:overworld", + "settings": "backrooms:level_noise", "type": "minecraft:noise" } -} +} \ No newline at end of file diff --git a/src/main/resources/data/backrooms/dimension/level_1.json b/src/main/resources/data/backrooms/dimension/level_1.json index ea39564..95c5385 100644 --- a/src/main/resources/data/backrooms/dimension/level_1.json +++ b/src/main/resources/data/backrooms/dimension/level_1.json @@ -96,7 +96,7 @@ "type": "minecraft:multi_noise" }, "seed": 672761, - "settings": "minecraft:overworld", + "settings": "backrooms:level_noise", "type": "minecraft:noise" } } diff --git a/src/main/resources/data/backrooms/dimension/level_2.json b/src/main/resources/data/backrooms/dimension/level_2.json index 64449b5..0644889 100644 --- a/src/main/resources/data/backrooms/dimension/level_2.json +++ b/src/main/resources/data/backrooms/dimension/level_2.json @@ -146,7 +146,7 @@ "type": "minecraft:multi_noise" }, "seed": 672762, - "settings": "minecraft:overworld", + "settings": "backrooms:level_noise", "type": "minecraft:noise" } } diff --git a/src/main/resources/data/backrooms/dimension/level_3.json b/src/main/resources/data/backrooms/dimension/level_3.json index fd69aab..559e516 100644 --- a/src/main/resources/data/backrooms/dimension/level_3.json +++ b/src/main/resources/data/backrooms/dimension/level_3.json @@ -7,7 +7,7 @@ "type": "minecraft:fixed" }, "seed": 0, - "settings": "minecraft:overworld", + "settings": "backrooms:level_noise", "type": "minecraft:noise" } } \ No newline at end of file diff --git a/src/main/resources/data/backrooms/dimension_type/level_0.json b/src/main/resources/data/backrooms/dimension_type/level_0.json index 5da795f..eb504c9 100644 --- a/src/main/resources/data/backrooms/dimension_type/level_0.json +++ b/src/main/resources/data/backrooms/dimension_type/level_0.json @@ -10,6 +10,6 @@ "natural": false, "coordinate_scale": 1.0, "piglin_safe": false, - "has_skylight": false, + "has_skylight": true, "has_ceiling": false } \ No newline at end of file diff --git a/src/main/resources/data/backrooms/dimension_type/level_1.json b/src/main/resources/data/backrooms/dimension_type/level_1.json index 5da795f..eb504c9 100644 --- a/src/main/resources/data/backrooms/dimension_type/level_1.json +++ b/src/main/resources/data/backrooms/dimension_type/level_1.json @@ -10,6 +10,6 @@ "natural": false, "coordinate_scale": 1.0, "piglin_safe": false, - "has_skylight": false, + "has_skylight": true, "has_ceiling": false } \ No newline at end of file diff --git a/src/main/resources/data/backrooms/dimension_type/level_2.json b/src/main/resources/data/backrooms/dimension_type/level_2.json index 5da795f..eb504c9 100644 --- a/src/main/resources/data/backrooms/dimension_type/level_2.json +++ b/src/main/resources/data/backrooms/dimension_type/level_2.json @@ -10,6 +10,6 @@ "natural": false, "coordinate_scale": 1.0, "piglin_safe": false, - "has_skylight": false, + "has_skylight": true, "has_ceiling": false } \ No newline at end of file diff --git a/src/main/resources/data/backrooms/dimension_type/level_3.json b/src/main/resources/data/backrooms/dimension_type/level_3.json index 5da795f..eb504c9 100644 --- a/src/main/resources/data/backrooms/dimension_type/level_3.json +++ b/src/main/resources/data/backrooms/dimension_type/level_3.json @@ -10,6 +10,6 @@ "natural": false, "coordinate_scale": 1.0, "piglin_safe": false, - "has_skylight": false, + "has_skylight": true, "has_ceiling": false } \ No newline at end of file diff --git a/src/main/resources/data/backrooms/loot_tables/blocks/light.json b/src/main/resources/data/backrooms/loot_tables/blocks/light.json index a8059b6..30b021d 100644 --- a/src/main/resources/data/backrooms/loot_tables/blocks/light.json +++ b/src/main/resources/data/backrooms/loot_tables/blocks/light.json @@ -9,6 +9,7 @@ "children": [ { "type": "minecraft:item", + "name": "backrooms:light", "conditions": [ { "condition": "minecraft:match_tool", @@ -23,17 +24,17 @@ ] } } - ], - "name": "backrooms:light" + ] }, { - "type": "minecraft:item", + "type": "minecraft:loot_table", + "weight": 10, + "name": "backrooms:light_dusts", "conditions": [ { "condition": "minecraft:survives_explosion" } - ], - "name": "minecraft:air" + ] } ] } diff --git a/src/main/resources/data/backrooms/loot_tables/blocks/pipe.json b/src/main/resources/data/backrooms/loot_tables/blocks/pipe.json index c7851a0..381e6cd 100644 --- a/src/main/resources/data/backrooms/loot_tables/blocks/pipe.json +++ b/src/main/resources/data/backrooms/loot_tables/blocks/pipe.json @@ -1,14 +1,64 @@ { - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "backrooms:pipe" - } - ] - } - ] + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ], + "name": "backrooms:pipe" + }, + { + "type": "minecraft:alternatives", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.05, + 0.0564882, + 0.15, + 1.0 + ] + } + ], + "name": "minecraft:iron_ingot" + }, + { + "type": "minecraft:item", + "name": "backrooms:pipe" + } + ] + } + ] + } + ] + } + ] } \ No newline at end of file diff --git a/src/main/resources/data/backrooms/loot_tables/light_dusts.json b/src/main/resources/data/backrooms/loot_tables/light_dusts.json new file mode 100644 index 0000000..014a9f2 --- /dev/null +++ b/src/main/resources/data/backrooms/loot_tables/light_dusts.json @@ -0,0 +1,23 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": { + "min": 0, + "max": 3 + }, + "entries": [ + { + "type": "minecraft:item", + "weight": 10, + "name": "minecraft:redstone" + }, + { + "type": "minecraft:item", + "weight": 2, + "name": "minecraft:blaze_powder" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/backrooms/recipes/cement.json b/src/main/resources/data/backrooms/recipes/cement.json index 63d76cd..00841f4 100644 --- a/src/main/resources/data/backrooms/recipes/cement.json +++ b/src/main/resources/data/backrooms/recipes/cement.json @@ -5,10 +5,10 @@ ], "key": { "#": { - "item": "minecraft:white_concrete" + "item": "minecraft:cobblestone" }, "L": { - "item": "minecraft:light_gray_concrete" + "item": "minecraft:stone" } }, "result": { diff --git a/src/main/resources/data/backrooms/recipes/light.json b/src/main/resources/data/backrooms/recipes/light.json index 1b44f40..1adab86 100644 --- a/src/main/resources/data/backrooms/recipes/light.json +++ b/src/main/resources/data/backrooms/recipes/light.json @@ -1,18 +1,23 @@ { "type": "minecraft:crafting_shaped", "pattern": [ - "#W" + "###", + "EEE", + "#$#" ], "key": { "#": { - "item": "minecraft:redstone_lamp" + "item": "minecraft:white_stained_glass_pane" }, - "W": { - "item": "minecraft:white_dye" + "E": { + "item": "minecraft:end_rod" + }, + "$": { + "item": "minecraft:repeater" } }, "result": { "item": "backrooms:light", - "count": 1 + "count": 4 } } \ No newline at end of file diff --git a/src/main/resources/data/backrooms/recipes/pipe.json b/src/main/resources/data/backrooms/recipes/pipe.json new file mode 100644 index 0000000..ac17547 --- /dev/null +++ b/src/main/resources/data/backrooms/recipes/pipe.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "III", + "###" + ], + "key": { + "#": { + "item": "minecraft:iron_block" + }, + "I": { + "item": "minecraft:iron_bars" + } + }, + "result": { + "item": "backrooms:pipe", + "count": 16 + } +} \ No newline at end of file diff --git a/src/main/resources/data/backrooms/recipes/pipe_to_iron.json b/src/main/resources/data/backrooms/recipes/pipe_to_iron.json new file mode 100644 index 0000000..8bff928 --- /dev/null +++ b/src/main/resources/data/backrooms/recipes/pipe_to_iron.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "backrooms:pipe" + }, + "result": "minecraft:iron_ingot", + "experience": 1.0, + "cookingtime": 850 +} \ No newline at end of file diff --git a/src/main/resources/data/backrooms/recipes/tile.json b/src/main/resources/data/backrooms/recipes/tile.json index 2299aec..fc54736 100644 --- a/src/main/resources/data/backrooms/recipes/tile.json +++ b/src/main/resources/data/backrooms/recipes/tile.json @@ -1,21 +1,15 @@ { "type": "minecraft:crafting_shaped", "pattern": [ - "#L", - "BG" + "#&", + "&#" ], "key": { "#": { "item": "minecraft:white_concrete" }, - "L": { - "item": "minecraft:light_gray_concrete" - }, - "B": { - "item": "minecraft:black_concrete" - }, - "G": { - "item": "minecraft:gray_concrete" + "&": { + "item": "minecraft:diorite" } }, "result": { diff --git a/src/main/resources/data/backrooms/worldgen/noise_settings/level_noise.json b/src/main/resources/data/backrooms/worldgen/noise_settings/level_noise.json new file mode 100644 index 0000000..c90a662 --- /dev/null +++ b/src/main/resources/data/backrooms/worldgen/noise_settings/level_noise.json @@ -0,0 +1,41 @@ +{ + "bedrock_roof_position": -1, + "bedrock_floor_position": 0, + "sea_level": 0, + "disable_mob_generation": false, + "structures": { + "structures": { + } + }, + "noise": { + "random_density_offset": true, + "density_factor": 1.0, + "density_offset": -0.6871, + "simplex_surface_noise": true, + "bottom_slide": { + "target": -30, + "size": 0, + "offset": 0 + }, + "size_horizontal": 4, + "size_vertical": 4, + "height": 256, + "sampling": { + "xz_scale": 18.9999999814507745, + "y_scale": 2.68759888824, + "xz_factor": 999.0, + "y_factor": 200.0 + }, + "top_slide": { + "target": -10, + "size": 4, + "offset": 0 + } + }, + "default_block": { + "Name": "backrooms:wall" + }, + "default_fluid": { + "Name": "backrooms:wall" + } +} \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 8d9f6c1..b31f42c 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -3,7 +3,7 @@ "id": "backrooms", "version": "$version", "name": "The Backrooms", - "description": "The backrooms, endless mono yellow rooms to traverse.", + "description": "The backrooms, endless mono yellow rooms to traverse, and many more levels to come. Music by Angel Craig & LudoCrypt.", "authors": [ "LudoCrypt", "Angel Craig"