Хеллоу всем форумчанам! Мне захотелось изменить механику сна. Вот покопался и нашел в EntityPlayer.onUpdate() воть такое:
Именно
И как же его отменять? Можно бы было унаследоваться от класса игрока и переопределить onUpdate() метод. В нем не вызывать super.onUpdate(), вместо этого скопировать код из майна, и заменить там что нужно. Но как потом заменить того игрока из майна на того что мы создали? Я не знаю. Короче, вопрос: как переопределить вообще что угодно в различных методах а потом все это применить в игру?
EntityPlayer.onUpdate():
/**
* Called to update the entity's position/logic.
*/
public void onUpdate()
{
// ... Some code before
if (this.isPlayerSleeping())
{
++this.sleepTimer;
if (this.sleepTimer > 100)
{
this.sleepTimer = 100;
}
if (!this.world.isRemote)
{
if (!this.isInBed())
{
this.wakeUpPlayer(true, true, false);
}
else if (this.world.isDaytime())
{
this.wakeUpPlayer(false, true, true);
}
}
}
else if (this.sleepTimer > 0)
{
++this.sleepTimer;
if (this.sleepTimer >= 110)
{
this.sleepTimer = 0;
}
}
// ... Some code after
}
this.wakeUpPlayer(false, true, true);
, как я понимаю, позволяет проснуться. Ну и допустим я хочу чтобы сон был бесконечным, и он не просыпался. Нужно отменить выполнение вот этого:
EntityPlayer.onUpdate():
else if (this.world.isDaytime()) {
this.wakeUpPlayer(false, true, true);
}