Git Product home page Git Product logo

minetest_game's Introduction

Minetest

Build Status Translation status License

Minetest is a free open-source voxel game engine with easy modding and game creation.

Copyright (C) 2010-2022 Perttu Ahola [email protected] and contributors (see source file comments and the version control log)

Table of Contents

  1. Further Documentation
  2. Default Controls
  3. Paths
  4. Configuration File
  5. Command-line Options
  6. Compiling
  7. Docker
  8. Version Scheme

Further documentation

Default controls

All controls are re-bindable using settings. Some can be changed in the key config dialog in the settings tab.

Button Action
Move mouse Look around
W, A, S, D Move
Space Jump/move up
Shift Sneak/move down
Q Drop itemstack
Shift + Q Drop single item
Left mouse button Dig/punch/use
Right mouse button Place/use
Shift + right mouse button Build (without using)
I Inventory menu
Mouse wheel Select item
0-9 Select item
Z Zoom (needs zoom privilege)
T Chat
/ Command
Esc Pause menu/abort/exit (pauses only singleplayer game)
+ Increase view range
- Decrease view range
K Enable/disable fly mode (needs fly privilege)
J Enable/disable fast mode (needs fast privilege)
H Enable/disable noclip mode (needs noclip privilege)
E Aux1 (Move fast in fast mode. Games may add special features)
C Cycle through camera modes
V Cycle through minimap modes
Shift + V Change minimap orientation
F1 Hide/show HUD
F2 Hide/show chat
F3 Disable/enable fog
F4 Disable/enable camera update (Mapblocks are not updated anymore when disabled, disabled in release builds)
F5 Cycle through debug information screens
F6 Cycle through profiler info screens
F10 Show/hide console
F12 Take screenshot

Paths

Locations:

  • bin - Compiled binaries
  • share - Distributed read-only data
  • user - User-created modifiable data

Where each location is on each platform:

  • Windows .zip / RUN_IN_PLACE source:
    • bin = bin
    • share = .
    • user = .
  • Windows installed:
    • bin = C:\Program Files\Minetest\bin (Depends on the install location)
    • share = C:\Program Files\Minetest (Depends on the install location)
    • user = %APPDATA%\Minetest or %MINETEST_USER_PATH%
  • Linux installed:
    • bin = /usr/bin
    • share = /usr/share/minetest
    • user = ~/.minetest or $MINETEST_USER_PATH
  • macOS:
    • bin = Contents/MacOS
    • share = Contents/Resources
    • user = Contents/User or ~/Library/Application Support/minetest or $MINETEST_USER_PATH

Worlds can be found as separate folders in: user/worlds/

Configuration file

  • Default location: user/minetest.conf
  • This file is created by closing Minetest for the first time.
  • A specific file can be specified on the command line: --config <path-to-file>
  • A run-in-place build will look for the configuration file in location_of_exe/../minetest.conf and also location_of_exe/../../minetest.conf

Command-line options

  • Use --help

Compiling

Docker

Version scheme

We use major.minor.patch since 5.0.0-dev. Prior to that we used 0.major.minor.

  • Major is incremented when the release contains breaking changes, all other numbers are set to 0.
  • Minor is incremented when the release contains new non-breaking features, patch is set to 0.
  • Patch is incremented when the release only contains bugfixes and very minor/trivial features considered necessary.

Since 5.0.0-dev and 0.4.17-dev, the dev notation refers to the next release, i.e.: 5.0.0-dev is the development version leading to 5.0.0. Prior to that we used previous_version-dev.

minetest_game's People

Contributors

an0n3m0us avatar appgurueu avatar blockmen avatar calinou avatar celeron55 avatar davisonio avatar desour avatar ekdohibs avatar ezhh avatar hybriddog avatar ifrfsx avatar kaeza avatar kilbith avatar mirceakitsune avatar octacian avatar p-ouellette avatar paramat avatar pilzadam avatar realbadangel avatar red-001 avatar rubenwardy avatar sfan5 avatar shadowninja avatar smalljoker avatar sofar avatar t4im avatar tenplus1 avatar thomas--s avatar tumeninodes avatar wuzzy2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

