diff --git a/Minecraft.Client/Common/Media/MediaWindows64.arc b/Minecraft.Client/Common/Media/MediaWindows64.arc
index 58ff6bad..ea0095ab 100644
Binary files a/Minecraft.Client/Common/Media/MediaWindows64.arc and b/Minecraft.Client/Common/Media/MediaWindows64.arc differ
diff --git a/Minecraft.Client/Common/UI/IUIScene_CreativeMenu.cpp b/Minecraft.Client/Common/UI/IUIScene_CreativeMenu.cpp
index ae2635b4..85178827 100644
--- a/Minecraft.Client/Common/UI/IUIScene_CreativeMenu.cpp
+++ b/Minecraft.Client/Common/UI/IUIScene_CreativeMenu.cpp
@@ -440,7 +440,7 @@ void IUIScene_CreativeMenu::staticCtor()
BuildFirework(list, FireworksItem::TYPE_BURST, DyePowderItem::MAGENTA, 3, true, false, DyePowderItem::BLUE);
BuildFirework(list, FireworksItem::TYPE_STAR, DyePowderItem::YELLOW, 2, false, true, DyePowderItem::ORANGE);
-#ifndef _CONTENT_PACKAGE
+
DEF(eCreativeInventory_ArtToolsMisc)
if(app.DebugSettingsOn())
{
@@ -452,7 +452,6 @@ void IUIScene_CreativeMenu::staticCtor()
ITEM_AUX(Item::spawnEgg_Id, 52 | (2 << 12)); // Spider-Jockey
ITEM_AUX(Item::spawnEgg_Id, 63); // Enderdragon
}
-#endif
// Food
DEF(eCreativeInventory_Food)
diff --git a/Minecraft.Client/Common/res/TitleUpdate/res/colours.xml b/Minecraft.Client/Common/res/TitleUpdate/res/colours.xml
index 6c45b660..1a657e0e 100644
--- a/Minecraft.Client/Common/res/TitleUpdate/res/colours.xml
+++ b/Minecraft.Client/Common/res/TitleUpdate/res/colours.xml
@@ -273,6 +273,8 @@ if __name__=="__main__": notecolors()
+
+
diff --git a/Minecraft.Client/Windows64Media/loc/stringsGeneric.xml b/Minecraft.Client/Windows64Media/loc/stringsGeneric.xml
index b2b63217..4ee26883 100644
--- a/Minecraft.Client/Windows64Media/loc/stringsGeneric.xml
+++ b/Minecraft.Client/Windows64Media/loc/stringsGeneric.xml
@@ -8943,5 +8943,41 @@ All Ender Chests in a world are linked. Items placed into an Ender Chest are acc
A harmless creature. May drop a rabbit hide or a rabbit's foot when killed.
+
+ Rabbit Hide
+
+
+ Used in crafting leather.
+
+
+ Rabbit's Foot
+
+
+ Used as an ingredient for brewing potions.
+
+
+ Raw Rabbit
+
+
+ Restores 0.5{*ICON_SHANK_01*}, or can be cooked in a furnace.
+
+
+ Cooked Rabbit
+
+
+ Restores 2.5{*ICON_SHANK_01*}. Used to cook up some rabbit stew.
+
+
+ Raw Mutton
+
+
+ Restores 1{*ICON_SHANK_01*}, or can be cooked in a furnace.
+
+
+ Cooked Mutton
+
+
+ Restores 3{*ICON_SHANK_01*}. Created by cooking raw mutton in a furnace.
+
\ No newline at end of file
diff --git a/Minecraft.Client/Windows64Media/strings.h b/Minecraft.Client/Windows64Media/strings.h
index 9fffb0a2..fecbcd57 100644
--- a/Minecraft.Client/Windows64Media/strings.h
+++ b/Minecraft.Client/Windows64Media/strings.h
@@ -1,7 +1,7 @@
#pragma once
// Auto-generated by StringTable builder — do not edit manually.
// Source language: en-US
-// Total strings: 2319
+// Total strings: 2331
#define IDS_NULL 0
#define IDS_OK 1
@@ -2198,127 +2198,139 @@
#define IDS_DESC_ARMOR_STAND 2192
#define IDS_RABBIT 2193
#define IDS_DESC_RABBIT 2194
-#define IDS_LANG_SYSTEM 2195
-#define IDS_LANG_ENGLISH 2196
-#define IDS_LANG_GERMAN 2197
-#define IDS_LANG_SPANISH 2198
-#define IDS_LANG_SPANISH_SPAIN 2199
-#define IDS_LANG_SPANISH_LATIN_AMERICA 2200
-#define IDS_LANG_FRENCH 2201
-#define IDS_LANG_ITALIAN 2202
-#define IDS_LANG_PORTUGUESE 2203
-#define IDS_LANG_PORTUGUESE_PORTUGAL 2204
-#define IDS_LANG_PORTUGUESE_BRAZIL 2205
-#define IDS_LANG_JAPANESE 2206
-#define IDS_LANG_KOREAN 2207
-#define IDS_LANG_CHINESE_TRADITIONAL 2208
-#define IDS_LANG_CHINESE_SIMPLIFIED 2209
-#define IDS_LANG_DANISH 2210
-#define IDS_LANG_FINISH 2211
-#define IDS_LANG_DUTCH 2212
-#define IDS_LANG_POLISH 2213
-#define IDS_LANG_RUSSIAN 2214
-#define IDS_LANG_SWEDISH 2215
-#define IDS_LANG_NORWEGIAN 2216
-#define IDS_LANG_GREEK 2217
-#define IDS_LANG_TURKISH 2218
-#define IDS_LEADERBOARD_KILLS_EASY 2219
-#define IDS_LEADERBOARD_KILLS_NORMAL 2220
-#define IDS_LEADERBOARD_KILLS_HARD 2221
-#define IDS_LEADERBOARD_MINING_BLOCKS_PEACEFUL 2222
-#define IDS_LEADERBOARD_MINING_BLOCKS_EASY 2223
-#define IDS_LEADERBOARD_MINING_BLOCKS_NORMAL 2224
-#define IDS_LEADERBOARD_MINING_BLOCKS_HARD 2225
-#define IDS_LEADERBOARD_FARMING_PEACEFUL 2226
-#define IDS_LEADERBOARD_FARMING_EASY 2227
-#define IDS_LEADERBOARD_FARMING_NORMAL 2228
-#define IDS_LEADERBOARD_FARMING_HARD 2229
-#define IDS_LEADERBOARD_TRAVELLING_PEACEFUL 2230
-#define IDS_LEADERBOARD_TRAVELLING_EASY 2231
-#define IDS_LEADERBOARD_TRAVELLING_NORMAL 2232
-#define IDS_LEADERBOARD_TRAVELLING_HARD 2233
-#define IDS_TIPS_GAMETIP_0 2234
-#define IDS_TIPS_GAMETIP_1 2235
-#define IDS_TIPS_GAMETIP_48 2236
-#define IDS_TIPS_GAMETIP_44 2237
-#define IDS_TIPS_GAMETIP_45 2238
-#define IDS_TIPS_TRIVIA_4 2239
-#define IDS_TIPS_TRIVIA_17 2240
-#define IDS_HOW_TO_PLAY_MULTIPLAYER 2241
-#define IDS_HOW_TO_PLAY_SOCIALMEDIA 2242
-#define IDS_HOW_TO_PLAY_CREATIVE 2243
-#define IDS_TUTORIAL_TASK_FLY 2244
-#define IDS_TOOLTIPS_SELECTDEVICE 2245
-#define IDS_TOOLTIPS_CHANGEDEVICE 2246
-#define IDS_TOOLTIPS_VIEW_GAMERCARD 2247
-#define IDS_TOOLTIPS_VIEW_GAMERPROFILE 2248
-#define IDS_TOOLTIPS_INVITE_PARTY 2249
-#define IDS_CONFIRM_START_CREATIVE 2250
-#define IDS_CONFIRM_START_SAVEDINCREATIVE 2251
-#define IDS_CONFIRM_START_SAVEDINCREATIVE_CONTINUE 2252
-#define IDS_CONFIRM_START_HOST_PRIVILEGES 2253
-#define IDS_CONNECTION_LOST_LIVE 2254
-#define IDS_CONNECTION_LOST_LIVE_NO_EXIT 2255
-#define IDS_AWARD_AVATAR1 2256
-#define IDS_AWARD_AVATAR2 2257
-#define IDS_AWARD_AVATAR3 2258
-#define IDS_AWARD_THEME 2259
-#define IDS_UNLOCK_ACHIEVEMENT_TEXT 2260
-#define IDS_UNLOCK_AVATAR_TEXT 2261
-#define IDS_UNLOCK_GAMERPIC_TEXT 2262
-#define IDS_UNLOCK_THEME_TEXT 2263
-#define IDS_UNLOCK_ACCEPT_INVITE 2264
-#define IDS_UNLOCK_GUEST_TEXT 2265
-#define IDS_LEADERBOARD_GAMERTAG 2266
-#define IDS_GROUPNAME_POTIONS_480 2267
-#define IDS_RETURNEDTOTITLESCREEN_TEXT 2268
-#define IDS_TRIALOVER_TEXT 2269
-#define IDS_FATAL_ERROR_TEXT 2270
-#define IDS_NO_MULTIPLAYER_PRIVILEGE_JOIN_TEXT 2271
-#define IDS_NO_MULTIPLAYER_PRIVILEGE_HOST_TEXT 2272
-#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_SINGLE_LOCAL 2273
-#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_ALL_LOCAL 2274
-#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_REMOTE 2275
-#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_CREATE 2276
-#define IDS_SAVE_ICON_MESSAGE 2277
-#define IDS_GAMEOPTION_HOST_PRIVILEGES 2278
-#define IDS_CHECKBOX_DISPLAY_SPLITSCREENGAMERTAGS 2279
-#define IDS_ACHIEVEMENTS 2280
-#define IDS_LABEL_GAMERTAGS 2281
-#define IDS_IN_GAME_GAMERTAGS 2282
-#define IDS_SOCIAL_DEFAULT_DESCRIPTION 2283
-#define IDS_TITLE_UPDATE_NAME 2284
-#define IDS_PLATFORM_NAME 2285
-#define IDS_BACK_BUTTON 2286
-#define IDS_HOST_OPTION_DISABLES_ACHIEVEMENTS 2287
-#define IDS_KICK_PLAYER_DESCRIPTION 2288
-#define IDS_USING_TRIAL_TEXUREPACK_WARNING 2289
-#define IDS_WORLD_SIZE_TITLE_SMALL 2290
-#define IDS_WORLD_SIZE_TITLE_MEDIUM 2291
-#define IDS_WORLD_SIZE_TITLE_LARGE 2292
-#define IDS_WORLD_SIZE_TITLE_CLASSIC 2293
-#define IDS_WORLD_SIZE 2294
-#define IDS_GAMEOPTION_WORLD_SIZE 2295
-#define IDS_DISABLE_SAVING 2296
-#define IDS_GAMEOPTION_DISABLE_SAVING 2297
-#define IDS_RICHPRESENCE_GAMESTATE 2298
-#define IDS_RICHPRESENCE_IDLE 2299
-#define IDS_RICHPRESENCE_MENUS 2300
-#define IDS_RICHPRESENCE_MULTIPLAYER 2301
-#define IDS_RICHPRESENCE_MULTIPLAYEROFFLINE 2302
-#define IDS_RICHPRESENCE_MULTIPLAYER_1P 2303
-#define IDS_RICHPRESENCE_MULTIPLAYER_1POFFLINE 2304
-#define IDS_RICHPRESENCESTATE_BLANK 2305
-#define IDS_RICHPRESENCESTATE_RIDING_PIG 2306
-#define IDS_RICHPRESENCESTATE_RIDING_MINECART 2307
-#define IDS_RICHPRESENCESTATE_BOATING 2308
-#define IDS_RICHPRESENCESTATE_FISHING 2309
-#define IDS_RICHPRESENCESTATE_CRAFTING 2310
-#define IDS_RICHPRESENCESTATE_FORGING 2311
-#define IDS_RICHPRESENCESTATE_NETHER 2312
-#define IDS_RICHPRESENCESTATE_CD 2313
-#define IDS_RICHPRESENCESTATE_MAP 2314
-#define IDS_RICHPRESENCESTATE_ENCHANTING 2315
-#define IDS_RICHPRESENCESTATE_BREWING 2316
-#define IDS_RICHPRESENCESTATE_ANVIL 2317
-#define IDS_RICHPRESENCESTATE_TRADING 2318
+#define IDS_ITEM_RABBIT_HIDE 2195
+#define IDS_DESC_RABBIT_HIDE 2196
+#define IDS_ITEM_RABBIT_FOOT 2197
+#define IDS_DESC_RABBIT_FOOT 2198
+#define IDS_ITEM_RABBIT_RAW 2199
+#define IDS_DESC_RABBIT_RAW 2200
+#define IDS_ITEM_RABBIT_COOKED 2201
+#define IDS_DESC_RABBIT_COOKED 2202
+#define IDS_ITEM_MUTTON_RAW 2203
+#define IDS_DESC_MUTTON_RAW 2204
+#define IDS_ITEM_MUTTON_COOKED 2205
+#define IDS_DESC_MUTTON_COOKED 2206
+#define IDS_LANG_SYSTEM 2207
+#define IDS_LANG_ENGLISH 2208
+#define IDS_LANG_GERMAN 2209
+#define IDS_LANG_SPANISH 2210
+#define IDS_LANG_SPANISH_SPAIN 2211
+#define IDS_LANG_SPANISH_LATIN_AMERICA 2212
+#define IDS_LANG_FRENCH 2213
+#define IDS_LANG_ITALIAN 2214
+#define IDS_LANG_PORTUGUESE 2215
+#define IDS_LANG_PORTUGUESE_PORTUGAL 2216
+#define IDS_LANG_PORTUGUESE_BRAZIL 2217
+#define IDS_LANG_JAPANESE 2218
+#define IDS_LANG_KOREAN 2219
+#define IDS_LANG_CHINESE_TRADITIONAL 2220
+#define IDS_LANG_CHINESE_SIMPLIFIED 2221
+#define IDS_LANG_DANISH 2222
+#define IDS_LANG_FINISH 2223
+#define IDS_LANG_DUTCH 2224
+#define IDS_LANG_POLISH 2225
+#define IDS_LANG_RUSSIAN 2226
+#define IDS_LANG_SWEDISH 2227
+#define IDS_LANG_NORWEGIAN 2228
+#define IDS_LANG_GREEK 2229
+#define IDS_LANG_TURKISH 2230
+#define IDS_LEADERBOARD_KILLS_EASY 2231
+#define IDS_LEADERBOARD_KILLS_NORMAL 2232
+#define IDS_LEADERBOARD_KILLS_HARD 2233
+#define IDS_LEADERBOARD_MINING_BLOCKS_PEACEFUL 2234
+#define IDS_LEADERBOARD_MINING_BLOCKS_EASY 2235
+#define IDS_LEADERBOARD_MINING_BLOCKS_NORMAL 2236
+#define IDS_LEADERBOARD_MINING_BLOCKS_HARD 2237
+#define IDS_LEADERBOARD_FARMING_PEACEFUL 2238
+#define IDS_LEADERBOARD_FARMING_EASY 2239
+#define IDS_LEADERBOARD_FARMING_NORMAL 2240
+#define IDS_LEADERBOARD_FARMING_HARD 2241
+#define IDS_LEADERBOARD_TRAVELLING_PEACEFUL 2242
+#define IDS_LEADERBOARD_TRAVELLING_EASY 2243
+#define IDS_LEADERBOARD_TRAVELLING_NORMAL 2244
+#define IDS_LEADERBOARD_TRAVELLING_HARD 2245
+#define IDS_TIPS_GAMETIP_0 2246
+#define IDS_TIPS_GAMETIP_1 2247
+#define IDS_TIPS_GAMETIP_48 2248
+#define IDS_TIPS_GAMETIP_44 2249
+#define IDS_TIPS_GAMETIP_45 2250
+#define IDS_TIPS_TRIVIA_4 2251
+#define IDS_TIPS_TRIVIA_17 2252
+#define IDS_HOW_TO_PLAY_MULTIPLAYER 2253
+#define IDS_HOW_TO_PLAY_SOCIALMEDIA 2254
+#define IDS_HOW_TO_PLAY_CREATIVE 2255
+#define IDS_TUTORIAL_TASK_FLY 2256
+#define IDS_TOOLTIPS_SELECTDEVICE 2257
+#define IDS_TOOLTIPS_CHANGEDEVICE 2258
+#define IDS_TOOLTIPS_VIEW_GAMERCARD 2259
+#define IDS_TOOLTIPS_VIEW_GAMERPROFILE 2260
+#define IDS_TOOLTIPS_INVITE_PARTY 2261
+#define IDS_CONFIRM_START_CREATIVE 2262
+#define IDS_CONFIRM_START_SAVEDINCREATIVE 2263
+#define IDS_CONFIRM_START_SAVEDINCREATIVE_CONTINUE 2264
+#define IDS_CONFIRM_START_HOST_PRIVILEGES 2265
+#define IDS_CONNECTION_LOST_LIVE 2266
+#define IDS_CONNECTION_LOST_LIVE_NO_EXIT 2267
+#define IDS_AWARD_AVATAR1 2268
+#define IDS_AWARD_AVATAR2 2269
+#define IDS_AWARD_AVATAR3 2270
+#define IDS_AWARD_THEME 2271
+#define IDS_UNLOCK_ACHIEVEMENT_TEXT 2272
+#define IDS_UNLOCK_AVATAR_TEXT 2273
+#define IDS_UNLOCK_GAMERPIC_TEXT 2274
+#define IDS_UNLOCK_THEME_TEXT 2275
+#define IDS_UNLOCK_ACCEPT_INVITE 2276
+#define IDS_UNLOCK_GUEST_TEXT 2277
+#define IDS_LEADERBOARD_GAMERTAG 2278
+#define IDS_GROUPNAME_POTIONS_480 2279
+#define IDS_RETURNEDTOTITLESCREEN_TEXT 2280
+#define IDS_TRIALOVER_TEXT 2281
+#define IDS_FATAL_ERROR_TEXT 2282
+#define IDS_NO_MULTIPLAYER_PRIVILEGE_JOIN_TEXT 2283
+#define IDS_NO_MULTIPLAYER_PRIVILEGE_HOST_TEXT 2284
+#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_SINGLE_LOCAL 2285
+#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_ALL_LOCAL 2286
+#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_REMOTE 2287
+#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_CREATE 2288
+#define IDS_SAVE_ICON_MESSAGE 2289
+#define IDS_GAMEOPTION_HOST_PRIVILEGES 2290
+#define IDS_CHECKBOX_DISPLAY_SPLITSCREENGAMERTAGS 2291
+#define IDS_ACHIEVEMENTS 2292
+#define IDS_LABEL_GAMERTAGS 2293
+#define IDS_IN_GAME_GAMERTAGS 2294
+#define IDS_SOCIAL_DEFAULT_DESCRIPTION 2295
+#define IDS_TITLE_UPDATE_NAME 2296
+#define IDS_PLATFORM_NAME 2297
+#define IDS_BACK_BUTTON 2298
+#define IDS_HOST_OPTION_DISABLES_ACHIEVEMENTS 2299
+#define IDS_KICK_PLAYER_DESCRIPTION 2300
+#define IDS_USING_TRIAL_TEXUREPACK_WARNING 2301
+#define IDS_WORLD_SIZE_TITLE_SMALL 2302
+#define IDS_WORLD_SIZE_TITLE_MEDIUM 2303
+#define IDS_WORLD_SIZE_TITLE_LARGE 2304
+#define IDS_WORLD_SIZE_TITLE_CLASSIC 2305
+#define IDS_WORLD_SIZE 2306
+#define IDS_GAMEOPTION_WORLD_SIZE 2307
+#define IDS_DISABLE_SAVING 2308
+#define IDS_GAMEOPTION_DISABLE_SAVING 2309
+#define IDS_RICHPRESENCE_GAMESTATE 2310
+#define IDS_RICHPRESENCE_IDLE 2311
+#define IDS_RICHPRESENCE_MENUS 2312
+#define IDS_RICHPRESENCE_MULTIPLAYER 2313
+#define IDS_RICHPRESENCE_MULTIPLAYEROFFLINE 2314
+#define IDS_RICHPRESENCE_MULTIPLAYER_1P 2315
+#define IDS_RICHPRESENCE_MULTIPLAYER_1POFFLINE 2316
+#define IDS_RICHPRESENCESTATE_BLANK 2317
+#define IDS_RICHPRESENCESTATE_RIDING_PIG 2318
+#define IDS_RICHPRESENCESTATE_RIDING_MINECART 2319
+#define IDS_RICHPRESENCESTATE_BOATING 2320
+#define IDS_RICHPRESENCESTATE_FISHING 2321
+#define IDS_RICHPRESENCESTATE_CRAFTING 2322
+#define IDS_RICHPRESENCESTATE_FORGING 2323
+#define IDS_RICHPRESENCESTATE_NETHER 2324
+#define IDS_RICHPRESENCESTATE_CD 2325
+#define IDS_RICHPRESENCESTATE_MAP 2326
+#define IDS_RICHPRESENCESTATE_ENCHANTING 2327
+#define IDS_RICHPRESENCESTATE_BREWING 2328
+#define IDS_RICHPRESENCESTATE_ANVIL 2329
+#define IDS_RICHPRESENCESTATE_TRADING 2330
diff --git a/Minecraft.World/ArmorStand.cpp b/Minecraft.World/ArmorStand.cpp
index c9d52ade..c6ccd322 100644
--- a/Minecraft.World/ArmorStand.cpp
+++ b/Minecraft.World/ArmorStand.cpp
@@ -80,6 +80,9 @@ void ArmorStand::defineSynchedData()
void ArmorStand::tick()
{
float lockedRot = this->yRot;
+ if (this->isInWater()|| this->isInLava()) {
+ this->yd -= 0.0392;
+ }
LivingEntity::tick();
this->yRot = lockedRot;
this->yRotO = lockedRot;
@@ -87,6 +90,8 @@ void ArmorStand::tick()
this->yBodyRotO = lockedRot;
this->yHeadRot = lockedRot;
this->yHeadRotO = lockedRot;
+
+
}
bool ArmorStand::interact(shared_ptr player)
@@ -142,50 +147,61 @@ bool ArmorStand::interact(shared_ptr player)
return true;
}
}
-
bool ArmorStand::hurt(DamageSource *source, float damage)
{
- if (isInvulnerable()) return false;
- if (level->isClientSide || removed) return false;
- if (isMarker()) return false;
+ if (isInvulnerable() || level->isClientSide || removed || isMarker()) return false;
- if (dynamic_cast(source) != nullptr)
- {
- shared_ptr attacker = source->getEntity();
- if (attacker != nullptr && attacker->instanceof(eTYPE_PLAYER))
- {
- shared_ptr player = dynamic_pointer_cast(attacker);
- if (player->abilities.instabuild)
- {
-
-
- level->broadcastEntityEvent(shared_from_this(), (byte)31);
+ if (source != nullptr && source->getMsgId() == eEntityDamageType_Suffocate) return false;
+ bool isFireDamage = source->isFire();
+
+
+ if (dynamic_cast(source) != nullptr) {
+ shared_ptr attacker = source->getEntity();
+ if (attacker != nullptr && attacker->instanceof(eTYPE_PLAYER)) {
+ if (dynamic_pointer_cast(attacker)->abilities.instabuild) {
+ level->broadcastEntityEvent(shared_from_this(), (byte)31);
remove();
return true;
}
}
}
+
long long now = (long long)tickCount;
- if (now - lastHit > 5)
- {
+
+
+ if (isFireDamage) {
+
+ float currentHealth = this->getHealth() - 0.1f;
+ this->setHealth(currentHealth);
+
+ if (currentHealth <= 0) {
+ //level->broadcastEntityEvent(shared_from_this(), (byte)31);
+ remove();
+ return true;
+ }
+
+
+ return false;
+ }
+
+
+ if (now - lastHit > 5) {
level->broadcastEntityEvent(shared_from_this(), (byte)32);
lastHit = now;
- }
- else
- {
+ return true;
+ } else {
+
level->broadcastEntityEvent(shared_from_this(), (byte)31);
remove();
spawnAtLocation(Item::armor_stand_Id, 1);
for (int i = 0; i < 5; i++) {
- if (equipment[i] != nullptr) {
- spawnAtLocation(equipment[i], 0.0f);
- }
+ if (equipment[i] != nullptr) spawnAtLocation(equipment[i], 0.0f);
}
+ return true;
}
- return true;
}
bool ArmorStand::isPickable()
@@ -427,4 +443,11 @@ void ArmorStand::handleEntityEvent(byte id)
lastHit = (long long)tickCount;
else
LivingEntity::handleEntityEvent(id);
-}
\ No newline at end of file
+}
+
+bool ArmorStand::updateInWaterState()
+{
+
+ return Entity::updateInWaterState();
+}
+
diff --git a/Minecraft.World/ArmorStand.h b/Minecraft.World/ArmorStand.h
index af1a8f3f..e8f91311 100644
--- a/Minecraft.World/ArmorStand.h
+++ b/Minecraft.World/ArmorStand.h
@@ -97,6 +97,9 @@ public:
virtual wstring getAName() override { return L""; }
virtual wstring getDisplayName() override { return L""; }
virtual wstring getNetworkName() override { return L""; }
+ virtual bool isInWall() override { return false; }
+
+
virtual shared_ptr getCarriedItem() override;
virtual shared_ptr getCarried(int slot) override;
@@ -107,6 +110,8 @@ public:
virtual void readAdditionalSaveData(CompoundTag *tag) override;
virtual void addAdditonalSaveData(CompoundTag *tag) override;
virtual void handleEntityEvent(byte eventId) override;
+
+ virtual bool updateInWaterState() override;
protected:
virtual void defineSynchedData() override;
diff --git a/Minecraft.World/Item.cpp b/Minecraft.World/Item.cpp
index 26984ea4..c05a3519 100644
--- a/Minecraft.World/Item.cpp
+++ b/Minecraft.World/Item.cpp
@@ -509,10 +509,10 @@ void Item::staticCtor()
Item::lead = (new LeashItem(164)) ->setBaseItemTypeAndMaterial(eBaseItemType_pockettool, eMaterial_undefined)->setIconName(L"lead")->setDescriptionId(IDS_ITEM_LEAD)->setUseDescriptionId(IDS_DESC_LEAD);
Item::nameTag = (new NameTagItem(165)) ->setIconName(L"name_tag")->setDescriptionId(IDS_ITEM_NAME_TAG)->setUseDescriptionId(IDS_DESC_NAME_TAG);
- Item::mutton_raw = (new FoodItem(167, 2, FoodConstants::FOOD_SATURATION_LOW, true))->setIconName(L"muttonRaw")->setDescriptionId(IDS_ITEM_BEEF_RAW)->setUseDescriptionId(IDS_DESC_BEEF_RAW);
- Item::mutton_cooked = (new FoodItem(168, 8, FoodConstants::FOOD_SATURATION_NORMAL, true))->setIconName(L"muttonCooked")->setDescriptionId(IDS_ITEM_BEEF_COOKED)->setUseDescriptionId(IDS_DESC_BEEF_COOKED);
- Item::rabbit_raw = (new FoodItem(155, 1.8, FoodConstants::FOOD_SATURATION_NORMAL, true))->setIconName(L"rabbitRaw")->setDescriptionId(IDS_ITEM_BEEF_RAW)->setUseDescriptionId(IDS_DESC_BEEF_RAW);
- Item::rabbit_cooked = (new FoodItem(156, 5, FoodConstants::FOOD_SATURATION_NORMAL, true))->setIconName(L"rabbitCooked")->setDescriptionId(IDS_ITEM_BEEF_RAW)->setUseDescriptionId(IDS_DESC_BEEF_RAW);
+ Item::mutton_raw = (new FoodItem(167, 2, FoodConstants::FOOD_SATURATION_LOW, true))->setIconName(L"muttonRaw")->setDescriptionId(IDS_ITEM_MUTTON_RAW)->setUseDescriptionId(IDS_DESC_MUTTON_RAW);
+ Item::mutton_cooked = (new FoodItem(168, 6, FoodConstants::FOOD_SATURATION_NORMAL, true))->setIconName(L"muttonCooked")->setDescriptionId(IDS_ITEM_MUTTON_COOKED)->setUseDescriptionId(IDS_DESC_MUTTON_COOKED);
+ Item::rabbit_raw = (new FoodItem(155, 1, FoodConstants::FOOD_SATURATION_NORMAL, true))->setIconName(L"rabbitRaw")->setDescriptionId(IDS_ITEM_RABBIT_RAW)->setUseDescriptionId(IDS_DESC_RABBIT_RAW);
+ Item::rabbit_cooked = (new FoodItem(156, 5, FoodConstants::FOOD_SATURATION_NORMAL, true))->setIconName(L"rabbitCooked")->setDescriptionId(IDS_ITEM_RABBIT_COOKED)->setUseDescriptionId(IDS_DESC_RABBIT_COOKED);
Item::door_spruce = (new DoorItem(171, Material::wood, L"doorSpruce"))->setBaseItemTypeAndMaterial(eBaseItemType_door, eMaterial_wood)->setIconName(L"doorSpruce")->setDescriptionId(IDS_ITEM_DOOR_SPRUCE)->setUseDescriptionId(IDS_DESC_DOOR_WOOD);
Item::door_birch = (new DoorItem(172, Material::wood, L"doorBirch"))->setBaseItemTypeAndMaterial(eBaseItemType_door, eMaterial_wood)->setIconName(L"doorBirch")->setDescriptionId(IDS_ITEM_DOOR_BIRCH)->setUseDescriptionId(IDS_DESC_DOOR_WOOD);
@@ -520,8 +520,8 @@ void Item::staticCtor()
Item::door_acacia = (new DoorItem(174, Material::wood, L"doorAcacia"))->setBaseItemTypeAndMaterial(eBaseItemType_door, eMaterial_wood)->setIconName(L"doorAcacia")->setDescriptionId(IDS_ITEM_DOOR_ACACIA)->setUseDescriptionId(IDS_DESC_DOOR_WOOD);
Item::door_dark = (new DoorItem(175, Material::wood, L"doorDark"))->setBaseItemTypeAndMaterial(eBaseItemType_door, eMaterial_wood)->setIconName(L"doorDark")->setDescriptionId(IDS_ITEM_DOOR_DARK)->setUseDescriptionId(IDS_DESC_DOOR_WOOD);
- Item::rabbit_hide = ( new Item(159) ) ->setIconName(L"rabbitHide")->setDescriptionId(IDS_ITEM_LEATHER)->setUseDescriptionId(IDS_DESC_LEATHER);
- Item::rabbits_foot = ( new Item(158) ) ->setIconName(L"rabbitsFoot")->setDescriptionId(IDS_ITEM_LEATHER)->setUseDescriptionId(IDS_DESC_LEATHER);
+ Item::rabbit_hide = ( new Item(159) ) ->setIconName(L"rabbitHide")->setDescriptionId(IDS_ITEM_RABBIT_HIDE)->setUseDescriptionId(IDS_DESC_RABBIT_HIDE);
+ Item::rabbits_foot = ( new Item(158) ) ->setIconName(L"rabbitsFoot")->setDescriptionId(IDS_ITEM_RABBIT_FOOT)->setUseDescriptionId(IDS_DESC_RABBIT_FOOT);
Item::armor_stand = (new ArmorStandItem(160)) ->setBaseItemTypeAndMaterial(eBaseItemType_HangingItem,eMaterial_cloth)->setIconName(L"armorStand")->setDescriptionId(IDS_ITEM_ARMOR_STAND)->setUseDescriptionId(IDS_DESC_ARMOR_STAND);
}
diff --git a/Minecraft.World/Recipes.cpp b/Minecraft.World/Recipes.cpp
index f6645025..54ebb91e 100644
--- a/Minecraft.World/Recipes.cpp
+++ b/Minecraft.World/Recipes.cpp
@@ -1030,7 +1030,7 @@ Recipes::Recipes()
L" S ",
L"SXS",
L'S', Item::stick,
- L'X',Tile::stoneSlabHalf,
+ L'X', Tile::stoneSlabHalf,
L'D');