stone bricks crafting and mossy cobblestone

This commit is contained in:
Lord Cambion 2026-03-19 11:45:24 +01:00
parent 3086f44e1e
commit 6af82612d3
6 changed files with 46 additions and 8 deletions

View file

@ -122,22 +122,36 @@ bool DarkOakFeature::place(Level *worldIn, Random *rand, int x, int y, int z) {
bool DarkOakFeature::checkSpace(Level *worldIn, int x, int y, int z, int height) {
for (int l = 0; l <= height + 1; ++l) {
int i1 = 1;
if (l == 0) i1 = 0;
if (l >= height - 1) i1 = 2;
if (l == 0) {
i1 = 0;
}
if (l >= height - 1) {
i1 = 2;
}
for (int j1 = -i1; j1 <= i1; ++j1) {
for (int k1 = -i1; k1 <= i1; ++k1) {
if (l == 0 && j1 == 0 && k1 == 0) continue;
int tile = worldIn->getTile(x + j1, y + l, z + k1);
// ignores grass, dirt e trunks.
if (tile != 0 &&
tile != Tile::leaves_Id && tile != Tile::leaves2_Id &&
tile != Tile::tallgrass_Id && tile != Tile::sapling_Id &&
tile != Tile::grass_Id && tile != Tile::dirt_Id &&
tile != Tile::treeTrunk_Id && tile != Tile::tree2Trunk_Id) {
return false;
return false;
}
if (tile == Tile::water_Id) {
return false;
}
}
}

View file

@ -34,7 +34,7 @@ bool HugeMushroomFeature::place(Level *level, Random *random, int x, int y, int
if (yy >= 0 && yy < Level::maxBuildHeight)
{
int tt = level->getTile(xx, yy, zz);
if (tt != 0 && tt != Tile::leaves_Id && tt != Tile::leaves2_Id && tt != Tile::tallgrass_Id && tt != Tile::mushroom_brown_Id && tt != Tile::mushroom_red_Id &&tt != Tile::sapling_Id && tt != Tile::sapling2_Id)
if (tt != 0 && tt != Tile::leaves_Id && tt != Tile::leaves2_Id && tt != Tile::tallgrass_Id && tt != Tile::sapling_Id && tt != Tile::sapling2_Id)
free = false;
}
else

View file

@ -28,10 +28,10 @@ RoofedForestBiome::RoofedForestBiome(int id) : Biome(id)
Feature* RoofedForestBiome::getTreeFeature(Random* random)
{
;
if (random->nextInt(5) == 0)
if (random->nextInt(15) == 0)
{
return new HugeMushroomFeature();

View file

@ -1,6 +1,7 @@
#include "stdafx.h"
#include "SmoothStoneBrickTile.h"
#include "net.minecraft.world.h"
#include "Item.h"
const wstring SmoothStoneBrickTile::TEXTURE_NAMES[] = {L"", L"mossy", L"cracked", L"carved"};
@ -12,6 +13,7 @@ const unsigned int SmoothStoneBrickTile::SMOOTH_STONE_BRICK_NAMES[SMOOTH_STONE_B
SmoothStoneBrickTile::SmoothStoneBrickTile(int id) : Tile(id, Material::stone)
{
setBaseItemTypeAndMaterial(Item::eBaseItemType_structblock, Item::eMaterial_stone);
icons = nullptr;
}

View file

@ -46,6 +46,7 @@ void StructureRecipies::addRecipes(Recipes *r)
L'#', new ItemInstance(Tile::quartzBlock, 1, QuartzBlockTile::TYPE_DEFAULT),
L'S');
// 4J Stu - Changed the order, as the blocks that go with sandstone cause a 3-icon scroll
// that touches the text "Structures" in the title in 720 fullscreen.
@ -98,6 +99,27 @@ void StructureRecipies::addRecipes(Recipes *r)
L'#', Tile::stone,
L'S');
r->addShapedRecipy(new ItemInstance(Tile::stoneBrick, 1, SmoothStoneBrickTile::TYPE_DETAIL), //
L"ssczg",
L"#", //
L"#", //
L'#', new ItemInstance(Tile::stoneSlabHalf, 1, StoneSlabTile::SMOOTHBRICK_SLAB),
L'S');
r->addShapedRecipy(new ItemInstance(Tile::stoneBrick, 1, SmoothStoneBrickTile::TYPE_MOSSY), //
L"sczc zg",
L"#1",
L'#', new ItemInstance(Tile::stoneBrick,1),
L'1', new ItemInstance(Tile::vine, 1),
L'S');
r->addShapedRecipy(new ItemInstance(Tile::mossyCobblestone, 1), //
L"sczc zg",
L"#1", //
L'#', new ItemInstance(Tile::cobblestone,1),
L'1', new ItemInstance(Tile::vine, 1),
L'S');
// 4J Stu - Move this into "Recipes" to change the order things are displayed on the crafting menu
//r->addShapedRecipy(new ItemInstance(Tile::ironFence, 16), //

View file

@ -350,7 +350,7 @@ void Tile::staticCtor()
Tile::redBrick = (new Tile(45, Material::stone)) ->setBaseItemTypeAndMaterial(Item::eBaseItemType_structblock, Item::eMaterial_brick)->setDestroyTime(2.0f)->setExplodeable(10)->setSoundType(Tile::SOUND_STONE)->setIconName(L"brick")->setDescriptionId(IDS_TILE_BRICK)->setUseDescriptionId(IDS_DESC_BRICK);
Tile::tnt = (new TntTile(46)) ->setDestroyTime(0.0f)->setSoundType(Tile::SOUND_GRASS)->setIconName(L"tnt")->setDescriptionId(IDS_TILE_TNT)->setUseDescriptionId(IDS_DESC_TNT);
Tile::bookshelf = (new BookshelfTile(47)) ->setBaseItemTypeAndMaterial(Item::eBaseItemType_paper, Item::eMaterial_bookshelf)->setDestroyTime(1.5f)->setSoundType(Tile::SOUND_WOOD)->setIconName(L"bookshelf")->setDescriptionId(IDS_TILE_BOOKSHELF)->setUseDescriptionId(IDS_DESC_BOOKSHELF);
Tile::mossyCobblestone = (new Tile(48, Material::stone)) ->setDestroyTime(2.0f)->setExplodeable(10)->setSoundType(Tile::SOUND_STONE)->setIconName(L"cobblestone_mossy")->setDescriptionId(IDS_TILE_STONE_MOSS)->setUseDescriptionId(IDS_DESC_MOSS_STONE);
Tile::mossyCobblestone = (new Tile(48, Material::stone)) ->setBaseItemTypeAndMaterial(Item::eBaseItemType_structblock, Item::eMaterial_stone)->setDestroyTime(2.0f)->setExplodeable(10)->setSoundType(Tile::SOUND_STONE)->setIconName(L"cobblestone_mossy")->setDescriptionId(IDS_TILE_STONE_MOSS)->setUseDescriptionId(IDS_DESC_MOSS_STONE);
Tile::obsidian = (new ObsidianTile(49)) ->setDestroyTime(50.0f)->setExplodeable(2000)->setSoundType(Tile::SOUND_STONE)->setIconName(L"obsidian")->setDescriptionId(IDS_TILE_OBSIDIAN)->setUseDescriptionId(IDS_DESC_OBSIDIAN);
Tile::torch = (new TorchTile(50)) ->setBaseItemTypeAndMaterial(Item::eBaseItemType_torch, Item::eMaterial_wood)->setDestroyTime(0.0f)->setLightEmission(15 / 16.0f)->setSoundType(Tile::SOUND_WOOD)->setIconName(L"torch_on")->setDescriptionId(IDS_TILE_TORCH)->setUseDescriptionId(IDS_DESC_TORCH)->disableMipmap();