1
0
Commit Graph

85 Commits

Author SHA1 Message Date
Tiger Wang
7ad054b087 Explodinator performance optimisations
Thanks @lixfel (#4246)
2021-02-07 22:36:15 +00:00
Tiger Wang
98cf4025ce BlockInfo: float-equal for Clang only 2020-11-28 20:49:33 +00:00
Tiger Wang
645fea4237
Players are no longer kicked when clicking on bedrock (#5023)
* Players are no longer kicked when clicking on bedrock
* Fixes #5022
2020-11-06 14:58:47 +00:00
Tiger Wang
1ed782787a Rein in light spread by correcting falloff value
* Fixes #5018
2020-11-02 15:44:23 +00:00
KingCol13
c11ca96c3d
TNT Changes (#4970)
+ Make TNT drop pickups, change a few comments.
+ Give each ray random intensity, instead of each explosion.
* Use direction instead of destination, rewrite for pairs of edges.
2020-10-24 18:48:48 +01:00
Tiger Wang
64442b05f8
cBlockInfo: further cleanup (#5001)
* cBlockInfo: further cleanup

+ Use switch statements instead of lookup in dynamically initialised arrays
- Remove some deprecated bindings

* Update Stubs removing references to BlockInfoArray
2020-10-18 15:37:07 +00:00
KingCol13
cd1b507745
Fix instant mining of blocks not being recognised, tweak anti-cheat (#4938)
* Tried to fix a small issue...

Ended up rewriting a bunch of god awful, opaque code with no source
and no sense. Who names a function GetPlayerRelativeBlockHardness???
It's gone now. We're safe again.

* Testing anti-cheat.

* Tidy up debug logging.

* Remove empty member declaration.

* Rewrite GetDigSpeed slightly for better readability.

* GetMiningProgressPerTick now returns 1 when instantly mined. Fixed hasily written typo.

* Comment style and typo fixes.
2020-10-02 20:57:17 +00:00
Tiger Wang
68cced73af
BlockHandler initialisation is a constant expression (#4891)
* BlockHandler initialisation is a constant expression

If we can't make it all namespaces, this is the next best I guess.

+ Tag handlers constexpr, const as needed
+ Inherit constructors
* Privatise handler functions

* More constexpr

Co-authored-by: Alexander Harkness <me@bearbin.net>
2020-09-20 13:50:52 +00:00
Elias Thomson
f7091e1b19
Fixed leaves and wheat not breakable with piston (#4882)
* Fixed leaves and wheat not breakable with piston

* Fixed alpha-sort

* Add beetroots

Co-authored-by: Elias Thomson <fiv.pids@gmail.com>
2020-09-17 21:03:02 +00:00
Tiger Wang
c3d2956ba5
BlockHandler: no dynamic allocation (#4862)
* BlockHandler: no dynamic allocation
2020-09-17 14:51:42 +01:00
Elias Thomson
a90dedffeb
Fixed doors not breakable by piston (#4869)
Co-authored-by: Elias Thomson <dev@eliasthomson.com>
2020-09-15 19:47:23 +00:00
Tiger Wang
93adbdce9a
Use tracing for explosions (#4845)
* TNT: Implement tracing algorithm

+ Add intensity tracing
* Fix iterating over all players to SendExplosion, even those not in range

* Implemented TNT entity interaction

* Fixed misaligned destruction tracing

* Finalise TNT algorithm

- Remove BlockArea and just use chunks

Using SetBlock makes it so that we can update everything properly, and does appear to be faster.

* BlockInfo learns about explosion attentuation

* Rename Explodinator parameters

* TNT: pull block destruction into common function

Co-authored-by: Alexander Harkness <me@bearbin.net>
2020-09-12 18:57:44 +00:00
Alexander Harkness
4a62e004c5 Change stained clay hardness value 2020-04-10 13:07:16 +00:00
Mattes D
01b8ed5295
Pulled the BlockID and BlockInfo headers from Globals.h. (#4591)
The BlockID.h file was removed from Globals.h and renamed to BlockType.h (main change)
The BlockInfo.h file was removed from Globals.h (main change)
The ENUM_BLOCK_ID and ENUM_ITEM_ID enum names were replaced with ENUM_BLOCK_TYPE and ENUM_ITEM_TYPE (cosmetics)
The various enums, such as eDimension, eDamageType and eExplosionSource were moved from BlockType.h to Defines.h, together with the helper functions for converting between them and strings (StringToDimension et al.) (minor)
Many inline functions were moved from headers to their respective cpp files, so that BlockType.h could be included only into the cpp file, rather than the header.
That broke our tests a bit, since they pick bits and pieces out of the main code and provide stubs for the rest; they had to be re-stubbed and re-verified.
eMonsterType values are no longer tied to E_ITEM_SPAWN_EGG_META_* values
2020-04-03 08:57:01 +02:00
Xenoxis
ae4d387f1d
Fix Snow Spawn on Cobblestone Slab (#4564) 2020-03-27 23:37:32 +00:00
Peter Bell
fb2ef33c89 Correct block transparencies 2019-12-05 15:26:47 +01:00
peterbell10
950aeffff8
CheckBasicStyle: Check number of empty lines between functions (#4267)
Add check for number of empty lines between functions and fix the corresponding failures
2018-07-26 22:24:36 +01:00
Alexander Harkness
03c977a200 Update m_IsSolid assignments in BlockInfo (#4167)
Fixes #4166
2018-06-24 11:32:17 +01:00
Zach DeCook
7833e8112f * Block Info: glazed terracotta and concrete hardness/solid voxel status (#4205) 2018-04-02 18:45:01 +01:00
Bond-009
d3a3c6ad2c Removed cBlockInfo.m_IsSnowable (#4105)
* Removed cBlockInfo.m_IsSnowable

* Return IsSnowable from deprecated variable binding m_IsSnowable.
2018-01-23 21:07:06 +00:00
Alexander Harkness
6309c6a97f
improve rain simulation (#4017)
* Uses vanilla logic to decide which blocks rain falls through.
 * Rain falls infinitely above the world, and stops at y=0.
 * Entities will now be extinguished if they are under rain-blocking
blocks, and fire will now be extinguished by rain similarly.
 * Create IsWeatherWetAtXYZ to identify wetness at a particular location. 
 * Use new code for enderman rain detection.
 * Fixes issue #916
 * Disable warnings for global constructors in the fire simulator.
2017-12-26 21:25:57 +00:00
Alexander Harkness
b5a23e5cd9 Lighting now generally consistent with vanilla (#3988)
* Lighting now generally consistent with vanilla

Skylight is now dispersed by some blocks, instead of passing
through unimpeded.

Some blocks which were not marked as transparent are now marked as
such.

Water and other such blocks now attenuate light with the correct
intensity.

Generally changes were based on documentation in the Minecraft
Wiki: https://minecraft.gamepedia.com/Opacity#On_block_light ,
however during play-testing on vanilla lava was found not to
attenuate sky or block-light so the attenuation was removed.

This fixes #3849

* Add API documentation for IsSkylightDispersant

* Rename m_SkylightDispersant to m_IsSkylightDispersant

* Update comment for m_Transparent property of Blocks
2017-09-07 11:56:17 +01:00
peterbell10
759618b035 Remove double includes part 2 (#3890) 2017-08-03 15:34:19 +02:00
peterbell10
d838ef7ba4 cBlockInfo static initialisation (#3832) 2017-07-03 18:34:27 +02:00
Bond-009
76c39dad0f Added blocks that can be washed away by water (#3637) 2017-03-21 09:47:03 +01:00
willi123yao
eb7d684aad Allow mobs to walk through dead_bush (#3623)
Fixes #3618.
2017-03-16 08:54:14 +01:00
mathiascode
dae2adde65 Updated sounds and effect IDs (#3422) 2017-02-15 06:05:24 +01:00
mathiascode
4311f4a658 Added some blocks and items (#3503) 2017-02-14 11:13:55 +01:00
mohe2015
32b38fb264 Anticheat fastbreak (#3411)
Added block hardness checks when breaking blocks.
2016-11-06 19:30:19 +01:00
bibo38
cb640ffea4 Spectators added (#2852) 2016-10-12 14:38:45 +02:00
LogicParrot
373d9f92a4 Updated cChunk::SetMeta, fixed grass growth, reduced markDirty/setMeta usage 2016-04-16 19:04:45 +03:00
Gargaj
66e6589883 blockheight mechanism 2015-12-13 15:16:15 +01:00
bibo38
d92a92d78a Implemented the slime block dropping behaviour.
Fixes #2530
2015-11-07 17:23:02 +01:00
Tiger Wang
8656e149c8 Improved maps 2015-07-14 21:46:30 +01:00
Samuel Barney
404cf5dcfd Farmland is now listed as an opaque block.
Changed spread light falloff for farmland to what it was originally.
2015-07-02 16:13:40 -06:00
Samuel Barney
e70e2b8ecc Rebased version of Code 2015-06-22 11:29:38 -06:00
tycho
dae9e5792a Made -Weverything an error. 2015-05-24 12:56:56 +01:00
Howaner
2a8c234f46 Fixes 2014-12-13 20:31:37 +01:00
Howaner
8e753fa590 Added cocoa pod. 2014-12-01 18:10:37 +01:00
Tiger Wang
a26541a7c3 En masse NULL -> nullptr replace 2014-10-22 20:12:49 -07:00
Mattes D
db98820aa9 Merge pull request #1489 from mc-server/fixes
Improved torch handler
2014-10-04 10:02:10 +02:00
Masy98
cc9e598803 Added missing 1.8 blocks, E_METAs and sounds 2014-10-01 17:57:53 +02:00
Tiger Wang
48c99dcd2e Improved torch handler 2014-09-30 22:00:33 +01:00
Howaner
83973520c8 Fixed iron trapdoors 2014-09-30 20:04:49 +02:00
madmaxoft
e7de548c89 Fixed minor style issues. 2014-09-27 21:37:36 +02:00
Masy98
2feee3b316 Merge branch 'master' into blocks
Conflicts:
	src/Items/ItemHandler.cpp
	src/Simulator/IncrementalRedstoneSimulator.cpp
2014-09-26 18:32:31 +02:00
Tycho
045d54e0e2 Merge branch 'master' into redstoneTests
Conflicts:
	src/Blocks/ChunkInterface.h
2014-09-17 18:47:33 +01:00
Tycho
6e7c0e33b5 Added first test to show the object can be created 2014-09-17 18:40:10 +01:00
Howaner
010ac1e5f7 Fixed block place sounds. 2014-09-12 18:12:42 +02:00
Masy98
741791ecfc Added barrier block 2014-09-11 16:07:54 +02:00