Charcoal block & fuel support

This commit is contained in:
paulevsGitch 2021-01-31 16:54:04 +03:00
parent 7b40047213
commit 364382b29b
7 changed files with 29 additions and 4 deletions

View file

@ -0,0 +1,13 @@
package ru.betterend.blocks;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.fabricmc.fabric.api.registry.FuelRegistry;
import net.minecraft.block.Blocks;
import ru.betterend.blocks.basis.BlockBase;
public class CharcoalBlock extends BlockBase {
public CharcoalBlock() {
super(FabricBlockSettings.copyOf(Blocks.COAL_BLOCK));
FuelRegistry.INSTANCE.add(this, 6000);
}
}

View file

@ -9,6 +9,7 @@ import com.google.common.collect.Maps;
import it.unimi.dsi.fastutil.objects.Object2IntMap.Entry; import it.unimi.dsi.fastutil.objects.Object2IntMap.Entry;
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
import net.fabricmc.fabric.api.registry.FuelRegistry;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.block.entity.LockableContainerBlockEntity; import net.minecraft.block.entity.LockableContainerBlockEntity;
@ -398,7 +399,7 @@ public class EndStoneSmelterBlockEntity extends LockableContainerBlockEntity imp
return 0; return 0;
} }
Item item = fuel.getItem(); Item item = fuel.getItem();
return AVAILABLE_FUELS.getOrDefault(item, 0); return AVAILABLE_FUELS.getOrDefault(item, getFabricFuel(fuel));
} }
@Override @Override
@ -442,7 +443,7 @@ public class EndStoneSmelterBlockEntity extends LockableContainerBlockEntity imp
} }
public static boolean canUseAsFuel(ItemStack stack) { public static boolean canUseAsFuel(ItemStack stack) {
return AVAILABLE_FUELS.containsKey(stack.getItem()); return AVAILABLE_FUELS.containsKey(stack.getItem()) || getFabricFuel(stack) > 2000;
} }
public static void registerFuel(ItemConvertible fuel, int time) { public static void registerFuel(ItemConvertible fuel, int time) {
@ -452,4 +453,9 @@ public class EndStoneSmelterBlockEntity extends LockableContainerBlockEntity imp
public static Map<Item, Integer> availableFuels() { public static Map<Item, Integer> availableFuels() {
return AVAILABLE_FUELS; return AVAILABLE_FUELS;
} }
private static int getFabricFuel(ItemStack stack) {
Integer ticks = FuelRegistry.INSTANCE.get(stack.getItem());
return ticks == null ? 0 : ticks;
}
} }

View file

@ -178,6 +178,8 @@ public class CraftingRecipes {
.addMaterial('#', EndBlocks.VIOLECITE.stone, EndBlocks.VIOLECITE.bricks, EndBlocks.VIOLECITE.tiles) .addMaterial('#', EndBlocks.VIOLECITE.stone, EndBlocks.VIOLECITE.bricks, EndBlocks.VIOLECITE.tiles)
.addMaterial('P', Blocks.PURPUR_BLOCK) .addMaterial('P', Blocks.PURPUR_BLOCK)
.build(); .build();
GridRecipe.make("charcoal_block", EndBlocks.CHARCOAL_BLOCK).setShape("###", "###", "###").addMaterial('#', Items.CHARCOAL).build();
} }
private static void registerLantern(String name, Block lantern, Block slab) { private static void registerLantern(String name, Block lantern, Block slab) {

View file

@ -21,6 +21,7 @@ import ru.betterend.blocks.BulbVineLanternBlock;
import ru.betterend.blocks.BulbVineLanternColoredBlock; import ru.betterend.blocks.BulbVineLanternColoredBlock;
import ru.betterend.blocks.BulbVineSeedBlock; import ru.betterend.blocks.BulbVineSeedBlock;
import ru.betterend.blocks.ChandelierBlock; import ru.betterend.blocks.ChandelierBlock;
import ru.betterend.blocks.CharcoalBlock;
import ru.betterend.blocks.CharniaBlock; import ru.betterend.blocks.CharniaBlock;
import ru.betterend.blocks.ChorusGrassBlock; import ru.betterend.blocks.ChorusGrassBlock;
import ru.betterend.blocks.DenseEmeraldIceBlock; import ru.betterend.blocks.DenseEmeraldIceBlock;
@ -292,6 +293,7 @@ public class EndBlocks {
public static final MetalMaterial THALLASIUM = MetalMaterial.makeNormal("thallasium", MaterialColor.BLUE, EndToolMaterial.THALLASIUM, EndArmorMaterial.TERMINITE); public static final MetalMaterial THALLASIUM = MetalMaterial.makeNormal("thallasium", MaterialColor.BLUE, EndToolMaterial.THALLASIUM, EndArmorMaterial.TERMINITE);
public static final MetalMaterial TERMINITE = MetalMaterial.makeOreless("terminite", MaterialColor.field_25708, 7F, 9F, EndToolMaterial.TERMINITE, EndArmorMaterial.TERMINITE); public static final MetalMaterial TERMINITE = MetalMaterial.makeOreless("terminite", MaterialColor.field_25708, 7F, 9F, EndToolMaterial.TERMINITE, EndArmorMaterial.TERMINITE);
public static final Block AETERNIUM_BLOCK = registerBlock("aeternium_block", new AeterniumBlock()); public static final Block AETERNIUM_BLOCK = registerBlock("aeternium_block", new AeterniumBlock());
public static final Block CHARCOAL_BLOCK = registerBlock("charcoal_block", new CharcoalBlock());
public static final Block ENDER_BLOCK = registerBlock("ender_block", new EnderBlock()); public static final Block ENDER_BLOCK = registerBlock("ender_block", new EnderBlock());
public static final Block AURORA_CRYSTAL = registerBlock("aurora_crystal", new AuroraCrystalBlock()); public static final Block AURORA_CRYSTAL = registerBlock("aurora_crystal", new AuroraCrystalBlock());

View file

@ -657,5 +657,6 @@
"item.betterend.thallasium_hammer": "Thallasium Hammer", "item.betterend.thallasium_hammer": "Thallasium Hammer",
"item.betterend.thallasium_helmet": "Thallasium Helmet", "item.betterend.thallasium_helmet": "Thallasium Helmet",
"item.betterend.thallasium_leggings": "Thallasium Leggings", "item.betterend.thallasium_leggings": "Thallasium Leggings",
"block.betterend.missing_tile": "Missing Tile" "block.betterend.missing_tile": "Missing Tile",
"block.betterend.charcoal_block": "Charcoal Block"
} }

View file

@ -677,5 +677,6 @@
"item.betterend.thallasium_hammer": "Талласиевый молот", "item.betterend.thallasium_hammer": "Талласиевый молот",
"item.betterend.thallasium_helmet": "Талласиевый шлем", "item.betterend.thallasium_helmet": "Талласиевый шлем",
"item.betterend.thallasium_leggings": "Талласиевые поножи", "item.betterend.thallasium_leggings": "Талласиевые поножи",
"block.betterend.missing_tile": "Отсутствующая плитка" "block.betterend.missing_tile": "Отсутствующая плитка",
"block.betterend.charcoal_block": "Блок древесного угля"
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 414 B