Make siren sound dynamic and add white recipes

This commit is contained in:
Andrew-71 2023-08-06 15:30:30 +03:00
parent 6c6c90ed4b
commit ea5af6ca06
31 changed files with 654 additions and 3 deletions

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

@ -473,6 +473,7 @@ public class DataGeneration implements DataGeneratorEntrypoint {
public void generate(Consumer<RecipeJsonProvider> exporter) { public void generate(Consumer<RecipeJsonProvider> exporter) {
crissCrossRecipe(exporter, NSE_Blocks.SAND_TILES, Blocks.SMOOTH_SANDSTONE, Blocks.SMOOTH_RED_SANDSTONE); 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.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); crissCrossRecipe(exporter, NSE_Blocks.GREEN_WHITE_TILES, Blocks.POLISHED_DIORITE, Items.GREEN_DYE);
tvRecipe(exporter, NSE_Custom.TV, Items.ORANGE_DYE); tvRecipe(exporter, NSE_Custom.TV, Items.ORANGE_DYE);
@ -613,6 +614,13 @@ public class DataGeneration implements DataGeneratorEntrypoint {
list.add(Blocks.TUFF); list.add(Blocks.TUFF);
}), RecipeCategory.BUILDING_BLOCKS); }), 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 -> { stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> {
list.add(NSE_Blocks.CROSS_ACACIA_PLANKS); list.add(NSE_Blocks.CROSS_ACACIA_PLANKS);
list.add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS); list.add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS);
@ -661,7 +669,7 @@ 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_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_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_SPRUCE_DOOR, Blocks.SPRUCE_DOOR);
offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.CHISELED_BIRCH_DOOR, Blocks.BIRCH_BUTTON); 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)); createStairsRecipe(NSE_Blocks.SAND_TILES_STAIRS, Ingredient.ofItems(NSE_Blocks.SAND_TILES));
} }

View file

@ -43,7 +43,7 @@ public class SirenBlock extends HorizontalFacingBlock {
if (bl) { if (bl) {
world.scheduleBlockTick(pos, this, 4); world.scheduleBlockTick(pos, this, 4);
} else { } else {
world.playSound((PlayerEntity)null, pos.getX(), pos.getY(), pos.getZ(), NSE_Custom.SIREN_SOUND, SoundCategory.NEUTRAL, 5F, 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.setBlockState(pos, (BlockState)state.cycle(ON), 2);
world.scheduleBlockTick(pos, this, 140); world.scheduleBlockTick(pos, this, 140);
} }
@ -88,11 +88,22 @@ public class SirenBlock extends HorizontalFacingBlock {
} else { } else {
NewSoviet.LOG.info("Playing!"); NewSoviet.LOG.info("Playing!");
world.playSound((PlayerEntity)null, pos.getX(), pos.getY(), pos.getZ(), NSE_Custom.SIREN_SOUND, SoundCategory.NEUTRAL, 5F, 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); 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 { static {
ON = RedstoneTorchBlock.LIT; ON = RedstoneTorchBlock.LIT;
} }

View file

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