summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MCServer/furnace.txt5
-rw-r--r--source/BlockID.h44
-rw-r--r--source/Piston.cpp1
-rw-r--r--source/World.cpp15
4 files changed, 57 insertions, 8 deletions
diff --git a/MCServer/furnace.txt b/MCServer/furnace.txt
index e5d4ca70f..31d265ce7 100644
--- a/MCServer/furnace.txt
+++ b/MCServer/furnace.txt
@@ -48,6 +48,7 @@
363:1 @ 200 = 364:1 # 1 Raw Beef -> 1 Cooked Beef (steak)
365:1 @ 200 = 366:1 # 1 Raw Chicken -> 1 Cooked Chicken
337:1 @ 200 = 336:1 # 1 Clay -> 1 Clay Brick
+82:1 @ 200 = 172:1 # 1 Clay Block -> 1 Hardened Clay
87:1 @ 200 = 405:1 # 1 NetherRack -> 1 NetherBrick
349:1 @ 200 = 350:1 # 1 Raw Fish -> 1 Cooked Fish
17:1 @ 200 = 263:1:1 # 1 Log -> 1 Charcoal
@@ -60,7 +61,8 @@
#--------------------------
# Fuels
-! 263:1 = 1600 # 1 Charcoal -> 80 sec
+! 263:1 = 1600 # 1 Coal -> 80 sec
+! 263:1:1 = 1600 # 1 Charcoal -> 80 sec
! 42:126:1 = 150 # 1 Halfslab -> 7.5 seconds
! 5:1 = 300 # 1 Planks -> 15 sec
! 280:1 = 100 # 1 Stick -> 5 sec
@@ -73,3 +75,4 @@
! 327:1 = 200000 # 1 Lava Bucket -> 1000 sec
! 17:1 = 300 # 1 Wood -> 15 sec
! 6:1 = 100 # 1 Sapling -> 5 sec
+! 173:1 = 7400 # 1 Coal Block -> 370 sec, based on https://github.com/minetest/common/commit/e0f5a6fd6936052756e27a05a2bfdd6aa86b38e1 which is a clone of MC \ No newline at end of file
diff --git a/source/BlockID.h b/source/BlockID.h
index b1c952857..8a60c16ce 100644
--- a/source/BlockID.h
+++ b/source/BlockID.h
@@ -169,8 +169,11 @@ enum ENUM_BLOCK_ID
E_BLOCK_ACTIVATOR_RAIL = 157,
E_BLOCK_DROPPER = 158,
-
- E_BLOCK_CARPET = 171,
+ E_BLOCK_STAINED_CLAY = 159,
+ E_BLOCK_HAY_BALE = 170
+ E_BLOCK_CARPET = 171,
+ E_BLOCK_HARDENED_CLAY = 172,
+ E_BLOCK_BLOCK_OF_COAL = 173,
// Keep these two as the last values, without a number - they will get their correct number assigned automagically by C++
// IsValidBlock() depends on this
@@ -507,7 +510,42 @@ enum
E_META_WOOL_RED = 14,
E_META_WOOL_BLACK = 15,
-
+ // E_BLOCK_CARPET metas:
+ E_META_CARPET_WHITE = 0,
+ E_META_CARPET_ORANGE = 1,
+ E_META_CARPET_MAGENTA = 2,
+ E_META_CARPET_LIGHTBLUE = 3,
+ E_META_CARPET_YELLOW = 4,
+ E_META_CARPET_LIGHTGREEN = 5,
+ E_META_CARPET_PINK = 6,
+ E_META_CARPET_GRAY = 7,
+ E_META_CARPET_LIGHTGRAY = 8,
+ E_META_CARPET_CYAN = 9,
+ E_META_CARPET_PURPLE = 10,
+ E_META_CARPET_BLUE = 11,
+ E_META_CARPET_BROWN = 12,
+ E_META_CARPET_GREEN = 13,
+ E_META_CARPET_RED = 14,
+ E_META_CARPET_BLACK = 15,
+
+ // E_BLOCK_STAINED_CLAY metas
+ E_META_STAINED_CLAY_WHITE = 0,
+ E_META_STAINED_CLAY_ORANGE = 1,
+ E_META_STAINED_CLAY_MAGENTA = 2,
+ E_META_STAINED_CLAY_LIGHTBLUE = 3,
+ E_META_STAINED_CLAY_YELLOW = 4,
+ E_META_STAINED_CLAY_LIGHTGREEN = 5,
+ E_META_STAINED_CLAY_PINK = 6,
+ E_META_STAINED_CLAY_GRAY = 7,
+ E_META_STAINED_CLAY_LIGHTGRAY = 8,
+ E_META_STAINED_CLAY_CYAN = 9,
+ E_META_STAINED_CLAY_PURPLE = 10,
+ E_META_STAINED_CLAY_BLUE = 11,
+ E_META_STAINED_CLAY_BROWN = 12,
+ E_META_STAINED_CLAY_GREEN = 13,
+ E_META_STAINED_CLAY_RED = 14,
+ E_META_STAINED_CLAY_BLACK = 15,
+
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Item metas:
diff --git a/source/Piston.cpp b/source/Piston.cpp
index 7ffa9febd..058f92a0e 100644
--- a/source/Piston.cpp
+++ b/source/Piston.cpp
@@ -173,6 +173,7 @@ void cPiston::RetractPiston( int pistx, int pisty, int pistz )
)
{
// These cannot be moved by the sticky piston, bail out
+ m_World->SetBlock(pistx, pisty, pistz, E_BLOCK_AIR, 0);
return;
}
diff --git a/source/World.cpp b/source/World.cpp
index 702e94b56..5c15a3965 100644
--- a/source/World.cpp
+++ b/source/World.cpp
@@ -2635,12 +2635,19 @@ void cWorld::TabCompleteUserName(const AString & a_Text, AStringVector & a_Resul
cCSLock Lock(m_CSPlayers);
for (cPlayerList::iterator itr = m_Players.begin(), end = m_Players.end(); itr != end; ++itr)
{
- if (NoCaseCompare((*itr)->GetName().substr(0, a_Text.length()), a_Text) != 0)
+ for (unsigned int selected = 0; selected < a_Text.length(); selected++ )
{
- // Player name doesn't match
- continue;
+ std::string playername ((*itr)->GetName());
+ std::string cut (a_Text.substr(selected, a_Text.length()));
+ std::size_t found = playername.find(cut);
+ if (found!=0)
+ {
+ //Player name doesn't match
+ continue;
+ }
+ a_Results.push_back((*itr)->GetName());
+ break;
}
- a_Results.push_back((*itr)->GetName());
}
}