diff --git a/gradle.properties b/gradle.properties index cd99f33..11a760a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ minecraft_version=1.20.1 yarn_mappings=1.20.1+build.10 loader_version=0.18.3 # Mod Properties -mod_version=26.3.17 +mod_version=26.3.17.1 maven_group=dev.tggamesyt archives_base_name=szar # Dependencies diff --git a/src/client/java/dev/tggamesyt/szar/client/SzarClient.java b/src/client/java/dev/tggamesyt/szar/client/SzarClient.java index 499495a..e4dd2ae 100644 --- a/src/client/java/dev/tggamesyt/szar/client/SzarClient.java +++ b/src/client/java/dev/tggamesyt/szar/client/SzarClient.java @@ -23,6 +23,7 @@ import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.ingame.HandledScreens; import net.minecraft.client.option.KeyBinding; +import net.minecraft.client.render.block.entity.BlockEntityRendererFactories; import net.minecraft.client.render.entity.EmptyEntityRenderer; import net.minecraft.client.render.entity.EntityRenderer; import net.minecraft.client.render.entity.FlyingItemEntityRenderer; @@ -361,10 +362,10 @@ public class SzarClient implements ClientModInitializer { }); } ); - /*BlockEntityRendererRegistry.register( - SLOT_MACHINE_BLOCKENTITY, - SlotMachineRenderer::new - );*/ + BlockEntityRendererFactories.register( + Szar.TRACKER_BLOCK_ENTITY, + TGTrackerBlockRenderer::new + ); HandledScreens.register(Szar.SLOT_MACHINE_SCREEN_HANDLER_TYPE, SlotMachineScreen::new); HandledScreens.register(Szar.ROULETTE_SCREEN_HANDLER_TYPE, RouletteScreen::new); EntityRendererRegistry.register(Szar.BULLET, BulletRenderer::new); diff --git a/src/client/java/dev/tggamesyt/szar/client/TGTrackerBlockRenderer.java b/src/client/java/dev/tggamesyt/szar/client/TGTrackerBlockRenderer.java new file mode 100644 index 0000000..3988bac --- /dev/null +++ b/src/client/java/dev/tggamesyt/szar/client/TGTrackerBlockRenderer.java @@ -0,0 +1,72 @@ +package dev.tggamesyt.szar.client; + +import dev.tggamesyt.szar.Szar; +import dev.tggamesyt.szar.TrackerBlockEntity; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.render.VertexConsumerProvider; +import net.minecraft.client.render.block.entity.BlockEntityRenderer; +import net.minecraft.client.render.block.entity.BlockEntityRendererFactory; +import net.minecraft.client.render.item.ItemRenderer; +import net.minecraft.client.render.model.BakedModel; +import net.minecraft.client.render.model.json.ModelTransformationMode; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RotationAxis; +import net.minecraft.client.render.WorldRenderer; + +public class TGTrackerBlockRenderer implements BlockEntityRenderer { + + private final ItemRenderer itemRenderer; + + public TGTrackerBlockRenderer(BlockEntityRendererFactory.Context ctx) { + this.itemRenderer = ctx.getItemRenderer(); + } + + @Override + public void render(TrackerBlockEntity entity, float tickDelta, MatrixStack matrices, + VertexConsumerProvider vertexConsumers, int light, int overlay) { + + MinecraftClient client = MinecraftClient.getInstance(); + PlayerEntity player = client.player; + if (player == null) return; + + boolean holding = player.getMainHandStack().isOf(Szar.TRACKER_BLOCK_ITEM.asItem()) + || player.getOffHandStack().isOf(Szar.TRACKER_BLOCK_ITEM.asItem()); + if (!holding) return; + + BlockPos pos = entity.getPos(); + int lightLevel = WorldRenderer.getLightmapCoordinates(entity.getWorld(), pos); + + // Use the actual camera yaw and pitch — this is what barrier does + // Camera yaw/pitch are already available from the camera object + float cameraYaw = client.gameRenderer.getCamera().getYaw(); + float cameraPitch = client.gameRenderer.getCamera().getPitch(); + + matrices.push(); + matrices.translate(0.5, 0.25, 0.5); + + matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(-cameraYaw)); + matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(cameraPitch)); + matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(180f)); + + matrices.scale(2f, 2f, 2f); + + ItemStack stack = new ItemStack(Szar.TRACKER_BLOCK_ITEM.asItem()); + BakedModel model = itemRenderer.getModel(stack, entity.getWorld(), null, 0); + + itemRenderer.renderItem( + stack, + ModelTransformationMode.GROUND, + false, + matrices, + vertexConsumers, + lightLevel, + overlay, + model + ); + + matrices.pop(); + } +} \ No newline at end of file diff --git a/src/client/java/dev/tggamesyt/szar/client/mixin/GameRendererMixin.java b/src/client/java/dev/tggamesyt/szar/client/mixin/GameRendererMixin.java index 95a497b..9b24fcb 100644 --- a/src/client/java/dev/tggamesyt/szar/client/mixin/GameRendererMixin.java +++ b/src/client/java/dev/tggamesyt/szar/client/mixin/GameRendererMixin.java @@ -10,6 +10,7 @@ import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(GameRenderer.class) diff --git a/src/main/java/dev/tggamesyt/szar/BackroomsChunkGenerator.java b/src/main/java/dev/tggamesyt/szar/BackroomsChunkGenerator.java new file mode 100644 index 0000000..6350866 --- /dev/null +++ b/src/main/java/dev/tggamesyt/szar/BackroomsChunkGenerator.java @@ -0,0 +1,235 @@ +package dev.tggamesyt.szar; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import dev.tggamesyt.szar.Szar; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.registry.RegistryCodecs; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.entry.RegistryEntry; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.ChunkRegion; +import net.minecraft.world.HeightLimitView; +import net.minecraft.world.Heightmap; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.biome.BiomeKeys; +import net.minecraft.world.biome.source.BiomeAccess; +import net.minecraft.world.biome.source.FixedBiomeSource; +import net.minecraft.world.chunk.Chunk; +import net.minecraft.world.gen.GenerationStep; +import net.minecraft.world.gen.StructureAccessor; +import net.minecraft.world.gen.chunk.Blender; +import net.minecraft.world.gen.chunk.ChunkGenerator; +import net.minecraft.world.gen.chunk.VerticalBlockSample; +import net.minecraft.world.gen.noise.NoiseConfig; + +import java.util.List; +import java.util.Random; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.Executor; + +public class BackroomsChunkGenerator extends ChunkGenerator { + + // Y layout constants + private static final int FLOOR_Y = 4; // y=4 is the floor block + private static final int CEILING_Y = 9; // y=9 is the ceiling block (4 air blocks between: 5,6,7,8) + private static final int WALL_BASE_Y = 5; // y=5 is WALL_BOTTOM_BLOCK + private static final int WALL_TOP_Y = 8; // y=8 is top wall block (below ceiling) + + // Glowstone grid spacing + private static final int GLOW_SPACING = 5; + + public static final Codec CODEC = + RecordCodecBuilder.create(instance -> instance.group( + Biome.REGISTRY_CODEC + .fieldOf("biome") + .forGetter(g -> g.biomeEntry) + ).apply(instance, BackroomsChunkGenerator::new)); + + private final RegistryEntry biomeEntry; + + public BackroomsChunkGenerator(RegistryEntry biomeEntry) { + super(new FixedBiomeSource(biomeEntry)); + this.biomeEntry = biomeEntry; + } + + @Override + protected Codec getCodec() { + return CODEC; + } + + @Override + public CompletableFuture populateNoise( + Executor executor, Blender blender, NoiseConfig noiseConfig, + StructureAccessor structureAccessor, Chunk chunk) { + + int chunkX = chunk.getPos().x; + int chunkZ = chunk.getPos().z; + + for (int lx = 0; lx < 16; lx++) { + for (int lz = 0; lz < 16; lz++) { + int worldX = chunkX * 16 + lx; + int worldZ = chunkZ * 16 + lz; + + // Deterministic per-column open/wall decision using world seed-like hash + boolean isOpen = isOpenSpace(worldX, worldZ); + + // Floor — always placed + chunk.setBlockState(new BlockPos(lx, FLOOR_Y, lz), + Szar.PLASTIC.getDefaultState(), false); + + // Below floor — fill with plastic so there's no void underneath + for (int y = 0; y < FLOOR_Y; y++) { + chunk.setBlockState(new BlockPos(lx, y, lz), + Szar.PLASTIC.getDefaultState(), false); + } + + // Ceiling + boolean isGlowstone = isGlowstonePos(worldX, worldZ); + BlockState ceilingBlock = isGlowstone + ? Blocks.GLOWSTONE.getDefaultState() + : Szar.CEILING.getDefaultState(); + chunk.setBlockState(new BlockPos(lx, CEILING_Y, lz), ceilingBlock, false); + + // Above ceiling — solid wall block fill so there's no void above + for (int y = CEILING_Y + 1; y < 64; y++) { + chunk.setBlockState(new BlockPos(lx, y, lz), + Szar.CEILING.getDefaultState(), false); + } + + if (isOpen) { + // Air inside the room + for (int y = WALL_BASE_Y; y <= WALL_TOP_Y; y++) { + chunk.setBlockState(new BlockPos(lx, y, lz), + Blocks.AIR.getDefaultState(), false); + } + } else { + // Wall column + chunk.setBlockState(new BlockPos(lx, WALL_BASE_Y, lz), + Szar.WALL_BOTTOM_BLOCK.getDefaultState(), false); + for (int y = WALL_BASE_Y + 1; y <= WALL_TOP_Y; y++) { + chunk.setBlockState(new BlockPos(lx, y, lz), + Szar.WALL_BLOCK.getDefaultState(), false); + } + } + } + } + + return CompletableFuture.completedFuture(chunk); + } + + /** + * Determines if a world column is open space or a wall. + * Uses a combination of large-scale and small-scale noise simulation + * via a seeded hash to create wide rooms with occasional walls. + */ + private boolean isOpenSpace(int x, int z) { + // Smaller cells = more frequent walls + int cellSize = 8; // was 16 + int cellX = Math.floorDiv(x, cellSize); + int cellZ = Math.floorDiv(z, cellSize); + int localX = Math.floorMod(x, cellSize); + int localZ = Math.floorMod(z, cellSize); + + long cellHash = hash(cellX, cellZ); + + // ~50% chance of vertical wall, ~50% chance of horizontal wall + boolean hasVerticalWall = (cellHash & 0x1) == 0; + boolean hasHorizontalWall = ((cellHash >> 1) & 0x1) == 0; + + if (hasVerticalWall) { + int wallPos = 2 + (int) ((cellHash >> 4) & 0x3); // 2-5, keeps wall away from cell edge + int doorPos = (int) ((cellHash >> 8) & 0x7); // 0-7 + int doorWidth = 2 + (int) ((cellHash >> 12) & 0x1); // 2-3 wide door + if (localX == wallPos) { + boolean inDoor = localZ >= doorPos && localZ < doorPos + doorWidth; + if (!inDoor) return false; + } + } + + if (hasHorizontalWall) { + int wallPos = 2 + (int) ((cellHash >> 16) & 0x3); + int doorPos = (int) ((cellHash >> 20) & 0x7); + int doorWidth = 2 + (int) ((cellHash >> 24) & 0x1); + if (localZ == wallPos) { + boolean inDoor = localX >= doorPos && localX < doorPos + doorWidth; + if (!inDoor) return false; + } + } + + return true; + } + + private boolean isGlowstonePos(int x, int z) { + // Grid every GLOW_SPACING blocks, offset slightly so it's not always on chunk borders + return (Math.floorMod(x + 2, GLOW_SPACING) == 0) + && (Math.floorMod(z + 2, GLOW_SPACING) == 0); + } + + /** + * Simple integer hash for deterministic world generation. + * Not seeded — same world always generates the same backrooms. + * If you want seed-dependent generation, pass in world seed too. + */ + private long hash(int x, int z) { + long h = 374761393L; + h += x * 2654435761L; + h ^= h >> 17; + h += z * 2246822519L; + h ^= h >> 13; + h *= 3266489917L; + h ^= h >> 16; + return h & 0xFFFFFFFFL; + } + + // --- Required overrides --- + + @Override + public void carve(ChunkRegion chunk, long seed, NoiseConfig noiseConfig, + BiomeAccess access, StructureAccessor structureAccessor, + Chunk chunk2, GenerationStep.Carver carver) {} + + @Override + public void buildSurface(ChunkRegion region, StructureAccessor structures, + NoiseConfig noiseConfig, Chunk chunk) {} + + @Override + public void populateEntities(ChunkRegion region) {} + + @Override + public int getWorldHeight() { return 64; } + + @Override + public int getSeaLevel() { return -1; } + + @Override + public int getMinimumY() { return 0; } + + @Override + public int getHeight(int x, int z, Heightmap.Type heightmap, + HeightLimitView world, NoiseConfig noiseConfig) { + return CEILING_Y; + } + + @Override + public VerticalBlockSample getColumnSample(int x, int z, + HeightLimitView world, + NoiseConfig noiseConfig) { + BlockState[] states = new BlockState[64]; + for (int y = 0; y < 64; y++) { + if (y < FLOOR_Y) states[y] = Szar.PLASTIC.getDefaultState(); + else if (y == FLOOR_Y) states[y] = Szar.PLASTIC.getDefaultState(); + else if (y <= WALL_TOP_Y) states[y] = isOpenSpace(x, z) + ? Blocks.AIR.getDefaultState() + : Szar.WALL_BLOCK.getDefaultState(); + else if (y == CEILING_Y) states[y] = Szar.CEILING.getDefaultState(); + else states[y] = Szar.CEILING.getDefaultState(); + } + return new VerticalBlockSample(0, states); + } + + @Override + public void getDebugHudText(List text, NoiseConfig noiseConfig, + BlockPos pos) {} +} \ No newline at end of file diff --git a/src/main/java/dev/tggamesyt/szar/BackroomsChunkGeneratorConfig.java b/src/main/java/dev/tggamesyt/szar/BackroomsChunkGeneratorConfig.java new file mode 100644 index 0000000..176c2ef --- /dev/null +++ b/src/main/java/dev/tggamesyt/szar/BackroomsChunkGeneratorConfig.java @@ -0,0 +1,21 @@ +package dev.tggamesyt.szar; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; + +public class BackroomsChunkGeneratorConfig { + + public static final Codec CODEC = + RecordCodecBuilder.create(instance -> instance.group( + Codec.INT.fieldOf("floor_y").forGetter(c -> c.floorY) + ).apply(instance, BackroomsChunkGeneratorConfig::new)); + + public static final BackroomsChunkGeneratorConfig DEFAULT = + new BackroomsChunkGeneratorConfig(4); + + public final int floorY; + + public BackroomsChunkGeneratorConfig(int floorY) { + this.floorY = floorY; + } +} \ No newline at end of file diff --git a/src/main/java/dev/tggamesyt/szar/PortalBlock.java b/src/main/java/dev/tggamesyt/szar/PortalBlock.java index 1812e02..c756e2e 100644 --- a/src/main/java/dev/tggamesyt/szar/PortalBlock.java +++ b/src/main/java/dev/tggamesyt/szar/PortalBlock.java @@ -4,6 +4,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.ShapeContext; import net.minecraft.entity.Entity; +import net.minecraft.entity.ItemEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; import net.minecraft.item.ItemStack; @@ -39,104 +40,103 @@ public class PortalBlock extends Block { } @Override - public void onEntityCollision(BlockState state, World world, BlockPos pos, - Entity entity) { + public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity) { if (world.isClient) return; if (!(entity instanceof ServerPlayerEntity player)) return; - // Cooldown check — 3 seconds long now = world.getTime(); Long last = cooldowns.get(player.getUuid()); if (last != null && now - last < 60) return; cooldowns.put(player.getUuid(), now); - // Find the TrackerBlock above (within 5 blocks) TrackerBlockEntity tracker = findTrackerAbove(world, pos); if (tracker == null) return; MinecraftServer server = world.getServer(); if (server == null) return; - if (!tracker.isNetherSide) { - // --- OVERWORLD → NETHER --- + // Detect dimension instead of reading isNetherSide + if (world.getRegistryKey() == World.OVERWORLD) { teleportToNether(player, tracker, server, pos); - } else { - // --- NETHER → OVERWORLD --- + } else if (world.getRegistryKey() == Szar.BACKROOMS_KEY) { teleportToOverworld(player, tracker, server); } } private void teleportToNether(ServerPlayerEntity player, TrackerBlockEntity tracker, MinecraftServer server, BlockPos portalPos) { - // Save return position (a few blocks above entry) - tracker.returnX = player.getX(); - tracker.returnY = player.getY() + 3; - tracker.returnZ = player.getZ(); - tracker.markDirty(); + // Save where this player entered — stored persistently so nether portal can read it + NbtCompound tag = getOrCreateCustomData(player); + tag.putDouble("EntryX", player.getX()); + tag.putDouble("EntryY", player.getY() + 6); // a few blocks above so they don't fall back in + tag.putDouble("EntryZ", player.getZ()); + tag.putInt("OwnerTrackerX", tracker.getPos().getX()); + tag.putInt("OwnerTrackerY", tracker.getPos().getY()); + tag.putInt("OwnerTrackerZ", tracker.getPos().getZ()); // Save inventory NbtList savedInventory = saveInventory(player); + saveInventoryToPlayer(player, savedInventory); // Clear inventory player.getInventory().clear(); - // Register player as inside + // Register player in tracker tracker.addPlayer(player.getUuid()); - // Teleport to nether - ServerWorld nether = server.getWorld(World.NETHER); + // Teleport + ServerWorld nether = server.getWorld(Szar.BACKROOMS_KEY); if (nether == null) return; double netherX = player.getX(); double netherZ = player.getZ(); double netherY = findSafeY(nether, (int) netherX, (int) netherZ); - // Store saved inventory in player's persistent data - NbtCompound persistent = player.writeNbt(new NbtCompound()); - // We use a custom data attachment via the player's nbt - saveInventoryToPlayer(player, savedInventory); - - // Store which overworld tracker owns this player - NbtCompound tag = getOrCreateCustomData(player); - tag.putInt("OwnerTrackerX", tracker.getPos().getX()); - tag.putInt("OwnerTrackerY", tracker.getPos().getY()); - tag.putInt("OwnerTrackerZ", tracker.getPos().getZ()); - - // Generate nether-side portal structure - BlockPos netherPortalPos = new BlockPos((int) netherX, (int) netherY, (int) netherZ); - generateNetherPortal(nether, netherPortalPos, tracker); - - // Teleport - player.teleport(nether, netherX, netherY + 1, netherZ, + player.teleport(nether, netherX, netherY, netherZ, player.getYaw(), player.getPitch()); } - private void teleportToOverworld(ServerPlayerEntity player, TrackerBlockEntity tracker, + private void teleportToOverworld(ServerPlayerEntity player, TrackerBlockEntity netherTracker, MinecraftServer server) { - // Restore inventory - restoreInventoryToPlayer(player); + NbtCompound tag = getOrCreateCustomData(player); + double returnX = tag.getDouble("EntryX"); + double returnY = tag.getDouble("EntryY"); + double returnZ = tag.getDouble("EntryZ"); - // Remove from nether tracker - tracker.removePlayer(player.getUuid()); + // Read overworld tracker pos + BlockPos owTrackerPos = null; + if (tag.contains("OwnerTrackerX")) { + owTrackerPos = new BlockPos( + tag.getInt("OwnerTrackerX"), + tag.getInt("OwnerTrackerY"), + tag.getInt("OwnerTrackerZ") + ); + } + + PortalBlock.restoreInventory(player, server); + netherTracker.removePlayer(player.getUuid()); - // Find overworld paired tracker and remove from that too ServerWorld overworld = server.getWorld(World.OVERWORLD); - if (overworld != null && tracker.pairedTrackerPos != null) { - if (overworld.getBlockEntity(tracker.pairedTrackerPos) - instanceof TrackerBlockEntity owTracker) { - owTracker.removePlayer(player.getUuid()); + ServerWorld nether = server.getWorld(Szar.BACKROOMS_KEY); - // If no players left, remove both trackers and their portal blocks + // Clean up nether side if empty + if (!netherTracker.hasPlayers() && nether != null) { + TrackerBlock.restoreAndCleanup(nether, + netherTracker.getPos(), netherTracker, server); + } + + // Clean up overworld tracker too + if (owTrackerPos != null && overworld != null) { + if (overworld.getBlockEntity(owTrackerPos) instanceof TrackerBlockEntity owTracker) { + owTracker.removePlayer(player.getUuid()); if (!owTracker.hasPlayers()) { - removePortalStructure(overworld, tracker.pairedTrackerPos); - removePortalStructure((ServerWorld) player.getWorld(), tracker.getPos()); + TrackerBlock.restoreAndCleanup(overworld, owTrackerPos, owTracker, server); } } } - // Teleport back (a few blocks above entry) - player.teleport(overworld, - tracker.returnX, tracker.returnY, tracker.returnZ, + if (overworld == null) return; + player.teleport(overworld, returnX, returnY, returnZ, player.getYaw(), player.getPitch()); } @@ -155,8 +155,9 @@ public class PortalBlock extends Block { } private double findSafeY(ServerWorld world, int x, int z) { - // Search from y=100 downward for solid ground with 2 air blocks above - for (int y = 100; y > 10; y--) { + // For backrooms, search from y=8 downward only + int startY = world.getRegistryKey() == Szar.BACKROOMS_KEY ? 8 : 100; + for (int y = startY; y > 1; y--) { BlockPos feet = new BlockPos(x, y, z); BlockPos head = feet.up(); BlockPos ground = feet.down(); @@ -166,35 +167,7 @@ public class PortalBlock extends Block { return y; } } - return 64; // fallback - } - - private void generateNetherPortal(ServerWorld nether, BlockPos portalPos, - TrackerBlockEntity overworldTracker) { - // Place TrackerBlock 4 blocks above portal - BlockPos trackerPos = portalPos.up(4); - nether.setBlockState(trackerPos, Szar.TRACKER_BLOCK.getDefaultState()); - - if (nether.getBlockEntity(trackerPos) instanceof TrackerBlockEntity netherTracker) { - netherTracker.isNetherSide = true; - netherTracker.returnX = overworldTracker.returnX; - netherTracker.returnY = overworldTracker.returnY; - netherTracker.returnZ = overworldTracker.returnZ; - netherTracker.pairedTrackerPos = overworldTracker.getPos(); - overworldTracker.pairedTrackerPos = trackerPos; - overworldTracker.markDirty(); - netherTracker.markDirty(); - } - - // Place portal block at bottom - nether.setBlockState(portalPos, Szar.PORTAL_BLOCK.getDefaultState()); - } - - private void removePortalStructure(ServerWorld world, BlockPos trackerPos) { - // Remove tracker - world.removeBlock(trackerPos, false); - // Remove portal block (4 below) - world.removeBlock(trackerPos.down(4), false); + return 5; // fallback to inside the backrooms } // Inventory persistence via player NBT custom data @@ -249,4 +222,45 @@ public class PortalBlock extends Block { player.getServer().getWorld(World.OVERWORLD) ).getOrCreatePlayerData(player.getUuid()); } + + // Change the signature in PortalBlock.java + public static void restoreInventory(ServerPlayerEntity player, MinecraftServer server) { + PortalDataState state = PortalDataState.getOrCreate( + server.getWorld(World.OVERWORLD) + ); + NbtCompound tag = state.getOrCreatePlayerData(player.getUuid()); + + if (!tag.contains(INV_KEY)) return; + + NbtList list = tag.getList(INV_KEY, 10); + + // Build list of saved stacks + List savedStacks = new ArrayList<>(); + for (int i = 0; i < list.size(); i++) { + NbtCompound entry = list.getCompound(i); + ItemStack stack = ItemStack.fromNbt(entry); + if (!stack.isEmpty()) { + savedStacks.add(stack); + } + } + + // Try to insert each saved stack into the current inventory + PlayerInventory inv = player.getInventory(); + for (ItemStack saved : savedStacks) { + // insertStack tries to stack with existing items first, then finds empty slot + boolean inserted = inv.insertStack(saved); + if (!inserted || !saved.isEmpty()) { + // Inventory full — drop remainder at player's position + ItemEntity drop = new ItemEntity( + player.getWorld(), + player.getX(), player.getY(), player.getZ(), + saved.copy() + ); + drop.setPickupDelay(0); + player.getWorld().spawnEntity(drop); + } + } + + state.removePlayerData(player.getUuid()); + } } \ No newline at end of file diff --git a/src/main/java/dev/tggamesyt/szar/Szar.java b/src/main/java/dev/tggamesyt/szar/Szar.java index 6f80458..2762f4b 100644 --- a/src/main/java/dev/tggamesyt/szar/Szar.java +++ b/src/main/java/dev/tggamesyt/szar/Szar.java @@ -172,7 +172,10 @@ public class Szar implements ModInitializer { new Identifier(MOD_ID, "play_video"); public static final Identifier CONFIG_SYNC = new Identifier(MOD_ID, "config_sync"); - + public static final RegistryKey BACKROOMS_KEY = RegistryKey.of( + RegistryKeys.WORLD, + new Identifier(MOD_ID, "backrooms") + ); public static final Block SZAR_BLOCK = new SzarBlock(); public static final Block URANIUM_BLOCK = @@ -349,36 +352,6 @@ public class Szar implements ModInitializer { .displayName(Text.translatable("itemgroup.szar_group")) .icon(() -> new ItemStack(Szar.CANNABIS_ITEM)) // icon item .entries((displayContext, entries) -> { - // drugs - entries.add(Szar.CANNABIS_ITEM); - entries.add(Szar.WEED_ITEM); - entries.add(Szar.WEED_JOINT_ITEM); - entries.add(Szar.CHEMICAL_WORKBENCH_ITEM); - // racism - entries.add(Szar.CIGANYBLOCK); - entries.add(Szar.NWORD_PASS); - entries.add(Szar.HITTER_SPAWNEGG); - entries.add(Szar.NAZI_SPAWNEGG); - entries.add(Szar.STALIN_SPAWNEGG); - entries.add(Szar.COMMUNIST_SPAWNEGG); - entries.add(Szar.NIGGER_SPAWNEGG); - entries.add(Szar.GYPSY_SPAWNEGG); - entries.add(Szar.TERRORIST_SPAWNEGG); - entries.add(Szar.POLICE_SPAWNEGG); - entries.add(Szar.KEY_ITEM); - entries.add(Szar.HANDCUFF_ITEM); - // crazy weponary - entries.add(Szar.BULLET_ITEM); - entries.add(Szar.AK47); - entries.add(Szar.REVOLVER); - entries.add(Szar.ATOM_DETONATOR); - entries.add(Szar.URANIUM_ORE); - entries.add(Szar.URANIUM); - entries.add(Szar.URANIUM_ROD); - entries.add(Szar.ATOM_CORE); - entries.add(Szar.ATOM); - entries.add(Szar.WHEEL); - entries.add(Szar.PLANE); // random ahh silly stuff entries.add(Szar.POPTART); entries.add(Szar.NYAN_SPAWNEGG); @@ -391,13 +364,45 @@ public class Szar implements ModInitializer { entries.add(Szar.ROULETTE); entries.add(Szar.FIRTANA); entries.add(Szar.HELLO_DISC); + entries.add(Szar.TRACKER_BLOCK_ITEM); + entries.add(Szar.PORTAL_BLOCK_ITEM); + entries.add(Szar.WALL_ITEM); + entries.add(Szar.WALL_BOTTOM_ITEM); + entries.add(Szar.CEILING_ITEM); + entries.add(Szar.PLASTIC_ITEM); + // crazy weponary + entries.add(Szar.BULLET_ITEM); + entries.add(Szar.AK47); + entries.add(Szar.REVOLVER); + entries.add(Szar.ATOM_DETONATOR); + entries.add(Szar.URANIUM_ORE); + entries.add(Szar.URANIUM); + entries.add(Szar.URANIUM_ROD); + entries.add(Szar.ATOM_CORE); + entries.add(Szar.ATOM); + entries.add(Szar.WHEEL); + entries.add(Szar.PLANE); + // drugs + entries.add(Szar.CANNABIS_ITEM); + entries.add(Szar.WEED_ITEM); + entries.add(Szar.WEED_JOINT_ITEM); + entries.add(Szar.CHEMICAL_WORKBENCH_ITEM); + // war guys + entries.add(Szar.HITTER_SPAWNEGG); + entries.add(Szar.NAZI_SPAWNEGG); + entries.add(Szar.STALIN_SPAWNEGG); + entries.add(Szar.COMMUNIST_SPAWNEGG); entries.add(Szar.ERIKA_DISC); entries.add(Szar.USSR_DISC); - // nsfw - entries.add(Szar.FASZITEM); - entries.add(Szar.CNDM); - entries.add(Szar.LATEX); - entries.add(Szar.WHITE_LIQUID); + // racism + entries.add(Szar.CIGANYBLOCK); + entries.add(Szar.NWORD_PASS); + entries.add(Szar.NIGGER_SPAWNEGG); + entries.add(Szar.GYPSY_SPAWNEGG); + entries.add(Szar.TERRORIST_SPAWNEGG); + entries.add(Szar.POLICE_SPAWNEGG); + entries.add(Szar.KEY_ITEM); + entries.add(Szar.HANDCUFF_ITEM); // niggerite shits at the end entries.add(Szar.NIGGERITE_INGOT); entries.add(Szar.NIGGERITE_SWORD); @@ -410,12 +415,22 @@ public class Szar implements ModInitializer { entries.add(Szar.NIGGERITE_LEGGINGS); entries.add(Szar.NIGGERITE_BOOTS); entries.add(Szar.NIGGERITE_BLOCK); + // nsfw + entries.add(Szar.FASZITEM); + entries.add(Szar.CNDM); + entries.add(Szar.LATEX); + entries.add(Szar.WHITE_LIQUID); }) .build() ); private final Map sleepingPlayers = new HashMap<>(); @Override public void onInitialize() { + Registry.register( + Registries.CHUNK_GENERATOR, + new Identifier(MOD_ID, "backrooms"), + BackroomsChunkGenerator.CODEC + ); ServerPlayNetworking.registerGlobalReceiver(AK47_SHOOT, (server, player, handler, buf, responseSender) -> { server.execute(() -> { ItemStack stack = player.getMainHandStack(); @@ -1068,15 +1083,18 @@ public class Szar implements ModInitializer { // Blocks public static final TrackerBlock TRACKER_BLOCK = Registry.register( Registries.BLOCK, new Identifier(MOD_ID, "tracker"), - new TrackerBlock(FabricBlockSettings.create().noCollision().air()) - // .air() makes it not render and not block light + new TrackerBlock(FabricBlockSettings.create() + .noCollision() + .nonOpaque() + .strength(2f, 2f)) ); public static final PortalBlock PORTAL_BLOCK = Registry.register( Registries.BLOCK, new Identifier(MOD_ID, "portal"), - new PortalBlock(FabricBlockSettings.create().noCollision() - .strength(-1.0f) // indestructible by default, change if needed - .luminance(state -> 11)) // slight glow so you can see it + new PortalBlock(FabricBlockSettings.create() + .noCollision() + .nonOpaque() + .strength(2f, 2f)) ); // Block items (so you can place them) @@ -1097,6 +1115,42 @@ public class Szar implements ModInitializer { new Identifier(MOD_ID, "tracker"), FabricBlockEntityTypeBuilder.create(TrackerBlockEntity::new, TRACKER_BLOCK).build() ); + public static final Block WALL_BLOCK = Registry.register( + Registries.BLOCK, new Identifier(MOD_ID, "wall"), + new Block(AbstractBlock.Settings.create()) + ); + public static final Block WALL_BOTTOM_BLOCK = Registry.register( + Registries.BLOCK, new Identifier(MOD_ID, "wall_bottom"), + new Block(AbstractBlock.Settings.create()) + ); + public static final Block CEILING = Registry.register( + Registries.BLOCK, new Identifier(MOD_ID, "ceiling"), + new Block(AbstractBlock.Settings.create()) + ); + public static final Block PLASTIC = Registry.register( + Registries.BLOCK, new Identifier(MOD_ID, "plastic"), + new Block(AbstractBlock.Settings.create()) + ); + public static final Item WALL_ITEM = Registry.register( + Registries.ITEM, + new Identifier(MOD_ID, "wall"), + new BlockItem(WALL_BLOCK, new Item.Settings()) + ); + public static final Item WALL_BOTTOM_ITEM = Registry.register( + Registries.ITEM, + new Identifier(MOD_ID, "wall_bottom"), + new BlockItem(WALL_BOTTOM_BLOCK, new Item.Settings()) + ); + public static final Item CEILING_ITEM = Registry.register( + Registries.ITEM, + new Identifier(MOD_ID, "ceiling"), + new BlockItem(CEILING, new Item.Settings()) + ); + public static final Item PLASTIC_ITEM = Registry.register( + Registries.ITEM, + new Identifier(MOD_ID, "plastic"), + new BlockItem(PLASTIC, new Item.Settings()) + ); // In your ModItems or wherever you register items public static final Item REVOLVER = Registry.register( diff --git a/src/main/java/dev/tggamesyt/szar/TrackerBlock.java b/src/main/java/dev/tggamesyt/szar/TrackerBlock.java index 9079aba..d760bb2 100644 --- a/src/main/java/dev/tggamesyt/szar/TrackerBlock.java +++ b/src/main/java/dev/tggamesyt/szar/TrackerBlock.java @@ -1,13 +1,14 @@ package dev.tggamesyt.szar; -import net.minecraft.block.Block; -import net.minecraft.block.BlockEntityProvider; -import net.minecraft.block.BlockState; -import net.minecraft.block.ShapeContext; +import net.minecraft.block.*; import net.minecraft.block.entity.BlockEntity; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NbtCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.server.world.ServerWorld; import net.minecraft.util.math.BlockPos; import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; @@ -15,6 +16,10 @@ import net.minecraft.world.BlockView; import net.minecraft.world.World; import org.jetbrains.annotations.Nullable; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + public class TrackerBlock extends Block implements BlockEntityProvider { public TrackerBlock(Settings settings) { @@ -22,17 +27,37 @@ public class TrackerBlock extends Block implements BlockEntityProvider { } // No hitbox + // 1x1x1 pixel cube — invisible in practice but gives particles a valid bounding box + private static final VoxelShape TINY = Block.createCuboidShape(7.9, 7.9, 7.9, 8.1, 8.1, 8.1); + @Override public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext ctx) { - return VoxelShapes.empty(); + if (ctx instanceof EntityShapeContext esc && esc.getEntity() instanceof PlayerEntity player) { + if (isHoldingTracker(player)) { + return VoxelShapes.fullCube(); + } + } + // Too small to see or select, but has valid bounds so particle manager doesn't crash + return TINY; } - // No collision + @Override public VoxelShape getCollisionShape(BlockState state, BlockView world, BlockPos pos, ShapeContext ctx) { - return VoxelShapes.empty(); + return VoxelShapes.empty(); // never has collision, only outline + } + + @Override + public VoxelShape getRaycastShape(BlockState state, BlockView world, BlockPos pos) { + // This is what allows the player to actually target and break it + return VoxelShapes.fullCube(); + } + + private boolean isHoldingTracker(PlayerEntity player) { + return player.getMainHandStack().isOf(Szar.TRACKER_BLOCK_ITEM.asItem()) + || player.getOffHandStack().isOf(Szar.TRACKER_BLOCK_ITEM.asItem()); } @Nullable @@ -45,8 +70,59 @@ public class TrackerBlock extends Block implements BlockEntityProvider { public void onPlaced(World world, BlockPos pos, BlockState state, @Nullable LivingEntity placer, ItemStack itemStack) { if (world.isClient) return; + if (!(world.getBlockEntity(pos) instanceof TrackerBlockEntity tracker)) return; + + // Only auto-place portal if a player placed this tracker + if (!tracker.placedByPlayer) return; BlockPos portalPos = pos.down(4); + + // Save the original block before replacing it + tracker.originalPortalBlock = world.getBlockState(portalPos); + tracker.markDirty(); + world.setBlockState(portalPos, Szar.PORTAL_BLOCK.getDefaultState()); } + @Override + public void onBreak(World world, BlockPos pos, BlockState state, PlayerEntity player) { + // In survival, only break if holding the special item + + if (!world.isClient && world.getBlockEntity(pos) instanceof TrackerBlockEntity tracker) { + restoreAndCleanup(world, pos, tracker, world.getServer()); + } + super.onBreak(world, pos, state, player); + } + + public static void restoreAndCleanup(World world, BlockPos trackerPos, + TrackerBlockEntity tracker, MinecraftServer server) { + if (server == null) return; + + // Kick all players tracked here back to overworld + Set players = new HashSet<>(tracker.getPlayersInside()); + for (UUID uuid : players) { + ServerPlayerEntity player = server.getPlayerManager().getPlayer(uuid); + if (player == null) continue; + + PortalBlock.restoreInventory(player, server); + + ServerWorld overworld = server.getWorld(World.OVERWORLD); + if (overworld != null) { + NbtCompound tag = PortalDataState.getOrCreate(overworld) + .getOrCreatePlayerData(uuid); + double rx = tag.getDouble("EntryX"); + double ry = tag.getDouble("EntryY"); + double rz = tag.getDouble("EntryZ"); + player.teleport(overworld, rx, ry, rz, player.getYaw(), player.getPitch()); + } + } + + // Restore original block at portal position + BlockPos portalPos = trackerPos.down(4); + if (world.getBlockState(portalPos).getBlock() instanceof PortalBlock) { + world.setBlockState(portalPos, tracker.originalPortalBlock); + } + + // Remove the tracker itself + world.removeBlock(trackerPos, false); + } } \ No newline at end of file diff --git a/src/main/java/dev/tggamesyt/szar/TrackerBlockEntity.java b/src/main/java/dev/tggamesyt/szar/TrackerBlockEntity.java index 2401517..20e225e 100644 --- a/src/main/java/dev/tggamesyt/szar/TrackerBlockEntity.java +++ b/src/main/java/dev/tggamesyt/szar/TrackerBlockEntity.java @@ -1,9 +1,11 @@ package dev.tggamesyt.szar; import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; import net.minecraft.block.entity.BlockEntity; import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtList; +import net.minecraft.nbt.NbtOps; import net.minecraft.nbt.NbtString; import net.minecraft.util.math.BlockPos; @@ -12,11 +14,12 @@ import java.util.Set; import java.util.UUID; public class TrackerBlockEntity extends BlockEntity { - + // Add these fields + public BlockState originalPortalBlock = Blocks.AIR.getDefaultState(); + public boolean placedByPlayer = true; // false = auto-generated by the system // The overworld entry coords (used by nether-side tracker to know where to send players back) public double returnX, returnY, returnZ; // Whether this tracker is in the nether or overworld - public boolean isNetherSide = false; // BlockPos of the paired tracker in the other dimension public BlockPos pairedTrackerPos = null; @@ -51,7 +54,6 @@ public class TrackerBlockEntity extends BlockEntity { nbt.putDouble("ReturnX", returnX); nbt.putDouble("ReturnY", returnY); nbt.putDouble("ReturnZ", returnZ); - nbt.putBoolean("IsNetherSide", isNetherSide); if (pairedTrackerPos != null) { nbt.putInt("PairedX", pairedTrackerPos.getX()); @@ -64,6 +66,12 @@ public class TrackerBlockEntity extends BlockEntity { list.add(NbtString.of(uuid.toString())); } nbt.put("PlayersInside", list); + NbtCompound originalBlock = new NbtCompound(); + BlockState.CODEC.encodeStart(NbtOps.INSTANCE, originalPortalBlock) + .result() + .ifPresent(nbt1 -> originalBlock.put("State", nbt1)); + nbt.put("OriginalPortalBlock", originalBlock); + nbt.putBoolean("PlacedByPlayer", placedByPlayer); } @Override @@ -72,7 +80,6 @@ public class TrackerBlockEntity extends BlockEntity { returnX = nbt.getDouble("ReturnX"); returnY = nbt.getDouble("ReturnY"); returnZ = nbt.getDouble("ReturnZ"); - isNetherSide = nbt.getBoolean("IsNetherSide"); if (nbt.contains("PairedX")) { pairedTrackerPos = new BlockPos( @@ -87,5 +94,14 @@ public class TrackerBlockEntity extends BlockEntity { for (int i = 0; i < list.size(); i++) { playersInside.add(UUID.fromString(list.getString(i))); } + if (nbt.contains("OriginalPortalBlock")) { + NbtCompound originalBlock = nbt.getCompound("OriginalPortalBlock"); + if (originalBlock.contains("State")) { + BlockState.CODEC.parse(NbtOps.INSTANCE, originalBlock.get("State")) + .result() + .ifPresent(s -> originalPortalBlock = s); + } + } + placedByPlayer = nbt.getBoolean("PlacedByPlayer"); } } \ No newline at end of file diff --git a/src/main/resources/assets/szar/blockstates/ceiling.json b/src/main/resources/assets/szar/blockstates/ceiling.json new file mode 100644 index 0000000..c4242c5 --- /dev/null +++ b/src/main/resources/assets/szar/blockstates/ceiling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "szar:block/ceiling" + } + } +} diff --git a/src/main/resources/assets/szar/blockstates/plastic.json b/src/main/resources/assets/szar/blockstates/plastic.json new file mode 100644 index 0000000..4cc1547 --- /dev/null +++ b/src/main/resources/assets/szar/blockstates/plastic.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "szar:block/plastic" + } + } +} diff --git a/src/main/resources/assets/szar/blockstates/portal.json b/src/main/resources/assets/szar/blockstates/portal.json new file mode 100644 index 0000000..694cd82 --- /dev/null +++ b/src/main/resources/assets/szar/blockstates/portal.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "szar:block/portal" + } + } +} diff --git a/src/main/resources/assets/szar/blockstates/tracker.json b/src/main/resources/assets/szar/blockstates/tracker.json new file mode 100644 index 0000000..b598c02 --- /dev/null +++ b/src/main/resources/assets/szar/blockstates/tracker.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "szar:block/tracker" + } + } +} diff --git a/src/main/resources/assets/szar/blockstates/wall.json b/src/main/resources/assets/szar/blockstates/wall.json new file mode 100644 index 0000000..9e092f3 --- /dev/null +++ b/src/main/resources/assets/szar/blockstates/wall.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "szar:block/wall" + } + } +} diff --git a/src/main/resources/assets/szar/blockstates/wall_bottom.json b/src/main/resources/assets/szar/blockstates/wall_bottom.json new file mode 100644 index 0000000..c82935c --- /dev/null +++ b/src/main/resources/assets/szar/blockstates/wall_bottom.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "szar:block/wall_bottom" + } + } +} diff --git a/src/main/resources/assets/szar/lang/en_us.json b/src/main/resources/assets/szar/lang/en_us.json index 8ca849a..7776beb 100644 --- a/src/main/resources/assets/szar/lang/en_us.json +++ b/src/main/resources/assets/szar/lang/en_us.json @@ -136,5 +136,13 @@ "item.szar.communist_spawn_egg":"Communist Spawn Egg", "item.szar.ussr": "Music Disc", - "item.szar.ussr.desc": "A. Alexandrov - USSR Anthem" + "item.szar.ussr.desc": "A. Alexandrov - USSR Anthem", + + "block.szar.tracker": "Portal Tracker Block", + "block.szar.portal": "Portal", + + "block.szar.plastic": "Plastic", + "block.szar.ceiling": "Ceiling", + "block.szar.wall": "Wall", + "block.szar.wall_bottom": "Wall Bottom" } diff --git a/src/main/resources/assets/szar/models/block/ceiling.json b/src/main/resources/assets/szar/models/block/ceiling.json new file mode 100644 index 0000000..5c8a6d1 --- /dev/null +++ b/src/main/resources/assets/szar/models/block/ceiling.json @@ -0,0 +1,55 @@ +{ + "format_version": "1.21.11", + "credit": "Made with Blockbench", + "texture_size": [512, 512], + "textures": { + "0": "szar:block/ceiling_tile_glitched_color", + "1": "szar:block/ceiling_tile_color", + "particle": "szar:block/ceiling_tile_color" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -135, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, -135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/szar/models/block/plastic.json b/src/main/resources/assets/szar/models/block/plastic.json new file mode 100644 index 0000000..e5ba072 --- /dev/null +++ b/src/main/resources/assets/szar/models/block/plastic.json @@ -0,0 +1,8 @@ +{ + "format_version": "1.21.11", + "credit": "Made with Blockbench", + "parent": "minecraft:block/cube_all", + "textures": { + "all": "szar:block/plastic" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/szar/models/block/portal.json b/src/main/resources/assets/szar/models/block/portal.json new file mode 100644 index 0000000..d630fd4 --- /dev/null +++ b/src/main/resources/assets/szar/models/block/portal.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "szar:block/portal" + } +} diff --git a/src/main/resources/assets/szar/models/block/tracker.json b/src/main/resources/assets/szar/models/block/tracker.json new file mode 100644 index 0000000..0716da8 --- /dev/null +++ b/src/main/resources/assets/szar/models/block/tracker.json @@ -0,0 +1,3 @@ +{ + "parent": "block/air" +} \ No newline at end of file diff --git a/src/main/resources/assets/szar/models/block/wall.json b/src/main/resources/assets/szar/models/block/wall.json new file mode 100644 index 0000000..3835a8b --- /dev/null +++ b/src/main/resources/assets/szar/models/block/wall.json @@ -0,0 +1,23 @@ +{ + "format_version": "1.21.11", + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "all": "szar:block/wall_block", + "particle": "szar:block/wall_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#all", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#all", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#all", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#all", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#all"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#all", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/szar/models/block/wall_bottom.json b/src/main/resources/assets/szar/models/block/wall_bottom.json new file mode 100644 index 0000000..58122f0 --- /dev/null +++ b/src/main/resources/assets/szar/models/block/wall_bottom.json @@ -0,0 +1,49 @@ +{ + "format_version": "1.21.11", + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "szar:block/wallpaper_bottom_block_texture", + "particle": "szar:block/wallpaper_bottom_block_texture" + }, + "elements": [ + { + "from": [-1, 0, -1], + "to": [17, 2, 17], + "faces": { + "north": {"uv": [0, 9, 4.5, 9.5], "texture": "#2"}, + "east": {"uv": [0, 9.5, 4.5, 10], "texture": "#2"}, + "south": {"uv": [0, 10, 4.5, 10.5], "texture": "#2"}, + "west": {"uv": [0, 10.5, 4.5, 11], "texture": "#2"}, + "up": {"uv": [4.5, 4.5, 0, 0], "texture": "#2"}, + "down": {"uv": [4.5, 4.5, 0, 9], "texture": "#2"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [4.5, 0, 8.5, 4], "texture": "#2"}, + "east": {"uv": [4.5, 4, 8.5, 8], "texture": "#2"}, + "south": {"uv": [4.5, 8, 8.5, 12], "texture": "#2"}, + "west": {"uv": [8.5, 0, 12.5, 4], "texture": "#2"}, + "up": {"uv": [12.5, 8, 8.5, 4], "texture": "#2"}, + "down": {"uv": [12.5, 8, 8.5, 12], "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [80.5, 45, 0], + "scale": [0.3, 0.3, 0.3] + } + }, + "groups": [ + { + "name": "block", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/szar/models/item/ceiling.json b/src/main/resources/assets/szar/models/item/ceiling.json new file mode 100644 index 0000000..12e7a8a --- /dev/null +++ b/src/main/resources/assets/szar/models/item/ceiling.json @@ -0,0 +1,3 @@ +{ + "parent": "szar:block/ceiling" +} diff --git a/src/main/resources/assets/szar/models/item/plastic.json b/src/main/resources/assets/szar/models/item/plastic.json new file mode 100644 index 0000000..8364b64 --- /dev/null +++ b/src/main/resources/assets/szar/models/item/plastic.json @@ -0,0 +1,3 @@ +{ + "parent": "szar:block/plastic" +} diff --git a/src/main/resources/assets/szar/models/item/portal.json b/src/main/resources/assets/szar/models/item/portal.json new file mode 100644 index 0000000..d907cc7 --- /dev/null +++ b/src/main/resources/assets/szar/models/item/portal.json @@ -0,0 +1,3 @@ +{ + "parent": "szar:block/portal" +} diff --git a/src/main/resources/assets/szar/models/item/tracker.json b/src/main/resources/assets/szar/models/item/tracker.json new file mode 100644 index 0000000..3436cf1 --- /dev/null +++ b/src/main/resources/assets/szar/models/item/tracker.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "szar:item/tracker" + } +} diff --git a/src/main/resources/assets/szar/models/item/wall.json b/src/main/resources/assets/szar/models/item/wall.json new file mode 100644 index 0000000..f9bd3cf --- /dev/null +++ b/src/main/resources/assets/szar/models/item/wall.json @@ -0,0 +1,3 @@ +{ + "parent": "szar:block/wall" +} diff --git a/src/main/resources/assets/szar/models/item/wall_bottom.json b/src/main/resources/assets/szar/models/item/wall_bottom.json new file mode 100644 index 0000000..26ad8cc --- /dev/null +++ b/src/main/resources/assets/szar/models/item/wall_bottom.json @@ -0,0 +1,3 @@ +{ + "parent": "szar:block/wall_bottom" +} diff --git a/src/main/resources/assets/szar/textures/block/ceiling_tile_color.png b/src/main/resources/assets/szar/textures/block/ceiling_tile_color.png new file mode 100644 index 0000000..ca63937 Binary files /dev/null and b/src/main/resources/assets/szar/textures/block/ceiling_tile_color.png differ diff --git a/src/main/resources/assets/szar/textures/block/ceiling_tile_glitched_color.png b/src/main/resources/assets/szar/textures/block/ceiling_tile_glitched_color.png new file mode 100644 index 0000000..396270b Binary files /dev/null and b/src/main/resources/assets/szar/textures/block/ceiling_tile_glitched_color.png differ diff --git a/src/main/resources/assets/szar/textures/block/empty.png b/src/main/resources/assets/szar/textures/block/empty.png new file mode 100644 index 0000000..0098cf6 Binary files /dev/null and b/src/main/resources/assets/szar/textures/block/empty.png differ diff --git a/src/main/resources/assets/szar/textures/block/plastic.png b/src/main/resources/assets/szar/textures/block/plastic.png new file mode 100644 index 0000000..39904d4 Binary files /dev/null and b/src/main/resources/assets/szar/textures/block/plastic.png differ diff --git a/src/main/resources/assets/szar/textures/block/portal.png b/src/main/resources/assets/szar/textures/block/portal.png new file mode 100644 index 0000000..e2b26ef Binary files /dev/null and b/src/main/resources/assets/szar/textures/block/portal.png differ diff --git a/src/main/resources/assets/szar/textures/block/wall_block.png b/src/main/resources/assets/szar/textures/block/wall_block.png new file mode 100644 index 0000000..def0a79 Binary files /dev/null and b/src/main/resources/assets/szar/textures/block/wall_block.png differ diff --git a/src/main/resources/assets/szar/textures/block/wallpaper_bottom_block_texture.png b/src/main/resources/assets/szar/textures/block/wallpaper_bottom_block_texture.png new file mode 100644 index 0000000..b2609db Binary files /dev/null and b/src/main/resources/assets/szar/textures/block/wallpaper_bottom_block_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/backrooms_wall.png b/src/main/resources/assets/szar/textures/item/backrooms_wall.png new file mode 100644 index 0000000..def0a79 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/backrooms_wall.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/1text.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/1text.png new file mode 100644 index 0000000..463459a Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/1text.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/2text.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/2text.png new file mode 100644 index 0000000..ffbe749 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/2text.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/3text.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/3text.png new file mode 100644 index 0000000..d8a06af Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/3text.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/4text.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/4text.png new file mode 100644 index 0000000..fc9560c Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/4text.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/5text.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/5text.png new file mode 100644 index 0000000..ba8b9f6 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/5text.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/6text.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/6text.png new file mode 100644 index 0000000..dbb8abf Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/6text.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/7text.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/7text.png new file mode 100644 index 0000000..13100e3 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/7text.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/8text.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/8text.png new file mode 100644 index 0000000..85b6178 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/8text.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/99text.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/99text.png new file mode 100644 index 0000000..f492c40 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/99text.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/arrow1.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/arrow1.png new file mode 100644 index 0000000..048ddda Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/arrow1.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/arrow2.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/arrow2.png new file mode 100644 index 0000000..3e7ce89 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/arrow2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/arrow3.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/arrow3.png new file mode 100644 index 0000000..e5a0132 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/arrow3.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/arrow4.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/arrow4.png new file mode 100644 index 0000000..ad40410 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/arrow4.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/bottles.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/bottles.png new file mode 100644 index 0000000..f7fc0a4 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/bottles.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/cans.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/cans.png new file mode 100644 index 0000000..b785dff Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/cans.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/cans1.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/cans1.png new file mode 100644 index 0000000..c7f90b9 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/cans1.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/cans2.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/cans2.png new file mode 100644 index 0000000..f90167d Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/cans2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/celing_light_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/celing_light_texture.png new file mode 100644 index 0000000..8039ab0 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/celing_light_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete1.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete1.png new file mode 100644 index 0000000..f918afc Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete1.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete10.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete10.png new file mode 100644 index 0000000..819fa55 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete10.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete11.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete11.png new file mode 100644 index 0000000..e13af76 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete11.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete12.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete12.png new file mode 100644 index 0000000..28098ae Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete12.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete2.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete2.png new file mode 100644 index 0000000..042d60f Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete5.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete5.png new file mode 100644 index 0000000..381f4c2 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete5.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete6.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete6.png new file mode 100644 index 0000000..89d5825 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete6.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete7.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete7.png new file mode 100644 index 0000000..98af782 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete7.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete9.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete9.png new file mode 100644 index 0000000..0b7bf74 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/concrete9.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/dirt_color.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/dirt_color.png new file mode 100644 index 0000000..ae35cd5 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/dirt_color.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/door_drawing.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/door_drawing.png new file mode 100644 index 0000000..8da8982 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/door_drawing.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/double_sided_shelf.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/double_sided_shelf.png new file mode 100644 index 0000000..d187907 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/double_sided_shelf.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/drawing_marker.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/drawing_marker.png new file mode 100644 index 0000000..0f692ce Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/drawing_marker.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/drawing_marker2.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/drawing_marker2.png new file mode 100644 index 0000000..8a4dddf Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/drawing_marker2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/emergency_light.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/emergency_light.png new file mode 100644 index 0000000..778a783 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/emergency_light.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/emergency_light_white.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/emergency_light_white.png new file mode 100644 index 0000000..b390ecf Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/emergency_light_white.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/empty_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/empty_texture.png new file mode 100644 index 0000000..7244b37 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/empty_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/fluorescent_light.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/fluorescent_light.png new file mode 100644 index 0000000..2ec0a98 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/fluorescent_light.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/lable.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/lable.png new file mode 100644 index 0000000..00018e1 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/lable.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/metal1.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/metal1.png new file mode 100644 index 0000000..4187943 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/metal1.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/metal2.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/metal2.png new file mode 100644 index 0000000..536b21b Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/metal2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/metal3.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/metal3.png new file mode 100644 index 0000000..d67af1d Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/metal3.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/new_stairs_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/new_stairs_texture.png new file mode 100644 index 0000000..4a48534 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/new_stairs_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/newstairs_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/newstairs_texture.png new file mode 100644 index 0000000..a55e289 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/newstairs_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/bricks/bricks_color.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/bricks/bricks_color.png new file mode 100644 index 0000000..d1e45c4 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/bricks/bricks_color.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/bricks/bricks_height.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/bricks/bricks_height.png new file mode 100644 index 0000000..813c67e Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/bricks/bricks_height.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/bricks/bricks_normal.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/bricks/bricks_normal.png new file mode 100644 index 0000000..a2448fe Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/bricks/bricks_normal.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/carpet/carpet_color.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/carpet/carpet_color.png new file mode 100644 index 0000000..6aa131c Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/carpet/carpet_color.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/carpet/carpet_height.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/carpet/carpet_height.png new file mode 100644 index 0000000..1ba2431 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/carpet/carpet_height.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/carpet/carpet_normal.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/carpet/carpet_normal.png new file mode 100644 index 0000000..f37a8b2 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/carpet/carpet_normal.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile/ceiling_tile_color.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile/ceiling_tile_color.png new file mode 100644 index 0000000..ca63937 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile/ceiling_tile_color.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile/ceiling_tile_height.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile/ceiling_tile_height.png new file mode 100644 index 0000000..9addde2 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile/ceiling_tile_height.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile/ceiling_tile_normal.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile/ceiling_tile_normal.png new file mode 100644 index 0000000..0c77413 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile/ceiling_tile_normal.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile_glitched/ceiling_tile_glitched_color.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile_glitched/ceiling_tile_glitched_color.png new file mode 100644 index 0000000..396270b Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile_glitched/ceiling_tile_glitched_color.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile_glitched/ceiling_tile_glitched_height.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile_glitched/ceiling_tile_glitched_height.png new file mode 100644 index 0000000..2b4cfc5 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile_glitched/ceiling_tile_glitched_height.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile_glitched/ceiling_tile_glitched_normal.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile_glitched/ceiling_tile_glitched_normal.png new file mode 100644 index 0000000..a4a646c Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/ceiling_tile_glitched/ceiling_tile_glitched_normal.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/chain_fence/chain_fence_color.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/chain_fence/chain_fence_color.png new file mode 100644 index 0000000..61d2377 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/chain_fence/chain_fence_color.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/chain_fence/chain_fence_height.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/chain_fence/chain_fence_height.png new file mode 100644 index 0000000..4183d15 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/chain_fence/chain_fence_height.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/chain_fence/chain_fence_normal.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/chain_fence/chain_fence_normal.png new file mode 100644 index 0000000..f085399 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/chain_fence/chain_fence_normal.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/concrete/concrete_color.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/concrete/concrete_color.png new file mode 100644 index 0000000..0e9fadc Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/concrete/concrete_color.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/concrete/concrete_height.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/concrete/concrete_height.png new file mode 100644 index 0000000..0f2a667 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/concrete/concrete_height.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/concrete/concrete_normal.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/concrete/concrete_normal.png new file mode 100644 index 0000000..cd29640 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/concrete/concrete_normal.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/crate/crate_color.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/crate/crate_color.png new file mode 100644 index 0000000..95ea4b2 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/crate/crate_color.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/crate/crate_height.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/crate/crate_height.png new file mode 100644 index 0000000..79efd21 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/crate/crate_height.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/crate/crate_normal.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/crate/crate_normal.png new file mode 100644 index 0000000..eb6469b Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/crate/crate_normal.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/floor_tiling/floor_tiling_color.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/floor_tiling/floor_tiling_color.png new file mode 100644 index 0000000..b1d7d0e Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/floor_tiling/floor_tiling_color.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/floor_tiling/floor_tiling_height.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/floor_tiling/floor_tiling_height.png new file mode 100644 index 0000000..0ca6d01 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/floor_tiling/floor_tiling_height.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/floor_tiling/floor_tiling_normal.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/floor_tiling/floor_tiling_normal.png new file mode 100644 index 0000000..b2b6abd Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/floor_tiling/floor_tiling_normal.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/pavement/pavement_color.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/pavement/pavement_color.png new file mode 100644 index 0000000..27803dd Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/pavement/pavement_color.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/pavement/pavement_height.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/pavement/pavement_height.png new file mode 100644 index 0000000..f21c29f Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/pavement/pavement_height.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/pavement/pavement_normal.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/pavement/pavement_normal.png new file mode 100644 index 0000000..4728197 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/pavement/pavement_normal.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/road/road_color.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/road/road_color.png new file mode 100644 index 0000000..70e7442 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/road/road_color.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/road/road_height.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/road/road_height.png new file mode 100644 index 0000000..8a3a88d Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/road/road_height.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/road/road_normal.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/road/road_normal.png new file mode 100644 index 0000000..018d95b Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pbr/road/road_normal.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/plastic.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/plastic.png new file mode 100644 index 0000000..39904d4 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/plastic.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pole.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pole.png new file mode 100644 index 0000000..6375f4f Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pole.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pool_tiles.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pool_tiles.png new file mode 100644 index 0000000..490ad96 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/pool_tiles.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/power_pole_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/power_pole_texture.png new file mode 100644 index 0000000..ff072b7 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/power_pole_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/power_pole_top_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/power_pole_top_texture.png new file mode 100644 index 0000000..b24f154 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/power_pole_top_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/red_dirt.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/red_dirt.png new file mode 100644 index 0000000..4ec71fd Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/red_dirt.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/red_metal_casing.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/red_metal_casing.png new file mode 100644 index 0000000..bf3f133 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/red_metal_casing.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/rug1.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/rug1.png new file mode 100644 index 0000000..26fe2b8 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/rug1.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/rug2.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/rug2.png new file mode 100644 index 0000000..90a7161 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/rug2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/rust2.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/rust2.png new file mode 100644 index 0000000..17b4b3a Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/rust2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/rust3.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/rust3.png new file mode 100644 index 0000000..da15962 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/rust3.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/rust4.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/rust4.png new file mode 100644 index 0000000..f5ef2ec Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/rust4.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/schleuse.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/schleuse.png new file mode 100644 index 0000000..8d3d930 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/schleuse.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/slope_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/slope_texture.png new file mode 100644 index 0000000..bdc53a0 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/slope_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/small_pipe_set_connectors.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/small_pipe_set_connectors.png new file mode 100644 index 0000000..4a4bdfc Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/small_pipe_set_connectors.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/stuff1.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/stuff1.png new file mode 100644 index 0000000..beec132 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/stuff1.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/stuff2.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/stuff2.png new file mode 100644 index 0000000..2dcb9bc Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/stuff2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/thin_fluorescent_light_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/thin_fluorescent_light_texture.png new file mode 100644 index 0000000..2f7c766 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/thin_fluorescent_light_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/thin_pipe.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/thin_pipe.png new file mode 100644 index 0000000..be46c32 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/thin_pipe.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/thin_pipe_corner_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/thin_pipe_corner_texture.png new file mode 100644 index 0000000..2671733 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/thin_pipe_corner_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/thin_pipe_turn_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/thin_pipe_turn_texture.png new file mode 100644 index 0000000..88cbcde Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/thin_pipe_turn_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/void_block.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/void_block.png new file mode 100644 index 0000000..69f1a3b Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/void_block.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_block.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_block.png new file mode 100644 index 0000000..def0a79 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_block.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_block_2.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_block_2.png new file mode 100644 index 0000000..81521bf Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_block_2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_block_2_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_block_2_texture.png new file mode 100644 index 0000000..d7ac82b Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_block_2_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_small_1.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_small_1.png new file mode 100644 index 0000000..cbb39d1 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_small_1.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_small_2.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_small_2.png new file mode 100644 index 0000000..843d145 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_small_2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_trim_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_trim_texture.png new file mode 100644 index 0000000..26c7ce9 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wall_trim_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wallpaper_bottom_block_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wallpaper_bottom_block_texture.png new file mode 100644 index 0000000..b2609db Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/wallpaper_bottom_block_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/window.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/window.png new file mode 100644 index 0000000..d559ba5 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/window.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/window_drawing.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/window_drawing.png new file mode 100644 index 0000000..c723158 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/block/window_drawing.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/skinwalker/final_form_head_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/skinwalker/final_form_head_texture.png new file mode 100644 index 0000000..3203738 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/skinwalker/final_form_head_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/skinwalker/placeholder.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/skinwalker/placeholder.png new file mode 100644 index 0000000..67efe58 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/skinwalker/placeholder.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/skinwalker/skin-walker.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/skinwalker/skin-walker.png new file mode 100644 index 0000000..16f6204 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/skinwalker/skin-walker.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/skinwalker/skinwalker_eyes.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/skinwalker/skinwalker_eyes.png new file mode 100644 index 0000000..a2dad35 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/skinwalker/skinwalker_eyes.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/skinwalker/skinwalker_legs_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/skinwalker/skinwalker_legs_texture.png new file mode 100644 index 0000000..4141295 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/skinwalker/skinwalker_legs_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/smiler/smiler.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/smiler/smiler.png new file mode 100644 index 0000000..61e742f Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/smiler/smiler.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/smiler/smiler1.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/smiler/smiler1.png new file mode 100644 index 0000000..0a3585d Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/smiler/smiler1.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/smiler/smiler2.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/smiler/smiler2.png new file mode 100644 index 0000000..23ccdbd Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/smiler/smiler2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/walker/walker.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/walker/walker.png new file mode 100644 index 0000000..c2121d9 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/walker/walker.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/walker/walker_eyes.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/walker/walker_eyes.png new file mode 100644 index 0000000..514013c Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/entity/walker/walker_eyes.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/gui/stamina.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/gui/stamina.png new file mode 100644 index 0000000..a2f4468 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/gui/stamina.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/item/backshroom_texture.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/item/backshroom_texture.png new file mode 100644 index 0000000..2201680 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/item/backshroom_texture.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/item/bricks_item.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/item/bricks_item.png new file mode 100644 index 0000000..f7649d3 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/item/bricks_item.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/item/canned_food.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/item/canned_food.png new file mode 100644 index 0000000..47888a2 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/item/canned_food.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/item/chainfence_item.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/item/chainfence_item.png new file mode 100644 index 0000000..b53e9d1 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/item/chainfence_item.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/caustics3.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/caustics3.png new file mode 100644 index 0000000..d20943e Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/caustics3.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/clouds1.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/clouds1.png new file mode 100644 index 0000000..3e0b3d1 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/clouds1.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/clouds2.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/clouds2.png new file mode 100644 index 0000000..d0a364e Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/clouds2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/contrast_noise.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/contrast_noise.png new file mode 100644 index 0000000..d8575f8 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/contrast_noise.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/creepy_face1.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/creepy_face1.png new file mode 100644 index 0000000..04297e6 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/creepy_face1.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/creepy_face2.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/creepy_face2.png new file mode 100644 index 0000000..169be42 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/creepy_face2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/dither.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/dither.png new file mode 100644 index 0000000..bb842ea Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/dither.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/pool_tiles/pool_tiles.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/pool_tiles/pool_tiles.png new file mode 100644 index 0000000..490ad96 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/pool_tiles/pool_tiles.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/puddle_noise.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/puddle_noise.png new file mode 100644 index 0000000..0e91f60 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/puddle_noise.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/puddle_noise.png.mcmeta b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/puddle_noise.png.mcmeta new file mode 100644 index 0000000..a39ce83 --- /dev/null +++ b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/puddle_noise.png.mcmeta @@ -0,0 +1,5 @@ +{ + "texture": { + "blur": true + } +} \ No newline at end of file diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/puddle_noise2.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/puddle_noise2.png new file mode 100644 index 0000000..3010c40 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/puddle_noise2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/puddle_normal.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/puddle_normal.png new file mode 100644 index 0000000..c4a7cb3 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/puddle_normal.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/rnoise.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/rnoise.png new file mode 100644 index 0000000..a88f24b Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/rnoise.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/rnoisedir.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/rnoisedir.png new file mode 100644 index 0000000..446b007 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/rnoisedir.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/stars.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/stars.png new file mode 100644 index 0000000..c0d5c61 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/stars.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/super_noise.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/super_noise.png new file mode 100644 index 0000000..da27195 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/super_noise.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/utility_pole_color.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/utility_pole_color.png new file mode 100644 index 0000000..2c57c7c Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/utility_pole_color.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/vhs_noise.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/vhs_noise.png new file mode 100644 index 0000000..c9fe4a2 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/vhs_noise.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/water_noise.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/water_noise.png new file mode 100644 index 0000000..b7a5791 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/water_noise.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/water_noise.png.mcmeta b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/water_noise.png.mcmeta new file mode 100644 index 0000000..a39ce83 --- /dev/null +++ b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/water_noise.png.mcmeta @@ -0,0 +1,5 @@ +{ + "texture": { + "blur": true + } +} \ No newline at end of file diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/water_normal.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/water_normal.png new file mode 100644 index 0000000..787590a Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/water_normal.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/water_normal.png.mcmeta b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/water_normal.png.mcmeta new file mode 100644 index 0000000..a39ce83 --- /dev/null +++ b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/water_normal.png.mcmeta @@ -0,0 +1,5 @@ +{ + "texture": { + "blur": true + } +} \ No newline at end of file diff --git a/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/you_cant_escape.png b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/you_cant_escape.png new file mode 100644 index 0000000..67366b7 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/spb-revamped/textures/shaders/you_cant_escape.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/walltext/arrow1.png b/src/main/resources/assets/szar/textures/item/fahh/walltext/arrow1.png new file mode 100644 index 0000000..048ddda Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/walltext/arrow1.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/walltext/arrow2.png b/src/main/resources/assets/szar/textures/item/fahh/walltext/arrow2.png new file mode 100644 index 0000000..3e7ce89 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/walltext/arrow2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/walltext/arrow3.png b/src/main/resources/assets/szar/textures/item/fahh/walltext/arrow3.png new file mode 100644 index 0000000..e5a0132 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/walltext/arrow3.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/walltext/arrow4.png b/src/main/resources/assets/szar/textures/item/fahh/walltext/arrow4.png new file mode 100644 index 0000000..ad40410 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/walltext/arrow4.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/walltext/door_drawing.png b/src/main/resources/assets/szar/textures/item/fahh/walltext/door_drawing.png new file mode 100644 index 0000000..8da8982 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/walltext/door_drawing.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/walltext/wall_small_1.png b/src/main/resources/assets/szar/textures/item/fahh/walltext/wall_small_1.png new file mode 100644 index 0000000..cbb39d1 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/walltext/wall_small_1.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/walltext/wall_small_2.png b/src/main/resources/assets/szar/textures/item/fahh/walltext/wall_small_2.png new file mode 100644 index 0000000..843d145 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/walltext/wall_small_2.png differ diff --git a/src/main/resources/assets/szar/textures/item/fahh/walltext/window_drawing.png b/src/main/resources/assets/szar/textures/item/fahh/walltext/window_drawing.png new file mode 100644 index 0000000..c723158 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/fahh/walltext/window_drawing.png differ diff --git a/src/main/resources/assets/szar/textures/item/tracker.png b/src/main/resources/assets/szar/textures/item/tracker.png new file mode 100644 index 0000000..c5f2646 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/tracker.png differ diff --git a/src/main/resources/data/szar/dimension/backrooms.json b/src/main/resources/data/szar/dimension/backrooms.json new file mode 100644 index 0000000..66a806f --- /dev/null +++ b/src/main/resources/data/szar/dimension/backrooms.json @@ -0,0 +1,8 @@ +{ + "type": "szar:backrooms", + "generator": { + "type": "szar:backrooms", + "biome": "minecraft:the_void", + "settings": "szar:backrooms" + } +} \ No newline at end of file diff --git a/src/main/resources/data/szar/dimension_type/backrooms.json b/src/main/resources/data/szar/dimension_type/backrooms.json new file mode 100644 index 0000000..596d4ce --- /dev/null +++ b/src/main/resources/data/szar/dimension_type/backrooms.json @@ -0,0 +1,20 @@ +{ + "ultrawarm": false, + "natural": false, + "coordinate_scale": 1.0, + "has_skylight": false, + "has_ceiling": true, + "ambient_light": 0.5, + "fixed_time": 18000, + "monster_spawn_light_level": 0, + "monster_spawn_block_light_limit": 0, + "piglin_safe": false, + "bed_works": false, + "respawn_anchor_works": false, + "has_raids": false, + "logical_height": 64, + "min_y": 0, + "height": 64, + "infiniburn": "#minecraft:infiniburn_overworld", + "effects": "minecraft:the_end" +} \ No newline at end of file