1
0
Commit Graph

273 Commits

Author SHA1 Message Date
Alexander Harkness
d18e134e7e
Update Core 2020-03-26 17:11:13 +00:00
Mat
782619e3f8
Send respawn packet by default (#4540) 2020-03-24 14:54:12 +00:00
Alexander Harkness
746160c1e5
Update Core 2020-03-24 12:31:29 +00:00
Alexander Harkness
605cf774f9 Update .gitignore; new files added to APIDump are no longer ignored 2020-03-23 12:37:11 +00:00
Alexander Harkness
ad1872f8cc Add missing documentation file. 2020-03-23 12:24:31 +00:00
Alexander Harkness
0a68994f48 Manual merge of #4498.
Credit to @MeMuXin

Closes #4498
2020-03-23 12:18:12 +00:00
Mat
c968f1f7da
TNT position fixes (#4519)
* TNT position fixes

* Don't add offset to explosion spawn coords

* Don't make other entities push TNT

* Correct initial TNT speed

* Fix typo

* Improvements

* Revert unwanted change

* Style fixes

* Update format
2020-03-22 17:33:36 +02:00
mathiascode
dbca823e65 Update Core 2020-03-22 12:45:17 +02:00
Alexander Harkness
0d444b62c9 Updated core, fixes #4520 2020-03-22 00:57:58 +00:00
Alexander Harkness
0e694ae257 Update Core 2020-03-21 11:33:35 +00:00
mathiascode
47d9550f2e Update Core 2020-03-17 02:13:51 +02:00
Mat
7d4934534e
Stabilise MoveToWorld (#4004)
* Stabilise MoveToWorld

* Fix comments and deprecate ScheduleMoveToWorld

* Enhanced thread safety for m_WorldChangeInfo

* Return unique_ptr from cAtomicUniquePtr::exchange

* cWorld now calls entity cEntity::OnAddToWorld and cEntity::OnRemoveFromWorld.

Allows broadcasting entities added to the world from the world's tick thread.
This also factors out some common code from cEntity::DoMoveToWorld and cEntity::Initialize.

As a consequence, cEntity::Destroy(false) (i.e. Destroying the entity without broadcasting) is impossible.
This isn't used anywhere in Cuberite so it's now deprecated.

* Update entity position after removing it from the world.
Fixes broadcasts being sent to the wrong chunk.

* Fix style

* cEntity: Update LastSentPosition when sending spawn packet

* Add Wno-deprecated-declarations to the lua bindings

* Kill uses of ScheduleMoveToWorld
2020-03-05 12:52:34 +02:00
mathiascode
ddc92ec034 Update ProtectionAreas 2020-02-27 19:45:38 +02:00
mathiascode
2bd42d2639 Update submodules 2020-02-24 00:29:00 +02:00
Mat
ea1937dae4
Update submodules (#4439)
* Fix AppVeyor debug artifacts

* Update submodules

* Update AppVeyor badge URL

* Revert debug change
2019-12-28 22:25:24 +02:00
Mattes D
61904af626 Moved growing from cWorld / cChunk to cBlockHandler descendants. 2019-10-28 10:45:43 +01:00
Mattes D
221cc4ec5c
Refactored block-to-pickup conversion. (#4417) 2019-10-16 10:06:34 +02:00
Mattes D
365cbc6e1c
Refactored more of Entities and BlockEntities to use Vector3. (#4403) 2019-09-29 14:59:24 +02:00
Mathias
3f05cb7890 Remove analytics code (#4394) 2019-09-16 15:38:56 +00:00
Lukas Pioch
bf616f79fa APIDocs: Added missing return type and corrected one (#4353) 2019-08-10 13:16:41 +02:00
Mattes D
d0b095ad51 Added more clamping operations to cCuboid. 2019-08-10 12:25:06 +02:00
Mattes D
e7016b1525
Removed coord-based API from cCuboid. (#4362) 2019-08-09 03:13:15 +02:00
Mattes D
8212f163b5 Register vanilla blocks in BlockTypeRegistry. 2019-08-05 21:42:54 +02:00
Zach DeCook
31a8d017d9 * Sponge: Add water absorbtion (#4333)
Closes #1411
2019-06-11 00:28:02 +01:00
Zach DeCook
24a8456f79 Create Ender Portal with Eyes of Ender (#4126)
The algorithm was designed so All portals must be facing the center, no matter which block had the eye inserted in last.

Note: Still need to create a block entity so that portals don't become invisible when you relog.

Addresses part of #3445
Fixes #3695
2019-05-11 20:43:26 +01:00
Muhammad Kaisar Arkhan
73689024f0 Add BurnsInDaylight to Lua API and Monsters.ini (#4295)
* Monster.h: Export SetBurnsInDaylight

This commit also adds BurnsInDaylight to check if the Monster burns in daylight
or not.

Closes https://github.com/cuberite/cuberite/issues/4294

* MonsterConfig.cpp: Add BurnsInDaylight

Closes https://github.com/cuberite/cuberite/issues/4294
2018-09-24 21:32:47 +01:00
peterbell10
be9d7f0d09
Fix use item doc error (#4279)
The documentation now matches what's passed to lua.
Fixes #4194
2018-08-03 09:11:56 +01:00
changyong guo
57690b81a2 Experience orb (#4259)
* Replace cWorld::FindClosesPlayer with cWorld::DoWithClosestPlayer
* Implement experience reward splitting into the orb sizes used in vanilla
* Modified speed calculation in cExpOrb::Tick to make the orbs fly towards the player

Fixes #4216
2018-08-02 15:59:10 +01:00
peterbell10
cdd8e42587
cWorld: Manually bind deprecated broadcast functions (#4265)
Ref: https://github.com/cuberite/cuberite/pull/4264#discussion_r204769193
2018-07-27 00:12:41 +01:00
changyong guo
01e72ddb65 Rewrite explosion knock back (#4251)
1. Base knockback on an entity's bounding box intersection with the explosion 
2. Armor blast protection reduces knockback
3. Don't apply knockback to players flying in creative mode

Fixes #4139
2018-07-23 10:24:00 +01:00
peterbell10
211cec621e
cBlockArea: Write all present data types by default (#4252)
cBlockArea::Write now defaults to use GetDataTypes() instead of assuming all data types are present.
Fixes cuberite/WorldEdit#130
2018-07-19 22:36:46 +01:00
changyong guo
2d3013d1d3 Support swap item between main hand and offhand by press key "F" (#4241)
Hi,

I found cuberite don't support to press key "F" to swap items on main hand and offhand, so I implemented this feature.

Best regards
Changyong
2018-06-24 10:24:10 +01:00
Alex Sweet
a0896c63d7 Smelting Gives Experience (#4094)
* Smelting Exp

Smelting now gives experience

* Furnace.txt update

Exp rewards are entered in furnace.txt, Reward calculation is now done
is the furnaceentity class

* furnace.txt update

Changed alignment tabs to spaces
Included documentation of exp in recipe

* Updated StringToFloat

changed strtod to strtof

* Explicit Float to Int

* Reworked Smelting Rewards

* No C casts

-Adds new function to the api
-Sets reward counter to 0 in furnace constructor

* Style and exp lock removed

-Fixed  style mistakes accoring to PR notes
-XP isn't locked to a single player anymore

* No Smelter API

-Removed SetLastSmelter and GetLastSmelter
-Fixed comments
-Fixed log reward amounts
2018-04-11 07:46:11 +01:00
peterbell10
cf75d7b2c5 cBlockInfo: Deprecate direct access to variables. (#4184) 2018-02-20 10:43:28 +00:00
peterbell10
ab350d1e43
cItemGrid: Allocate storage lazily (#4083)
* cItemGrid: Allocate storage lazily
* cItemGrid: Fix spelling, Prioritary -> Priority
2018-01-21 18:45:13 +00:00
Alexander Harkness
ad22922393 Rename cEntity swim states (#3996)
* Replace cEntity:m_IsSubmerged with m_IsHeadInWater
* Replace cEntity:m_IsSwimming with m_IsInWater
* Add API documentation for new symbols
* Apply SetSwimState to all entities, not just mobs and players
* Pickups now use IsOnFire to check if they are on fire before destruction

Fixes #3987
2018-01-14 18:44:45 +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
peterbell10
0bacda3269 Implement horse inventory (#4053)
* Implement horse inventory

* Fix sign conversions

* Add API doc for ItemCategory::IsHorseArmor

* Improve HandleOpenHorseInventory comment and style fixes.
2017-10-21 17:56:09 +01:00
Lane Kolbly
30c8470a52 Changed BroadcastSoundEffect, SendSoundEffect, and CastThunderbolt parameters to vectors (#3959)
* Made BroadcastSoundEffect take vector parameters.

* Added docs for new vectored methods

* Removed old code

* Fixed lua warnings

* Made old BroadcastSoundEffect not an override.

* m_Block to m_BlockPos, used Vector3d constructor where prettier.

* a_Block to a_BlockPos

* Changed thunderbolt a_Block to a_BlockPos
2017-09-19 15:12:54 +01:00
Lane Kolbly
b12f4ef7d5 Made world data paths adjustable, and added API to temporarily disable saving chunks to disk. (#3912) 2017-09-07 13:41:16 +01: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
Alexander Harkness
e33eb529ad Fire effect now shown for creative and spectator mode players (#3998)
* Fire effect now shown for creative and spectator mode players

Fixes #3989

* Add documentation for IsFireproof
2017-09-07 09:59:08 +01:00
Lukas Pioch
ed7adef1ca Updated APIDoc (#3985) 2017-09-07 10:33:46 +02:00
Bond-009
104f9e127b Changed some int parameters to vector parameters (#3937) 2017-09-07 10:25:34 +02:00
Alexander Harkness
09dfe0d811 Update Core plugin
/spawn command now works.
2017-09-01 11:48:17 +01:00
Alexander Harkness
c6bc822054 Update core plugins to latest version (#3951)
* Update core plugins to latest version

* Update Core again
2017-08-30 10:32:53 +01:00
Lane Kolbly
1f9788a801 Added ShouldSendRespawn parameter to ScheduleMoveToWorld (#3979) 2017-08-30 02:35:53 +03:00
Lukas Pioch
d5c4b3af6b APIDump: Removed unneeded Globals prefix 2017-08-29 15:49:29 +02:00
satoshinm
6bc5031517 Implement Forge protocol handshake support (#3869) 2017-08-27 23:10:20 +02:00
peterbell10
f4f2fc7c3d Add cUUID class (#3871) 2017-08-25 13:43:18 +01:00
mathiascode
02775e52c4 Minor changes (#3909) 2017-08-24 11:19:40 +02:00
Pablo Beltrán
b18f6637b6 Fully implemented leashes (#3798) 2017-08-21 10:46:41 +02:00
peterbell10
b8dda388e0 Represent cItem::m_Lore as an AStringVector (#3882)
* Replace cItem::m_Lore with AStringVector

* Reword deprecation warning

* Fix lua bindings
2017-08-18 11:29:54 +01:00
Lane Kolbly
1ec85a2b2c Add cLuaWindow OnClicked Callback (#3901) 2017-08-17 16:27:43 +02:00
Lane Kolbly
7bdbfad1bb Changed int parameters to vector parameters in cCuboid and simulators (#3874) 2017-08-17 15:48:38 +02:00
William 'psyFi' Hatcher
09e94bd947 Updated docs to mention InfoDump for creating README.md, etc. (#3895) 2017-08-15 05:32:28 +02:00
Tiger Wang
fdd4b6e7c4 Merge pull request #3897 from peterbell10/PlaceSound
cBlockInfo: Remove/deprecate place sound
2017-08-13 12:37:37 +01:00
William 'psyFi' Hatcher
ee14344c05 Update TestLuaRocks.lua (#3903)
Changed LOG to LOGWARNING when a library was not found
Made log text more descriptive
Removed unnecessary semicolons
2017-08-13 12:29:24 +01:00
peterbell10
9472380494 cBlockInfo: Deprecate place sound 2017-08-07 09:31:36 +01:00
Lukas Pioch
f53cf5d130 APIDump: Class types in variables and hooks are now linkified (#3892) 2017-08-03 15:40:40 +02:00
Lukas Pioch
ec08bf6255 Updated plugin Core 2017-07-30 22:58:41 +02:00
Lane Kolbly
790e15f2e6 Added anvil enchantment handling. (#3857)
+ Added anvil enchantment handling.
2017-07-28 18:00:20 +01:00
Lane Kolbly
5402b214b3 Check for intersection between placed blocks and entities. (#3850)
* Check for intersection between placed blocks and entities.

+ Implemented GetPlacementCollisionBox, to permit custom placement collision boxes for blocks.

* Factored block-entity placement checking into another function in cPlayer.

- Removed vector min/max functions

* Use GetWorld to get the world in DoesPlacingBlocksIntersectEntity.

+ Added block height checks, allow different cEntity subclasses to decide whether they will prevent block placement.
2017-07-28 17:59:21 +01:00
Lane Kolbly
87af95b67c Updated armor cover calculation. (#3858)
* Updated armor damage calculation.

+ Added lua docs, added casts from float to int.

* Changed verbage in docstring and comment.
2017-07-23 10:46:38 +01:00
Mattes D
64561175ab BlockArea: Added the GetBounds function. 2017-07-22 19:57:25 +02:00
peterbell10
41d016cf5b Handle middle mouse drag (#3847) 2017-07-13 15:43:48 +02:00
Lane Kolbly
b61898c30c Lua plugin cColor (#3833) 2017-07-12 12:30:43 +02:00
Lane Kolbly
793acd267f Changing pickup lifetime and combining semantics, making these adjustable in the lua api. (#3843) 2017-07-12 12:13:27 +02:00
Lane Kolbly
a561886bf3 Implemented draggingitem API. 2017-07-10 05:46:04 +02:00
peterbell10
bbf5bec817 BigFlower fixes (#3826)
* BigFlowers fixes

* Correct upper part meta
* Documented parameters to DoesIgnoreBuildCollision
2017-07-07 16:37:53 +02:00
Lukas Pioch
885d828712 Added bed entity (#3823)
* Added bed entity

* Export cBedEntity to lua
* Set color of bed through item damage value
* Added bed entity to APIDoc
* NBT: Added loading and saving
* Crafting recipes for the colored beds
2017-07-07 09:31:45 +02:00
Bond-009
7fd3899796 Added 1.12 blocks (#3760) 2017-06-30 10:46:58 +02:00
peterbell10
33527067ed Update tolua and export EffectID 2017-06-29 18:58:48 +02:00
Lane Kolbly
3f7bf88e30 Updated cItemGrid API docs to reflect required GetInventory() calls. 2017-06-28 12:22:37 +02:00
Lukas Pioch
9c25520b69 Corrected APIDoc for cBlockArea and exported missing functions (#3808) 2017-06-26 09:02:06 +02:00
Mattes D
fe42538349 cBlockArea supports block entities. (#3795) 2017-06-24 11:58:06 +02:00
Lukas Pioch
9b0eb118b3 Corrected check for level of subcommand and fixed multiple levels not working (#3758)
* Corrected check for level of subcommand
A message instead of an error is printed, if the sub command is unknown

* Multiple levels of sub commands now works, too
2017-06-12 12:59:46 +02:00
Lukas Pioch
486ae0e832 APIDoc: Corrected param in cBoat:MaterialToString 2017-06-11 14:59:29 +02:00
Mattes D
3c4e443ddc Fixed handling Lua errors in nested callbacks (#3755) 2017-06-09 12:16:31 +02:00
Mattes D
226272fc63 Debuggers: Added the "/come" command to test mob pathfinding. (#3734) 2017-05-27 19:22:09 +02:00
Heiko Hund
a0341d561a Add rank prefix and suffix to player name in chat (#3730)
Fixes issue #1721
2017-05-27 02:15:56 +01:00
Lukas Pioch
73a3c4e3be Exported boat
- NBT: Added saving / loading of material
- Added the material in the item handler of the boat
- Drop the correct boat if destroyed
- APIDoc: Added desc and functions
2017-05-24 19:02:18 +02:00
Pablo Beltrán
84bdba345d Off-hand/shield slot functional, save and load slot, bow + arrow functional (#3725)
Fixes #3714.
2017-05-24 08:09:58 +02:00
Mattes D
2c3c1f1527 Tracer replacement (#3704)
* Replaced cTracer usage with cLineBlockTracer.

* Exported new cLineBlockTracer utility functions to Lua API.
2017-05-11 13:34:36 +01:00
Lukas Pioch
7c4576a025 Exported cFallingBlock and cExpOrb (#3700) 2017-05-09 14:24:41 +02:00
Mattes D
17ba5be852 Updated Core and ProtectionAreas to latest. 2017-05-09 11:48:07 +02:00
Lukas Pioch
7127058930 APIDump: Add missing 'My' to generated function hook example. 2017-05-09 05:50:55 +02:00
Lukas Pioch
5580d558a5 Added missing checks for Initialize function and updated APIDoc 2017-05-08 06:31:45 +02:00
Lukas Pioch
41bfb22834 Corrected brewingstand and added support for fuel 2017-05-08 06:30:54 +02:00
Lukas Pioch
f709f74aeb APIDoc: Removed non-existent functions and added missing return types 2017-05-02 06:10:36 +02:00
Lukas Pioch
9842896574 APIDoc: Replaced incorrect param cMonster with eMonsterType 2017-04-30 10:08:03 +02:00
Mattes D
85f11694da Build Lua in C++ mode, use exceptions for error-raising. (#3680)
Fixes #3678 .
2017-04-26 23:02:57 +02:00
Lukas Pioch
7960d142ca APIDoc: Corrected a few links 2017-04-07 21:26:59 +02:00
Lukas Pioch
6c420ce557 API: Removed function GetChar (#3664) 2017-04-05 22:31:42 +01:00
Lukas Pioch
1614aa17d3 APIDoc: Added missing IsStatic flags and corrected param types. 2017-04-05 16:43:57 +02:00
Lukas Pioch
fb20517435 APIDoc: Documented missing functions and variables. (#3634) 2017-04-04 07:53:14 +02:00
Lukas Pioch
e0435f27bb APIDocs: Corrected param types in cBoundingBox (#3624) 2017-03-16 15:10:09 +01:00
Lukas Pioch
d0b956d8c4 Added is static flag and removed is static info from text. (#3616) 2017-03-05 02:44:16 +01:00
Lukas Pioch
6ee0e4cafa Added missing IsStatic flag to functions. (#3613) 2017-03-02 12:05:11 +01:00
mathiascode
330d66097f Removed a few default plugins (#3580) 2017-02-24 10:11:38 +01:00