mirror of
https://github.com/neoStudiosLCE/neoLegacy.git
synced 2026-06-08 23:13:00 +00:00
Fixed log rotation error
This commit is contained in:
parent
9c184fd7ba
commit
4be2e9da8f
|
|
@ -73,8 +73,8 @@ void IUIScene_CreativeMenu::staticCtor()
|
|||
ITEM_AUX(Tile::treeTrunk_Id, TreeTile::SPRUCE_TRUNK)
|
||||
ITEM_AUX(Tile::treeTrunk_Id, TreeTile::BIRCH_TRUNK)
|
||||
ITEM_AUX(Tile::treeTrunk_Id, TreeTile::JUNGLE_TRUNK)
|
||||
ITEM_AUX(Tile::treeTrunk_Id, TreeTile::ACACIA_TRUNK)
|
||||
ITEM_AUX(Tile::treeTrunk_Id, TreeTile::DARK_TRUNK)
|
||||
ITEM_AUX(Tile::tree2Trunk_Id, TreeTile2::ACACIA_TRUNK)
|
||||
ITEM_AUX(Tile::tree2Trunk_Id, TreeTile2::DARK_TRUNK)
|
||||
ITEM(Tile::gravel_Id)
|
||||
ITEM(Tile::redBrick_Id)
|
||||
ITEM(Tile::mossyCobblestone_Id)
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
class RotatedPillarTile : public Tile
|
||||
{
|
||||
public:
|
||||
static const int MASK_TYPE = 0x7;
|
||||
static const int MASK_FACING = 0x18;
|
||||
static const int FACING_Y = 0 << 3;
|
||||
static const int FACING_X = 1 << 3;
|
||||
static const int FACING_Z = 2 << 3;
|
||||
static const int MASK_TYPE = 0x3;
|
||||
static const int MASK_FACING = 0xC;
|
||||
static const int FACING_Y = 0 << 2;
|
||||
static const int FACING_X = 1 << 2;
|
||||
static const int FACING_Z = 2 << 2;
|
||||
|
||||
protected:
|
||||
Icon *iconTop;
|
||||
|
|
|
|||
|
|
@ -11,13 +11,11 @@ const unsigned int TreeTile::TREE_NAMES[ TreeTile::TREE_NAMES_LENGTH] = { IDS_TI
|
|||
IDS_TILE_LOG_SPRUCE,
|
||||
IDS_TILE_LOG_BIRCH,
|
||||
IDS_TILE_LOG_JUNGLE,
|
||||
IDS_TILE_LOG_ACACIA,
|
||||
IDS_TILE_LOG_DARK_OAK
|
||||
};
|
||||
|
||||
const wstring TreeTile::TREE_STRING_NAMES[TreeTile::TREE_NAMES_LENGTH] = { L"oak", L"spruce", L"birch", L"jungle", L"acacia", L"dark" };
|
||||
const wstring TreeTile::TREE_STRING_NAMES[TreeTile::TREE_NAMES_LENGTH] = { L"oak", L"spruce", L"birch", L"jungle" };
|
||||
|
||||
const wstring TreeTile::TREE_TEXTURES[] = { L"tree_side", L"tree_spruce", L"tree_birch", L"tree_jungle", L"tree_acacia", L"tree_dark" };
|
||||
const wstring TreeTile::TREE_TEXTURES[] = { L"tree_side", L"tree_spruce", L"tree_birch", L"tree_jungle"};
|
||||
|
||||
TreeTile::TreeTile(int id) : RotatedPillarTile(id, Material::wood)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -16,13 +16,13 @@ public:
|
|||
static const int ACACIA_TRUNK = 4;
|
||||
static const int DARK_TRUNK = 5;
|
||||
|
||||
static const int MASK_TYPE = 0x7;
|
||||
static const int MASK_FACING = 0x18;
|
||||
static const int FACING_Y = 0 << 3;
|
||||
static const int FACING_X = 1 << 3;
|
||||
static const int FACING_Z = 2 << 3;
|
||||
static const int MASK_TYPE = 0x3;
|
||||
static const int MASK_FACING = 0xC;
|
||||
static const int FACING_Y = 0 << 2;
|
||||
static const int FACING_X = 1 << 2;
|
||||
static const int FACING_Z = 2 << 2;
|
||||
|
||||
static const int TREE_NAMES_LENGTH = 6;
|
||||
static const int TREE_NAMES_LENGTH = 4;
|
||||
|
||||
|
||||
static const unsigned int TREE_NAMES[TREE_NAMES_LENGTH];
|
||||
|
|
|
|||
90
Minecraft.World/TreeTile2.cpp
Normal file
90
Minecraft.World/TreeTile2.cpp
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
#include "stdafx.h"
|
||||
#include "net.minecraft.world.level.h"
|
||||
#include "net.minecraft.world.level.tile.piston.h"
|
||||
#include "net.minecraft.h"
|
||||
#include "net.minecraft.world.h"
|
||||
#include "LeafTile.h"
|
||||
|
||||
#include "TreeTile2.h"
|
||||
|
||||
const unsigned int TreeTile2::TREE_NAMES[TreeTile2::TREE_NAMES_LENGTH] = { IDS_TILE_LOG_ACACIA, IDS_TILE_LOG_DARK_OAK};
|
||||
|
||||
const wstring TreeTile2::TREE_STRING_NAMES[TreeTile2::TREE_NAMES_LENGTH] = { L"acacia", L"dark" };
|
||||
|
||||
const wstring TreeTile2::TREE_TEXTURES[] = { L"tree_acacia", L"tree_dark" };
|
||||
|
||||
TreeTile2::TreeTile2(int id) : RotatedPillarTile(id, Material::wood)
|
||||
{
|
||||
}
|
||||
|
||||
int TreeTile2::getResourceCount(Random* random)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int TreeTile2::getResource(int data, Random* random, int playerBonusLevel)
|
||||
{
|
||||
return Tile::tree2Trunk_Id;
|
||||
}
|
||||
|
||||
void TreeTile2::onRemove(Level* level, int x, int y, int z, int id, int data)
|
||||
{
|
||||
int r = LeafTile::REQUIRED_WOOD_RANGE;
|
||||
int r2 = r + 1;
|
||||
|
||||
if (level->hasChunksAt(x - r2, y - r2, z - r2, x + r2, y + r2, z + r2))
|
||||
{
|
||||
for (int xo = -r; xo <= r; xo++)
|
||||
for (int yo = -r; yo <= r; yo++)
|
||||
for (int zo = -r; zo <= r; zo++)
|
||||
{
|
||||
int t = level->getTile(x + xo, y + yo, z + zo);
|
||||
if (t == Tile::leaves_Id)
|
||||
{
|
||||
int currentData = level->getData(x + xo, y + yo, z + zo);
|
||||
if ((currentData & LeafTile::UPDATE_LEAF_BIT) == 0)
|
||||
{
|
||||
level->setData(x + xo, y + yo, z + zo, currentData | LeafTile::UPDATE_LEAF_BIT, Tile::UPDATE_NONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
unsigned int TreeTile2::getDescriptionId(int iData /*= -1*/)
|
||||
{
|
||||
int type = iData & MASK_TYPE;
|
||||
if (type < 0 || type >= TreeTile2::TREE_NAMES_LENGTH) type = 0;
|
||||
return TreeTile2::TREE_NAMES[type];
|
||||
}
|
||||
|
||||
Icon* TreeTile2::getTypeTexture(int type)
|
||||
{
|
||||
return icons_side[type];
|
||||
}
|
||||
|
||||
Icon* TreeTile2::getTopTexture(int type)
|
||||
{
|
||||
return icons_top[type];
|
||||
}
|
||||
|
||||
int TreeTile2::getWoodType(int data)
|
||||
{
|
||||
return data & MASK_TYPE;
|
||||
}
|
||||
|
||||
shared_ptr<ItemInstance> TreeTile2::getSilkTouchItemInstance(int data)
|
||||
{
|
||||
// fix to avoid getting silktouched sideways logs
|
||||
return std::make_shared<ItemInstance>(id, 1, getWoodType(data));
|
||||
}
|
||||
|
||||
void TreeTile2::registerIcons(IconRegister* iconRegister)
|
||||
{
|
||||
for (int i = 0; i < TREE_NAMES_LENGTH; i++)
|
||||
{
|
||||
icons_side[i] = iconRegister->registerIcon(getIconName() + L"_" + TREE_STRING_NAMES[i]);
|
||||
icons_top[i] = iconRegister->registerIcon(getIconName() + L"_" + TREE_STRING_NAMES[i] + L"_top");
|
||||
}
|
||||
}
|
||||
54
Minecraft.World/TreeTile2.h
Normal file
54
Minecraft.World/TreeTile2.h
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
#pragma once
|
||||
|
||||
#include "RotatedPillarTile.h"
|
||||
|
||||
class ChunkRebuildData;
|
||||
class Player;
|
||||
|
||||
class TreeTile2 : public RotatedPillarTile
|
||||
{
|
||||
friend class Tile;
|
||||
friend class ChunkRebuildData;
|
||||
public:
|
||||
static const int ACACIA_TRUNK = 0;
|
||||
static const int DARK_TRUNK = 1;
|
||||
|
||||
static const int MASK_TYPE = 0x3;
|
||||
static const int MASK_FACING = 0xC;
|
||||
static const int FACING_Y = 0 << 2;
|
||||
static const int FACING_X = 1 << 2;
|
||||
static const int FACING_Z = 2 << 2;
|
||||
|
||||
static const int TREE_NAMES_LENGTH = 2;
|
||||
|
||||
|
||||
static const unsigned int TREE_NAMES[TREE_NAMES_LENGTH];
|
||||
|
||||
static const wstring TREE_STRING_NAMES[TREE_NAMES_LENGTH];
|
||||
|
||||
static const wstring TREE_TEXTURES[];
|
||||
|
||||
private:
|
||||
Icon* icons_side[TREE_NAMES_LENGTH];
|
||||
Icon* icons_top[TREE_NAMES_LENGTH];
|
||||
|
||||
protected:
|
||||
TreeTile2(int id);
|
||||
|
||||
public:
|
||||
virtual int getResourceCount(Random* random);
|
||||
virtual int getResource(int data, Random* random, int playerBonusLevel);
|
||||
virtual void onRemove(Level* level, int x, int y, int z, int id, int data);
|
||||
virtual unsigned int getDescriptionId(int iData = -1);
|
||||
|
||||
protected:
|
||||
virtual Icon* getTypeTexture(int type);
|
||||
virtual Icon* getTopTexture(int type);
|
||||
|
||||
public:
|
||||
static int getWoodType(int data);
|
||||
void registerIcons(IconRegister* iconRegister);
|
||||
|
||||
protected:
|
||||
virtual shared_ptr<ItemInstance> getSilkTouchItemInstance(int data);
|
||||
};
|
||||
|
|
@ -132,4 +132,5 @@
|
|||
#include "Rose.h"
|
||||
#include "SandTile.h"
|
||||
#include "RedSandStoneTile.h"
|
||||
#include "TreeTile2.h"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue