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');