129 Commits

Author SHA1 Message Date
Aaron Suen
aa714cd218 Make log tracing optional, and off by default.
This can be very annoying/distracting in singleplayer.
2019-02-21 10:45:24 -05:00
Aaron Suen
4e3d359904 Limit absolute tool speed to 0.25s.
Tool speeds too high make pummeling impossible.
2019-02-21 10:24:48 -05:00
Aaron Suen
dd9100ad1e Slow down choppy tools significantly.
Axes were way too powerful, and apparently even stone axes were
digging trees way too fast.  Make this closer to the speed of
digging stone instead of the speed of dirt.  Make higher-tier
tools more useful here.
2019-02-21 10:00:36 -05:00
Aaron Suen
52368c1d9b Fix pummel working on count>1 stacks when it shouldn't. 2019-02-21 09:52:27 -05:00
Aaron Suen
05737fcf30 Fix placement delay on crafting. 2019-02-21 09:46:26 -05:00
Aaron Suen
c0d031eb24 Create initial node defs for sponges. 2019-02-16 19:34:53 -05:00
Aaron Suen
50875fc9d8 FINALLY finish converting remaining pummel stuff. 2019-02-10 00:25:57 -05:00
Aaron Suen
b5bd67d5a7 Finished pummel-craft API, started converting recipes. 2019-02-09 22:44:56 -05:00
Aaron Suen
05d4d52eb4 Survey of how we're using pummels right now. 2019-02-08 21:12:10 -05:00
Aaron Suen
33cbce23e5 Merge branch 'master' into refac1 2019-02-04 20:16:54 -05:00
Aaron Suen
d39b3a3949 Move version handling into base API. 2019-02-04 20:15:33 -05:00
Aaron Suen
d67f736ac5 Merge node_is into match. 2019-02-03 12:44:33 -05:00
Aaron Suen
2b8cc8fba2 Finished refactoring crafting into a separate mod.
Appears to work with existing functionality.

Next step will be to rework pummel to use a "recipe" system and
reuse most of the useful parts of the crafting system.
2019-02-03 12:10:27 -05:00
Aaron Suen
ef8a756f8e Workaround https://github.com/minetest/minetest/issues/7020 2019-02-03 09:47:42 -05:00
Aaron Suen
f98e8be5c2 Started a large refactor project.
The idea is to merge the pummel logic with crafting recipes,
and move them up out of plain old api.
2019-02-03 09:00:09 -05:00
Aaron Suen
c100ff30c0 Weird typo. 2019-01-30 21:45:07 -05:00
Aaron Suen
9ef8b8520f Rip out the snooper and consolidate statistics/knowledge yet again.
Nobody was using the snooper; not worth the bother to host it.
Instead, consolidate player statistics tracking for the achievement
system.  We can still use it for statistics collection, but users
would probably have to post world dumps for that.
2019-01-30 21:02:19 -05:00
Aaron Suen
2d3b468c65 Knock out a bunch of small low-hanging issues.
- Eggcorn cleanup.  They look a little better falling out of the
  tree, and we don't have so many now.
- Crushing damage fixes.  Crushing is nuanced now, and most things
  don't smush you, and many do reduced damage.  A few may do more.
- Item stack convenience.  Items landing on a stack or right-
  clicked onto one attempt to merge into it.