minetest_game's Issues

Square-prism left-shifted wieldhand matching Sam I skin

I made this by rotating and doubling the size of the player skin texture with no interpolation, then scaling width to 75% with cubic interpolation, creating a 6x10 pixel hand, when extruded this makes a roughly square-prism shape, the 8x10 of my earlier texture being too slablike and 4x10 being too small.
The texture is up against the left edge of it's 16x16 canvas to bring it in from the corner of the screen, even with a 4x3 screen ratio as seen in the screenshots below. If you prefer this relocated within it's 16x16 canvas let me know.
Because the player's arm swings up the underside of the fist is toward the camera, not the side as in my previous textures.

screenshot_2467591111

screenshot_2467596519

Here is the actual texture file http://i.imgur.com/4a70LHP.png

Trivially avoid drowining by swimming up into a solid block.

When underwater, swimming upwards against a ceiling seems to place your head slightly inside the solid node above. The player does not suffocate inside solid nodes, and in fact can replenish oxygen this way. It seems that (1) the player should probably not be able to press his head into a solid node, and (2) if the player could, he shouldn't be able to breathe in there.

Locked furnaces/doors/signs

Just a quick suggestion. ;)
Locked furnace recipe should be like locked chest, but with a steel ingot in the center.
Locked door recipe should be like a door but with a steel ingot; locked sign recipe would probably be like sign recipe, but replacing the stick with a steel ingot.

Ocean Life

The ocean and lake biomes have a lot of potential for growth. What if fish mobs (both good and evil) were added as well as more sealife than provided in the Sealife mod? Underwater volcanoes are also another idea.

Placing upside-down slabs can crash server

If you place a slab on the side of an upside-down slab and the position where the new slab should be placed is already used(for example by a mesecon)

screenshot_2105257804

the server will crash with the error:
.../minetest/games/minetest_game/mods/stairs/init.lua:184: attempt to index local 'ret' (a nil value)

and at line 184 we have:

local fakestack = ItemStack("stairs:slab_" .. subname.."upside_down")
local ret = minetest.item_place(fakestack, placer, pointed_thing)
if ret:is_empty() then    --line 184

shoudn't this be:
if ret and ret:is_empty() then

Revert right click to open doors

celeron55/minetest_game@686c0d0 should be reverted:

It breaks the expected behaviour of "right click to place or show form, left click to use."

It breaks game look, as attempting to open a door triggers placement prediction. This in turn further breaks look if the temporarily placed item is inside the player's position. Plus this makes server lag more obvious.

It breaks every other node, which can no longer be placed in front of a door.

Plans for improving the wieldhand texture

I'm working on this again, i realised to my embarassment the old wieldhand is best approximated by 7x10 pixels not 6x10 as it is now. Also currently the texture is a raw copy of the player texture and has no shading on one side, i will try to scale the texture up to 32x32 and add a narrow bright edge to be extruded, this way the left side can be darkened slightly. I will post images here to see what you think.

Add sprinting

I suggest adding sprinting ability to the minetest engine.
Here's the concept: Custom Hud + hunger mod + sprinting ability + some mobs.
Now for the "What's the purpose?" question:

The first one (a custom HUD) needed to graphically show that the player has food-o-meter, 'cause for now all that the hunger mod can do is send the player a message using Scripting API. That's not very nice, 'cause the player do not know how much time he has.

Hunger mod should be in the dependencies of the "stamina" mod or should be edited to include the sprinting ability: if the player is hungry he shouldn't be able to sprint. That's natural.

And here's the fun part:
In the minecraft sprinting is useless. There are NO mobs with velocity greater than that of the player. In Minetest all could be different. I suggest making it possible to create a rare powerful mob who can walk faster then the player. So, If it sees the player, it would chase him. And the sprinting would be one and only possibility to avoid him catch the player. But if the player is hungry he couldn't run and MUST engage with that mob. It's the matter of a few variables/constants to make that mob strong enough for any player want to avoid him.

