mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-05-06 18:27:12 +00:00
Merge pull request #291 from realffqq/dev
Java GUI tune-up (+ pause fix for iggy)
This commit is contained in:
commit
f0b898b75d
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -1,6 +1,5 @@
|
|||
# Exclude everything by default
|
||||
/*
|
||||
/subprojects/.wraplock
|
||||
|
||||
# Except for tracked top-level project directories
|
||||
!/.devcontainer/
|
||||
|
|
@ -15,7 +14,7 @@
|
|||
!/Minecraft.Client/
|
||||
!/Minecraft.World/
|
||||
!/scripts/
|
||||
!/subprojects/
|
||||
!/subprojects/*.wrap
|
||||
!/.clang-format
|
||||
!/.git-blame-ignore-revs
|
||||
!/.gitattributes
|
||||
|
|
|
|||
|
|
@ -875,8 +875,8 @@ achievement.snipeSkeleton=Sniper Duel
|
|||
achievement.snipeSkeleton.desc=Kill a skeleton with an arrow from more than 50 meters
|
||||
achievement.diamonds=DIAMONDS!
|
||||
achievement.diamonds.desc=Acquire diamonds with your iron tools
|
||||
achievement.portal=We Need to Go Deeper
|
||||
achievement.portal.desc=Build a portal to the Nether
|
||||
achievement.InToTheNether=Into The Nether
|
||||
achievement.InToTheNether.desc=Build a portal to the Nether
|
||||
achievement.ghast=Return to Sender
|
||||
achievement.ghast.desc=Destroy a Ghast with a fireball
|
||||
achievement.blazeRod=Into Fire
|
||||
|
|
@ -893,7 +893,50 @@ achievement.overkill=Overkill
|
|||
achievement.overkill.desc=Deal eight hearts of damage in a single hit
|
||||
achievement.bookcase=Librarian
|
||||
achievement.bookcase.desc=Build some bookshelves to improve your enchantment table
|
||||
|
||||
achievement.leaderOfThePack=Leader of the Pack
|
||||
achievement.leaderOfThePack.desc=Befriend five wolves
|
||||
achievement.MOARTools=MOAR Tools
|
||||
achievement.MOARTools.desc=Construct one type of each tool (one pickaxe, one spade, one axe and one hoe)
|
||||
achievement.dispenseWithThis=Dispense With This
|
||||
achievement.dispenseWithThis.desc=Construct a Dispenser
|
||||
achievement.eatPorkChop=Pork Chop
|
||||
achievement.eatPorkChop.desc=Cook and eat a pork chop
|
||||
achievement.arrowKillCreeper=Archer
|
||||
achievement.arrowKillCreeper.desc=Kill a creeper with arrows
|
||||
achievement.adventuringTime=Adventuring Time
|
||||
achievement.adventuringTime.desc=Discover 17 of the 40 different biomes
|
||||
achievement.repopulation=Repopulation
|
||||
achievement.repopulation.desc=Breed two cows with wheat
|
||||
achievement.diamondsToYou=Diamonds to You!
|
||||
achievement.diamondsToYou.desc=Throw diamonds at another player
|
||||
achievement.theHaggler=The Haggler
|
||||
achievement.theHaggler.desc=Mine or purchase 30 Emeralds
|
||||
achievement.potPlanter=Pot Planter
|
||||
achievement.potPlanter.desc=Craft and place a Flower Pot
|
||||
achievement.itsASign=It's a Sign!
|
||||
achievement.itsASign.desc=Craft and place a Sign
|
||||
achievement.ironBelly=Iron Belly
|
||||
achievement.ironBelly.desc=Stop starvation using Rotten Flesh
|
||||
achievement.haveAShearfulDay=Have a Shearful Day
|
||||
achievement.haveAShearfulDay.desc=Use Shears to obtain wool from a sheep
|
||||
achievement.rainbowCollection=Rainbow Collection
|
||||
achievement.rainbowCollection.desc=Gather all 16 colors of wool
|
||||
achievement.stayingFrosty=Stayin' Frosty
|
||||
achievement.stayingFrosty.desc=Swim in lava while having the Fire Resistance effect
|
||||
achievement.chestfulOfCobblestone=Chestful of Cobblestone
|
||||
achievement.chestfulOfCobblestone.desc=Mine 1,728 Cobblestone and place it in a chest
|
||||
achievement.renewableEnergy=Renewable Energy
|
||||
achievement.renewableEnergy.desc=Smelt wood trunks using charcoal to make more charcoal
|
||||
achievement.musicToMyEars=Music to My Ears
|
||||
achievement.musicToMyEars.desc=Play a music disc in a Jukebox
|
||||
achievement.bodyGuard=Body Guard
|
||||
achievement.bodyGuard.desc=Create an Iron Golem
|
||||
achievement.ironMan=Iron Man
|
||||
achievement.ironMan.desc=Wear a full suit of Iron Armour
|
||||
achievement.zombieDoctor=Zombie Doctor
|
||||
achievement.zombieDoctor.desc=Cure a Zombie Villager
|
||||
achievement.lionTamer=Lion Tamer
|
||||
achievement.lionTamer.desc=Tame an Ocelot
|
||||
commands.generic.exception=An unknown error occurred while attempting to perform this command
|
||||
commands.generic.syntax=Invalid command syntax
|
||||
commands.generic.player.notFound=That player cannot be found
|
||||
|
|
|
|||
|
|
@ -122,6 +122,7 @@ Minecraft::Minecraft(Component* mouseComponent, Canvas* parent,
|
|||
user = NULL;
|
||||
parent = NULL;
|
||||
pause = false;
|
||||
exitingWorldRightNow = false;
|
||||
textures = NULL;
|
||||
font = NULL;
|
||||
screen = NULL;
|
||||
|
|
@ -1254,6 +1255,15 @@ void Minecraft::run_middle() {
|
|||
if (lastTime == 0) lastTime = System::nanoTime();
|
||||
static int frames = 0;
|
||||
|
||||
#ifdef ENABLE_JAVA_GUIS
|
||||
// 4jcraft: while the java ui is leaving world, don't run the rest of
|
||||
// run_middle
|
||||
if (exitingWorldRightNow) {
|
||||
screen->render(0, 0, 1);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
EnterCriticalSection(&m_setLevelCS);
|
||||
|
||||
if (running) {
|
||||
|
|
|
|||
|
|
@ -137,6 +137,7 @@ public:
|
|||
|
||||
// 4J - per player ?
|
||||
volatile bool pause;
|
||||
volatile bool exitingWorldRightNow;
|
||||
|
||||
Textures* textures;
|
||||
Font *font, *altFont;
|
||||
|
|
|
|||
|
|
@ -292,7 +292,7 @@ void ClientConnection::handleLogin(std::shared_ptr<LoginPacket> packet) {
|
|||
minecraft->createPrimaryLocalPlayer(ProfileManager.GetPrimaryPad());
|
||||
|
||||
minecraft->player->dimension = packet->dimension;
|
||||
// minecraft->setScreen(new ReceivingLevelScreen(this));
|
||||
minecraft->setScreen(new ReceivingLevelScreen(this));
|
||||
minecraft->player->entityId = packet->clientVersion;
|
||||
|
||||
std::uint8_t networkSmallId = getSocket()->getSmallId();
|
||||
|
|
@ -2636,7 +2636,7 @@ void ClientConnection::handleRespawn(std::shared_ptr<RespawnPacket> packet) {
|
|||
|
||||
// minecraft->player->dimension = packet->dimension;
|
||||
minecraft->localplayers[m_userIndex]->dimension = packet->dimension;
|
||||
// minecraft->setScreen(new ReceivingLevelScreen(this));
|
||||
minecraft->setScreen(new ReceivingLevelScreen(this));
|
||||
// minecraft->addPendingLocalConnection(m_userIndex, this);
|
||||
|
||||
#ifdef _XBOX
|
||||
|
|
|
|||
|
|
@ -2826,7 +2826,7 @@ void CMinecraftApp::HandleXuiActions(void)
|
|||
#endif
|
||||
|
||||
case eAppAction_ExitWorld:
|
||||
|
||||
pMinecraft->exitingWorldRightNow = true;
|
||||
SetAction(i,eAppAction_Idle);
|
||||
|
||||
// If we're already leaving don't exit
|
||||
|
|
|
|||
|
|
@ -627,6 +627,7 @@ void IUIScene_PauseMenu::_ExitWorld(void *lpParameter)
|
|||
|
||||
app.SetChangingSessionType(false);
|
||||
app.SetReallyChangingSessionType(false);
|
||||
pMinecraft->exitingWorldRightNow = false;
|
||||
|
||||
#if defined(_XBOX_ONE) || defined(__ORBIS__)
|
||||
// Make sure we don't think saving is disabled in the menus
|
||||
|
|
|
|||
|
|
@ -92,7 +92,10 @@ UIScene_PauseMenu::UIScene_PauseMenu(int iPad, void *initData, UILayer *parentLa
|
|||
XuiSetTimer(m_hObj,IGNORE_KEYPRESS_TIMERID,IGNORE_KEYPRESS_TIME);
|
||||
#endif
|
||||
|
||||
if( g_NetworkManager.IsLocalGame() && g_NetworkManager.GetPlayerCount() == 1 )
|
||||
// TODO: proper fix for pausing
|
||||
// 4jcraft: replace IsLocalGame() with GetPlayerCount() == 1 due to
|
||||
// IsLocalGame() issues on Iggy
|
||||
if( /*g_NetworkManager.IsLocalGame() &&*/ g_NetworkManager.GetPlayerCount() == 1 )
|
||||
{
|
||||
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),eXuiServerAction_PauseServer,(void *)TRUE);
|
||||
}
|
||||
|
|
@ -364,8 +367,10 @@ void UIScene_PauseMenu::handleInput(int iPad, int key, bool repeat, bool pressed
|
|||
#ifdef _DURANGO
|
||||
//DurangoStatsDebugger::PrintStats(iPad);
|
||||
#endif
|
||||
|
||||
if( iPad == ProfileManager.GetPrimaryPad() && g_NetworkManager.IsLocalGame() )
|
||||
// TODO: proper fix for pausing
|
||||
// 4jcraft: replace IsLocalGame() with GetPlayerCount() == 1 due to
|
||||
// IsLocalGame() issues on Iggy
|
||||
if( iPad == ProfileManager.GetPrimaryPad() && /*g_NetworkManager.IsLocalGame()*/g_NetworkManager.GetPlayerCount() == 1 )
|
||||
{
|
||||
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),eXuiServerAction_PauseServer,(void *)FALSE);
|
||||
}
|
||||
|
|
@ -509,7 +514,10 @@ void UIScene_PauseMenu::handlePress(F64 controlId, F64 childId)
|
|||
switch((int)controlId)
|
||||
{
|
||||
case BUTTON_PAUSE_RESUMEGAME:
|
||||
if( m_iPad == ProfileManager.GetPrimaryPad() && g_NetworkManager.IsLocalGame() )
|
||||
// TODO: proper fix for pausing
|
||||
// 4jcraft: replace IsLocalGame() with GetPlayerCount() == 1 due to
|
||||
// IsLocalGame() issues on Iggy
|
||||
if( m_iPad == ProfileManager.GetPrimaryPad() && /*g_NetworkManager.IsLocalGame()*/g_NetworkManager.GetPlayerCount() == 1 )
|
||||
{
|
||||
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),eXuiServerAction_PauseServer,(void *)FALSE);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -950,7 +950,12 @@ return -1;
|
|||
pMinecraft->run_middle();
|
||||
#endif
|
||||
app.SetAppPaused(
|
||||
g_NetworkManager.IsLocalGame() &&
|
||||
// TODO: proper fix for pausing
|
||||
// 4jcraft: IsLocalGame() doesn't seem to work properly on Iggy
|
||||
// UI, this should work even in multiplayer scenarios though
|
||||
// since it checks for the player count anyway
|
||||
//
|
||||
// g_NetworkManager.IsLocalGame() &&
|
||||
g_NetworkManager.GetPlayerCount() == 1 &&
|
||||
ui.IsPauseMenuDisplayed(ProfileManager.GetPrimaryPad()));
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include "../../../Minecraft.World/Util/Random.h"
|
||||
#include "../../MinecraftServer.h"
|
||||
#include "../../GameState/Options.h"
|
||||
#include "MessageScreen.h"
|
||||
#include <string>
|
||||
|
||||
CreateWorldScreen::CreateWorldScreen(Screen* lastScreen) {
|
||||
|
|
@ -43,10 +44,8 @@ void CreateWorldScreen::init() {
|
|||
buttons.push_back(new Button(1, width / 2 + 5, height - 28, 150, 20,
|
||||
language->getElement(L"gui.cancel")));
|
||||
|
||||
nameEdit = new EditBox(
|
||||
this, font, width / 2 - 100, 60, 200, 20,
|
||||
language->getElement(
|
||||
L"testWorld")); // 4J - test - should be L"selectWorld.newWorld"
|
||||
nameEdit = new EditBox(this, font, width / 2 - 100, 60, 200, 20,
|
||||
language->getElement(L"selectWorld.newWorld"));
|
||||
nameEdit->inFocus = true;
|
||||
nameEdit->setMaxLength(32);
|
||||
|
||||
|
|
@ -294,7 +293,11 @@ void CreateWorldScreen::buttonClicked(Button* button) {
|
|||
loadingParams->completionData = completionData;
|
||||
|
||||
ui.NavigateToScene(0, eUIScene_FullscreenProgress, loadingParams);
|
||||
// 4J Stu - This screen is not used, so removing this to stop the build failing
|
||||
Language* language = Language::getInstance();
|
||||
minecraft->setScreen(
|
||||
new MessageScreen(language->getElement(L"menu.generatingLevel")));
|
||||
// 4J Stu - This screen is not used, so removing this to stop the build
|
||||
// failing
|
||||
#if 0
|
||||
minecraft->gameMode = new SurvivalMode(minecraft);
|
||||
minecraft->selectLevel(resultFolder, nameEdit->getValue(), seedValue);
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include "DeathScreen.h"
|
||||
#include "../Button.h"
|
||||
#include "../../Player/MultiPlayerLocalPlayer.h"
|
||||
#include "PauseScreen.h"
|
||||
#include "TitleScreen.h"
|
||||
|
||||
void DeathScreen::init() {
|
||||
|
|
@ -30,9 +31,11 @@ void DeathScreen::buttonClicked(Button* button) {
|
|||
// minecraft.setScreen(new NewLevelScreen(this));
|
||||
}
|
||||
if (button->id == 2) {
|
||||
// TODO: proper world exits
|
||||
// minecraft->setLevel(NULL);
|
||||
// minecraft->setScreen(new TitleScreen());
|
||||
|
||||
// 4jcraft: use the static method from PauseScreen to exit
|
||||
PauseScreen::exitWorld(minecraft, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
19
Minecraft.Client/UI/Screens/MessageScreen.cpp
Normal file
19
Minecraft.Client/UI/Screens/MessageScreen.cpp
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#include "../../Platform/stdafx.h"
|
||||
#include "MessageScreen.h"
|
||||
|
||||
MessageScreen::MessageScreen(const std::wstring& message) {
|
||||
this->message = message;
|
||||
}
|
||||
|
||||
void MessageScreen::keyPressed(char eventCharacter, int eventKey) {}
|
||||
|
||||
void MessageScreen::init() { buttons.clear(); }
|
||||
|
||||
void MessageScreen::buttonClicked(Button* button) {}
|
||||
|
||||
void MessageScreen::render(int xm, int ym, float a) {
|
||||
renderDirtBackground(0);
|
||||
drawCenteredString(font, message, width / 2, height / 2 - 50, 0xffffff);
|
||||
|
||||
Screen::render(xm, ym, a);
|
||||
}
|
||||
24
Minecraft.Client/UI/Screens/MessageScreen.h
Normal file
24
Minecraft.Client/UI/Screens/MessageScreen.h
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
#pragma once
|
||||
#include "../Screen.h"
|
||||
|
||||
class MessageScreen : public Screen {
|
||||
private:
|
||||
std::wstring message;
|
||||
|
||||
public:
|
||||
MessageScreen(const std::wstring& message);
|
||||
|
||||
protected:
|
||||
using Screen::keyPressed;
|
||||
|
||||
virtual void keyPressed(char eventCharacter, int eventKey);
|
||||
|
||||
public:
|
||||
virtual void init();
|
||||
|
||||
protected:
|
||||
virtual void buttonClicked(Button* button);
|
||||
|
||||
public:
|
||||
virtual void render(int xm, int ym, float a);
|
||||
};
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
#include "PauseScreen.h"
|
||||
#include "../Button.h"
|
||||
#include "../../GameState/StatsCounter.h"
|
||||
#include "MessageScreen.h"
|
||||
#include "OptionsScreen.h"
|
||||
#include "TitleScreen.h"
|
||||
#include "../../Level/MultiPlayerLevel.h"
|
||||
|
|
@ -21,10 +22,15 @@ void PauseScreen::init() {
|
|||
saveStep = 0;
|
||||
buttons.clear();
|
||||
int yo = -16;
|
||||
// 4jcraft: solves the issue of client-side only pausing in the java gui
|
||||
if (g_NetworkManager.IsLocalGame() &&
|
||||
g_NetworkManager.GetPlayerCount() == 1)
|
||||
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),
|
||||
eXuiServerAction_PauseServer, (void*)TRUE);
|
||||
buttons.push_back(new Button(1, width / 2 - 100, height / 4 + 24 * 5 + yo,
|
||||
L"Save and quit to title"));
|
||||
if (minecraft->isClientSide()) {
|
||||
buttons[0]->msg = L"Disconnect";
|
||||
I18n::get(L"menu.returnToMenu")));
|
||||
if (!g_NetworkManager.IsHost()) {
|
||||
buttons[0]->msg = I18n::get(L"menu.disconnect");
|
||||
}
|
||||
|
||||
buttons.push_back(new Button(4, width / 2 - 100, height / 4 + 24 * 1 + yo,
|
||||
|
|
@ -48,12 +54,32 @@ void PauseScreen::init() {
|
|||
*/
|
||||
}
|
||||
|
||||
void PauseScreen::keyPressed(wchar_t eventCharacter, int eventKey) {
|
||||
if (eventKey == Keyboard::KEY_ESCAPE && g_NetworkManager.IsLocalGame() &&
|
||||
g_NetworkManager.GetPlayerCount() == 1)
|
||||
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),
|
||||
eXuiServerAction_PauseServer, (void*)FALSE);
|
||||
|
||||
Screen::keyPressed(eventCharacter, eventKey);
|
||||
}
|
||||
|
||||
void PauseScreen::exitWorld(Minecraft* minecraft, bool save) {
|
||||
// 4jcraft: made our own static method for use in the java gui (other
|
||||
// places such as the deathscreen need this)
|
||||
MinecraftServer* server = MinecraftServer::getInstance();
|
||||
|
||||
minecraft->setScreen(new MessageScreen(L"Leaving world"));
|
||||
if (g_NetworkManager.IsHost()) {
|
||||
server->setSaveOnExit(save);
|
||||
}
|
||||
app.SetAction(minecraft->player->GetXboxPad(), eAppAction_ExitWorld);
|
||||
}
|
||||
|
||||
void PauseScreen::buttonClicked(Button* button) {
|
||||
if (button->id == 0) {
|
||||
minecraft->setScreen(new OptionsScreen(this, minecraft->options));
|
||||
}
|
||||
if (button->id == 1) {
|
||||
// TODO: proper disconnects
|
||||
// if (minecraft->isClientSide())
|
||||
// {
|
||||
// minecraft->level->disconnect();
|
||||
|
|
@ -61,8 +87,13 @@ void PauseScreen::buttonClicked(Button* button) {
|
|||
|
||||
// minecraft->setLevel(NULL);
|
||||
// minecraft->setScreen(new TitleScreen());
|
||||
|
||||
// 4jcraft: exit with our new exitWorld method
|
||||
exitWorld(minecraft, true);
|
||||
}
|
||||
if (button->id == 4) {
|
||||
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),
|
||||
eXuiServerAction_PauseServer, (void*)FALSE);
|
||||
minecraft->setScreen(NULL);
|
||||
// minecraft->grabMouse(); // 4J - removed
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ private:
|
|||
public:
|
||||
PauseScreen(); // 4J added
|
||||
virtual void init();
|
||||
virtual void keyPressed(wchar_t eventCharacter, int eventKey);
|
||||
static void exitWorld(Minecraft* minecraft, bool save);
|
||||
|
||||
protected:
|
||||
using Screen::buttonClicked;
|
||||
|
|
|
|||
|
|
@ -165,6 +165,7 @@ void SelectWorldScreen::confirmResult(bool result, int id) {
|
|||
|
||||
void SelectWorldScreen::render(int xm, int ym, float a) {
|
||||
// fill(0, 0, width, height, 0x40000000);
|
||||
renderDirtBackground(0);
|
||||
worldSelectionList->render(xm, ym, a);
|
||||
|
||||
drawCenteredString(font, title, width / 2, 20, 0xffffff);
|
||||
|
|
|
|||
|
|
@ -165,21 +165,21 @@ void Achievements::staticCtor() {
|
|||
// "requires" are ignored on xbox.
|
||||
Achievements::leaderOfThePack =
|
||||
(new Achievement(eAward_LeaderOfThePack, L"leaderOfThePack", 0, 0,
|
||||
Tile::treeTrunk, (Achievement*)buildSword))
|
||||
Item::bone, (Achievement*)buildSword))
|
||||
->setAwardLocallyOnly()
|
||||
->postConstruct();
|
||||
Achievements::MOARTools =
|
||||
(new Achievement(eAward_MOARTools, L"MOARTools", 0, 0, Tile::treeTrunk,
|
||||
(new Achievement(eAward_MOARTools, L"MOARTools", 0, 0, Item::shovel_diamond,
|
||||
(Achievement*)buildSword))
|
||||
->setAwardLocallyOnly()
|
||||
->postConstruct();
|
||||
Achievements::dispenseWithThis =
|
||||
(new Achievement(eAward_DispenseWithThis, L"dispenseWithThis", 0, 0,
|
||||
Tile::treeTrunk, (Achievement*)buildSword))
|
||||
Tile::dispenser, (Achievement*)buildSword))
|
||||
->postConstruct();
|
||||
Achievements::InToTheNether =
|
||||
(new Achievement(eAward_InToTheNether, L"InToTheNether", 0, 0,
|
||||
Tile::treeTrunk, (Achievement*)buildSword))
|
||||
Tile::portalTile, (Achievement*)buildSword))
|
||||
->postConstruct();
|
||||
|
||||
// 4J : WESTY : Added other awards.
|
||||
|
|
@ -196,7 +196,7 @@ void Achievements::staticCtor() {
|
|||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
Achievements::eatPorkChop =
|
||||
(new Achievement(eAward_eatPorkChop, L"eatPorkChop", 0, 0,
|
||||
Tile::treeTrunk, (Achievement*)buildSword))
|
||||
Item::porkChop_raw, (Achievement*)buildSword))
|
||||
->setAwardLocallyOnly()
|
||||
->postConstruct();
|
||||
#else
|
||||
|
|
@ -298,13 +298,13 @@ void Achievements::staticCtor() {
|
|||
->postConstruct();
|
||||
Achievements::repopulation =
|
||||
(new Achievement(eAward_repopulation, L"repopulation", 0, 0,
|
||||
Tile::bookshelf, (Achievement*)NULL))
|
||||
Item::wheat, (Achievement*)NULL))
|
||||
->postConstruct();
|
||||
// Achievements::porkChoop // // //
|
||||
// // // //
|
||||
Achievements::diamondsToYou =
|
||||
(new Achievement(eAward_diamondsToYou, L"diamondsToYou", 0, 0,
|
||||
Tile::bookshelf, (Achievement*)NULL))
|
||||
Item::diamond, (Achievement*)NULL))
|
||||
->postConstruct();
|
||||
// Achievements::passingTheTime = (new
|
||||
// Achievement(eAward_play100Days, L"passingTheTime",
|
||||
|
|
@ -315,63 +315,63 @@ void Achievements::staticCtor() {
|
|||
// )->postConstruct();
|
||||
Achievements::theHaggler =
|
||||
(new Achievement(eAward_theHaggler, L"theHaggler", 0, 0,
|
||||
Tile::bookshelf, (Achievement*)NULL))
|
||||
Item::emerald, (Achievement*)NULL))
|
||||
->setAwardLocallyOnly()
|
||||
->postConstruct();
|
||||
Achievements::potPlanter =
|
||||
(new Achievement(eAward_potPlanter, L"potPlanter", 0, 0,
|
||||
Tile::bookshelf, (Achievement*)NULL))
|
||||
Item::flowerPot, (Achievement*)NULL))
|
||||
->setAwardLocallyOnly()
|
||||
->postConstruct();
|
||||
Achievements::itsASign =
|
||||
(new Achievement(eAward_itsASign, L"itsASign", 0, 0, Tile::bookshelf,
|
||||
(new Achievement(eAward_itsASign, L"itsASign", 0, 0, Item::sign,
|
||||
(Achievement*)NULL))
|
||||
->setAwardLocallyOnly()
|
||||
->postConstruct();
|
||||
Achievements::ironBelly =
|
||||
(new Achievement(eAward_ironBelly, L"ironBelly", 0, 0, Tile::bookshelf,
|
||||
(new Achievement(eAward_ironBelly, L"ironBelly", 0, 0, Item::rotten_flesh,
|
||||
(Achievement*)NULL))
|
||||
->postConstruct();
|
||||
Achievements::haveAShearfulDay =
|
||||
(new Achievement(eAward_haveAShearfulDay, L"haveAShearfulDay", 0, 0,
|
||||
Tile::bookshelf, (Achievement*)NULL))
|
||||
Item::shears, (Achievement*)NULL))
|
||||
->postConstruct();
|
||||
Achievements::rainbowCollection =
|
||||
(new Achievement(eAward_rainbowCollection, L"rainbowCollection", 0, 0,
|
||||
Tile::bookshelf, (Achievement*)NULL))
|
||||
Tile::cloth, (Achievement*)NULL))
|
||||
->setAwardLocallyOnly()
|
||||
->postConstruct();
|
||||
Achievements::stayinFrosty =
|
||||
(new Achievement(eAward_stayinFrosty, L"stayingFrosty", 0, 0,
|
||||
Tile::bookshelf, (Achievement*)NULL))
|
||||
Tile::ice, (Achievement*)NULL))
|
||||
->postConstruct();
|
||||
Achievements::chestfulOfCobblestone =
|
||||
(new Achievement(eAward_chestfulOfCobblestone, L"chestfulOfCobblestone",
|
||||
0, 0, Tile::bookshelf, (Achievement*)NULL))
|
||||
0, 0, Tile::rock, (Achievement*)NULL))
|
||||
->setAwardLocallyOnly()
|
||||
->postConstruct();
|
||||
Achievements::renewableEnergy =
|
||||
(new Achievement(eAward_renewableEnergy, L"renewableEnergy", 0, 0,
|
||||
Tile::bookshelf, (Achievement*)NULL))
|
||||
Item::coal, (Achievement*)NULL))
|
||||
->postConstruct();
|
||||
Achievements::musicToMyEars =
|
||||
(new Achievement(eAward_musicToMyEars, L"musicToMyEars", 0, 0,
|
||||
Tile::bookshelf, (Achievement*)NULL))
|
||||
Tile::musicBlock, (Achievement*)NULL))
|
||||
->postConstruct();
|
||||
Achievements::bodyGuard =
|
||||
(new Achievement(eAward_bodyGuard, L"bodyGuard", 0, 0, Tile::bookshelf,
|
||||
(new Achievement(eAward_bodyGuard, L"bodyGuard", 0, 0, Tile::pumpkin,
|
||||
(Achievement*)NULL))
|
||||
->postConstruct();
|
||||
Achievements::ironMan =
|
||||
(new Achievement(eAward_ironMan, L"ironMan", 0, 0, Tile::bookshelf,
|
||||
(new Achievement(eAward_ironMan, L"ironMan", 0, 0, Item::chestplate_iron,
|
||||
(Achievement*)NULL))
|
||||
->postConstruct();
|
||||
Achievements::zombieDoctor =
|
||||
(new Achievement(eAward_zombieDoctor, L"zombieDoctor", 0, 0,
|
||||
Tile::bookshelf, (Achievement*)NULL))
|
||||
Item::apple_gold, (Achievement*)NULL))
|
||||
->postConstruct();
|
||||
Achievements::lionTamer =
|
||||
(new Achievement(eAward_lionTamer, L"lionTamer", 0, 0, Tile::bookshelf,
|
||||
(new Achievement(eAward_lionTamer, L"lionTamer", 0, 0, Item::fish_raw,
|
||||
(Achievement*)NULL))
|
||||
->postConstruct();
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue