prismarine fiex id 168,168:1,168:2

This commit is contained in:
Lord Cambion
2026-03-19 19:35:43 +01:00
parent 986b56f048
commit 4198a014f3
9 changed files with 89 additions and 29 deletions

View File

@@ -87,9 +87,9 @@ void IUIScene_CreativeMenu::staticCtor()
ITEM(Tile::soulsand_Id)
ITEM(Tile::glowstone_Id)
ITEM(Tile::seaLantern_Id)
ITEM(Tile::prismarine_Id)
ITEM(Tile::prismarinedark_Id)
ITEM(Tile::prismarinebrick_Id)
ITEM_AUX(Tile::prismarine_Id, PrismarineTile::TYPE_DEFAULT)
ITEM_AUX(Tile::prismarine_Id, PrismarineTile::TYPE_BRICKS)
ITEM_AUX(Tile::prismarine_Id, PrismarineTile::TYPE_DARK)
ITEM(Tile::fence_Id)
ITEM_AUX(Tile::dirt_Id, DirtTile::COARSE_DIRT)

View File

@@ -1044,7 +1044,7 @@ void PreStitchedTextureMap::loadUVs()
ADD_ICON(23, 3, L"door_jungle_upper");
ADD_ICON(23, 4, L"door_spruce_upper");
ADD_ICON(23, 13, L"sea_lantern");
ADD_ICON(22, 13, L"prismarine_rough");
ADD_ICON(22, 13, L"prismarine");
ADD_ICON(21, 13, L"prismarine_dark");
ADD_ICON(20, 13, L"prismarine_bricks");

View File

@@ -1,18 +1,60 @@
#include "stdafx.h"
#include "PrismarineTile.h"
#include "net.minecraft.world.item.h"
#include "net.minecraft.world.h"
#include "Item.h"
#include "IconRegister.h"
PrismarineTile::PrismarineTile(int id, Material* material) : Tile(id, material)
const wstring PrismarineTile::TEXTURE_NAMES[] = {L"", L"bricks", L"dark"};
const unsigned int PrismarineTile::PRISMARINE_NAMES[PRISMARINE_NAMES_LENGTH] = {
IDS_TILE_PRISMARINE,
IDS_TILE_PRISMARINE_BRICKS,
IDS_TILE_PRISMARINE_DARK
};
const unsigned int PrismarineTile::PRISMARINE_USE_DESCS[PRISMARINE_NAMES_LENGTH] = {
IDS_ITEM_PRISMARINE_DESC,
IDS_ITEM_PRISMARINE_BRICK_DESC,
IDS_ITEM_PRISMARINE_DARK_DESC
};
PrismarineTile::PrismarineTile(int id) : Tile(id, Material::stone)
{
setBaseItemTypeAndMaterial(Item::eBaseItemType_structblock, Item::eMaterial_stone);
icons = nullptr;
}
void PrismarineTile::registerIcons(IconRegister* iconRegister)
Icon *PrismarineTile::getTexture(int face, int data)
{
icon = iconRegister->registerIcon(L"prismarine_rough");
if (data < 0 || data >= PRISMARINE_NAMES_LENGTH) data = 0;
return icons[data];
}
Icon* PrismarineTile::getTexture(int face, int data)
int PrismarineTile::getSpawnResourcesAuxValue(int data)
{
return icon;
return data;
}
unsigned int PrismarineTile::getDescriptionId(int iData )
{
if(iData < 0 ) iData = 0;
return PrismarineTile::PRISMARINE_NAMES[iData];
}
unsigned int PrismarineTile::getUseDescriptionId(int iData )
{
if(iData < 0 ) iData = 0;
return PrismarineTile::PRISMARINE_USE_DESCS[iData];
}
void PrismarineTile::registerIcons(IconRegister *iconRegister)
{
icons = new Icon*[PRISMARINE_NAMES_LENGTH];
for (int i = 0; i < PRISMARINE_NAMES_LENGTH; i++)
{
wstring name = getIconName();
if (!TEXTURE_NAMES[i].empty() ) name += L"_" + TEXTURE_NAMES[i];
icons[i] = iconRegister->registerIcon(name);
}
}

