feat: sunflower w/ dye recipies
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
#include "stdafx.h"
|
||||
#include "net.minecraft.world.item.h"
|
||||
#include "net.minecraft.world.level.tile.h"
|
||||
#include "Rose.h"
|
||||
#include "TallGrass2.h"
|
||||
#include "Recipy.h"
|
||||
#include "Recipes.h"
|
||||
#include "ClothDyeRecipes.h"
|
||||
@@ -38,18 +40,66 @@ void ClothDyeRecipes::addRecipes(Recipes *r)
|
||||
}
|
||||
|
||||
// some dye recipes
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 2, DyePowderItem::YELLOW),
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 1, DyePowderItem::YELLOW),
|
||||
L"tg",
|
||||
Tile::flower,L'D');
|
||||
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 2, DyePowderItem::RED),
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 1, DyePowderItem::RED),
|
||||
L"tg",
|
||||
Tile::rose,L'D');
|
||||
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 1, DyePowderItem::LIGHT_BLUE),
|
||||
L"zg",
|
||||
new ItemInstance(Tile::rose, 1, Rose::BLUE_ORCHID),L'D');
|
||||
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 1, DyePowderItem::MAGENTA),
|
||||
L"zg",
|
||||
new ItemInstance(Tile::rose, 1, Rose::ALLIUM),L'D');
|
||||
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 1, DyePowderItem::SILVER),
|
||||
L"zg",
|
||||
new ItemInstance(Tile::rose, 1, Rose::AZURE_BLUET),L'D');
|
||||
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 1, DyePowderItem::RED),
|
||||
L"zg",
|
||||
new ItemInstance(Tile::rose, 1, Rose::RED_TULIP),L'D');
|
||||
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 1, DyePowderItem::ORANGE),
|
||||
L"zg",
|
||||
new ItemInstance(Tile::rose, 1, Rose::ORANGE_TULIP),L'D');
|
||||
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 1, DyePowderItem::SILVER),
|
||||
L"zg",
|
||||
new ItemInstance(Tile::rose, 1, Rose::WHITE_TULIP),L'D');
|
||||
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 1, DyePowderItem::PINK),
|
||||
L"zg",
|
||||
new ItemInstance(Tile::rose, 1, Rose::PINK_TULIP),L'D');
|
||||
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 1, DyePowderItem::SILVER),
|
||||
L"zg",
|
||||
new ItemInstance(Tile::rose, 1, Rose::OXEYE_DAISY),L'D');
|
||||
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 3, DyePowderItem::WHITE),
|
||||
L"ig",
|
||||
Item::bone,L'D');
|
||||
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 2, DyePowderItem::YELLOW),
|
||||
L"zg",
|
||||
new ItemInstance(Tile::tallgrass2, 1, TallGrass2::SUNFLOWER),L'D');
|
||||
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 2, DyePowderItem::MAGENTA),
|
||||
L"zg",
|
||||
new ItemInstance(Tile::tallgrass2, 1, TallGrass2::LILAC),L'D');
|
||||
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 2, DyePowderItem::RED),
|
||||
L"zg",
|
||||
new ItemInstance(Tile::tallgrass2, 1, TallGrass2::ROSE_BUSH),L'D');
|
||||
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 2, DyePowderItem::PINK),
|
||||
L"zg",
|
||||
new ItemInstance(Tile::tallgrass2, 1, TallGrass2::PEONY),L'D');
|
||||
|
||||
r->addShapelessRecipy(new ItemInstance(Item::dye_powder, 2, DyePowderItem::PINK), //
|
||||
L"zzg",
|
||||
new ItemInstance(Item::dye_powder, 1, DyePowderItem::RED),
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
|
||||
HalfTransparentTile::HalfTransparentTile(int id, const wstring &tex, Material *material, bool allowSame) : Tile(id,material,isSolidRender())
|
||||
{
|
||||
setLightBlock(0);
|
||||
this->allowSame = allowSame;
|
||||
this->texture = tex;
|
||||
setLightBlock(0);
|
||||
}
|
||||
|
||||
bool HalfTransparentTile::isSolidRender(bool isServerLevel)
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
SlimeTile::SlimeTile(int id) : HalfTransparentTile(id, L"slime", Material::clay, false)
|
||||
{
|
||||
friction = 0.8f;
|
||||
setLightBlock(0);
|
||||
}
|
||||
|
||||
int SlimeTile::getRenderLayer()
|
||||
|
||||
@@ -30,7 +30,7 @@ static const int DESCRIPTION_IDS[TallGrass2::VARIANT_COUNT] = {
|
||||
|
||||
|
||||
static const wstring TEXTURE_BOTTOM[TallGrass2::VARIANT_COUNT] = {
|
||||
L"tallgrass2_tall_grass_lower", // Sunflower, not implemented yet
|
||||
L"tallgrass2_sunflower_lower",
|
||||
L"tallgrass2_lilac_lower",
|
||||
L"tallgrass2_tall_grass_lower",
|
||||
L"tallgrass2_large_fern_lower",
|
||||
@@ -39,7 +39,25 @@ static const wstring TEXTURE_BOTTOM[TallGrass2::VARIANT_COUNT] = {
|
||||
};
|
||||
|
||||
static const wstring TEXTURE_TOP[TallGrass2::VARIANT_COUNT] = {
|
||||
L"tallgrass2_tall_grass_upper", // Sunflower, not implemented yet
|
||||
L"tallgrass2_sunflower_upper",
|
||||
L"tallgrass2_lilac_upper",
|
||||
L"tallgrass2_tall_grass_upper",
|
||||
L"tallgrass2_large_fern_upper",
|
||||
L"tallgrass2_rose_bush_upper",
|
||||
L"tallgrass2_peony_upper"
|
||||
};
|
||||
|
||||
static const wstring TEXTURE_HEAD_FRONT[TallGrass2::VARIANT_COUNT] = {
|
||||
L"tallgrass2_sunflower_head_front",
|
||||
L"tallgrass2_lilac_upper",
|
||||
L"tallgrass2_tall_grass_upper",
|
||||
L"tallgrass2_large_fern_upper",
|
||||
L"tallgrass2_rose_bush_upper",
|
||||
L"tallgrass2_peony_upper"
|
||||
};
|
||||
|
||||
static const wstring TEXTURE_HEAD_BACK[TallGrass2::VARIANT_COUNT] = {
|
||||
L"tallgrass2_sunflower_head_back",
|
||||
L"tallgrass2_lilac_upper",
|
||||
L"tallgrass2_tall_grass_upper",
|
||||
L"tallgrass2_large_fern_upper",
|
||||
@@ -79,9 +97,12 @@ void TallGrass2::registerIcons(IconRegister* iconRegister)
|
||||
{
|
||||
iconBottom[i] = iconRegister->registerIcon(TEXTURE_BOTTOM[i]);
|
||||
iconTop[i] = iconRegister->registerIcon(TEXTURE_TOP[i]);
|
||||
iconHeadFront[i] = iconRegister->registerIcon(TEXTURE_HEAD_FRONT[i]);
|
||||
iconHeadBack[i] = iconRegister->registerIcon(TEXTURE_HEAD_BACK[i]);
|
||||
}
|
||||
|
||||
icon = iconTop[TALL_GRASS];
|
||||
// sunflower item
|
||||
icon = iconHeadFront[SUNFLOWER] != nullptr ? iconHeadFront[SUNFLOWER] : iconTop[TALL_GRASS];
|
||||
}
|
||||
|
||||
|
||||
@@ -151,6 +172,7 @@ bool TallGrass2::mayPlace(Level* level, int x, int y, int z)
|
||||
&& level->getTile(x, y, z) == 0
|
||||
&& level->getTile(x, y + 1, z) == 0;
|
||||
}
|
||||
|
||||
void TallGrass2::finalizePlacement(Level* level, int x, int y, int z, int data)
|
||||
{
|
||||
if ((data & UPPER_BIT) != 0) return;
|
||||
@@ -169,7 +191,6 @@ void TallGrass2::onPlace(Level* level, int x, int y, int z)
|
||||
level->setTilesDirty(x - 1, y - 1, z - 1, x + 1, y + 2, z + 1);
|
||||
}
|
||||
|
||||
|
||||
bool TallGrass2::canSurvive(Level* level, int x, int y, int z)
|
||||
{
|
||||
int data = level->getData(x, y, z);
|
||||
|
||||
@@ -18,6 +18,8 @@ public:
|
||||
private:
|
||||
Icon* iconBottom[VARIANT_COUNT];
|
||||
Icon* iconTop[VARIANT_COUNT];
|
||||
Icon* iconHeadFront[VARIANT_COUNT];
|
||||
Icon* iconHeadBack[VARIANT_COUNT];
|
||||
|
||||
protected:
|
||||
TallGrass2(int id);
|
||||
@@ -27,6 +29,8 @@ public:
|
||||
virtual Icon* getTexture(int face, int data) override;
|
||||
virtual Icon* getTexture(LevelSource* level, int x, int y, int z, int face) override;
|
||||
virtual void registerIcons(IconRegister* iconRegister) override;
|
||||
Icon* getSunflowerHeadFrontIcon() const { return iconHeadFront[SUNFLOWER]; }
|
||||
Icon* getSunflowerHeadBackIcon() const { return iconHeadBack[SUNFLOWER]; }
|
||||
virtual int getRenderShape() override;
|
||||
virtual bool blocksLight() override;
|
||||
virtual bool isSolidRender(bool isServerLevel = false) override;
|
||||
|
||||
@@ -296,6 +296,12 @@ public:
|
||||
|
||||
virtual Icon* getIcon(int auxValue) override
|
||||
{
|
||||
if (auxValue == TallGrass2::SUNFLOWER)
|
||||
{
|
||||
TallGrass2* tile = static_cast<TallGrass2*>(Tile::tiles[getTileId()]);
|
||||
if (tile != nullptr)
|
||||
return tile->getSunflowerHeadBackIcon();
|
||||
}
|
||||
return Tile::tiles[getTileId()]->getTexture(Facing::UP, auxValue);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user