package zmaster587.advancedRocketry.block; import java.util.Iterator; import zmaster587.advancedRocketry.api.AdvancedRocketryBlocks; import zmaster587.advancedRocketry.world.provider.WorldProviderPlanet; import net.minecraft.block.BlockBed; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ChatComponentTranslation; import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class BlockAstroBed extends BlockBed { /** * Called upon block activation (right click on the block.) */ @Override public boolean isBed(IBlockAccess world, int x, int y, int z, EntityLivingBase player) { return this == AdvancedRocketryBlocks.blockAstroBed; } public boolean onBlockActivated(World p_149727_1_, int p_149727_2_, int p_149727_3_, int p_149727_4_, EntityPlayer p_149727_5_, int p_149727_6_, float p_149727_7_, float p_149727_8_, float p_149727_9_) { if (p_149727_1_.isRemote) { return true; } else { int i1 = p_149727_1_.getBlockMetadata(p_149727_2_, p_149727_3_, p_149727_4_); if (!isBlockHeadOfBed(i1)) { int j1 = getDirection(i1); p_149727_2_ += field_149981_a[j1][0]; p_149727_4_ += field_149981_a[j1][1]; if (p_149727_1_.getBlock(p_149727_2_, p_149727_3_, p_149727_4_) != this) { return true; } i1 = p_149727_1_.getBlockMetadata(p_149727_2_, p_149727_3_, p_149727_4_); } if (p_149727_1_.provider instanceof WorldProviderPlanet) { if (func_149976_c(i1)) { EntityPlayer entityplayer1 = null; Iterator iterator = p_149727_1_.playerEntities.iterator(); while (iterator.hasNext()) { EntityPlayer entityplayer2 = (EntityPlayer)iterator.next(); if (entityplayer2.isPlayerSleeping()) { ChunkCoordinates chunkcoordinates = entityplayer2.playerLocation; if (chunkcoordinates.posX == p_149727_2_ && chunkcoordinates.posY == p_149727_3_ && chunkcoordinates.posZ == p_149727_4_) { entityplayer1 = entityplayer2; } } } if (entityplayer1 != null) { p_149727_5_.addChatComponentMessage(new ChatComponentTranslation("tile.bed.occupied", new Object[0])); return true; } func_149979_a(p_149727_1_, p_149727_2_, p_149727_3_, p_149727_4_, false); } EntityPlayer.EnumStatus enumstatus = p_149727_5_.sleepInBedAt(p_149727_2_, p_149727_3_, p_149727_4_); if (enumstatus == EntityPlayer.EnumStatus.OK) { func_149979_a(p_149727_1_, p_149727_2_, p_149727_3_, p_149727_4_, true); return true; } else { if (enumstatus == EntityPlayer.EnumStatus.NOT_POSSIBLE_NOW) { p_149727_5_.addChatComponentMessage(new ChatComponentTranslation("tile.bed.noSleep", new Object[0])); } else if (enumstatus == EntityPlayer.EnumStatus.NOT_SAFE) { p_149727_5_.addChatComponentMessage(new ChatComponentTranslation("tile.bed.notSafe", new Object[0])); } return true; } } } return false; } }