View File

@@ -1,12 +1,34 @@
#pragma once
#include "Tile.h"
class ChunkRebuildData;
class PrismarineTile : public Tile
{
friend class ChunkRebuildData;
public:
PrismarineTile(int id, Material* material);
virtual void registerIcons(IconRegister* iconRegister);
virtual Icon* getTexture(int face, int data);
static const int TYPE_DEFAULT = 0;
static const int TYPE_BRICKS = 1;
static const int TYPE_DARK = 2;
static const wstring TEXTURE_NAMES[];
static const int PRISMARINE_NAMES_LENGTH = 3;
static const unsigned int PRISMARINE_NAMES[PRISMARINE_NAMES_LENGTH];
static const unsigned int PRISMARINE_USE_DESCS[PRISMARINE_NAMES_LENGTH];
private:
Icon* icon;
Icon **icons;
public:
PrismarineTile(int id);
public:
virtual Icon *getTexture(int face, int data);
virtual unsigned int getDescriptionId(int iData = -1);
virtual unsigned int getUseDescriptionId(int iData = -1);
virtual int getSpawnResourcesAuxValue(int data);
void registerIcons(IconRegister *iconRegister);
};

View File

@@ -464,7 +464,7 @@ Recipes::Recipes()
L'#', Item::prismarine_shard,
L'S');
addShapedRecipy(new ItemInstance(Tile::prismarinebrick, 1), //
addShapedRecipy(new ItemInstance(Tile::prismarine, 1,PrismarineTile::TYPE_BRICKS), //
L"ssscig",
L"###", //
L"###", //
@@ -474,7 +474,7 @@ Recipes::Recipes()
L'S');
addShapedRecipy(new ItemInstance(Tile::prismarinedark, 1), //
addShapedRecipy(new ItemInstance(Tile::prismarine, 1,PrismarineTile::TYPE_DARK), //
L"ssscicig",
L"###", //
L"#X#", //

View File

@@ -28,7 +28,7 @@ int SmoothStoneBrickTile::getSpawnResourcesAuxValue(int data)
return data;
}
unsigned int SmoothStoneBrickTile::getDescriptionId(int iData /*= -1*/)
unsigned int SmoothStoneBrickTile::getDescriptionId(int iData )
{
if(iData < 0 ) iData = 0;
return SmoothStoneBrickTile::SMOOTH_STONE_BRICK_NAMES[iData];

View File

@@ -16,7 +16,7 @@
#include "net.minecraft.world.h"
#include "net.minecraft.h"
#include "Tile.h"
#include "PrismarineTile.h"
wstring Tile::TILE_DESCRIPTION_PREFIX = L"Tile.";
@@ -252,8 +252,7 @@ Tile* Tile::red_sandstone = nullptr;
Tile* Tile::stairs_red_sandstone = nullptr;
Tile* Tile::seaLantern = nullptr;
Tile* Tile::prismarine = nullptr;
Tile* Tile::prismarinedark = nullptr;
Tile* Tile::prismarinebrick = nullptr;
Tile* Tile::tree2Trunk = nullptr;
Tile* Tile::packed_ice = nullptr;
@@ -511,10 +510,7 @@ void Tile::staticCtor()
Tile::door_dark = (new DoorTile(197, Material::wood, L"doorDark"))->setDestroyTime(3.0f)->setSoundType(Tile::SOUND_WOOD)->setIconName(L"door_dark")->setDescriptionId(IDS_TILE_DOOR_DARK)->setNotCollectStatistics()->sendTileData()->setUseDescriptionId(IDS_DESC_DOOR_WOOD);
Tile::seaLantern = (new SeaLanternTile(169, Material::glass))->setBaseItemTypeAndMaterial(Item::eBaseItemType_torch, Item::eMaterial_glowstone)->setDestroyTime(0.3f)->setSoundType(Tile::SOUND_GLASS)->setLightEmission(1.0f)->setIconName(L"glowstone")->setDescriptionId(IDS_TILE_SEA_LANTERN)->setUseDescriptionId(IDS_DESC_GLOWSTONE);
Tile::prismarine = (new PrismarineTile(168, Material::stone))->setBaseItemTypeAndMaterial(Item::eBaseItemType_structblock, Item::eMaterial_stone)->setDestroyTime(1.5f)->setExplodeable(10)->setSoundType(Tile::SOUND_STONE)->setIconName(L"stone")->setDescriptionId(IDS_TILE_PRISMARINE)->setUseDescriptionId(IDS_ITEM_PRISMARINE_DESC);
Tile::prismarinedark = (new Tile(201, Material::stone))->setBaseItemTypeAndMaterial(Item::eBaseItemType_structblock, Item::eMaterial_stone)->setDestroyTime(2.0f)->setExplodeable(10)->setSoundType(Tile::SOUND_STONE)->setIconName(L"prismarine_dark")->setDescriptionId(IDS_TILE_PRISMARINE_DARK)->setUseDescriptionId(IDS_ITEM_PRISMARINE_DARK_DESC);
Tile::prismarinebrick = (new Tile(202, Material::stone))->setBaseItemTypeAndMaterial(Item::eBaseItemType_structblock, Item::eMaterial_stone)->setDestroyTime(2.0f)->setExplodeable(10)->setSoundType(Tile::SOUND_STONE)->setIconName(L"prismarine_bricks")->setDescriptionId(IDS_TILE_PRISMARINE_BRICKS)->setUseDescriptionId(IDS_ITEM_PRISMARINE_BRICK_DESC);
Tile::prismarine = (new PrismarineTile(168))->setBaseItemTypeAndMaterial(Item::eBaseItemType_structblock, Item::eMaterial_stone)->setDestroyTime(1.5f)->setExplodeable(10)->setSoundType(SOUND_STONE)->setIconName(L"prismarine")->setDescriptionId(IDS_TILE_PRISMARINE)->setUseDescriptionId(IDS_ITEM_PRISMARINE_DESC);
// Special cases for certain items since they can have different icons
@@ -586,6 +582,8 @@ void Tile::staticCtor()
}
Tile::transculent[0] = true;
Item::items[prismarine_Id] = (new MultiTextureTileItem(Tile::prismarine_Id - 256, prismarine, (int *)PrismarineTile::PRISMARINE_NAMES, 3))->setIconName(L"prismarine")->setDescriptionId(IDS_TILE_PRISMARINE);
Stats::buildItemStats();
// */

View File

@@ -193,7 +193,7 @@ public:
static const int cobblestone_Id = 4;
static const int wood_Id = 5;
static const int sapling_Id = 6;
static const int sapling2_Id = 199;
static const int sapling2_Id = 199;//should go inside sapling.
static const int unbreakable_Id = 7;
static const int water_Id = 8;
static const int calmWater_Id = 9;
@@ -397,8 +397,6 @@ public:
static const int seaLantern_Id = 169;
static const int prismarine_Id = 168;
static const int prismarinedark_Id = 201;
static const int prismarinebrick_Id = 202;
static Tile *stone;
static GrassTile *grass;
@@ -606,8 +604,7 @@ public:
static Tile* packed_ice;
static Tile* seaLantern;
static Tile* prismarine;
static Tile* prismarinedark;
static Tile* prismarinebrick;
static void staticCtor();

View File

@@ -136,5 +136,6 @@
#include "TreeTile2.h"
#include "SeaLanternTile.h"
#include "LeafTile2.h"
#include "PrismarineTile.h"
#include "PackedIceTile.h"