Added all the items up to Beta 1.9.5. Added pistons and piston class.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@63 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
parent
cbc22b646d
commit
f32b5aafe8
8
makefile
8
makefile
@ -91,6 +91,7 @@ MCServer : \
|
||||
build/cLog.o\
|
||||
build/cMonster.o\
|
||||
build/cRedstone.o\
|
||||
build/cPiston.o\
|
||||
build/cPawn.o\
|
||||
build/cPickup.o\
|
||||
build/cPlayer.o\
|
||||
@ -277,6 +278,7 @@ MCServer : \
|
||||
build/cLog.o\
|
||||
build/cMonster.o\
|
||||
build/cRedstone.o\
|
||||
build/cPiston.o\
|
||||
build/cPawn.o\
|
||||
build/cPickup.o\
|
||||
build/cPlayer.o\
|
||||
@ -466,6 +468,7 @@ clean :
|
||||
build/cLog.o\
|
||||
build/cMonster.o\
|
||||
build/cRedstone.o\
|
||||
build/cPiston.o\
|
||||
build/cPawn.o\
|
||||
build/cPickup.o\
|
||||
build/cPlayer.o\
|
||||
@ -729,6 +732,11 @@ build/cRedstone.o : source/cRedstone.cpp
|
||||
$(CC) $(CC_OPTIONS) source/cRedstone.cpp -c $(INCLUDE) -o build/cRedstone.o
|
||||
|
||||
|
||||
# Item # 23 -- cPiston --
|
||||
build/cPiston.o : source/cPiston.cpp
|
||||
$(CC) $(CC_OPTIONS) source/cPiston.cpp -c $(INCLUDE) -o build/cPiston.o
|
||||
|
||||
|
||||
# Item # 25 -- cPawn --
|
||||
build/cPawn.o : source/cPawn.cpp
|
||||
$(CC) $(CC_OPTIONS) source/cPawn.cpp -c $(INCLUDE) -o build/cPawn.o
|
||||
|
269
source/BlockID.h
269
source/BlockID.h
@ -24,7 +24,22 @@ enum ENUM_BLOCK_ID
|
||||
E_BLOCK_LEAVES = 18,
|
||||
E_BLOCK_SPONGE = 19,
|
||||
E_BLOCK_GLASS = 20,
|
||||
E_BLOCK_LAPIS_ORE = 21,
|
||||
E_BLOCK_LAPIS_BLOCK = 22,
|
||||
E_BLOCK_DISPENSER = 23,
|
||||
E_BLOCK_SANDSTONE = 24,
|
||||
E_BLOCK_NOTE_BLOCK = 25,
|
||||
E_BLOCK_BED = 26,
|
||||
E_BLOCK_POWERED_RAIL = 27,
|
||||
E_BLOCK_DETECTOR_RAIL = 28,
|
||||
E_BLOCK_STICKY_PISTON = 29,
|
||||
E_BLOCK_COBWEB = 30,
|
||||
E_BLOCK_TALL_GRASS = 31,
|
||||
E_BLOCK_DEAD_BRUSH = 32,
|
||||
E_BLOCK_PISTON = 33,
|
||||
E_BLOCK_PISTON_EXTENSION = 34,
|
||||
E_BLOCK_WHITE_CLOTH = 35,
|
||||
E_BLOCK_PISTON_MOVED_BLOCK = 36,
|
||||
E_BLOCK_YELLOW_FLOWER = 37,
|
||||
E_BLOCK_RED_ROSE = 38,
|
||||
E_BLOCK_BROWN_MUSHROOM = 39,
|
||||
@ -65,14 +80,16 @@ enum ENUM_BLOCK_ID
|
||||
E_BLOCK_REDSTONE_ORE_GLOWING = 74,
|
||||
E_BLOCK_REDSTONE_TORCH_ON = 75,
|
||||
E_BLOCK_REDSTONE_TORCH_OFF = 76,
|
||||
|
||||
E_BLOCK_STONE_BUTTON = 77,
|
||||
E_BLOCK_SNOW = 78,
|
||||
E_BLOCK_ICE = 79,
|
||||
E_BLOCK_SNOW_BLOCK = 80,
|
||||
E_BLOCK_CACTUS = 81,
|
||||
E_BLOCK_CLAY = 82,
|
||||
E_BLOCK_REEDS = 83,
|
||||
|
||||
E_BLOCK_JUKEBOX = 84,
|
||||
E_BLOCK_FENCE = 85,
|
||||
E_BLOCK_PUMPKIN = 86,
|
||||
E_BLOCK_BLOODSTONE = 87,
|
||||
E_BLOCK_SOULSAND = 88,
|
||||
E_BLOCK_GLOWSTONE = 89,
|
||||
@ -83,6 +100,32 @@ enum ENUM_BLOCK_ID
|
||||
E_BLOCK_REDSTONE_REPEATER_ON = 94,
|
||||
E_BLOCK_LOCKED_CHEST = 95,
|
||||
E_BLOCK_TRAPDOOR = 96,
|
||||
E_BLOCK_SILVERFISH_EGG = 97,
|
||||
E_BLOCK_STONE_BRICKS = 98,
|
||||
E_BLOCK_HUGE_BROWN_MUSHROOM = 99,
|
||||
E_BLOCK_HUGE_RED_MUSHROOM = 100,
|
||||
E_BLOCK_IRON_BAR = 101,
|
||||
E_BLOCK_GLASS_PLANE = 102,
|
||||
E_BLOCK_MELON = 103,
|
||||
E_BLOCK_PUMPKIN_STEM = 104,
|
||||
E_BLOCK_MELON_STEM = 105,
|
||||
E_BLOCK_VINES = 106,
|
||||
E_BLOCK_FENCE_GATE = 107,
|
||||
E_BLOCK_BRICK_STAIRS = 108,
|
||||
E_BLOCK_STONE_BRICK_STAIRS = 109,
|
||||
E_BLOCK_MYCELIUM = 110,
|
||||
E_BLOCK_LILY_PAD = 111,
|
||||
E_BLOCK_NETHER_BRICK = 112,
|
||||
E_BLOCK_NETHER_BRICK_FENCE = 113,
|
||||
E_BLOCK_NETHER_BRICK_STAIRS = 114,
|
||||
E_BLOCK_NETHER_WART = 115,
|
||||
E_BLOCK_ENCHANTMENT_TABLE = 116,
|
||||
E_BLOCK_BREWING_STAND = 117,
|
||||
E_BLOCK_CAULDRON = 118,
|
||||
E_BLOCK_END_PORTAL = 119,
|
||||
E_BLOCK_END_PORTAL_FRAME = 120,
|
||||
E_BLOCK_END_STONE = 121,
|
||||
E_BLOCK_ = 121,
|
||||
};
|
||||
//tolua_end
|
||||
|
||||
@ -90,9 +133,9 @@ enum ENUM_BLOCK_ID
|
||||
enum ENUM_ITEM_ID
|
||||
{
|
||||
E_ITEM_EMPTY = -1,
|
||||
E_ITEM_STONE = 1,
|
||||
E_ITEM_GRASS = 2,
|
||||
E_ITEM_DIRT = 3,
|
||||
E_ITEM_STONE = 1,
|
||||
E_ITEM_GRASS = 2,
|
||||
E_ITEM_DIRT = 3,
|
||||
E_ITEM_COBBLESTONE = 4,
|
||||
E_ITEM_WOOD = 5,
|
||||
E_ITEM_SAPLING = 6,
|
||||
@ -108,9 +151,112 @@ enum ENUM_ITEM_ID
|
||||
E_ITEM_COAL_ORE = 16,
|
||||
E_ITEM_LOG = 17,
|
||||
E_ITEM_LEAVES = 18,
|
||||
E_ITEM_SPONGE = 19,
|
||||
E_ITEM_GLASS = 20,
|
||||
E_ITEM_LAPIS_ORE = 21,
|
||||
E_ITEM_LAPIS_BLOCK = 22,
|
||||
E_ITEM_DISPENSER = 23,
|
||||
E_ITEM_SANDSTONE = 24,
|
||||
E_ITEM_NOTE_ITEM = 25,
|
||||
|
||||
E_ITEM_POWERED_RAIL = 27,
|
||||
E_ITEM_DETECTOR_RAIL = 28,
|
||||
E_ITEM_STICKY_PISTON = 29,
|
||||
E_ITEM_COBWEB = 30,
|
||||
E_ITEM_TALL_GRASS = 31,
|
||||
E_ITEM_DEAD_BRUSH = 32,
|
||||
E_ITEM_PISTON = 33,
|
||||
E_ITEM_PISTON_EXTENSION = 34,
|
||||
E_ITEM_WHITE_CLOTH = 35,
|
||||
E_ITEM_PISTON_MOVED_BLOCK = 36,
|
||||
E_ITEM_YELLOW_FLOWER = 37,
|
||||
E_ITEM_RED_ROSE = 38,
|
||||
E_ITEM_BROWN_MUSHROOM = 39,
|
||||
E_ITEM_RED_MUSHROOM = 40,
|
||||
E_ITEM_GOLD_BLOCK = 41,
|
||||
E_ITEM_IRON_BLOCK = 42,
|
||||
E_ITEM_DOUBLE_STEP = 43,
|
||||
E_ITEM_STEP = 44,
|
||||
E_ITEM_BRICK = 45,
|
||||
E_ITEM_TNT = 46,
|
||||
E_ITEM_BOOKCASE = 47,
|
||||
E_ITEM_MOSSY_COBBLESTONE = 48,
|
||||
E_ITEM_OBSIDIAN = 49,
|
||||
E_ITEM_TORCH = 50,
|
||||
E_ITEM_FIRE = 51,
|
||||
E_ITEM_MOB_SPAWNER = 52,
|
||||
E_ITEM_WOODEN_STAIRS = 53,
|
||||
E_ITEM_CHEST = 54,
|
||||
E_ITEM_REDSTONE_WIRE = 55,
|
||||
E_ITEM_DIAMOND_ORE = 56,
|
||||
E_ITEM_DIAMOND_BLOCK = 57,
|
||||
E_ITEM_WORKBENCH = 58,
|
||||
E_ITEM_CROPS = 59,
|
||||
E_ITEM_SOIL = 60,
|
||||
E_ITEM_FURNACE = 61,
|
||||
E_ITEM_BURNING_FURNACE = 62,
|
||||
E_ITEM_SIGN_POST = 63,
|
||||
|
||||
E_ITEM_LADDER = 65,
|
||||
E_ITEM_MINECART_TRACKS = 66,
|
||||
E_ITEM_COBBLESTONE_STAIRS = 67,
|
||||
E_ITEM_WALLSIGN = 68,
|
||||
E_ITEM_LEVER = 69,
|
||||
E_ITEM_STONE_PRESSURE_PLATE = 70,
|
||||
|
||||
E_ITEM_WOODEN_PRESSURE_PLATE = 72,
|
||||
E_ITEM_REDSTONE_ORE = 73,
|
||||
E_ITEM_REDSTONE_ORE_GLOWING = 74,
|
||||
E_ITEM_REDSTONE_TORCH_ON = 75,
|
||||
E_ITEM_REDSTONE_TORCH_OFF = 76,
|
||||
E_ITEM_STONE_BUTTON = 77,
|
||||
E_ITEM_SNOW = 78,
|
||||
E_ITEM_ICE = 79,
|
||||
E_ITEM_SNOW_BLOCK = 80,
|
||||
E_ITEM_CACTUS = 81,
|
||||
|
||||
E_ITEM_REEDS = 83,
|
||||
E_ITEM_JUKEBOX = 84,
|
||||
E_ITEM_FENCE = 85,
|
||||
E_ITEM_PUMPKIN = 86,
|
||||
E_ITEM_BLOODSTONE = 87,
|
||||
E_ITEM_SOULSAND = 88,
|
||||
E_ITEM_GLOWSTONE = 89,
|
||||
E_ITEM_PORT = 90,
|
||||
E_ITEM_JACK_O_LANTERN = 91,
|
||||
|
||||
E_ITEM_REDSTONE_REPEATER_OFF = 93,
|
||||
E_ITEM_REDSTONE_REPEATER_ON = 94,
|
||||
E_ITEM_LOCKED_CHEST = 95,
|
||||
E_ITEM_TRAPDOOR = 96,
|
||||
E_ITEM_SILVERFISH_EGG = 97,
|
||||
E_ITEM_STONE_BRICKS = 98,
|
||||
E_ITEM_HUGE_BROWN_MUSHROOM = 99,
|
||||
E_ITEM_HUGE_RED_MUSHROOM = 100,
|
||||
E_ITEM_IRON_BAR = 101,
|
||||
E_ITEM_GLASS_PLANE = 102,
|
||||
E_ITEM_MELON = 103,
|
||||
E_ITEM_PUMPKIN_STEM = 104,
|
||||
E_ITEM_MELON_STEM = 105,
|
||||
E_ITEM_VINES = 106,
|
||||
E_ITEM_FENCE_GATE = 107,
|
||||
E_ITEM_BRICK_STAIRS = 108,
|
||||
E_ITEM_STONE_BRICK_STAIRS = 109,
|
||||
E_ITEM_MYCELIUM = 110,
|
||||
E_ITEM_LILY_PAD = 111,
|
||||
E_ITEM_NETHER_BRICK = 112,
|
||||
E_ITEM_NETHER_BRICK_FENCE = 113,
|
||||
E_ITEM_NETHER_BRICK_STAIRS = 114,
|
||||
|
||||
E_ITEM_ENCHANTMENT_TABLE = 116,
|
||||
|
||||
E_ITEM_END_PORTAL = 119,
|
||||
E_ITEM_END_PORTAL_FRAME = 120,
|
||||
E_ITEM_END_STONE = 121,
|
||||
|
||||
E_ITEM_IRON_SHOVEL = 256,
|
||||
E_ITEM_IRON_PICKAXE = 257,
|
||||
E_ITEM_IRON_AXE = 258,
|
||||
E_ITEM_FLINT_AND_STEEL = 259,
|
||||
E_ITEM_APPLE = 260,
|
||||
E_ITEM_BOW = 261,
|
||||
@ -119,7 +265,21 @@ enum ENUM_ITEM_ID
|
||||
E_ITEM_DIAMOND = 264,
|
||||
E_ITEM_IRON = 265,
|
||||
E_ITEM_GOLD = 266,
|
||||
|
||||
E_ITEM_IRON_SWORD = 267,
|
||||
E_ITEM_WOODEN_SWORD = 268,
|
||||
E_ITEM_WOODEN_SHOVEL = 269,
|
||||
E_ITEM_WOODEN_PICKAXE = 270,
|
||||
E_ITEM_WOODEN_AXE = 271,
|
||||
E_ITEM_STONE_SWORD = 272,
|
||||
E_ITEM_STONE_SHOVEL = 273,
|
||||
E_ITEM_STONE_PICKAXE = 274,
|
||||
E_ITEM_STONE_AXE = 275,
|
||||
E_ITEM_DIAMOND_SWORD = 276,
|
||||
E_ITEM_DIAMOND_SHOVEL = 277,
|
||||
E_ITEM_DIAMOND_PICKAXE = 278,
|
||||
E_ITEM_DIAMOND_AXE = 279,
|
||||
E_ITEM_STICK = 280,
|
||||
E_ITEM_BOWL = 281,
|
||||
E_ITEM_MUSHROOM_SOUP = 282,
|
||||
E_ITEM_GOLD_SWORD = 283,
|
||||
E_ITEM_GOLD_SHOVEL = 284,
|
||||
@ -127,19 +287,61 @@ enum ENUM_ITEM_ID
|
||||
E_ITEM_GOLD_AXE = 286,
|
||||
E_ITEM_STRING = 287,
|
||||
E_ITEM_FEATHER = 288,
|
||||
|
||||
E_ITEM_GUNPOWDER = 289,
|
||||
E_ITEM_WOODEN_HOE = 290,
|
||||
E_ITEM_STONE_HOE = 291,
|
||||
E_ITEM_IRON_HOE = 292,
|
||||
E_ITEM_DIAMOND_HOE = 293,
|
||||
E_ITEM_GOLD_HOE = 294,
|
||||
E_ITEM_SEEDS = 295,
|
||||
E_ITEM_WHEAT = 296,
|
||||
E_ITEM_BREAD = 297,
|
||||
|
||||
E_ITEM_LEATHER_CAP = 298,
|
||||
E_ITEM_LEATHER_TUNIC = 299,
|
||||
E_ITEM_LEATHER_PANTS = 300,
|
||||
E_ITEM_LEATHER_BOOTS = 301,
|
||||
E_ITEM_CHAIN_HELMET = 302,
|
||||
E_ITEM_CHAIN_CHESTPLATE = 303,
|
||||
E_ITEM_CHAIN_LEGGINGS = 304,
|
||||
E_ITEM_CHAIN_BOOTS = 305,
|
||||
E_ITEM_IRON_HELMET = 306,
|
||||
E_ITEM_IRON_CHESTPLATE = 307,
|
||||
E_ITEM_IRON_LEGGINGS = 308,
|
||||
E_ITEM_IRON_BOOTS = 309,
|
||||
E_ITEM_DIAMOND_HELMET = 310,
|
||||
E_ITEM_DIAMOND_CHESTPLATE = 311,
|
||||
E_ITEM_DIAMOND_LEGGINGS = 312,
|
||||
E_ITEM_DIAMOND_BOOTS = 313,
|
||||
E_ITEM_GOLD_HELMET = 314,
|
||||
E_ITEM_GOLD_CHESTPLATE = 315,
|
||||
E_ITEM_GOLD_LEGGINGS = 316,
|
||||
E_ITEM_GOLD_BOOTS = 317,
|
||||
E_ITEM_FLINT = 318,
|
||||
E_ITEM_RAW_MEAT = 319,
|
||||
E_ITEM_COOKED_MEAT = 320,
|
||||
|
||||
E_ITEM_PAINTINGS = 321,
|
||||
E_ITEM_GOLDEN_APPLE = 322,
|
||||
E_ITEM_SIGN = 323,
|
||||
|
||||
E_ITEM_WOODEN_DOOR = 324,
|
||||
E_ITEM_BUCKET = 325,
|
||||
E_ITEM_WATER_BUCKET = 326,
|
||||
E_ITEM_LAVA_BUCKET = 327,
|
||||
E_ITEM_MINECART = 328,
|
||||
E_ITEM_SADDLE = 329,
|
||||
E_ITEM_IRON_DOOR = 330,
|
||||
E_ITEM_REDSTONE_DUST = 331,
|
||||
|
||||
E_ITEM_SNOWBALL = 332,
|
||||
E_ITEM_BOAT = 333,
|
||||
E_ITEM_LEATHER = 334,
|
||||
E_ITEM_MILK = 335,
|
||||
|
||||
E_ITEM_CLAY_BRICK = 336,
|
||||
E_ITEM_CLAY = 337,
|
||||
E_ITEM_SUGAR_CANE = 338,
|
||||
E_ITEM_PAPER = 339,
|
||||
E_ITEM_BOOK = 340,
|
||||
E_ITEM_SLIMEBALL = 341,
|
||||
E_ITEM_CHEST_MINECART = 342,
|
||||
E_ITEM_FURNACE_MINECART = 343,
|
||||
E_ITEM_EGG = 344,
|
||||
E_ITEM_COMPASS = 345,
|
||||
E_ITEM_FISHING_ROD = 346,
|
||||
@ -147,8 +349,49 @@ enum ENUM_ITEM_ID
|
||||
E_ITEM_GLOWSTONE_DUST = 348,
|
||||
E_ITEM_RAW_FISH = 349,
|
||||
E_ITEM_COOKED_FISH = 350,
|
||||
|
||||
E_ITEM_DYE = 351,
|
||||
E_ITEM_BONE = 352,
|
||||
E_ITEM_SUGAR = 353,
|
||||
E_ITEM_CAKE = 354,
|
||||
E_ITEM_BED = 355,
|
||||
E_ITEM_REDSTONE_REPEATER = 356,
|
||||
E_ITEM_COOKIE = 357,
|
||||
E_ITEM_MAP = 358,
|
||||
E_ITEM_SHEARS = 359,
|
||||
E_ITEM_MELON_SLICES = 360,
|
||||
E_ITEM_PUMPKIN_SEEDS = 361,
|
||||
E_ITEM_MELON_SEEDS = 362,
|
||||
E_ITEM_RAW_BEEF = 363,
|
||||
E_ITEM_STEAK = 364,
|
||||
E_ITEM_RAW_CHICKEN = 365,
|
||||
E_ITEM_COOKED_CHICKEN = 366,
|
||||
E_ITEM_ROTTEN_FLESH = 367,
|
||||
E_ITEM_ENDER_PEARL = 368,
|
||||
E_ITEM_BLAZE_ROD = 369,
|
||||
E_ITEM_GHAST_TEAR = 370,
|
||||
E_ITEM_GOLD_NUGGET = 371,
|
||||
E_ITEM_NETHER_WART = 372,
|
||||
E_ITEM_POTIONS = 373,
|
||||
E_ITEM_GLASS_BOTTLE = 374,
|
||||
E_ITEM_SPIDER_EYE = 375,
|
||||
E_ITEM_FERMENTED_SPIDER_EYE = 376,
|
||||
E_ITEM_BLAZE_POWDER = 377,
|
||||
E_ITEM_MAGMA_CREAM = 378,
|
||||
E_ITEM_BREWING_STAND = 379,
|
||||
E_ITEM_CAULDRON = 380,
|
||||
E_ITEM_EYE_OF_ENDER = 381,
|
||||
E_ITEM_GLISTERING_MELON = 382,
|
||||
|
||||
E_ITEM_13_DISC = 2256,
|
||||
E_ITEM_CAT_DISC = 2257,
|
||||
E_ITEM_BLOCKS_DISC = 2258,
|
||||
E_ITEM_CHIRP_DISC = 2259,
|
||||
E_ITEM_FAR_DISC = 2260,
|
||||
E_ITEM_MALL_DISC = 2261,
|
||||
E_ITEM_MELLOHI_DISC = 2262,
|
||||
E_ITEM_STAL_DISC = 2263,
|
||||
E_ITEM_STRAD_DISC = 2264,
|
||||
E_ITEM_WARD_DISC = 2265,
|
||||
E_ITEM_11_DISC = 2266,
|
||||
};
|
||||
//tolua_end
|
||||
|
@ -18,9 +18,9 @@ extern bool g_BlockOneHitDig[];
|
||||
inline bool IsValidBlock( int a_BlockID ) //tolua_export
|
||||
{ //tolua_export
|
||||
if( a_BlockID > -1 &&
|
||||
a_BlockID <= 96 &&
|
||||
a_BlockID != 29 &&
|
||||
a_BlockID != 33 &&
|
||||
a_BlockID <= 121 && //items to 109 are valid for 1.8.1.. 1.9.5 is up to 121
|
||||
//a_BlockID != 29 && allow pistons
|
||||
//a_BlockID != 33 && allow pistons
|
||||
a_BlockID != 34 &&
|
||||
a_BlockID != 36 )
|
||||
{
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "cLadder.h"
|
||||
#include "cSign.h"
|
||||
#include "cRedstone.h"
|
||||
#include "cPiston.h"
|
||||
#include "cBlockToPickup.h"
|
||||
#include "cMonster.h"
|
||||
#include "cChatColor.h"
|
||||
@ -487,7 +488,6 @@ void cClientHandle::HandlePacket( cPacket* a_Packet )
|
||||
break;
|
||||
case E_BLOCK_DIG:
|
||||
{
|
||||
|
||||
//LOG("TimeP: %f", m_Player->GetLastBlockActionTime() );
|
||||
//LOG("TimeN: %f", cRoot::Get()->GetWorld()->GetTime() );
|
||||
if ( cRoot::Get()->GetWorld()->GetTime() - m_Player->GetLastBlockActionTime() < 0.1 ) { //only allow block interactions every 0.1 seconds
|
||||
@ -788,7 +788,14 @@ void cClientHandle::HandlePacket( cPacket* a_Packet )
|
||||
MetaData = cRedstone::RepeaterRotationToMetaData( m_Player->GetRotation() );
|
||||
PacketData->m_ItemType = E_BLOCK_REDSTONE_REPEATER_OFF;
|
||||
break;
|
||||
case E_BLOCK_PISTON:
|
||||
case E_BLOCK_STICKY_PISTON:
|
||||
MetaData = cPiston::RotationPitchToMetaData( m_Player->GetRotation(), m_Player->GetPitch() );
|
||||
break;
|
||||
case E_BLOCK_COBBLESTONE_STAIRS:
|
||||
case E_BLOCK_BRICK_STAIRS:
|
||||
case E_BLOCK_STONE_BRICK_STAIRS:
|
||||
case E_BLOCK_NETHER_BRICK_STAIRS:
|
||||
case E_BLOCK_WOODEN_STAIRS:
|
||||
MetaData = cStairs::RotationToMetaData( m_Player->GetRotation() );
|
||||
break;
|
||||
@ -1045,9 +1052,10 @@ void cClientHandle::Tick(float a_Dt)
|
||||
Send( cPacket_UpdateHealth( (short)m_Player->GetHealth() ) );
|
||||
|
||||
//quick bugfix to prevent players from spawning in ground
|
||||
m_Player->TeleportTo( m_Player->GetPosX(), m_Player->GetPosY()+1, m_Player->GetPosZ() );
|
||||
//m_Player->TeleportTo( m_Player->GetPosX(), m_Player->GetPosY()+1, m_Player->GetPosZ() );
|
||||
|
||||
World->UnlockEntities();
|
||||
m_Player->TeleportTo( m_Player->GetPosX(), m_Player->GetPosY()+1, m_Player->GetPosZ() );
|
||||
}
|
||||
}
|
||||
|
||||
|
50
source/cPiston.cpp
Normal file
50
source/cPiston.cpp
Normal file
@ -0,0 +1,50 @@
|
||||
#include "cPiston.h"
|
||||
#include "cRoot.h"
|
||||
#include "cWorld.h"
|
||||
#include "BlockID.h"
|
||||
|
||||
cPiston::cPiston( cWorld* a_World )
|
||||
:m_World ( a_World )
|
||||
{
|
||||
|
||||
}
|
||||
//Todo: All piston stuff below.
|
||||
void cPiston::ExtendPiston( int pistx, int pisty, int pistz )
|
||||
{
|
||||
cWorld* World = cRoot::Get()->GetWorld();
|
||||
char metadata = World->GetBlockMeta( pistx, pisty, pistz);
|
||||
|
||||
|
||||
if ( ( (int)World->GetBlock( pistx, pisty, pistz ) == E_BLOCK_STICKY_PISTON ) || ( (int)World->GetBlock( pistx, pisty, pistz ) == E_BLOCK_PISTON ) ) {
|
||||
//find direction piston is facing base on meta.
|
||||
//verify piston is not already extended.
|
||||
//check all 16 blocks in front of it for the first airblock
|
||||
//if there's and air block move those found blocks by 1 and insert E_BLOCK_PISTON_EXTENSION in the spot infront of the piston facing right direction
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void cPiston::RetractPiston( int pistx, int pisty, int pistz )
|
||||
{
|
||||
cWorld* World = cRoot::Get()->GetWorld();
|
||||
char metadata = World->GetBlockMeta( pistx, pisty, pistz);
|
||||
|
||||
if ( (int)World->GetBlock( pistx, pisty, pistz ) == E_BLOCK_PISTON ) {
|
||||
//find direction piston is facing base on meta.
|
||||
//verify piston is extended.
|
||||
//check block in front to see if it's an E_BLOCK_PISTON_EXTENSION
|
||||
//delete that block
|
||||
//set piston meta to unextended
|
||||
}
|
||||
|
||||
if ( (int)World->GetBlock( pistx, pisty, pistz ) == E_BLOCK_STICKY_PISTON ) {
|
||||
//find direction piston is facing base on meta.
|
||||
//verify piston is extended.
|
||||
//check block in front to see if it's an E_BLOCK_PISTON_EXTENSION
|
||||
//delete that block
|
||||
//move block one more in front of it to postion E_BLOCK_PISTON_EXTENSION was facing.
|
||||
//set piston meta to unextended
|
||||
}
|
||||
|
||||
}
|
45
source/cPiston.h
Normal file
45
source/cPiston.h
Normal file
@ -0,0 +1,45 @@
|
||||
#pragma once
|
||||
#include <cstdio>
|
||||
class cWorld;
|
||||
class cPiston
|
||||
{
|
||||
public:
|
||||
|
||||
cPiston( cWorld* a_World );
|
||||
|
||||
static char RotationPitchToMetaData( float a_Rotation, float a_Pitch )
|
||||
{
|
||||
//if pitch higher than this value set up
|
||||
//else if pitch lower than this value set down,
|
||||
//else just do rotation:
|
||||
std::printf("pre:a_Rotation %f \n",a_Rotation);
|
||||
std::printf("a_Pitch %f \n",a_Pitch);
|
||||
|
||||
if (a_Pitch >= 50.f ){
|
||||
return 0x1;
|
||||
} else if ( a_Pitch <= -50.f ) {
|
||||
return 0x0;
|
||||
} else {
|
||||
|
||||
a_Rotation += 90 + 45; // So its not aligned with axis
|
||||
std::printf("a_Rotation %f \n",a_Rotation);
|
||||
|
||||
if( a_Rotation > 360.f ) a_Rotation -= 360.f;
|
||||
if( a_Rotation >= 0.f && a_Rotation < 90.f )
|
||||
return 0x4;
|
||||
else if( a_Rotation >= 180 && a_Rotation < 270 )
|
||||
return 0x5;
|
||||
else if( a_Rotation >= 90 && a_Rotation < 180 )
|
||||
return 0x2;
|
||||
else
|
||||
return 0x3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ExtendPiston( int, int, int );
|
||||
void RetractPiston( int, int, int );
|
||||
|
||||
cWorld* m_World;
|
||||
|
||||
};
|
Loading…
Reference in New Issue
Block a user