- Ladders now fall (they don't connect to sides).  Use the new
  full-scale frames for ones that don't.
2019-01-29 20:41:29 -05:00
Aaron Suen
5f4e99e1a7 Change the look of loose nodes.
Make it clear that they're separated from neighbors by dark
border, instead of just looking a littler "sandier".
2019-01-28 23:40:44 -05:00
Aaron Suen
0004d4aaf1 New version numbering scheme, updated plans. 2019-01-28 23:13:21 -05:00
Aaron Suen
37f5c0a0de Laid the groundwork for metal-working.
- Defined nodes, slabs, and prills of lode.
- Heating lode ore releases hot lode prills.
- Lode things in stack can air-cool to anneal or water-quench to
  harden/temper.  Cooling of placed nodes/slabs is planned.
- Hot items cannot be carried; picking them up causes damage and
  causes player to drop them.
2019-01-27 22:34:53 -05:00
Aaron Suen
cc793cdbb5 Item stack rotation tweaks.
- Random initial rotation.

- When stackable items represent a complete full stack, rotate
  about 1/3 as fast as normal.  This subtle cue helps organizing
  storage by finding available space, but you still need to pick
  up the stack if you want an EXACT count.
2019-01-27 01:40:39 -05:00
Aaron Suen
f1247827b3 Remove yet more debugging code. 2019-01-26 23:02:10 -05:00
Aaron Suen
258da379be Reduce excess particles. 2019-01-26 23:01:34 -05:00
Aaron Suen
7f539d82ec New pummel particles (they look like digging particles!) 2019-01-26 23:00:03 -05:00
Aaron Suen
e4dc398b3a Start work on usage survey.
- Refactor player knowledge into player mod, to declutter API.
- Move player knowledge into mod storage so players don't need to
  be connected to access.  Old knowledge will be reset, but I
  doubt there was very much of it to lose.
- Start gathering some basic stats.
  - Main glaring omission is player moving and idle time.
2019-01-26 16:39:07 -05:00
Aaron Suen
169f226ba7 Punch item entities to jar them loose if they get "stuck". 2019-01-26 12:50:06 -05:00
Aaron Suen
a7d7aefc5c Add ladders.
Can construct simply using a stack of sticks.  Makes it possible to
maintainably tunnel upwards to bring in sunlight for indoor light
for shallow builds, and provides a safe walking surface above.

Also:
- Fixed recipe rotation to include normal check.
2019-01-26 12:28:52 -05:00
Aaron Suen
739ad29acc Be a little more forgiving on tool wear for stonifying wood tools.
Allow up to 2% wear.  Sometimes you're diggng with a stone tool and
the tip breaks off and you don't notice (there's no sound yet),
so you accidentally dig a little with the wood tool and get it a
little dirty.  Let's be a little forgiving, and allow the stone
tip applicaton to also apply a little "repair" to the underlying
wood tool.
2019-01-26 11:39:55 -05:00
Aaron Suen
ffac1253d7 Remove debug code. 2019-01-25 09:31:40 -05:00
Aaron Suen
fcb8463953 Stone-tipped tools.
- Add a bit of stone to the tip of a wooden tool to harden it.
- Stone tools wear back down to their wooden originals.
- Stone tools dig faster, but wear quickly, so you need to pay
  attention to wear levels and carry spare stone tips.

Also:
- Nerfed mining speeds again, but made higher-tier tools much
  faster relative to lower.
- Nerfed tool durability as well.

Also:
- Standardized item ejection logic.
2019-01-25 09:26:15 -05:00
Aaron Suen
c6f1c10604 Eject inventory on death, bias ejection upwards. 2019-01-25 01:23:44 -05:00
Aaron Suen
d70c20cd3b Item stacking refinements.
Try to place items into existing stacks when searching for a
settling location.

Try to launch items from reasonable corners of a source node in
item_eject so they don't self-collide and end up in one pile.
2019-01-25 01:15:14 -05:00
Aaron Suen
5c876fc506 Fix repacking when holding item stacks 2019-01-25 00:54:11 -05:00
Aaron Suen
89eed21f14 Don't define "up-level dig times".
For now this is a stopgap to make sure that things aren't diggable
now that we want not to be.

This whole group level thing is kind of a mess.  We will probably
have to switch to a strategy of using fewer levels and more
different groups in the long run.  Based on the feedback I've been
getting in the MT Discord, it sounds like the number of tiers may
not be very flexible.
2019-01-25 00:17:47 -05:00
Aaron Suen
83481827f9 Break loose cobble into stone chips.
- Chip apart loose cobble with a pick.
- Hammer stones back together with a mallet.
- Repacking with mallets now wears tool.
2019-01-25 00:12:29 -05:00
Aaron Suen
b6a83b2791 Pummel API overhaul.
- Make check/resolve functions naturally paired instead of having
  to test the "check" value, so we can use the "check" value for
  more specific parameter stuff.