To make all that possible I suggest adding a sprinting mode. To double press the forward key to sprint would be handy too. To stop sprinting and continue to walking when the player have bumped into the wall or entity would be natural. To stop sprinting in/under the water and on the sand/leaves would be natural too.

Mining decaying leaf blocks

This is short and simple.

Walk up to a tree and dig out all the wood/trunk pieces.
Now as the leaves are decaying, start harvesting them too.
You will occasionally get a block in your inventory with the "Unknown Block" texture; this block identifies itself as an Air block.

ACTION[ServerThread]: singleplayer digs air at (-136,14,-56)
ACTION[ServerThread]: singleplayer places node air at (-141,1,-67)

Vehicle + Mob: Battleships

I think it would be interesting if there were battleships, some as vehicles for the player and some that are actual mobs that would try to destroy the player's ship.

error: ‘qevent’ was not declared in this scope

Can't build minetest anymore, getting a error like:
http://pastebin.com/kqN00AZw

Last time it build fine was: 2013.02.19

In file included from /home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.cpp:40:
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.h: At global scope:
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.h:99: error: ‘Event’ does not name a type
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.cpp: In constructor ‘EmergeManager::EmergeManager(IGameDef_, BiomeDefManager_)’:
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.cpp:61: warning: operation on ‘nthreads’ may be undefined
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.cpp: In destructor ‘EmergeManager::~EmergeManager()’:
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.cpp:84: warning: comparison between signed and unsigned integer expressions
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.cpp:86: error: ‘class EmergeThread’ has no member named ‘qevent’
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.cpp: In member function ‘void EmergeManager::initMapgens(MapgenParams_)’:
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.cpp:104: warning: comparison between signed and unsigned integer expressions
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.cpp: In member function ‘bool EmergeManager::enqueueBlockEmerge(irr::u16, v3s16, bool)’:
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.cpp:155: warning: comparison between signed and unsigned integer expressions
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.cpp:165: error: ‘class EmergeThread’ has no member named ‘qevent’
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.cpp: In member function ‘bool EmergeManager::registerMapgen(std::string, MapgenFactory_)’:
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.cpp:265: warning: no return statement in function returning non-void
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.cpp: In member function ‘virtual void* EmergeThread::Thread()’:
/home/tforsman/conary/builds/minetest/minetest-979ca23f1e/src/emerge.cpp:345: error: ‘qevent’ was not declared in this scope
make[2]: *** [src/CMakeFiles/minetest.dir/emerge.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory /home/tforsman/conary/builds/minetest/minetest-979ca23f1e' make[1]: *** [src/CMakeFiles/minetest.dir/all] Error 2 make[1]: Leaving directory/home/tforsman/conary/builds/minetest/minetest-979ca23f1e'
make: *** [all] Error 2

Inconsistent furnace messages with invalid recipes

When an invalid craft is put into a furnace that has fuel, the furnace continues to say "furnace is empty". When an invalid craft is put into an empty furnace and then fuel is added, the furnace says "furnace is out of fuel" even though it contains a valid fuel.

I think it should say something like "Invalid recipe" instead.

Brown dye is in "basecolor_yellow" group

From the dye mod's init.lua:

{"brown",      "Brown dye",     {dye=1, basecolor_yellow=1,  excolor_orange=1,    unicolor_dark_orange=1}},

I'm thinking that should be basecolor_brown.

Sapling ABM not generating leaves

Running minetest_game version 91849c3, minetest version 06a5ece. Until recently, trees grew normally from saplings. Since yesterday (Nov 2, when the sapling ABM was reworked), my trees are growing bare trunks with no leaves.

Enhanced furnace

The default furnace could be boring sometimes, slow and needs to put tons of coal on multiple furnaces to get item smelt on good times.

The furnace could be replaced by furnace MK1, with 2 parts, the core made by the recipe of the current furnace with , and the final one, made by:

10C 10C 10C
10C core 10C
10C 10C 10C

...to the Furnace MK1 (so a bit of cobble would be used, it's a pretty useless material sometimes) and introducing another 2 furnaces, Furnace MK2 and Furnace MK3. They could be made by:

-Fx are furnace level (F1 = Furnace MK1)
-MK2 (C50 = 50x cobble)

C50 C50 C50
C50 F1 C50
C50 C50 C50

MK3 (C99 = 99 cobble)

C99 C99 C99
C99 F2 C99
C99 C99 C99

Furnace MK2 would be twice fast as MK1 and MK3 twice fast as MK2, also fuel consumption would scale the same amount. Furnace MK2 can have 2 slot for input item and 6 slot for output, where MK3 can have 4 slot for input and 9 for output, in addition it would have 2 slots for fuel.

Furnace MK2 and MK3 could take fuel from a nearby chest, in this case the fuel slot on furnace would be locked/faded and indicates the amount of remaining fuel from the chest, area could be 1 block for MK2 and 3 blocks for MK3. In case of locked chest, the furnace couldn't take fuel because normally it hasn't owner, and here appears the locked furnace, made by a furnace of any mk with a single steel on top:


_ S _
_ F _

In this way, the furnace would have an owner and could take fuel from locked chests with the same owner.

Private messaging

Quite simple idea: a /tell or /msg command to send messages privately, requires "shout" privilege.
Example would be like:

/msg player1,player2... message

Several names can be separated by commas.

New cuboid wieldhand texture, pixel copy of Jordach's SamII hand

(EDIT screenshots removed by me)
Same length and same average width as the original, each pixel of Jordach's SamII texture is colour sampled and doubled in size. The punch is palm-down and the texture is orientated correctly to match the character skin.

slabs

i think slabs should be added for sand blocks, dirt, glass, and gravel

nil value causes crashes, farming, line 212

We've come across a bug in minetest_game/farming that crashes the server on rare occasions. Each time this particular nil value bug occurs, it is when a player places grass. Below is a section from the most recent crashes log report.

Thanks
~ LazyJ


11:37:11: ACTION[ServerThread]: WSDguy2014 places node default:grass_2 at (538,14,491)
11:37:12: ACTION[ServerThread]: WSDguy2014 digs default:grass_2 at (538,14,491)
11:37:13: ACTION[ServerThread]: WSDguy2014 places node default:grass_2 at (538,14,491)
11:37:13: ACTION[ServerThread]: WSDguy2014 digs default:grass_2 at (538,14,491)
11:37:14: ACTION[ServerThread]: WSDguy2014 places node default:grass_2 at (538,14,491)
11:37:15: ACTION[ServerThread]: WSDguy2014 digs default:grass_2 at (538,14,491)
11:37:15: ACTION[ServerThread]: WSDguy2014 places node default:grass_1 at (538,14,491)
11:37:16: ACTION[ServerThread]: WSDguy2014 digs default:grass_1 at (538,14,491)
11:37:19: ACTION[ServerThread]: WSDguy2014 digs default:grass_3 at (532,14,494)
11:37:21: ACTION[ServerThread]: WSDguy2014 digs default:grass_3 at (531,14,488)
11:37:22: ACTION[ServerThread]: WSDguy2014 places node default:grass_5 at (533,14,488)
11:37:23: ACTION[ServerThread]: WSDguy2014 digs default:grass_5 at (533,14,488)
11:37:24: ACTION[ServerThread]: WSDguy2014 places node default:grass_3 at (533,14,487)
11:37:25: ACTION[ServerThread]: WSDguy2014 digs default:grass_3 at (533,14,487)
11:37:26: ACTION[ServerThread]: WSDguy2014 places node default:grass_2 at (533,14,485)
11:37:27: ACTION[ServerThread]: WSDguy2014 digs default:grass_2 at (533,14,485)
11:37:29: ACTION[ServerThread]: WSDguy2014 digs default:grass_1 at (532,14,486)
11:37:32: ACTION[ServerThread]: WSDguy2014 digs default:grass_3 at (531,14,481)
11:37:36: ACTION[ServerThread]: WSDguy2014 places node default:grass_5 at (533,14,489)
11:37:37: ACTION[ServerThread]: WSDguy2014 digs default:grass_5 at (533,14,489)
11:37:38: ACTION[ServerThread]: WSDguy2014 places node default:grass_2 at (533,14,491)
11:37:39: ACTION[ServerThread]: WSDguy2014 digs default:grass_2 at (533,14,491)
11:37:39: ACTION[ServerThread]: WSDguy2014 places node default:grass_3 at (533,14,493)
11:37:40: ACTION[ServerThread]: WSDguy2014 digs default:grass_3 at (533,14,493)
11:37:41: ACTION[ServerThread]: WSDguy2014 punches object 357: LuaEntitySAO at (532.61,13.6212,494.036)
11:37:43: ACTION[ServerThread]: WSDguy2014 places node default:grass_2 at (535,14,485)
11:37:44: ACTION[ServerThread]: WSDguy2014 digs default:grass_2 at (535,14,485)
11:38:00: ACTION[ServerThread]: WSDguy2014 places node default:grass_5 at (533,14,486)
11:38:01: ACTION[ServerThread]: WSDguy2014 digs default:grass_5 at (533,14,486)
11:38:07: ACTION[ServerThread]: WSDguy2014 digs default:grass_3 at (526,14,480)
11:38:07: ACTION[ServerThread]: WSDguy2014 digs default:grass_3 at (525,14,479)
11:38:08: ACTION[ServerThread]: WSDguy2014 digs default:grass_3 at (524,14,478)
11:38:08: ACTION[ServerThread]: WSDguy2014 places node default:grass_3 at (525,14,479)
11:38:08: ACTION[ServerThread]: Server: stefan supplied wrong password
11:38:11: ERROR[ConnectionSend]: con(5/1)RunTimeouts(): Peer 172 has timed out. (source=peer->timeout_counter)
11:38:11: ERROR[main]: ERROR: An unhandled exception occurred: ...t-0.4.9/bin/../games/minetest_game/mods/farming/init.lua:212: attempt to index local 'ret' (a nil value)
11:38:11: ERROR[main]: stack traceback:
11:38:11: ERROR[main]:  ...t-0.4.9/bin/../games/minetest_game/mods/farming/init.lua:212: in function <...t-0.4.9/bin/../games/minetest_game/mods/farming/init.lua:208>

In thread 7f395f088780:
/home/minetest/new_minetest-0.4.9/src/main.cpp:1870: int main(int, char**): Assertion '0' failed.
Debug stacks:
DEBUG STACK FOR THREAD 7f3953218700:
#0  virtual void* CurlFetchThread::Thread()
DEBUG STACK FOR THREAD 7f395f088780:
#0  int main(int, char**)
(Leftover data: #1  Dedicated server branch)
(Leftover data: #2  virtual void ServerMap::save(ModifiedState))
(Leftover data: #3  virtual void Database_SQLite3::saveBlock(MapBlock*))
(Leftover data: #4  void ItemStack::serialize(std::ostream&) const)



Lua trees

I have an idea. We should move trees generation from C++ code into Lua mod. It will help to develop mods that add new kinds of trees.

attempt to index local 'fuel' (a nil value) /mods/default/nodes.lua:1045

14:57:14: ERROR[main]: ERROR: An unhandled exception occurred: ...st/bin/../games/minetest_game/mods/default/nodes.lua:1045: attempt to index local 'fuel' (a nil value)
14:57:14: ERROR[main]: stack traceback:
14:57:14: ERROR[main]:  ...st/bin/../games/minetest_game/mods/default/nodes.lua:1045: in function <...st/bin/../games/minetest_game/mods/default/nodes.lua:980>

https://github.com/minetest/minetest_game/blob/master/mods/default/nodes.lua

Add "options" button into pause menu

So client wouldn't have to disconnect and then again connect and use additional network traffic when he or she wants to change some settings.

Fast tools repair

An enhancement that could help in firsts phases of the game: adding a recipe to repair damaged tools, made with the tool in the center and the tool's ingot over it, that gives a new, repaired tool.

Scheme:
T = tool
O = ingot
X = nothing

[X][O][X]
[X][T][X]
[X][X][X]

Conductive block/nodes

Inspired by the wool group, it would be a good idea to make blocks (node should be the right term?) conductive to mesecon/lv-mv-hv electricity.

The value for the property could be:
0: not conductive
1: mesecon conductive (act like a mesecon wire)
2: Low voltage conductive (act like a Technic mod wire)
...and so on.

Higher voltage conductivity could be usable by lower voltage wires.

Villages/City Biome

I think it would be awesome if there were a new biome that was a city/village with people (nice mob). Obviously, this biome would require the most programming and planning, but this may make Minetest more popular. Or, until this biome is a standard in the mapgen, maybe some habited huts randomly placed in many biomes (forest, desert, etc.) would be a good starting point.

Screwdriver Wrong protection handling

The new update from screwdriver is not very well-thought. How is a user supposed to change a mode when hes even not allowed to point at any node for that and cannot point to nothing due to the first few lines of the screwdriver handler? Moving the mode change before the protection check should work ( so shifting line 67-72 upwards ).
Anyway is the mode change nothing that could harm gameplay, so why protection checking it before a check for mode changing?

Indicate [esc] for menu, ladders

I'd like to see an improvement to the user interface that would help players that are newer to PC gaming: From the POV/camera, new text added to indicate that [esc] pauses the game and gets to menus. It may be old hat to experienced PC gamers, but was new to me when I picked this up to play with it.

On the "pause" menu that [esc] brings up, something need to be mentioned about how to climb a ladder. I placed ladder blocks when playing around with it, but could not use them.

Cacti growing on dry shrubs

I've spotted it a few times now and thought I should post a bug report.

I keep seeing cacti that has grown on top of dry shrubs (screenshot: http://ompldr.org/vZ2Qycg), I wasn't 100% sure if the cactus growth is now handled by lua or is still in the c++ mapgen if I've posted this in the wrong place let me know I will repost on the source repo.

Stair to Block Recipie Ratio

This is a fairly minor issue, but I've always found it odd that using six blocks only yields four stairs, considering a stair is just 3/4 of a block.

Maybe that could/should be changed in the future to six blocks for six stairs. Stairs tend to be expensive otherwise.

Cuboid wieldhand matching Sam2 skin

screenshot_1584358999

screenshot_1584360814

Image file is here https://github.com/paramat/wieldhandsam2
License CC BY-SA 3.0 as before
I have used the character skin texture by Jordach https://github.com/Jordach license CC BY-SA 3.0

Watching the character animation, as the arm is raised the palm-side of the hand faces the camera, this texture is a copy of this part of Sam2's skin, size doubled to 8x10 pixels with no interpolation, then width squashed to 6 pixels with cubic interpolation. I chose a 6 pixel width because 8 looks too flat and slablike, 4 and 5 look squarer but look too small, 6x10 is also a good size match to the default wieldhand. This one is not left shifted in it's canvas as my previous wieldhands were, it is central like the default wieldhand.

The UI for moving items to the quickbar is not intuitive

It's not clear from the interface that the top row of the inventory screen maps to the quickbar. Dragging items onto the quickbar casts to the ground, which is frustrating for new users.

I'd prefer to map the quickbar to the bottom row of the inventory, and to visually offset it somehow.

boats:boat - character gets incorrectly positioned after restarting the game

it's not a high priority bug, just a stupid behavior of the mod boats:boat

  1. With the boat ride on the water,
  2. Exit the game (or return to the main menu).
  3. After relogin/play the game, you character are placed next to the boat and not on/in the boat anymore.

This same behavior also happens with the ufo mod. I use latest build from git & compiled a few minutes ago (but this is nothing new; it happens yesterday also).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.