User:BlueRavenGT/Feature Requests

About This Page
This is a list of features I would like to see and reasons to implement them. Feel free to link to topics on this page. If there are discussions about some of this stuff that I missed, let me know on the discussion page and I will probably link to them.

Sprinting Modifier
With the current method of sprinting, it can be nearly impossible to sprint on older machines or on laggy servers. Many people want a modifier set to, or with sneak moved to.

I would like to propose using two modifiers, the and  keys, which are set to  and  by default. These keys, when held at the same time, negate each other.

Benefits over current system:
 * In most cases, it is logical to have your fingers hovering over the, , and keys. You would not need to reach for a modifier.
 * Satisfies the "Press harder (or more keys) to move faster" instinct, without killing the keyboard.
 * By default, the keys form an arrow due to their positions on the keyboard.
 * Strafing, which allowed you to move faster in some games, involves holding two directional keys.

EDIT: Some people (I.E. pro gamers) are weird and use their ring finger for, in which case a single modifier key would be optimal.

Debug Screen Configuration
The debug screen is very cluttered. Most of the stuff is quite useful, but some people may want to know their framerate without seeing their coordinates, entity count, or seed. In some cases, on older or slower machines, much of the information is impossible to see due to the framerate graph covering it up. The pie chart is also nice, but some people absolutely hate circles.

I propose a user-editable debug screen configuration file. The most important entries would be the framerate graph, coordinates, seed, and pie chart.

But what if something goes terribly wrong and the player wants to know more than their config file lets them see? Have an extra shortcut to override the config file. ++ has a nice ring to it, don't you think?

Local (World Specific) Settings and Statistics
A list of things that should apply to worlds instead of the entire game.

Game Modes
The game mode is set when the world is created. There should also be an option to allow changing the game mode later.

Difficulty
Hardcore mode sets the map difficulty to hard permanently. Other game modes should be allowed to have permanent difficulty settings, and an option to allow changing the difficulty after map creation. There should also be a global difficulty, used when the map's difficulty is set to "Global".

Statistics and Achievements
It would be nice to be able to see how far you've walked in , especially if you have a "testing" world and a "legit" world you would like to keep separate. Maybe you've only laid 50 meters of track to get to your mountaintop base, and you join a server with 30 km tracks to get between cities. Maybe you're doing a challenge to see how many monsters you can kill in 24 hours, but you take breaks to go back to your other world for a break. Currently there are only global statistics, and those tend to be reset when minecraft is updated or crashes. For SMP, the server could keep track so the client only has to ask the server when the user opens their statistics menu, and if necessary, report to the server every ten minutes and when disconnecting. There could still be global stats and achievements, kept separately from the local stats and achievements, for bragging rights.

Maps
Four iron and a piece of redstone per map is a bit expensive.

Creation
A blank piece of paper can be crafted with dye(s) and/or a compass to create a map centered on the location of crafting.

The compass should remain in the crafting table after removing the map from the output.

Scale is determined by the position of the compass. Place the compass in the first row for the largest scale (smallest area mapped, x3), second row for medium scale (x2), third row for small scale (largest area mapped, x1)


 * NOTE: The number of items in the output of the crafting grid, divided by 10, indicates the SCALE of the resulting map. All recipes produce ONE map.

Copying and Linking
An existing map is used in addition to the items used in map creation. The existing map (and compass) are left in the table. This merely produces a copy, and does not show the position of other copies of the map.

A linked map is created in the same way, but with the addition of a piece of redstone. Linked maps will show the position of other players with a map linked to it.

The new map will have the same scale as the original regardless of the position of the ingredients.

Waypoints
Pressing the inventory button (or opening a crafting table?) while holding a map should open the map editing interface. This should allow players to add markers, change the color of other maps' markers, draw, etc.

Icons can be found in /misc/mapicons.png

Using (Optional)
To map an area, you must have the map out and a compass in your hotbar. The map will still display without a compass, but you won't be able to fill it in, and you (or players with maps linked to yours) will be unable to see your location if you are outside the mapped area.

Recycling
Existing maps can be crafted with bonemeal to make a plain piece of paper.

