This mod might help. It's part of zombe's modpack. You can disable mob spawning on man-made materials and other specific blocks. I'm not sure if your settings will carry, though.
You should also note that mobs can't spawn on glass, so try making the flooring glass, though that might ruin the map.
Using MCEdit, you can go back to your original spawn point by using "Move Spawn Point" on the hotbar and select "Goto Spawn". Then you can follow your history to try to figure out where your bed is.
If you really can't figure out, you can try the following MCEdit Filter. It will help you find your bed, but may actually take quite long (probably no less than a few minutes).
displayName = "Find beds"
inputs = (
("Search the whole world regardless of bounding box", True),
)
def perform(level, box, options):
if options["Search the whole world regardless of bounding box"]:
i = level.getAllChunkSlices()
else:
i = level.getChunkSlices(box)
print "Finding beds..."
for (chunk, slices, point) in i:
if blockExistInChunk(chunk, 26):
(x, z) = chunk.chunkPosition
print "=> Bed found near x={0}, z={1}".format(x * 16 + 8, z * 16 + 8)
print "Stopped finding beds."
def blockExistInChunk(chunk, blockId):
for a in chunk.Blocks:
for b in a:
for c in b:
if c == blockId:
return True
return False
Save the file under the filters
directory in MCEdit with name findbeds.py
, then go to MCEdit, use Filter
on the hotbar, select Find Beds
and click Filter
. Now watch the console (the white on black window) and it will output the approximate coordinates of where beds are found.
Sample output:
Finding beds...
=> Bed found near x=-440, z=-600
Stopped finding beds.
Best Answer
Try giving the player a saturation potion effect: