Compare commits

...

3 commits

Author SHA1 Message Date
d99e8fd54c Lightbulb and fixes 2023-08-06 17:37:19 +03:00
ea5af6ca06 Make siren sound dynamic and add white recipes 2023-08-06 15:30:30 +03:00
6c6c90ed4b Doors, sirens and blocks 2023-08-06 14:37:17 +03:00
83 changed files with 1269 additions and 17 deletions

37
LICENSE Normal file
View file

@ -0,0 +1,37 @@
The following directory, it's subdirectories, and any files inside said directories or subdirectories are subject to
the license below.
The only exceptions are files in /src/main/resources/assets/new_soviet/sounds, see relevant LICENSE file there
/src/main/resources/
All Rights Reserved
Copyright (c) 2023 Andrey Nikitin and Рюжин Юрий.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
All other files within this repository are subject to the license below.
MIT License
Copyright (c) 2023 Andrey Nikitin.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

7
TODO
View file

@ -1,21 +1,20 @@
=== ADD BLOCKS/FEATURES ===
* Add brown+white+yellow+red+green blocks
* Add brown+yellow+red+green blocks
* Add slab and stair variations
* Add doors and fences
* Add windows
* Add (with functionality) present appliance/furniture/electronics textures
* Figure out what to do with "NII wall", nii floor, tilled block
* Add achievement criterion for dice
* Add achievement criterion for dice and advancements
=== FIX STUFF ===
* PO2 wall
* Replace a ton of stuff with FabricBlockSettings.copy and resistance+hardness -> strength
* Crate (likely cheap shulker box with small capacity)
=== NON-GAME CHANGES ===
* Minotaur publishing to modrinth and something similar for curse
* git.a71.su maven
* Good README.md and icon, assets, screenshots etc.
* mkDocs for recipes and more
=== ACHIEVEMENTS ===
Kolkhoz warrior - kill a zombie, skeleton, creeper and spider with a sickle

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_birch_door": {
"conditions": {
"items": [
{
"items": [
"minecraft:birch_door"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "minecraft:chiseled_birch_door_from_birch_door_stonecutting"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_birch_door",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:chiseled_birch_door_from_birch_door_stonecutting"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_glazed_white_tiles": {
"conditions": {
"items": [
{
"items": [
"new_soviet:glazed_white_tiles"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "minecraft:cracked_glazed_white_tiles_from_glazed_white_tiles_stonecutting"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_glazed_white_tiles",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:cracked_glazed_white_tiles_from_glazed_white_tiles_stonecutting"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_small_cracked_white_tiles": {
"conditions": {
"items": [
{
"items": [
"new_soviet:small_cracked_white_tiles"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "minecraft:cracked_glazed_white_tiles_from_small_cracked_white_tiles_stonecutting"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_small_cracked_white_tiles",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:cracked_glazed_white_tiles_from_small_cracked_white_tiles_stonecutting"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_small_white_tiles": {
"conditions": {
"items": [
{
"items": [
"new_soviet:small_white_tiles"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "minecraft:cracked_glazed_white_tiles_from_small_white_tiles_stonecutting"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_small_white_tiles",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:cracked_glazed_white_tiles_from_small_white_tiles_stonecutting"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_cracked_glazed_white_tiles": {
"conditions": {
"items": [
{
"items": [
"new_soviet:cracked_glazed_white_tiles"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "minecraft:glazed_white_tiles_from_cracked_glazed_white_tiles_stonecutting"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_cracked_glazed_white_tiles",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:glazed_white_tiles_from_cracked_glazed_white_tiles_stonecutting"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_small_cracked_white_tiles": {
"conditions": {
"items": [
{
"items": [
"new_soviet:small_cracked_white_tiles"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "minecraft:glazed_white_tiles_from_small_cracked_white_tiles_stonecutting"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_small_cracked_white_tiles",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:glazed_white_tiles_from_small_cracked_white_tiles_stonecutting"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_small_white_tiles": {
"conditions": {
"items": [
{
"items": [
"new_soviet:small_white_tiles"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "minecraft:glazed_white_tiles_from_small_white_tiles_stonecutting"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_small_white_tiles",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:glazed_white_tiles_from_small_white_tiles_stonecutting"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_cracked_glazed_white_tiles": {
"conditions": {
"items": [
{
"items": [
"new_soviet:cracked_glazed_white_tiles"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "minecraft:small_cracked_white_tiles_from_cracked_glazed_white_tiles_stonecutting"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_cracked_glazed_white_tiles",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:small_cracked_white_tiles_from_cracked_glazed_white_tiles_stonecutting"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_glazed_white_tiles": {
"conditions": {
"items": [
{
"items": [
"new_soviet:glazed_white_tiles"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "minecraft:small_cracked_white_tiles_from_glazed_white_tiles_stonecutting"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_glazed_white_tiles",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:small_cracked_white_tiles_from_glazed_white_tiles_stonecutting"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_small_white_tiles": {
"conditions": {
"items": [
{
"items": [
"new_soviet:small_white_tiles"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "minecraft:small_cracked_white_tiles_from_small_white_tiles_stonecutting"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_small_white_tiles",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:small_cracked_white_tiles_from_small_white_tiles_stonecutting"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,48 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_stone": {
"conditions": {
"items": [
{
"items": [
"minecraft:stone"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "new_soviet:small_white_tiles"
},
"trigger": "minecraft:recipe_unlocked"
},
"has_white_dye": {
"conditions": {
"items": [
{
"items": [
"minecraft:white_dye"
]
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"requirements": [
[
"has_stone",
"has_white_dye",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"new_soviet:small_white_tiles"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_cracked_glazed_white_tiles": {
"conditions": {
"items": [
{
"items": [
"new_soviet:cracked_glazed_white_tiles"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "minecraft:small_white_tiles_from_cracked_glazed_white_tiles_stonecutting"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_cracked_glazed_white_tiles",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:small_white_tiles_from_cracked_glazed_white_tiles_stonecutting"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_glazed_white_tiles": {
"conditions": {
"items": [
{
"items": [
"new_soviet:glazed_white_tiles"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "minecraft:small_white_tiles_from_glazed_white_tiles_stonecutting"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_glazed_white_tiles",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:small_white_tiles_from_glazed_white_tiles_stonecutting"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_small_cracked_white_tiles": {
"conditions": {
"items": [
{
"items": [
"new_soviet:small_cracked_white_tiles"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "minecraft:small_white_tiles_from_small_cracked_white_tiles_stonecutting"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_small_cracked_white_tiles",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:small_white_tiles_from_small_cracked_white_tiles_stonecutting"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "minecraft:birch_door"
},
"result": "new_soviet:chiseled_birch_door"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:glazed_white_tiles"
},
"result": "new_soviet:cracked_glazed_white_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:small_cracked_white_tiles"
},
"result": "new_soviet:cracked_glazed_white_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:small_white_tiles"
},
"result": "new_soviet:cracked_glazed_white_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:cracked_glazed_white_tiles"
},
"result": "new_soviet:glazed_white_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:small_cracked_white_tiles"
},
"result": "new_soviet:glazed_white_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:small_white_tiles"
},
"result": "new_soviet:glazed_white_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:cracked_glazed_white_tiles"
},
"result": "new_soviet:small_cracked_white_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:glazed_white_tiles"
},
"result": "new_soviet:small_cracked_white_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:small_white_tiles"
},
"result": "new_soviet:small_cracked_white_tiles"
}

View file

@ -0,0 +1,21 @@
{
"type": "minecraft:crafting_shaped",
"category": "building",
"key": {
"X": {
"item": "minecraft:stone"
},
"Y": {
"item": "minecraft:white_dye"
}
},
"pattern": [
"XY",
"YX"
],
"result": {
"count": 4,
"item": "new_soviet:small_white_tiles"
},
"show_notification": true
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:cracked_glazed_white_tiles"
},
"result": "new_soviet:small_white_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:glazed_white_tiles"
},
"result": "new_soviet:small_white_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:small_cracked_white_tiles"
},
"result": "new_soviet:small_white_tiles"
}

View file

@ -18,6 +18,7 @@ import net.minecraft.data.server.recipe.ShapedRecipeJsonBuilder;
import net.minecraft.data.server.recipe.ShapelessRecipeJsonBuilder;
import net.minecraft.item.ItemConvertible;
import net.minecraft.item.Items;
import net.minecraft.recipe.Ingredient;
import net.minecraft.recipe.book.RecipeCategory;
import net.minecraft.registry.RegistryWrapper;
import net.minecraft.registry.tag.BlockTags;
@ -472,6 +473,7 @@ public class DataGeneration implements DataGeneratorEntrypoint {
public void generate(Consumer<RecipeJsonProvider> exporter) {
crissCrossRecipe(exporter, NSE_Blocks.SAND_TILES, Blocks.SMOOTH_SANDSTONE, Blocks.SMOOTH_RED_SANDSTONE);
crissCrossRecipe(exporter, NSE_Blocks.LIGHT_BLUE_TILES, Blocks.STONE, Items.LIGHT_BLUE_DYE);
crissCrossRecipe(exporter, NSE_Blocks.SMALL_WHITE_TILES, Blocks.STONE, Items.WHITE_DYE);
crissCrossRecipe(exporter, NSE_Blocks.GREEN_WHITE_TILES, Blocks.POLISHED_DIORITE, Items.GREEN_DYE);
tvRecipe(exporter, NSE_Custom.TV, Items.ORANGE_DYE);
@ -612,6 +614,13 @@ public class DataGeneration implements DataGeneratorEntrypoint {
list.add(Blocks.TUFF);
}), RecipeCategory.BUILDING_BLOCKS);
stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> {
list.add(NSE_Blocks.SMALL_WHITE_TILES);
list.add(NSE_Blocks.SMALL_CRACKED_WHITE_TILES);
list.add(NSE_Blocks.GLAZED_WHITE_TILES);
list.add(NSE_Blocks.CRACKED_GLAZED_WHITE_TILES);
}), RecipeCategory.BUILDING_BLOCKS);
stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> {
list.add(NSE_Blocks.CROSS_ACACIA_PLANKS);
list.add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS);
@ -660,6 +669,9 @@ public class DataGeneration implements DataGeneratorEntrypoint {
offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.CHISELED_MANGROVE_DOOR, Blocks.MANGROVE_DOOR);
offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.CHISELED_OAK_DOOR, Blocks.OAK_DOOR);
offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.CHISELED_SPRUCE_DOOR, Blocks.SPRUCE_DOOR);
offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.CHISELED_BIRCH_DOOR, Blocks.BIRCH_DOOR);
createStairsRecipe(NSE_Blocks.SAND_TILES_STAIRS, Ingredient.ofItems(NSE_Blocks.SAND_TILES));
}
}

View file

@ -0,0 +1,90 @@
package su.a71.new_soviet.blocks;
import net.minecraft.block.*;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.projectile.ProjectileEntity;
import net.minecraft.item.ItemPlacementContext;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.sound.SoundCategory;
import net.minecraft.state.StateManager;
import net.minecraft.state.property.BooleanProperty;
import net.minecraft.state.property.Properties;
import net.minecraft.state.property.Property;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.random.Random;
import net.minecraft.util.shape.VoxelShape;
import net.minecraft.util.shape.VoxelShapes;
import net.minecraft.world.BlockView;
import net.minecraft.world.World;
import net.minecraft.world.WorldView;
import org.jetbrains.annotations.Nullable;
import su.a71.new_soviet.registration.NSE_Custom;
public class LightBulbBlock extends Block {
protected static final VoxelShape SHAPE;
public static final BooleanProperty ON;
public static final BooleanProperty BROKEN;
public LightBulbBlock(Block.Settings settings) {
super(settings);
this.setDefaultState((BlockState)this.getDefaultState().with(ON, false).with(BROKEN, false));
}
@Nullable
public BlockState getPlacementState(ItemPlacementContext ctx) {
return (BlockState)this.getDefaultState().with(ON, ctx.getWorld().isReceivingRedstonePower(ctx.getBlockPos())).with(BROKEN, false);
}
public void neighborUpdate(BlockState state, World world, BlockPos pos, Block sourceBlock, BlockPos sourcePos, boolean notify) {
if (!world.isClient) {
boolean bl = (Boolean)state.get(ON);
if (bl != world.isReceivingRedstonePower(pos)) {
if (bl) {
world.scheduleBlockTick(pos, this, 4);
} else {
world.setBlockState(pos, (BlockState)state.cycle(ON), 2);
}
}
}
}
@Override
public void onProjectileHit(World world, BlockState state, BlockHitResult hit, ProjectileEntity projectile) {
if (!state.get(BROKEN)) {
world.playSound((PlayerEntity)null, hit.getBlockPos().getX(), hit.getBlockPos().getY(), hit.getBlockPos().getZ(), NSE_Custom.LIGHT_BULB_BROKEN_SOUND, SoundCategory.NEUTRAL, 0.8f, 1f);
}
world.setBlockState(hit.getBlockPos(), (BlockState)state.with(BROKEN, true).with(ON, false), 2);
super.onProjectileHit(world, state, hit, projectile);
}
public void scheduledTick(BlockState state, ServerWorld world, BlockPos pos, Random random) {
if ((Boolean)state.get(ON) && !world.isReceivingRedstonePower(pos)) {
world.setBlockState(pos, (BlockState)state.cycle(ON), 2);
}
}
protected void appendProperties(StateManager.Builder<Block, BlockState> builder) {
builder.add(new Property[]{ON, BROKEN});
}
public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) {
if (state.get(BROKEN)) {
return SHAPE;
}
return VoxelShapes.union(SHAPE, Block.createCuboidShape(7, 3, 7, 10, 6, 10).offset(-0.03125, 0, -0.03125));
}
public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) {
Direction direction = Direction.UP;
return Block.sideCoversSmallSquare(world, pos.offset(direction), direction.getOpposite());
}
static {
SHAPE = VoxelShapes.union(Block.createCuboidShape(7, 15, 7, 9, 16, 9), Block.createCuboidShape(7, 6, 7, 9, 8, 9)); //VoxelShapes.union(Block.createCuboidShape(4.0, 2.0, 4.0, 12.0, 7.0, 12.0), Block.createCuboidShape(7.0, 7.0, 7.0, 9.0, 13.0, 9.0), Block.createCuboidShape(6.0, 13.0, 6.0, 10.0, 16.0, 10.0));
ON = RedstoneTorchBlock.LIT;
BROKEN = Properties.CRACKED;
}
}

View file

@ -20,7 +20,6 @@ import net.minecraft.world.BlockView;
import net.minecraft.world.World;
import net.minecraft.world.WorldView;
import su.a71.new_soviet.NewSoviet;
import su.a71.new_soviet.registration.NSE_Custom;
public class SirenBlock extends HorizontalFacingBlock {
@ -43,7 +42,7 @@ public class SirenBlock extends HorizontalFacingBlock {
if (bl) {
world.scheduleBlockTick(pos, this, 4);
} else {
world.playSound((PlayerEntity)null, pos.getX(), pos.getY(), pos.getZ(), NSE_Custom.SIREN_SOUND, SoundCategory.NEUTRAL, 1F, 1f);
world.playSound((PlayerEntity)null, pos.getX(), pos.getY(), pos.getZ(), NSE_Custom.SIREN_SOUND, SoundCategory.NEUTRAL, getSirenVolume(world, pos), 1f);
world.setBlockState(pos, (BlockState)state.cycle(ON), 2);
world.scheduleBlockTick(pos, this, 140);
}
@ -81,17 +80,24 @@ public class SirenBlock extends HorizontalFacingBlock {
}
public void scheduledTick(BlockState state, ServerWorld world, BlockPos pos, Random random) {
NewSoviet.LOG.info("Scheduled tick");
if ((Boolean)state.get(ON) && !world.isReceivingRedstonePower(pos)) {
world.setBlockState(pos, (BlockState)state.cycle(ON), 2);
NewSoviet.LOG.info("Stopping!");
} else {
NewSoviet.LOG.info("Playing!");
world.playSound((PlayerEntity)null, pos.getX(), pos.getY(), pos.getZ(), NSE_Custom.SIREN_SOUND, SoundCategory.NEUTRAL, 1F, 1f);
world.playSound((PlayerEntity)null, pos.getX(), pos.getY(), pos.getZ(), NSE_Custom.SIREN_SOUND, SoundCategory.NEUTRAL, getSirenVolume(world, pos), 1f);
world.scheduleBlockTick(pos, this, 140);
}
}
public float getSirenVolume(World world, BlockPos pos) {
return switch (world.getReceivedRedstonePower(pos)) {
case 1, 2, 3 -> 2f;
case 4, 5, 6 -> 3f;
case 7, 8, 9 -> 4f;
case 10, 11, 12 -> 5f;
case 13, 14, 15, 16 -> 6f;
default -> 1f;
};
}
static {
ON = RedstoneTorchBlock.LIT;

View file

@ -25,6 +25,7 @@ public class NSE_Blocks {
// BUILDING BRICKS/TILES ====================
public static final Block SAND_TILES = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.MUD_BRICKS).hardness(1.5f).requiresTool().resistance(6f).mapColor(MapColor.TERRACOTTA_BROWN));
public static final StairsBlock SAND_TILES_STAIRS = new StairsBlock(SAND_TILES.getDefaultState(), FabricBlockSettings.copy(SAND_TILES));
public static final Block CRACKED_SAND_TILES = new Block(FabricBlockSettings.copy(SAND_TILES));
public static final Block MOSSY_SAND_TILES = new Block(FabricBlockSettings.copy(SAND_TILES));
public static final Block SMALL_SAND_TILES = new Block(FabricBlockSettings.copy(SAND_TILES));
@ -106,6 +107,11 @@ public class NSE_Blocks {
public static final Block CRACKED_TUFF_BRICKS = new Block(FabricBlockSettings.copy(Blocks.TUFF));
public static final Block MOSSY_TUFF_BRICKS = new Block(FabricBlockSettings.copy(Blocks.TUFF));
public static final Block SMALL_WHITE_TILES = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.STONE).strength(1.5f, 6f).requiresTool().mapColor(MapColor.WHITE));
public static final Block SMALL_CRACKED_WHITE_TILES = new Block(FabricBlockSettings.copy(LIGHT_BLUE_TILES));
public static final Block GLAZED_WHITE_TILES = new Block(FabricBlockSettings.copy(LIGHT_BLUE_TILES));
public static final Block CRACKED_GLAZED_WHITE_TILES = new Block(FabricBlockSettings.copy(LIGHT_BLUE_TILES));
public static final Block WHITEWASH = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.STONE).strength(1.5f, 6f).requiresTool().mapColor(MapColor.OFF_WHITE));
public static final Block CRACKED_WHITEWASH = new Block(FabricBlockSettings.copy(WHITEWASH));
public static final Block VERY_CRACKED_WHITEWASH = new Block(FabricBlockSettings.copy(WHITEWASH));
@ -164,6 +170,7 @@ public class NSE_Blocks {
public static final DoorBlock CHISELED_MANGROVE_DOOR = new DoorBlock(FabricBlockSettings.copy(Blocks.MANGROVE_DOOR), BlockSetType.MANGROVE);
public static final DoorBlock CHISELED_OAK_DOOR = new DoorBlock(FabricBlockSettings.copy(Blocks.OAK_DOOR), BlockSetType.OAK);
public static final DoorBlock CHISELED_SPRUCE_DOOR = new DoorBlock(FabricBlockSettings.copy(Blocks.SPRUCE_DOOR), BlockSetType.SPRUCE);
public static final DoorBlock CHISELED_BIRCH_DOOR = new DoorBlock(FabricBlockSettings.copy(Blocks.BIRCH_DOOR), BlockSetType.BIRCH);
// Industrial =====================================
public static final Block INDUSTRIAL_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.BLACK));
@ -203,6 +210,7 @@ public class NSE_Blocks {
public static void init() {
Registry.register(Registries.ITEM_GROUP, new Identifier("new_soviet", "building_blocks"), NSE_BUILDING_TAB);
register("sand_tiles", () -> SAND_TILES, NSE_BUILDING_TAB);
register("sand_tiles_stairs", () -> SAND_TILES_STAIRS, NSE_BUILDING_TAB);
register("cracked_sand_tiles", () -> CRACKED_SAND_TILES, NSE_BUILDING_TAB);
register("mossy_sand_tiles", () -> MOSSY_SAND_TILES, NSE_BUILDING_TAB);
register("small_sand_tiles", () -> SMALL_SAND_TILES, NSE_BUILDING_TAB);
@ -273,6 +281,10 @@ public class NSE_Blocks {
register("tuff_bricks", () -> TUFF_BRICKS, NSE_BUILDING_TAB);
register("cracked_tuff_bricks", () -> CRACKED_TUFF_BRICKS, NSE_BUILDING_TAB);
register("mossy_tuff_bricks", () -> MOSSY_TUFF_BRICKS, NSE_BUILDING_TAB);
register("small_white_tiles", () -> SMALL_WHITE_TILES, NSE_BUILDING_TAB);
register("small_cracked_white_tiles", () -> SMALL_CRACKED_WHITE_TILES, NSE_BUILDING_TAB);
register("glazed_white_tiles", () -> GLAZED_WHITE_TILES, NSE_BUILDING_TAB);
register("cracked_glazed_white_tiles", () -> CRACKED_GLAZED_WHITE_TILES, NSE_BUILDING_TAB);
register("whitewash", () -> WHITEWASH, NSE_BUILDING_TAB);
register("cracked_whitewash", () -> CRACKED_WHITEWASH, NSE_BUILDING_TAB);
@ -331,6 +343,7 @@ public class NSE_Blocks {
register("chiseled_mangrove_door", () -> CHISELED_MANGROVE_DOOR, NSE_BUILDING_TAB);
register("chiseled_oak_door", () -> CHISELED_OAK_DOOR, NSE_BUILDING_TAB);
register("chiseled_spruce_door", () -> CHISELED_SPRUCE_DOOR, NSE_BUILDING_TAB);
register("chiseled_birch_door", () -> CHISELED_BIRCH_DOOR, NSE_BUILDING_TAB);
register("industrial_warning", () -> INDUSTRIAL_WARNING, NSE_BUILDING_TAB);
register("gray_warning", () -> GRAY_WARNING, NSE_BUILDING_TAB);

View file

@ -29,6 +29,9 @@ public class NSE_Custom {
public static final TVBlock BROWN_TV = new TVBlock(FabricBlockSettings.create().mapColor(MapColor.TERRACOTTA_BROWN));
public static final RadioBlock RADIO = new RadioBlock();
public static final LampBlock LAMP = new LampBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.LANTERN).strength(1f, 1.5f).mapColor(MapColor.WHITE));
public static final LightBulbBlock LIGHT_BULB = new LightBulbBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.LANTERN).strength(1f, 1.5f).mapColor(MapColor.WHITE));
public static final SoundEvent LIGHT_BULB_BROKEN_SOUND = SoundEvent.of(new Identifier("new_soviet", "light_bulb_broken_sound"));
public static final CeilingFanBlock CEILING_FAN = new CeilingFanBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).strength(1f, 1.5f).mapColor(MapColor.WHITE));
public static final SirenBlock SIREN = new SirenBlock();
@ -58,9 +61,11 @@ public class NSE_Custom {
register("brown_tv", () -> BROWN_TV, NSE_CUSTOM_TAB);
register("radio", () -> RADIO, NSE_CUSTOM_TAB);
register("lamp", () -> LAMP, NSE_CUSTOM_TAB);
register("light_bulb", () -> LIGHT_BULB, NSE_CUSTOM_TAB);
register("ceiling_fan", () -> CEILING_FAN, NSE_CUSTOM_TAB);
register("siren", () -> SIREN, NSE_CUSTOM_TAB);
Registry.register(Registries.SOUND_EVENT, new Identifier("new_soviet", "siren_sound"), SIREN_SOUND);
Registry.register(Registries.SOUND_EVENT, new Identifier("new_soviet", "light_bulb_broken_sound"), LIGHT_BULB_BROKEN_SOUND);
}
}

View file

@ -0,0 +1,124 @@
{
"variants": {
"facing=east,half=lower,hinge=left,open=false": {
"model": "new_soviet:block/chiseled_birch_door_bottom_left"
},
"facing=east,half=lower,hinge=left,open=true": {
"model": "new_soviet:block/chiseled_birch_door_bottom_left_open",
"y": 90
},
"facing=east,half=lower,hinge=right,open=false": {
"model": "new_soviet:block/chiseled_birch_door_bottom_right"
},
"facing=east,half=lower,hinge=right,open=true": {
"model": "new_soviet:block/chiseled_birch_door_bottom_right_open",
"y": 270
},
"facing=east,half=upper,hinge=left,open=false": {
"model": "new_soviet:block/chiseled_birch_door_top_left"
},
"facing=east,half=upper,hinge=left,open=true": {
"model": "new_soviet:block/chiseled_birch_door_top_left_open",
"y": 90
},
"facing=east,half=upper,hinge=right,open=false": {
"model": "new_soviet:block/chiseled_birch_door_top_right"
},
"facing=east,half=upper,hinge=right,open=true": {
"model": "new_soviet:block/chiseled_birch_door_top_right_open",
"y": 270
},
"facing=north,half=lower,hinge=left,open=false": {
"model": "new_soviet:block/chiseled_birch_door_bottom_left",
"y": 270
},
"facing=north,half=lower,hinge=left,open=true": {
"model": "new_soviet:block/chiseled_birch_door_bottom_left_open"
},
"facing=north,half=lower,hinge=right,open=false": {
"model": "new_soviet:block/chiseled_birch_door_bottom_right",
"y": 270
},
"facing=north,half=lower,hinge=right,open=true": {
"model": "new_soviet:block/chiseled_birch_door_bottom_right_open",
"y": 180
},
"facing=north,half=upper,hinge=left,open=false": {
"model": "new_soviet:block/chiseled_birch_door_top_left",
"y": 270
},
"facing=north,half=upper,hinge=left,open=true": {
"model": "new_soviet:block/chiseled_birch_door_top_left_open"
},
"facing=north,half=upper,hinge=right,open=false": {
"model": "new_soviet:block/chiseled_birch_door_top_right",
"y": 270
},
"facing=north,half=upper,hinge=right,open=true": {
"model": "new_soviet:block/chiseled_birch_door_top_right_open",
"y": 180
},
"facing=south,half=lower,hinge=left,open=false": {
"model": "new_soviet:block/chiseled_birch_door_bottom_left",
"y": 90
},
"facing=south,half=lower,hinge=left,open=true": {
"model": "new_soviet:block/chiseled_birch_door_bottom_left_open",
"y": 180
},
"facing=south,half=lower,hinge=right,open=false": {
"model": "new_soviet:block/chiseled_birch_door_bottom_right",
"y": 90
},
"facing=south,half=lower,hinge=right,open=true": {
"model": "new_soviet:block/chiseled_birch_door_bottom_right_open"
},
"facing=south,half=upper,hinge=left,open=false": {
"model": "new_soviet:block/chiseled_birch_door_top_left",
"y": 90
},
"facing=south,half=upper,hinge=left,open=true": {
"model": "new_soviet:block/chiseled_birch_door_top_left_open",
"y": 180
},
"facing=south,half=upper,hinge=right,open=false": {
"model": "new_soviet:block/chiseled_birch_door_top_right",
"y": 90
},
"facing=south,half=upper,hinge=right,open=true": {
"model": "new_soviet:block/chiseled_birch_door_top_right_open"
},
"facing=west,half=lower,hinge=left,open=false": {
"model": "new_soviet:block/chiseled_birch_door_bottom_left",
"y": 180
},
"facing=west,half=lower,hinge=left,open=true": {
"model": "new_soviet:block/chiseled_birch_door_bottom_left_open",
"y": 270
},
"facing=west,half=lower,hinge=right,open=false": {
"model": "new_soviet:block/chiseled_birch_door_bottom_right",
"y": 180
},
"facing=west,half=lower,hinge=right,open=true": {
"model": "new_soviet:block/chiseled_birch_door_bottom_right_open",
"y": 90
},
"facing=west,half=upper,hinge=left,open=false": {
"model": "new_soviet:block/chiseled_birch_door_top_left",
"y": 180
},
"facing=west,half=upper,hinge=left,open=true": {
"model": "new_soviet:block/chiseled_birch_door_top_left_open",
"y": 270
},
"facing=west,half=upper,hinge=right,open=false": {
"model": "new_soviet:block/chiseled_birch_door_top_right",
"y": 180
},
"facing=west,half=upper,hinge=right,open=true": {
"model": "new_soviet:block/chiseled_birch_door_top_right_open",
"y": 90
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/cracked_glazed_white_tiles"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/glazed_white_tiles"
}
}
}

View file

@ -0,0 +1,16 @@
{
"variants": {
"lit=true,cracked=true": {
"model": "new_soviet:block/light_bulb_broken"
},
"lit=true,cracked=false": {
"model": "new_soviet:block/light_bulb_on"
},
"lit=false,cracked=false": {
"model": "new_soviet:block/light_bulb_off"
},
"lit=false,cracked=true": {
"model": "new_soviet:block/light_bulb_broken"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/small_cracked_white_tiles"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/small_white_tiles"
}
}
}

View file

@ -141,11 +141,14 @@
"block.new_soviet.chiseled_mangrove_door": "Chiseled Mangrove Door",
"block.new_soviet.chiseled_oak_door": "Chiseled Oak Door",
"block.new_soviet.chiseled_spruce_door": "Chiseled Spruce Door",
"block.new_soviet.chiseled_birch_door": "Chiseled Birch Door",
"subtitles.new_soviet.siren": "Siren goes off",
"block.new_soviet.yellow_concrete_with_bars": "Yellow Concrete With Bars",
"block.new_soviet.beige_concrete_with_bars": "Beige Concrete With Bars",
"block.new_soviet.white_concrete_with_bars": "White Concrete With Bars",
"block.new_soviet.green_concrete_with_bars": "Green Concrete With Bars",
"block.new_soviet.blue_concrete_with_bars": "Blue Concrete With Bars",
"block.new_soviet.red_concrete_with_bars": "Red Concrete With Bars"
"block.new_soviet.red_concrete_with_bars": "Red Concrete With Bars",
"subtitles.new_soviet.light_bulb_broken": "Light bulb breaks",
"block.new_soviet.light_bulb": "Light Bulb"
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:block/door_bottom_left",
"textures": {
"bottom": "new_soviet:block/doors/chiseled_birch_door_lower",
"top": "new_soviet:block/doors/chiseled_birch_door_upper"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:block/door_bottom_left_open",
"textures": {
"bottom": "new_soviet:block/doors/chiseled_birch_door_lower",
"top": "new_soviet:block/doors/chiseled_birch_door_upper"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:block/door_bottom_right",
"textures": {
"bottom": "new_soviet:block/doors/chiseled_birch_door_lower",
"top": "new_soviet:block/doors/chiseled_birch_door_upper"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:block/door_bottom_right_open",
"textures": {
"bottom": "new_soviet:block/doors/chiseled_birch_door_lower",
"top": "new_soviet:block/doors/chiseled_birch_door_upper"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:block/door_top_left",
"textures": {
"bottom": "new_soviet:block/doors/chiseled_birch_door_lower",
"top": "new_soviet:block/doors/chiseled_birch_door_upper"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:block/door_top_left_open",
"textures": {
"bottom": "new_soviet:block/doors/chiseled_birch_door_lower",
"top": "new_soviet:block/doors/chiseled_birch_door_upper"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:block/door_top_right",
"textures": {
"bottom": "new_soviet:block/doors/chiseled_birch_door_lower",
"top": "new_soviet:block/doors/chiseled_birch_door_upper"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:block/door_top_right_open",
"textures": {
"bottom": "new_soviet:block/doors/chiseled_birch_door_lower",
"top": "new_soviet:block/doors/chiseled_birch_door_upper"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "new_soviet:block/white/cracked_glazed_white_tiles",
"particle": "new_soviet:block/white/cracked_glazed_white_tiles"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "new_soviet:block/white/glazed_white_tiles",
"particle": "new_soviet:block/white/glazed_white_tiles"
}
}

View file

@ -0,0 +1,84 @@
{
"credit": "Made by Feulim (karoter2)",
"textures": {
"0": "new_soviet:block/custom/furniture/light_bulb_off",
"particle": "new_soviet:block/custom/furniture/light_bulb_off"
},
"elements": [
{
"from": [7, 6, 7],
"to": [9, 8, 9],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
"faces": {
"north": {"uv": [7, 0, 5, 2], "texture": "#0"},
"east": {"uv": [5, 0, 7, 2], "texture": "#0"},
"south": {"uv": [7, 0, 5, 2], "texture": "#0"},
"west": {"uv": [5, 0, 7, 2], "texture": "#0"},
"up": {"uv": [7, 4, 5, 2], "texture": "#0"},
"down": {"uv": [16, 14, 14, 16], "texture": "#0"}
}
},
{
"from": [8, 5, 7.5],
"to": [8, 16, 8.5],
"rotation": {"angle": -45, "axis": "y", "origin": [8, 0, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 11], "texture": "#0"},
"east": {"uv": [0, 0, 1, 11], "texture": "#0"},
"south": {"uv": [0, 0, 0, 11], "texture": "#0"},
"west": {"uv": [0, 0, 1, 11], "texture": "#0"},
"up": {"uv": [0, 0, 0, 1], "texture": "#0"},
"down": {"uv": [0, 0, 0, 1], "texture": "#0"}
}
},
{
"from": [8, 5, 7.5],
"to": [8, 16, 8.5],
"rotation": {"angle": 45, "axis": "y", "origin": [8, 0, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 11], "texture": "#0"},
"east": {"uv": [1, 0, 2, 11], "texture": "#0"},
"south": {"uv": [0, 0, 0, 11], "texture": "#0"},
"west": {"uv": [1, 0, 2, 11], "texture": "#0"},
"up": {"uv": [0, 1, 0, 0], "texture": "#0"},
"down": {"uv": [0, 0, 0, 1], "texture": "#0"}
}
},
{
"from": [7, 15.5, 7],
"to": [9, 16.5, 9],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
"faces": {
"north": {"uv": [9, 0, 7, 1], "texture": "#0"},
"east": {"uv": [7, 0, 9, 1], "texture": "#0"},
"south": {"uv": [9, 0, 7, 1], "texture": "#0"},
"west": {"uv": [7, 0, 9, 1], "texture": "#0"},
"up": {"uv": [16, 16, 14, 14], "texture": "#0"},
"down": {"uv": [5, 9, 3, 11], "texture": "#0"}
}
},
{
"name": "cube_outline",
"from": [9, 8, 9],
"to": [7, 6, 7],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
"faces": {
"north": {"uv": [7, 0, 5, 2], "rotation": 180, "texture": "#0"},
"east": {"uv": [5, 0, 7, 2], "rotation": 180, "texture": "#0"},
"south": {"uv": [7, 0, 5, 2], "rotation": 180, "texture": "#0"},
"west": {"uv": [5, 0, 7, 2], "rotation": 180, "texture": "#0"},
"up": {"uv": [16, 14, 14, 16], "rotation": 180, "texture": "#0"},
"down": {"uv": [7, 4, 5, 2], "rotation": 180, "texture": "#0"}
}
}
],
"groups": [
{
"name": "group",
"origin": [16, 8, 16],
"color": 0,
"nbt": "{}",
"children": [0, 1, 2, 3, 4]
}
]
}

View file

@ -0,0 +1,7 @@
{
"parent": "new_soviet:block/light_bulb_on",
"textures": {
"0": "new_soviet:block/custom/furniture/light_bulb_off",
"particle": "new_soviet:block/custom/furniture/light_bulb_off"
}
}

View file

@ -0,0 +1,83 @@
{
"credit": "Made by Feulim (karoter2)",
"textures": {
"0": "new_soviet:block/custom/furniture/light_bulb_on",
"particle": "new_soviet:block/custom/furniture/light_bulb_on"
},
"elements": [
{
"from": [6.5, 3, 6.5],
"to": [9.5, 6, 9.5],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
"faces": {
"north": {"uv": [2, 3, 5, 0], "texture": "#0"},
"east": {"uv": [2, 3, 5, 0], "texture": "#0"},
"south": {"uv": [2, 3, 5, 0], "texture": "#0"},
"west": {"uv": [2, 3, 5, 0], "texture": "#0"},
"up": {"uv": [5, 6, 2, 3], "texture": "#0"},
"down": {"uv": [5, 6, 2, 9], "texture": "#0"}
}
},
{
"from": [7, 6, 7],
"to": [9, 8, 9],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
"faces": {
"north": {"uv": [7, 0, 5, 2], "texture": "#0"},
"east": {"uv": [5, 0, 7, 2], "texture": "#0"},
"south": {"uv": [7, 0, 5, 2], "texture": "#0"},
"west": {"uv": [5, 0, 7, 2], "texture": "#0"},
"up": {"uv": [7, 4, 5, 2], "texture": "#0"},
"down": {"uv": [16, 14, 14, 16], "texture": "#0"}
}
},
{
"from": [8, 5, 7.5],
"to": [8, 16, 8.5],
"rotation": {"angle": -45, "axis": "y", "origin": [8, 0, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 11], "texture": "#0"},
"east": {"uv": [0, 0, 1, 11], "texture": "#0"},
"south": {"uv": [0, 0, 0, 11], "texture": "#0"},
"west": {"uv": [0, 0, 1, 11], "texture": "#0"},
"up": {"uv": [0, 0, 0, 1], "texture": "#0"},
"down": {"uv": [0, 0, 0, 1], "texture": "#0"}
}
},
{
"from": [8, 5, 7.5],
"to": [8, 16, 8.5],
"rotation": {"angle": 45, "axis": "y", "origin": [8, 0, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 11], "texture": "#0"},
"east": {"uv": [1, 0, 2, 11], "texture": "#0"},
"south": {"uv": [0, 0, 0, 11], "texture": "#0"},
"west": {"uv": [1, 0, 2, 11], "texture": "#0"},
"up": {"uv": [0, 1, 0, 0], "texture": "#0"},
"down": {"uv": [0, 0, 0, 1], "texture": "#0"}
}
},
{
"from": [7, 15.5, 7],
"to": [9, 16.5, 9],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
"faces": {
"north": {"uv": [9, 0, 7, 1], "texture": "#0"},
"east": {"uv": [7, 0, 9, 1], "texture": "#0"},
"south": {"uv": [9, 0, 7, 1], "texture": "#0"},
"west": {"uv": [7, 0, 9, 1], "texture": "#0"},
"up": {"uv": [16, 16, 14, 14], "texture": "#0"},
"down": {"uv": [5, 9, 3, 11], "texture": "#0"}
}
}
],
"groups": [
{
"name": "group",
"origin": [16, 8, 16],
"color": 0,
"nbt": "{}",
"children": [0, 1, 2, 3, 4]
}
]
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "new_soviet:block/white/small_cracked_white_tiles",
"particle": "new_soviet:block/white/small_cracked_white_tiles"
}
}

View file

@ -0,0 +1,8 @@
{
"parent": "block/cube_all",
"textures": {
"all": "new_soviet:block/white/small_white_tiles",
"particle": "new_soviet:block/white/small_white_tiles"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "new_soviet:item/doors/chiseled_birch_door"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "new_soviet:item/chiseled_mangrove_door"
"layer0": "new_soviet:item/doors/chiseled_mangrove_door"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "new_soviet:item/chiseled_oak_door"
"layer0": "new_soviet:item/doors/chiseled_oak_door"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "new_soviet:item/chiseled_spruce_door"
"layer0": "new_soviet:item/doors/chiseled_spruce_door"
}
}

View file

@ -0,0 +1,4 @@
{
"parent": "new_soviet:block/cracked_glazed_white_tiles"
}

View file

@ -0,0 +1,4 @@
{
"parent": "new_soviet:block/glazed_white_tiles"
}

View file

@ -0,0 +1,3 @@
{
"parent": "new_soviet:block/light_bulb_off"
}

View file

@ -0,0 +1,4 @@
{
"parent": "new_soviet:block/small_cracked_white_tiles"
}

View file

@ -0,0 +1,4 @@
{
"parent": "new_soviet:block/small_white_tiles"
}

View file

@ -10,6 +10,12 @@
"sounds": [
"new_soviet:siren"
]
},
"light_bulb_broken_sound": {
"subtitle": "subtitles.new_soviet.light_bulb_broken",
"sounds": [
"new_soviet:light_bulb_broken"
]
}
}

View file

@ -0,0 +1 @@
File light_bulb_broken.ogg is converted .mp3 file made by Mike Koenig, which is licensed under CC Attribution 3.0 (https://creativecommons.org/licenses/by/3.0/). Original file is available at https://soundbible.com/105-Light-Bulb-Breaking.html

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

View file

@ -9,8 +9,8 @@
"Karoter2"
],
"contact": {
"homepage": "https://fabricmc.net/",
"sources": "https://github.com/FabricMC/fabric-example-mod"
"homepage": "https://nse.a71.su/",
"sources": "https://git.a71.su/Ethyl/New-Soviet-Era"
},
"license": "All rights reserved",
"icon": "assets/new_soviet/icon.png",