TU19: merge Minecraft.Client/Platform/Common/GameRules

This commit is contained in:
Tropical
2026-03-22 01:27:23 -05:00
parent 87b4af678b
commit 3fa28df4da
10 changed files with 328 additions and 109 deletions

View File

@@ -744,19 +744,24 @@ void ConsoleSchematicFile::generateSchematicFile(
bool mobCanBeSaved = false;
if (bSaveMobs) {
if ((e->GetType() & eTYPE_MONSTER) ||
(e->GetType() & eTYPE_WATERANIMAL) ||
(e->GetType() & eTYPE_ANIMAL) ||
(e->GetType() == eTYPE_CHICKEN) ||
(e->GetType() == eTYPE_WOLF) ||
(e->GetType() == eTYPE_VILLAGER) ||
(e->GetType() == eTYPE_MUSHROOMCOW)) {
if (e->instanceof(eTYPE_MONSTER) ||
e->instanceof(eTYPE_WATERANIMAL) ||
e->instanceof(eTYPE_ANIMAL) || (e->GetType() == eTYPE_VILLAGER))
// 4J-JEV: All these are derived from eTYPE_ANIMAL and true
// implicitly.
//|| ( e->GetType() == eTYPE_CHICKEN ) || ( e->GetType() ==
// eTYPE_WOLF ) || ( e->GetType() == eTYPE_MUSHROOMCOW ) )
{
mobCanBeSaved = true;
}
}
if (mobCanBeSaved || e->GetType() == eTYPE_MINECART ||
e->GetType() == eTYPE_BOAT || e->GetType() == eTYPE_PAINTING ||
e->GetType() == eTYPE_ITEM_FRAME) {
// 4J-JEV: Changed to check for instances of minecarts and
// hangingEntities instead of just eTYPE_PAINTING, eTYPE_ITEM_FRAME and
// eTYPE_MINECART
if (mobCanBeSaved || e->instanceof(eTYPE_MINECART) ||
e->GetType() == eTYPE_BOAT || e->instanceof(eTYPE_HANGING_ENTITY)) {
CompoundTag* eTag = new CompoundTag();
if (e->save(eTag)) {
ListTag<DoubleTag>* pos =
@@ -766,8 +771,7 @@ void ConsoleSchematicFile::generateSchematicFile(
pos->get(1)->data -= yStart;
pos->get(2)->data -= zStart;
if (e->GetType() == eTYPE_PAINTING ||
e->GetType() == eTYPE_ITEM_FRAME) {
if (e->instanceof(eTYPE_HANGING_ENTITY)) {
((IntTag*)eTag->get(L"TileX"))->data -= xStart;
((IntTag*)eTag->get(L"TileY"))->data -= yStart;
((IntTag*)eTag->get(L"TileZ"))->data -= zStart;