- Make existing pummel logic use a standard tool speed check.
2019-01-24 23:16:12 -05:00
Aaron Suen
8e47b687d0 TOOL CAPABILITIES / LEVELS OVERHAUL
Try to standardize the way we handle tools, materials, digtimes.
- Levels start at 1 and work upwards.
  - Level 1 is for "hand" or "primitive" tools.
  - Levels 2+ are wood, stone, metal, etc.
- Link dig times, tool levels, and durability together.
- Material groups now define standard "base dig times" which
  are the main thing that makes e.g. stone harder to dig than dirt.

The speed of digging almost everything will probably have changed,
in some cases not for the better; much testing will be needed.
2019-01-24 22:08:05 -05:00
Aaron Suen
7080270e56 Fully rename iron to lode.
Also refactored API to handle simple aliasing on rename
automatically, and allow registration intercept for non-node
item defs too.
2019-01-24 20:45:14 -05:00
Aaron Suen
464a0e1d89 Finite fire rework.
- There are now 6 degrees of embers.  Better fuel sources will
  make better embers.
- Embers differ only in lifespan; each class lasts twice as long
  as the previous.  Top-grade fuels may last 15 minutes or
  longer.
- Embers decay stochastically.
- Embers decay 16x as fast when smothered, but still go through
  the same lifecycle.

Also:
- Plain ash now reposes.

There are no infinite fuel sources, nor are any specifically
planned at this time.
2019-01-17 00:01:00 -05:00
Aaron Suen
d968be62ee Squelch excess limited ABM warnings. 2019-01-12 20:53:02 -05:00
Aaron Suen
af64f075be Fix locals. 2019-01-12 20:51:34 -05:00
Aaron Suen
85bc45e3a6 Fixed a couple of warnings. 2019-01-12 20:46:56 -05:00
Aaron Suen
983f698f2c Refacs, start on iron ore.
Iron ore is distributed in sheets.  The ore itself will not be
exposed to the air (or any other material other than stone) but
can be detected by the rusty tint it gives nearby rocks.

Iron ore is a stone that yields cobble infused with iron.

Smelting processes to produce steels are TBD.
2019-01-08 02:03:18 -05:00
Aaron Suen
79a71d7b25 Provide depth to scan_flood kernel 2019-01-06 19:23:18 -05:00
Aaron Suen
45441071ab Make items on ground have a shadow.
There are 4 different states for things in the world:
- Regular node in world
- Item stack on ground
- Item entity (falling)
- Falling node entity

The entity states are not interactable at all, and regular node
doesn't rotate.  We can help differentiate node-in-air vs
node-stack-on-ground with a shadow visual.

Sometimes a node will get stuck as an entity inside another node's
negative space (e.g. a nodebox) and having a way to tell that it's
not a real one should maybe help.
2019-01-06 18:46:00 -05:00
Aaron Suen
714e2d40ac Add cobble and loose cobble for pick usage.
Loose cobble now requires a mallet to repack into cobble.
2019-01-06 17:09:34 -05:00
Aaron Suen
195a6a2f7f Added grass spread/decay.
Not super-important right now, but it was getting annoying.
2019-01-06 15:09:59 -05:00
Aaron Suen
62f0db49e0 Fire mod is now basically functional.
"Qualitative" fire now works, spreads, etc.

Rub 2 sticks/staves together to start a fire in nearby flammables.
2019-01-06 13:04:07 -05:00
Aaron Suen
7d29907ab2 Some API refactors.
- Clean up utils into multiple files.

- Standardize limited ABM.

- Standardize debug trace handling.  Instead of using chat_send_all
  to debug, and then having to remember to remove before release,
  allow privileged players to receive all server debug messages.
2019-01-06 12:02:37 -05:00