Pathfinding
Currently, mob pathfinding appears to be "Walk straight toward the player". They need to be smarter, using information immediately available to them (It looks like there's a path to the right), but not information they shouldn't have (navigating a maze perfectly the first time, shortest distance over or around this mountain range). They should be capable of getting "lost" in unfamiliar places. If a pass is suddenly blocked, they shouldn't react to that information until they see it.

This will probably have to wait until you hire an AI specialist.

Better distribution of levels
A gaussian distribution, capped at players experience level, shifted based on the percentage of possible bookshelves present and scaled based on difference between the number of shelves and player's experience, would allow extremely high level enchantments if enough work is put in to "gather" the experience, and higher level enchantments require either X bookshelves or a much higher experience level.

Example*: int lvl = (int) (Math.abs(random.nextGaussian * level/shelves % (2 * level)) + level * shelves / 32); if (lvl > level) { lvl -= lvl % level; } *This is only intended as an example and is probably not optimal. It may contain glaring or subtle logical or syntactic errors.

A constant amount of experience per level is ideal, as long as the constant is high enough. Increasing this constant along with all other experience drops would allow smelting or mining low value ores to always drop experience,

15 bookshelves is not enough. With a 30 level cap it doesn't allow level-specific control, thus re-introducing click spamming. 32 bookshelves would be ideal for the proposed system.

Clicking on the book graphic to re-roll the "dice" would be nice, and mice everywhere would thank you. This could be taken further by allowing you to go back by clicking on the left side and forward by clicking on the right.

Durability Meter
There is currently no way to know how much durability your armor has left without opening your inventory. There should be a second durability meter indicating the amount of damage armor can take before it breaks.

Cracked Armor Icon
Maximum information with minimal additional clutter

= durability

+ (cracked armor icon) = protection

= No armor

Example:

= 45% protection, 66% durability

= 45% protection, 100% durability

Walkable Tracks
"Walkable" sloped tracks would remove the need for a parallel stairways next to sloped tracks.

Controls
Ladders should use the same controls as flying.

= up

= down

= stay put

This would prevent the bug where mobs colliding with each other in a single block wide ladder shaft get stuck going up.

Weather
Rain needs to be less common. Sleeping shouldn't stop rain, but reduce the rain/thunder time by the same amount staying up would have.

Changing usernames
User account should be identified by an account number.

Whitelist and blacklist files

 * Line one is a username to be banned no matter what account is used.
 * Useful for filtering inappropriate language.
 * If the user changes their username from this, they will be able to log in.
 * Use with caution in whitelists.
 * Line two is an account that will be banned or whitelisted no matter what USERNAME is.
 * The username is for the admin to quickly read through the list.
 * The username should be updated whenever ACCT_NUM number OR USERNAME logs in and on server startup.
 * Line three is a manual addition to the list.
 * The server will update these with account numbers on startup or when USERNAME logs in.
 * The user may change their name before this gets updated. Start the server soon after adding a username.
 * Line four is an account number added manually.
 * The server will update this with the username on startup or when ACCT_NUM logs in.
 * This will likely not be used very often.

Silverfish blocks
They should stack with the corresponding stone blocks. If the player picks up a silverfish infested block, add a tag that indicates the number of silverfish to the stack of the corresponding block that the silverfish was added to. When a stack is split, a random number of silverfish are assigned to each stack. There should be no indication of the presence of silverfish in the stack, so it would be possible for the player to get silverfish mixed in their entire cobble supply. There would be no way to tell if you've gotten rid of all of them without placing and re-breaking every single block.

Miscellaneous

 * Sprinting on redstone wire should break it
 * Endermen still need to drop the block they're holding
 * Instead of teleporting randomly in sunlight, they should drop their block and return to the End
 * Pigs and cows should always drop at least one meat (and leather for cows)
 * Mutton for sheep
 * If pigs could drop up to 5 meat it would be incentive to farm them for food if no other materials are needed
 * Skeletons with finite arrows and melee attacks
 * Perhaps randomly enchanted bows occasionally?
 * It would be awesome to have binoculars, spyglass or something like this.