Lifeless Flames
- Empty blaziers can now be lit using flint and steel - Blaze burners now have ambient sounds and sounds played when fed items
This commit is contained in:
parent
675af419ce
commit
103c1a7441
21 changed files with 429 additions and 30 deletions
|
@ -210,6 +210,7 @@ e7c7b952137c4cb615988ea59b9f14303c9a4dfe assets/create/blockstates/limestone_bri
|
|||
17c5a6c1dd094c9201ed90fdcebde620a8a39900 assets/create/blockstates/limestone_cobblestone_wall.json
|
||||
b7506b862d13b3f915c60d38bb7a20afc935f70a assets/create/blockstates/limestone_pillar.json
|
||||
69790737767e06f000c7824749c46664a123160e assets/create/blockstates/linear_chassis.json
|
||||
07bae932a163b81f8749f98287b4fb4949fe0b8b assets/create/blockstates/lit_blaze_burner.json
|
||||
85a58ac539775f90903d9ce66374f3f2ffd4fecf assets/create/blockstates/magenta_sail.json
|
||||
84c494d24cc58af274fdd054896c680e8095d2d0 assets/create/blockstates/magenta_seat.json
|
||||
3bfce5016e5c929b74368dc2d734e62ae34587a4 assets/create/blockstates/magenta_valve_handle.json
|
||||
|
@ -391,17 +392,17 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
|
|||
6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json
|
||||
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
|
||||
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
|
||||
be82e2e68c74c572e72979a6d4a5ec5e571931e2 assets/create/lang/en_ud.json
|
||||
640c617ea3827d1ec40ab634da05f0c5af800f25 assets/create/lang/en_us.json
|
||||
57bbb98446e72a74cb0735b424e9811b61af0c74 assets/create/lang/unfinished/de_de.json
|
||||
4a0592f11dba8b26765e7abab386e46a2366afb8 assets/create/lang/unfinished/fr_fr.json
|
||||
9bb92001a7e88fedff2a2868d2e80243a9306880 assets/create/lang/unfinished/it_it.json
|
||||
c12f58d8ca37c34148a9e8358846e6911870210c assets/create/lang/unfinished/ja_jp.json
|
||||
7cf5988ec697add8deac90791ca0c30c57321ee0 assets/create/lang/unfinished/ko_kr.json
|
||||
1b41fd6a902cf5e845d9eb6aa60c066080a3d20e assets/create/lang/unfinished/nl_nl.json
|
||||
362fb090bbf8a66b874ffa2a550f32b7c6ee2d7d assets/create/lang/unfinished/pt_br.json
|
||||
0764d4f607734ed33299629ea7aceb6c3e67ba0f assets/create/lang/unfinished/ru_ru.json
|
||||
23b2b6f091083dbb505e10febebfa4cab06c1db2 assets/create/lang/unfinished/zh_cn.json
|
||||
69f3eb168fafdc42a2cba5c5821eeb87dbcdbce7 assets/create/lang/en_ud.json
|
||||
efc32f0591cbfb1c2c3e5119bab629fed04c6f1a assets/create/lang/en_us.json
|
||||
3b9923c1a5cb59ef08b762e88f1c44c55348f551 assets/create/lang/unfinished/de_de.json
|
||||
03ce43a553db3cb2b1d668a24028771275043014 assets/create/lang/unfinished/fr_fr.json
|
||||
2779bb9bad72e6cfd8bfe6cd4ee2a1a13db1d5c7 assets/create/lang/unfinished/it_it.json
|
||||
dc9efaab4de074be3c265a28ce173710a57d6df7 assets/create/lang/unfinished/ja_jp.json
|
||||
e5e98067186ef92d140288fa096c9f7d4e9f64b3 assets/create/lang/unfinished/ko_kr.json
|
||||
35707109ce7442f9ab8e188c75f3755c1f6373fe assets/create/lang/unfinished/nl_nl.json
|
||||
92be279a0b85825ae52903bf213ea7fbcdfadaa1 assets/create/lang/unfinished/pt_br.json
|
||||
990a59a78dea2887b4568c00a208bf19c8df9e61 assets/create/lang/unfinished/ru_ru.json
|
||||
f55a881954595cde52362fb42e7e8d3cdd3a0ae8 assets/create/lang/unfinished/zh_cn.json
|
||||
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets/create/models/block/acacia_window.json
|
||||
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets/create/models/block/acacia_window_pane_noside.json
|
||||
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets/create/models/block/acacia_window_pane_noside_alt.json
|
||||
|
@ -2351,6 +2352,7 @@ cb315814960850b5080598b89ee94c833b5048f7 data/create/loot_tables/blocks/limeston
|
|||
92fb16606f289ad33860270d098fad2522b24e09 data/create/loot_tables/blocks/limestone_cobblestone_wall.json
|
||||
371115e5ceb08c07a9ab2371509960c31e0baa8a data/create/loot_tables/blocks/limestone_pillar.json
|
||||
aa751d2e8a7889907c08c4bec6f6ca266230b6d7 data/create/loot_tables/blocks/linear_chassis.json
|
||||
4005c244387ea824202c4c7cd44403e537d9766b data/create/loot_tables/blocks/lit_blaze_burner.json
|
||||
28ae0ee8a0b1fb6becae6264de687fe17940708e data/create/loot_tables/blocks/magenta_sail.json
|
||||
9e5e017cd3b4f544f487a5ca22ef610a4addc8ec data/create/loot_tables/blocks/magenta_seat.json
|
||||
517e983d7387ec0d86845d4cf3deaa6d68c71170 data/create/loot_tables/blocks/magenta_valve_handle.json
|
||||
|
@ -3261,8 +3263,8 @@ d3fdb8ece6cb072a93ddb64a0baad5ac952117a4 data/create/recipes/weathered_limestone
|
|||
6eceb25fabbb6b389ca35de3b829ad061c9c456a data/create/recipes/weathered_limestone_pillar.json
|
||||
11667414f73bc2d00bda7c5c1a7d2934bf6e9165 data/create/recipes/weathered_limestone_pillar_from_weathered_limestone_stonecutting.json
|
||||
f9ecec40e11a87de73c9dc7c2963c1cb10b1a180 data/create/tags/blocks/brittle.json
|
||||
246ee2ec4e778e38a362f319506564886d4e0e76 data/create/tags/blocks/fan_heaters.json
|
||||
551299f2f784435859bef13057c2b033eaefc784 data/create/tags/blocks/fan_transparent.json
|
||||
13b55d6e905a02403d2e95e9ba2357f99c5f2241 data/create/tags/blocks/fan_heaters.json
|
||||
3bc64e3a1e7980237435b1770a9ba2102d57fcd4 data/create/tags/blocks/fan_transparent.json
|
||||
c9ac7e3e5ec18554e7184168d65e9b8e44ef5610 data/create/tags/blocks/sails.json
|
||||
6cdeeac1689f7b5bfd9bc40b462143d8eaf3ad0b data/create/tags/blocks/seats.json
|
||||
50936b211d94167a35ec78c89954082a336b6269 data/create/tags/blocks/valve_handles.json
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "create:block/blaze_burner/block_with_fire"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -211,6 +211,7 @@
|
|||
"block.create.limestone_cobblestone_wall": "\u05DF\u05DF\u0250M \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DDuo\u0287s\u01DD\u026F\u0131\uA780",
|
||||
"block.create.limestone_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DDuo\u0287s\u01DD\u026F\u0131\uA780",
|
||||
"block.create.linear_chassis": "s\u0131ss\u0250\u0265\u0186 \u0279\u0250\u01DDu\u0131\uA780",
|
||||
"block.create.lit_blaze_burner": "\u0279\u01DDu\u0279n\u15FA \u01DDz\u0250\u05DF\u15FA \u0287\u0131\uA780",
|
||||
"block.create.magenta_sail": "\u05DF\u0131\u0250S \u0250\u0287u\u01DDb\u0250W",
|
||||
"block.create.magenta_seat": "\u0287\u0250\u01DDS \u0250\u0287u\u01DDb\u0250W",
|
||||
"block.create.magenta_valve_handle": "\u01DD\u05DFpu\u0250H \u01DD\u028C\u05DF\u0250\u039B \u0250\u0287u\u01DDb\u0250W",
|
||||
|
|
|
@ -214,6 +214,7 @@
|
|||
"block.create.limestone_cobblestone_wall": "Limestone Cobblestone Wall",
|
||||
"block.create.limestone_pillar": "Limestone Pillar",
|
||||
"block.create.linear_chassis": "Linear Chassis",
|
||||
"block.create.lit_blaze_burner": "Lit Blaze Burner",
|
||||
"block.create.magenta_sail": "Magenta Sail",
|
||||
"block.create.magenta_seat": "Magenta Seat",
|
||||
"block.create.magenta_valve_handle": "Magenta Valve Handle",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1038",
|
||||
"_": "Missing Localizations: 1039",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -215,6 +215,7 @@
|
|||
"block.create.limestone_cobblestone_wall": "UNLOCALIZED: Limestone Cobblestone Wall",
|
||||
"block.create.limestone_pillar": "Kalksteinsäule",
|
||||
"block.create.linear_chassis": "Schubgerüst",
|
||||
"block.create.lit_blaze_burner": "UNLOCALIZED: Lit Blaze Burner",
|
||||
"block.create.magenta_sail": "UNLOCALIZED: Magenta Sail",
|
||||
"block.create.magenta_seat": "UNLOCALIZED: Magenta Seat",
|
||||
"block.create.magenta_valve_handle": "UNLOCALIZED: Magenta Valve Handle",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 667",
|
||||
"_": "Missing Localizations: 668",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -215,6 +215,7 @@
|
|||
"block.create.limestone_cobblestone_wall": "UNLOCALIZED: Limestone Cobblestone Wall",
|
||||
"block.create.limestone_pillar": "Pillier de calcaire",
|
||||
"block.create.linear_chassis": "Châssis linéaire",
|
||||
"block.create.lit_blaze_burner": "UNLOCALIZED: Lit Blaze Burner",
|
||||
"block.create.magenta_sail": "UNLOCALIZED: Magenta Sail",
|
||||
"block.create.magenta_seat": "UNLOCALIZED: Magenta Seat",
|
||||
"block.create.magenta_valve_handle": "UNLOCALIZED: Magenta Valve Handle",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 651",
|
||||
"_": "Missing Localizations: 652",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -215,6 +215,7 @@
|
|||
"block.create.limestone_cobblestone_wall": "UNLOCALIZED: Limestone Cobblestone Wall",
|
||||
"block.create.limestone_pillar": "Pilastro di Calcare",
|
||||
"block.create.linear_chassis": "Telaio Lineare",
|
||||
"block.create.lit_blaze_burner": "UNLOCALIZED: Lit Blaze Burner",
|
||||
"block.create.magenta_sail": "UNLOCALIZED: Magenta Sail",
|
||||
"block.create.magenta_seat": "UNLOCALIZED: Magenta Seat",
|
||||
"block.create.magenta_valve_handle": "UNLOCALIZED: Magenta Valve Handle",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 650",
|
||||
"_": "Missing Localizations: 651",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -215,6 +215,7 @@
|
|||
"block.create.limestone_cobblestone_wall": "UNLOCALIZED: Limestone Cobblestone Wall",
|
||||
"block.create.limestone_pillar": "石灰岩の柱",
|
||||
"block.create.linear_chassis": "リニアシャーシ",
|
||||
"block.create.lit_blaze_burner": "UNLOCALIZED: Lit Blaze Burner",
|
||||
"block.create.magenta_sail": "UNLOCALIZED: Magenta Sail",
|
||||
"block.create.magenta_seat": "UNLOCALIZED: Magenta Seat",
|
||||
"block.create.magenta_valve_handle": "UNLOCALIZED: Magenta Valve Handle",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 651",
|
||||
"_": "Missing Localizations: 652",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -215,6 +215,7 @@
|
|||
"block.create.limestone_cobblestone_wall": "UNLOCALIZED: Limestone Cobblestone Wall",
|
||||
"block.create.limestone_pillar": "석회암 기둥",
|
||||
"block.create.linear_chassis": "직선 섀시",
|
||||
"block.create.lit_blaze_burner": "UNLOCALIZED: Lit Blaze Burner",
|
||||
"block.create.magenta_sail": "UNLOCALIZED: Magenta Sail",
|
||||
"block.create.magenta_seat": "UNLOCALIZED: Magenta Seat",
|
||||
"block.create.magenta_valve_handle": "UNLOCALIZED: Magenta Valve Handle",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 979",
|
||||
"_": "Missing Localizations: 980",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -215,6 +215,7 @@
|
|||
"block.create.limestone_cobblestone_wall": "UNLOCALIZED: Limestone Cobblestone Wall",
|
||||
"block.create.limestone_pillar": "Kalksteen Pillar",
|
||||
"block.create.linear_chassis": "Lineaar Frame",
|
||||
"block.create.lit_blaze_burner": "UNLOCALIZED: Lit Blaze Burner",
|
||||
"block.create.magenta_sail": "UNLOCALIZED: Magenta Sail",
|
||||
"block.create.magenta_seat": "UNLOCALIZED: Magenta Seat",
|
||||
"block.create.magenta_valve_handle": "UNLOCALIZED: Magenta Valve Handle",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1045",
|
||||
"_": "Missing Localizations: 1046",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -215,6 +215,7 @@
|
|||
"block.create.limestone_cobblestone_wall": "UNLOCALIZED: Limestone Cobblestone Wall",
|
||||
"block.create.limestone_pillar": "Pilar de Calcário",
|
||||
"block.create.linear_chassis": "Chassis de Translado",
|
||||
"block.create.lit_blaze_burner": "UNLOCALIZED: Lit Blaze Burner",
|
||||
"block.create.magenta_sail": "UNLOCALIZED: Magenta Sail",
|
||||
"block.create.magenta_seat": "UNLOCALIZED: Magenta Seat",
|
||||
"block.create.magenta_valve_handle": "UNLOCALIZED: Magenta Valve Handle",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 320",
|
||||
"_": "Missing Localizations: 321",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -215,6 +215,7 @@
|
|||
"block.create.limestone_cobblestone_wall": "Стена из известняк-булыжника",
|
||||
"block.create.limestone_pillar": "Известковая колонна",
|
||||
"block.create.linear_chassis": "Линейное шасси",
|
||||
"block.create.lit_blaze_burner": "UNLOCALIZED: Lit Blaze Burner",
|
||||
"block.create.magenta_sail": "UNLOCALIZED: Magenta Sail",
|
||||
"block.create.magenta_seat": "UNLOCALIZED: Magenta Seat",
|
||||
"block.create.magenta_valve_handle": "UNLOCALIZED: Magenta Valve Handle",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 333",
|
||||
"_": "Missing Localizations: 334",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -215,6 +215,7 @@
|
|||
"block.create.limestone_cobblestone_wall": "石灰岩圆石墙",
|
||||
"block.create.limestone_pillar": "竖纹石灰岩",
|
||||
"block.create.linear_chassis": "机壳底盘",
|
||||
"block.create.lit_blaze_burner": "UNLOCALIZED: Lit Blaze Burner",
|
||||
"block.create.magenta_sail": "UNLOCALIZED: Magenta Sail",
|
||||
"block.create.magenta_seat": "UNLOCALIZED: Magenta Seat",
|
||||
"block.create.magenta_valve_handle": "UNLOCALIZED: Magenta Valve Handle",
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "create:empty_blaze_burner"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -2,6 +2,7 @@
|
|||
"replace": false,
|
||||
"values": [
|
||||
"create:blaze_burner",
|
||||
"create:lit_blaze_burner",
|
||||
"minecraft:magma_block",
|
||||
"minecraft:campfire",
|
||||
"minecraft:lava",
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
"replace": false,
|
||||
"values": [
|
||||
"create:blaze_burner",
|
||||
"create:lit_blaze_burner",
|
||||
"create:sail_frame",
|
||||
"#minecraft:fences",
|
||||
"minecraft:iron_bars"
|
||||
|
|
|
@ -86,6 +86,7 @@ import com.simibubi.create.content.contraptions.processing.BasinGenerator;
|
|||
import com.simibubi.create.content.contraptions.processing.BasinMovementBehaviour;
|
||||
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock;
|
||||
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlockItem;
|
||||
import com.simibubi.create.content.contraptions.processing.burner.LitBlazeBurnerBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftGenerator;
|
||||
|
@ -445,6 +446,17 @@ public class AllBlocks {
|
|||
.build()
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<LitBlazeBurnerBlock> LIT_BLAZE_BURNER =
|
||||
REGISTRATE.block("lit_blaze_burner", LitBlazeBurnerBlock::new)
|
||||
.initialProperties(SharedProperties::softMetal)
|
||||
.properties(p -> p.lightValue(15))
|
||||
.addLayer(() -> RenderType::getCutoutMipped)
|
||||
.tag(AllBlockTags.FAN_TRANSPARENT.tag, AllBlockTags.FAN_HEATERS.tag)
|
||||
.loot((lt, block) -> lt.registerDropping(block, AllItems.EMPTY_BLAZE_BURNER.get()))
|
||||
.blockstate((c, p) -> p.simpleBlock(c.getEntry(), p.models()
|
||||
.getExistingFile(p.modLoc("block/blaze_burner/block_with_fire"))))
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<DepotBlock> DEPOT = REGISTRATE.block("depot", DepotBlock::new)
|
||||
.initialProperties(SharedProperties::stone)
|
||||
.blockstate((c, p) -> p.simpleBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p)))
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.simibubi.create.content.contraptions.processing.burner;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
|
@ -17,6 +19,7 @@ import net.minecraft.block.Block;
|
|||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.BlockItemUseContext;
|
||||
import net.minecraft.item.FlintAndSteelItem;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -29,6 +32,8 @@ import net.minecraft.util.Hand;
|
|||
import net.minecraft.util.IItemProvider;
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.SoundCategory;
|
||||
import net.minecraft.util.SoundEvents;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.BlockRayTraceResult;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
|
@ -43,6 +48,8 @@ import net.minecraft.world.storage.loot.LootTable;
|
|||
import net.minecraft.world.storage.loot.conditions.BlockStateProperty;
|
||||
import net.minecraft.world.storage.loot.conditions.ILootCondition.IBuilder;
|
||||
import net.minecraft.world.storage.loot.conditions.SurvivesExplosion;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.common.util.FakePlayer;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
|
@ -61,10 +68,9 @@ public class BlazeBurnerBlock extends Block implements ITE<BlazeBurnerTileEntity
|
|||
super.fillStateContainer(builder);
|
||||
builder.add(HEAT_LEVEL);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState p_220082_4_,
|
||||
boolean p_220082_5_) {
|
||||
public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState p_220082_4_, boolean p_220082_5_) {
|
||||
if (world.isRemote)
|
||||
return;
|
||||
TileEntity tileEntity = world.getTileEntity(pos.up());
|
||||
|
@ -104,6 +110,19 @@ public class BlazeBurnerBlock extends Block implements ITE<BlazeBurnerTileEntity
|
|||
boolean dontConsume = player.isCreative();
|
||||
boolean forceOverflow = !(player instanceof FakePlayer);
|
||||
|
||||
if (!state.hasTileEntity()) {
|
||||
if (heldItem.getItem() instanceof FlintAndSteelItem) {
|
||||
world.playSound(player, pos, SoundEvents.ITEM_FLINTANDSTEEL_USE, SoundCategory.BLOCKS, 1.0F,
|
||||
world.rand.nextFloat() * 0.4F + 0.8F);
|
||||
if (world.isRemote)
|
||||
return ActionResultType.SUCCESS;
|
||||
heldItem.damageItem(1, player, p -> p.sendBreakAnimation(hand));
|
||||
world.setBlockState(pos, AllBlocks.LIT_BLAZE_BURNER.getDefaultState());
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
return ActionResultType.PASS;
|
||||
}
|
||||
|
||||
if (!tryInsert(state, world, pos, dontConsume ? heldItem.copy() : heldItem, forceOverflow, false))
|
||||
return ActionResultType.PASS;
|
||||
return ActionResultType.SUCCESS;
|
||||
|
@ -121,8 +140,11 @@ public class BlazeBurnerBlock extends Block implements ITE<BlazeBurnerTileEntity
|
|||
|
||||
if (!burnerTE.tryUpdateFuel(stack, forceOverflow, simulate))
|
||||
return false;
|
||||
if (!simulate && !world.isRemote)
|
||||
if (!simulate && !world.isRemote) {
|
||||
world.playSound(null, pos, SoundEvents.ENTITY_BLAZE_SHOOT, SoundCategory.BLOCKS,
|
||||
.125f + world.rand.nextFloat() * .125f, .75f - world.rand.nextFloat() * .25f);
|
||||
stack.shrink(1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -181,6 +203,18 @@ public class BlazeBurnerBlock extends Block implements ITE<BlazeBurnerTileEntity
|
|||
return builder;
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public void animateTick(BlockState state, World world, BlockPos pos, Random random) {
|
||||
if (random.nextInt(10) != 0)
|
||||
return;
|
||||
if (!state.get(HEAT_LEVEL)
|
||||
.isAtLeast(HeatLevel.SMOULDERING))
|
||||
return;
|
||||
world.playSound((double) ((float) pos.getX() + 0.5F), (double) ((float) pos.getY() + 0.5F),
|
||||
(double) ((float) pos.getZ() + 0.5F), SoundEvents.BLOCK_CAMPFIRE_CRACKLE, SoundCategory.BLOCKS,
|
||||
0.5F + random.nextFloat(), random.nextFloat() * 0.7F + 0.6F, false);
|
||||
}
|
||||
|
||||
public enum HeatLevel implements IStringSerializable {
|
||||
NONE, SMOULDERING, FADING, KINDLED, SEETHING,;
|
||||
|
||||
|
|
|
@ -0,0 +1,108 @@
|
|||
package com.simibubi.create.content.contraptions.processing.burner;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllItems;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.particles.ParticleTypes;
|
||||
import net.minecraft.util.ActionResultType;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.SoundCategory;
|
||||
import net.minecraft.util.SoundEvents;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.BlockRayTraceResult;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.shapes.ISelectionContext;
|
||||
import net.minecraft.util.math.shapes.VoxelShape;
|
||||
import net.minecraft.world.IBlockReader;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
public class LitBlazeBurnerBlock extends Block {
|
||||
|
||||
// 1.16: add a soul fire variant
|
||||
|
||||
// public enum FlameType implements IStringSerializable {
|
||||
// REGULAR, SOULFIRE;
|
||||
//
|
||||
// @Override
|
||||
// public String getName() {
|
||||
// return Lang.asId(name());
|
||||
// }
|
||||
//
|
||||
// }
|
||||
|
||||
public LitBlazeBurnerBlock(Properties p_i48440_1_) {
|
||||
super(p_i48440_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand,
|
||||
BlockRayTraceResult blockRayTraceResult) {
|
||||
ItemStack heldItem = player.getHeldItem(hand);
|
||||
|
||||
// Check for 'Shovels'
|
||||
if (!heldItem.canHarvestBlock(Blocks.SNOW.getDefaultState()))
|
||||
return ActionResultType.PASS;
|
||||
|
||||
world.playSound(player, pos, SoundEvents.ENTITY_GENERIC_EXTINGUISH_FIRE, SoundCategory.BLOCKS, .5f, 2);
|
||||
|
||||
if (world.isRemote)
|
||||
return ActionResultType.SUCCESS;
|
||||
if (!player.isCreative())
|
||||
heldItem.damageItem(1, player, p -> p.sendBreakAnimation(hand));
|
||||
|
||||
world.setBlockState(pos, AllBlocks.BLAZE_BURNER.getDefaultState());
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VoxelShape getShape(BlockState state, IBlockReader reader, BlockPos pos, ISelectionContext context) {
|
||||
return AllBlocks.BLAZE_BURNER.get()
|
||||
.getShape(state, reader, pos, context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(BlockState state, RayTraceResult target, IBlockReader world, BlockPos pos,
|
||||
PlayerEntity player) {
|
||||
return AllItems.EMPTY_BLAZE_BURNER.asStack();
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public void animateTick(BlockState p_180655_1_, World world, BlockPos pos, Random random) {
|
||||
world.addOptionalParticle(ParticleTypes.LARGE_SMOKE, true,
|
||||
(double) pos.getX() + 0.5D + random.nextDouble() / 3.0D * (double) (random.nextBoolean() ? 1 : -1),
|
||||
(double) pos.getY() + random.nextDouble() + random.nextDouble(),
|
||||
(double) pos.getZ() + 0.5D + random.nextDouble() / 3.0D * (double) (random.nextBoolean() ? 1 : -1), 0.0D,
|
||||
0.07D, 0.0D);
|
||||
|
||||
if (random.nextInt(10) == 0) {
|
||||
world.playSound((double) ((float) pos.getX() + 0.5F), (double) ((float) pos.getY() + 0.5F),
|
||||
(double) ((float) pos.getZ() + 0.5F), SoundEvents.BLOCK_CAMPFIRE_CRACKLE, SoundCategory.BLOCKS,
|
||||
0.25F + random.nextFloat() * .25f, random.nextFloat() * 0.7F + 0.6F, false);
|
||||
}
|
||||
|
||||
if (random.nextInt(5) == 0) {
|
||||
for (int i = 0; i < random.nextInt(1) + 1; ++i) {
|
||||
world.addParticle(ParticleTypes.LAVA, (double) ((float) pos.getX() + 0.5F),
|
||||
(double) ((float) pos.getY() + 0.5F), (double) ((float) pos.getZ() + 0.5F),
|
||||
(double) (random.nextFloat() / 2.0F), 5.0E-5D, (double) (random.nextFloat() / 2.0F));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public VoxelShape getCollisionShape(BlockState state, IBlockReader reader, BlockPos pos,
|
||||
ISelectionContext context) {
|
||||
return AllBlocks.BLAZE_BURNER.get()
|
||||
.getCollisionShape(state, reader, pos, context);
|
||||
}
|
||||
|
||||
}
|
|
@ -9,6 +9,7 @@ import java.util.Optional;
|
|||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllRecipeTypes;
|
||||
import com.simibubi.create.content.contraptions.components.fan.SplashingRecipe;
|
||||
import com.simibubi.create.content.contraptions.processing.ProcessingRecipe;
|
||||
|
@ -19,6 +20,7 @@ import com.simibubi.create.foundation.item.ItemHelper;
|
|||
import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult;
|
||||
import com.simibubi.create.foundation.utility.ColorHelper;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.block.CampfireBlock;
|
||||
|
@ -65,12 +67,12 @@ public class InWorldProcessing {
|
|||
IFluidState fluidState = reader.getFluidState(pos);
|
||||
if (fluidState.getFluid() == Fluids.WATER || fluidState.getFluid() == Fluids.FLOWING_WATER)
|
||||
return Type.SPLASHING;
|
||||
if (blockState.getBlock() == Blocks.FIRE
|
||||
|| (blockState.getBlock() == Blocks.CAMPFIRE && blockState.get(CampfireBlock.LIT))
|
||||
Block block = blockState.getBlock();
|
||||
if (block == Blocks.FIRE || AllBlocks.LIT_BLAZE_BURNER.has(blockState)
|
||||
|| (block == Blocks.CAMPFIRE && blockState.get(CampfireBlock.LIT))
|
||||
|| getHeatLevelOf(blockState) == BlazeBurnerBlock.HeatLevel.SMOULDERING)
|
||||
return Type.SMOKING;
|
||||
if (blockState.getBlock() == Blocks.LAVA
|
||||
|| getHeatLevelOf(blockState).isAtLeast(BlazeBurnerBlock.HeatLevel.FADING))
|
||||
if (block == Blocks.LAVA || getHeatLevelOf(blockState).isAtLeast(BlazeBurnerBlock.HeatLevel.FADING))
|
||||
return Type.BLASTING;
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,202 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"1": "create:block/blaze_burner_inner",
|
||||
"2": "create:block/blaze_burner_side",
|
||||
"3": "create:block/dark_metal_block",
|
||||
"particle": "create:block/dark_metal_block",
|
||||
"fire": "block/campfire_fire"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Brazier Sides 1",
|
||||
"from": [2, 5, 2],
|
||||
"to": [14, 14, 14],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 6, 12, 15], "texture": "#2"},
|
||||
"east": {"uv": [0, 6, 12, 15], "texture": "#2"},
|
||||
"south": {"uv": [0, 6, 12, 15], "texture": "#2"},
|
||||
"west": {"uv": [0, 6, 12, 15], "texture": "#2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Brazier Sides 2",
|
||||
"from": [2, 5, 14],
|
||||
"to": [14, 14, 15],
|
||||
"faces": {
|
||||
"north": {"uv": [12, 6, 0, 15], "texture": "#2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Brazier Sides 3",
|
||||
"from": [1, 5, 2],
|
||||
"to": [2, 14, 14],
|
||||
"faces": {
|
||||
"east": {"uv": [12, 6, 0, 15], "texture": "#2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Brazier Sides 4",
|
||||
"from": [2, 5, 1],
|
||||
"to": [14, 14, 2],
|
||||
"faces": {
|
||||
"south": {"uv": [12, 6, 0, 15], "texture": "#2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Brazier Sides 5",
|
||||
"from": [14, 5, 2],
|
||||
"to": [15, 14, 14],
|
||||
"faces": {
|
||||
"west": {"uv": [12, 6, 0, 15], "texture": "#2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Brazier Spikes 1",
|
||||
"from": [2, 14, 13],
|
||||
"to": [14, 17, 14],
|
||||
"rotation": {"angle": 45, "axis": "x", "origin": [8, 14, 14]},
|
||||
"faces": {
|
||||
"south": {"uv": [0, 3, 12, 6], "texture": "#2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Brazier Spikes 2",
|
||||
"from": [2, 14, 2],
|
||||
"to": [3, 17, 14],
|
||||
"rotation": {"angle": 45, "axis": "z", "origin": [2, 14, 8]},
|
||||
"faces": {
|
||||
"west": {"uv": [0, 3, 12, 6], "texture": "#2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Brazier Spikes 3",
|
||||
"from": [2, 14, 2],
|
||||
"to": [14, 17, 3],
|
||||
"rotation": {"angle": -45, "axis": "x", "origin": [8, 14, 2]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 3, 12, 6], "texture": "#2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Brazier Spikes 4",
|
||||
"from": [13, 14, 2],
|
||||
"to": [14, 17, 14],
|
||||
"rotation": {"angle": -45, "axis": "z", "origin": [14, 14, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [0, 3, 12, 6], "texture": "#2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Brazier Spikes 1b",
|
||||
"from": [2, 14, 14],
|
||||
"to": [14, 17, 15],
|
||||
"rotation": {"angle": 45, "axis": "x", "origin": [8, 14, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [12, 3, 0, 6], "texture": "#2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Brazier Spikes 1b",
|
||||
"from": [1, 14, 2],
|
||||
"to": [2, 17, 14],
|
||||
"rotation": {"angle": 45, "axis": "z", "origin": [2, 14, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [12, 3, 0, 6], "texture": "#2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Brazier Spikes 1b",
|
||||
"from": [2, 14, 1],
|
||||
"to": [14, 17, 2],
|
||||
"rotation": {"angle": -45, "axis": "x", "origin": [8, 14, 2]},
|
||||
"faces": {
|
||||
"south": {"uv": [12, 3, 0, 6], "texture": "#2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Brazier Spikes 1b",
|
||||
"from": [14, 14, 2],
|
||||
"to": [15, 17, 14],
|
||||
"rotation": {"angle": -45, "axis": "z", "origin": [14, 14, 8]},
|
||||
"faces": {
|
||||
"west": {"uv": [12, 3, 0, 6], "texture": "#2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Base",
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 4, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [0.5, 8, 0.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"},
|
||||
"east": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"},
|
||||
"south": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"},
|
||||
"west": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#3", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Brazier bottom",
|
||||
"from": [2, 4, 2],
|
||||
"to": [14, 5, 14],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2.5, 8, 2.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 15, 12, 16], "texture": "#2"},
|
||||
"east": {"uv": [0, 15, 12, 16], "texture": "#2"},
|
||||
"south": {"uv": [0, 15, 12, 16], "texture": "#2"},
|
||||
"west": {"uv": [0, 15, 12, 16], "texture": "#2"},
|
||||
"up": {"uv": [2, 2, 14, 14], "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0.8, 1, 8],
|
||||
"to": [15.2, 17, 8],
|
||||
"shade": false,
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8], "rescale": true},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 16], "texture": "#fire"},
|
||||
"south": {"uv": [0, 0, 16, 16], "texture": "#fire"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 1, 0.8],
|
||||
"to": [8, 17, 15.2],
|
||||
"shade": false,
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8], "rescale": true},
|
||||
"faces": {
|
||||
"east": {"uv": [0, 0, 16, 16], "texture": "#fire"},
|
||||
"west": {"uv": [0, 0, 16, 16], "texture": "#fire"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"head": {
|
||||
"translation": [0, 10.5, 0]
|
||||
}
|
||||
},
|
||||
"groups": [
|
||||
{
|
||||
"name": "Brazier",
|
||||
"origin": [0.5, 0.5, 0.5],
|
||||
"children": [
|
||||
{
|
||||
"name": "Brazier Sides",
|
||||
"origin": [0.5, 0.5, 0.5],
|
||||
"children": [0, 1, 2, 3, 4]
|
||||
},
|
||||
{
|
||||
"name": "Brazier Spikes",
|
||||
"origin": [0.5, 0.5, 0.5],
|
||||
"children": [5, 6, 7, 8, 9, 10, 11, 12]
|
||||
}, 13, 14]
|
||||
},
|
||||
{
|
||||
"name": "campfire",
|
||||
"origin": [8, 8, 8],
|
||||
"children": [15, 16]
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in a new issue