1
0
Commit Graph

5738 Commits

Author SHA1 Message Date
Peter Bell
829f8d46f0 Update fmtlib to 7.0.0 2020-07-06 20:53:04 +01:00
MaxwellScroggs
5cdaf073be
cWindow: Convert XYZ to Vector3 (#4764) 2020-07-04 23:49:17 +02:00
Franklin Kong
868e28b44f
Merged trivial item handlers into cSimplePlaceableItemHandler (#4766)
- Remove unused files

Co-authored-by: aiugai <aiugai@umich.edu>
Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2020-06-26 21:34:22 +01:00
morsmordere
60c10ef248
Cactus cannot be placed on a forbidden blocks (#4767)
Co-authored-by: Franklin T Kong <ftk@umich.edu>
Co-authored-by: aiugai <aiugai@umich.edu>

Fixes #4641

Overrode GetPlacementBlockTypeMeta for CactusBlock, which gets called before a player places the cactus block, so it returns true if the placement is allowed or false if not, in which case the cactus does not drop as a block but stays in the player's hand which is the expected behavior. Tested in Minecraft client 1.12.2.
2020-06-26 01:23:47 +01:00
Mat
e0a361de2a
Send entities in cChunkSender (#4532)
Confer issue #3696
2020-06-24 12:48:50 +01:00
peterbell10
6036971c77
libevent: Enable IOCP backend on windows (#4745) 2020-06-08 21:03:29 +01:00
peterbell10
99d96337da
Fire sim: Handle fuel block being destroyed (#4751) 2020-05-31 20:27:08 +01:00
Peter Bell
ce1d6a7ebd Protocol: Avoid crashing on invalid sign text 2020-05-29 13:46:11 +01:00
Tiger Wang
9e8598fb1c
Upgrade to C++17 [CMake] (#4717)
* Make our CMake slightly less insane
2020-05-16 20:59:10 +01:00
Peter Bell
104961b889 sizeof(char) 2020-05-16 09:39:05 +01:00
Peter Bell
c1e9d9d0e0 Use thread safe localtime_r on linux 2020-05-16 09:39:05 +01:00
Peter Bell
89c9a7f563 Enable debug logging in test builds 2020-05-16 09:39:05 +01:00
Peter Bell
6dee68cb63 Avoid a copy when logging lua strings 2020-05-16 09:39:05 +01:00
Peter Bell
3189a3cbee Update logging code to reduce unnecessary string copying:
* Write into a single fmt::memory_buffer
* Use string_view instead of AString for listener callbacks
* Also collapsed vFLOG and vLOG functions into one per formatting type
2020-05-16 09:39:05 +01:00
peterbell10
13144a08e4
Enable some more clang-tidy linter checks (#4738)
* Avoid inefficient AString -> c_str() -> AString round trip

* Avoid redundant string init expressions

* Avoid unnecessary return, continue, etc.

* Add .clang-format to help with clang-tidy fix-its

* Avoid unnecessary passing by value

* Avoid unnecessary local copying

* Avoid copying in range-for loops

* Avoid over-complicated boolean expressions

* Some violations missed by my local clang-tidy

* Allow unnecessary continue statements

* Add brackets

* Another expression missed locally

* Move BindingsProcessor call into clang-tidy.sh and add space

* Fix pushd not found error

* Different grouping of CheckBlockInteractionRate
2020-05-14 22:15:35 +00:00
Mat
e053f72db8
Android build cleanup (#4734)
* Android build cleanup

* Remove unnecessary workaround

* Remove more unnecessities

* Bump cmake version
2020-05-10 16:18:28 +00:00
peterbell10
84289a2ba9
Cleanup some workarounds and warnings (#4735)
* Cleanup thread_local usage in FastRandom

* Use constexpr to avoid clang warning

* Fix more Wglobal-constructor warnings

* Make MSVC happy?
2020-05-10 16:16:49 +00:00
peterbell10
154df6b09d
Cleanup unneeded globals (#4736) 2020-05-10 16:16:38 +00:00
Peter Bell
1123c95cf2 Enable C++17 in build 2020-05-09 20:37:16 +01:00
peterbell10
e6634ed26c
Update submodules (#4727)
Closes #4708

This updates jsoncpp, mbedtls, TCLAP and SQLiteCpp to their latest stable release. A few additional changes were needed:

* jsoncpp deprecated Reader, FastWriter and StyledWriter which I've replaced
  with some helper functions in JsonUtils.cpp

* SQLiteCpp changed how it builds with external sqlite libraries, now expecting
  them to be installed. The simplest path was to remove sqlite from cuberite's
  submodule and just use SQLiteCpp's internal version.
2020-05-09 15:51:15 +01:00
peterbell10
bd54cb71e5
Fix clang-tidy errors (#4730) 2020-05-09 01:38:17 +00:00
Tiger Wang
a9e06d33c5 Add some comments about terracing 2020-05-08 10:52:35 +01:00
Tiger Wang
6ac11925f1 Update RedstoneWireHandler style 2020-05-08 10:52:35 +01:00
mBornand
1565d9b3ce
Use Vector3 for cLineBlockTracer and cBlockTracer (#4715)
* cLineBlockTracer uses Vector
2020-05-08 10:04:07 +01:00
peterbell10
c4ca11b372
Fix SetBlockMeta call in observer handler (#4728) 2020-05-08 09:46:03 +01:00
Mat
c710f6a4ea
Remove old Android leftovers (#4722) 2020-05-07 22:14:00 +03:00
mBornand
b9f441294d
Add tree generation for ExtemeHills and other biomes (#4713) 2020-05-06 17:31:52 +02:00
Mattes D
bdb8830b9c Fixed various MSVC warnings. 2020-05-06 12:53:37 +01:00
peterbell10
57952505e5
Update fmt to 6.2.0 (#4718)
* Update fmt to 6.2.0
2020-05-05 22:52:14 +01:00
Mat
f4b5c4c341
Remove cRankManager migration code (#4714)
* Remove cRankManager migration code

* Restore mistakenly removed code

* Display log message when creating ranks
2020-05-05 21:20:07 +03:00
Alexander Harkness
4e4ef9052e
Refactor minecart collision detection code. (#4712)
* Refactor minecart collision detection code.

 - Use new GetBoundingBox function.
 - Handle descending and ascending rails.
 - Snap to descending rails.

* Add message for UNREACHABLE
2020-05-04 21:04:21 +00:00
Tiger Wang
24833f7386 Add two missing include guards 2020-05-04 13:58:43 +01:00
Tiger Wang
eb3ca16921 Fix one definition rule violations 2020-05-04 13:29:56 +01:00
Tiger Wang
9b68fab8ed Fix incorrect formatter invocation 2020-05-04 12:19:12 +01:00
Lukas Pioch
e3de0aef64
Added check if player is in spectator mode (#4709) 2020-05-04 08:14:59 +00:00
Alexander Harkness
8240894d07
Add comment for boat position broadcast 2020-05-04 09:13:55 +01:00
Tiger Wang
07ca095740
Improve entity position updates (#4701)
* Make puking pickups fly nicer

* Improve entity position updates

* Move determination of whether a delta is too big for a packet into the protocol handlers
+ Less jittery movement
+ Generalise CollectEntity to take any entity
2020-05-04 08:10:47 +00:00
DrButcher
258318ab98
Buttons can now be triggered by arrows. (#4670)
* Buttons can now be triggered by arrows.
2020-05-03 21:05:32 +01:00
Alexander Harkness
994036a3b8
Add cEntity::GetBoundingBox, and use where appropriate. (#4711)
* Add cEntity::GetBoundingBox, and use where appropriate.
2020-05-03 21:04:33 +01:00
mBornand
5b92e6654f Update src/Simulator/IncrementalRedstoneSimulator/RedstoneWireHandler.h
Co-authored-by: peterbell10 <peterbell10@live.co.uk>
2020-05-03 11:51:11 +01:00
mBornand
1c579f58aa Update src/Simulator/IncrementalRedstoneSimulator/RedstoneWireHandler.h
Co-authored-by: peterbell10 <peterbell10@live.co.uk>
2020-05-03 11:51:11 +01:00
Marc_Bornand
83193f132c Made some style update and add comments 2020-05-03 11:51:11 +01:00
Marc_Bornand
055c9ef90e Fix the connexion to the side of the repeater 2020-05-03 11:51:11 +01:00
Alexander Harkness
942403de2b Modify pickup collection behaviour to correspond to vanilla.
As documented here: https://www.spigotmc.org/threads/item-pickup-radius.337271/#post-3141146
2020-05-03 11:49:07 +01:00
Mat
f5ce03d10d Assert if world is incorrect 2020-05-03 11:49:00 +01:00
mathiascode
5f2c572f9a Set entity world early 2020-05-03 11:49:00 +01:00
Tiger Wang
0b9b7bc1a8 Unify entity spawn packet sending 2020-04-30 23:04:56 +01:00
Mattes D
dfe7a0adee
NBT: Dynamic list-max-count protection. (#4697) 2020-04-30 08:44:49 +02:00
Lukas Pioch
38080c7cac Update DispenserEntity.cpp
Removed unneeded cast
2020-04-25 12:27:39 +01:00
Lukas Pioch
91ab938166 Fixed spawning of mobs from dispenser 2020-04-25 12:27:39 +01:00
Mat
9432b57ba8
Get biome at world coords on mob spawn (#4692) 2020-04-25 00:00:27 +02:00
peterbell10
c0e7708aa7
Fix incorrect relative coords usage in farmland handler (#4690) 2020-04-24 17:29:12 +00:00
mathiascode
e6cc792cef Prevent bookshelf pickup crash
If no tool was involved in the creation of a bookshelf pickup (e.g. explosion), the server would crash due to a missing nullptr check. Removed the IsTool check completely, since we don't use it elsewhere, and vanilla doesn't do such checks either.
2020-04-24 19:39:22 +03:00
Tiger Wang
afd377a941 Unify 1.8 and 1.9
- Deleted ridiculous amount of duplicated code
2020-04-22 17:26:31 +01:00
Mattes D
487f9a2aa9
Vector3 in Handlers (#4680)
Refactored all cBlockHandler and cItemHandler descendants to use Vector3.
2020-04-21 22:19:22 +02:00
Tiger Wang
246acb19f9 Delet SpawnObject params
* Fix #4679

awkward...
2020-04-19 23:29:52 +01:00
Tiger Wang
61aff2af12 Correct world access in NetherPortalScanner 2020-04-19 21:43:14 +01:00
Tiger Wang
9d124e6b0a More arrow patches
* Further reduce instances of appearing black
* Fix packet send and get arrows to more reliably lodge in blocks clientside
* Fix hit detection failing at chunk boundaries
+ Use delegating constructors
2020-04-19 20:08:24 +01:00
Lukas Pioch
cb64e99377
Added check for item damage (#4681)
* Added check for item damage

Co-authored-by: Mattes D <github@xoft.cz>
2020-04-19 16:36:31 +00:00
Tiger Wang
2976cec4c0 Reduce arrows going black on hit 2020-04-18 20:06:35 +00:00
Tiger Wang
50893667db MoveToWorld must always be provided a world 2020-04-18 19:51:30 +01:00
Tiger Wang
e98f93a079 Only store IDs across ticks 2020-04-18 19:51:30 +01:00
Tiger Wang
c1ea5f982d Re-implement repeater locking 2020-04-18 16:51:29 +01:00
Mattes D
a55f61548e
Extended Vector3 (#4666) 2020-04-18 11:44:35 +02:00
DrButcher
3591be50b2
Fixing washing away of redstone mechanisms (#4665) 2020-04-17 21:01:21 +01:00
Mattes D
26ac146f41
More Vector3 in cBlockHandler (#4644)
* cBlockHandler.OnUpdate uses Vector3 params.

Also slightly changed how block ticking works.
2020-04-17 10:36:37 +01:00
Peter Bell
96bd4637d7 Implement glowing redstone ore 2020-04-16 23:49:33 +01:00
Tiger Wang
ede56a5750
ಠ_ಠ (#4660)
+ Provisional handling for observers
2020-04-16 22:27:04 +01:00
Mattes D
9ee47e5999 Using Super. 2020-04-16 20:07:48 +00:00
Mat
f931590bf0 Prevent crash when breeding 2020-04-16 18:03:51 +00:00
Bond_009
dc4df66548 Trapdoor can be placed anywhere since 1.9 2020-04-15 21:58:27 +00:00
Mattes D
42cc736bfd
ServerHandle: Fix closing failed servers. (#4653)
If the cServerHandle failed to listen, closing it would then crash Cuberite.
2020-04-15 14:13:40 +02:00
Mattes D
f84bab3bc2
Fixed Lua Vector unification. (#4652) 2020-04-15 00:23:24 +01:00
Mattes D
c9a9b3c9d0
Bindings: Allow coercion between Vector3 subtypes. (#4646)
In manually bound functions, allows one to use any Vector3<T> value, as well as a {x, y, z} table, in Lua as any Vector3<T> parameter.
Has example in Debuggers' /vector command.
Unfortunately doesn't work in auto-bindings.
2020-04-14 16:43:21 +02:00
DrButcher
35299b8509
Pressure plate sounds and delay (#4643)
+ Added sounds on depress and release
+ Added correct delay times
2020-04-13 23:23:43 +01:00
Peter Bell
43525c5df8 Acquire chunk map CS when accessing player entities 2020-04-13 17:13:38 +02:00
Mattes D
fb05ea7cf7 Fixed entity teleport for just-spawned entities.
Includes a test code in the Debuggers plugin - throwing a cake-as-fallingblock.
2020-04-12 13:34:24 +02:00
Mattes D
ef2d5027d3
Removed extended ASCII, and added a check against it. (#4642) 2020-04-12 09:24:30 +02:00
Alexander Harkness
8914355895 Fix rotation metas on blocks 2020-04-11 19:00:05 +00:00
GefaketHD
0712fd2d90 fixing rotation - rel. #4625 2020-04-11 19:00:05 +00:00
Alexander Harkness
0d72270186 Replace all single-digit hex constants with two-digit version 2020-04-10 13:07:16 +00:00
Alexander Harkness
db118af6ae Remove silly empty cBlockGlazedTerracotta class 2020-04-10 13:07:16 +00:00
Alexander Harkness
49f301d5a4 Reduce line length on templates 2020-04-10 13:07:16 +00:00
Alexander Harkness
e5cc698ee7 Add additional spacing between template/function definitions 2020-04-10 13:07:16 +00:00
Alexander Harkness
9bb001f17b Add doxy-comments to new functions 2020-04-10 13:07:16 +00:00
Alexander Harkness
2b77b67197 Fix comment text 2020-04-10 13:07:16 +00:00
Alexander Harkness
f40aba941e Add mixins for blocks that rotate based on player yaw at placement
Also add observer block handler.
2020-04-10 13:07:16 +00:00
Alexander Harkness
458d7f95c2 Brewing stands do not have rotation 2020-04-10 13:07:16 +00:00
Alexander Harkness
48ccd93426 Add Terracotta handlers 2020-04-10 13:07:16 +00:00
Alexander Harkness
cb21a4611d Correct Black Glazed Terracotta block handler 2020-04-10 13:07:16 +00:00
Alexander Harkness
b8141f6c87 Add additional blocks which are not breakable by hand 2020-04-10 13:07:16 +00:00
Alexander Harkness
4a62e004c5 Change stained clay hardness value 2020-04-10 13:07:16 +00:00
Mat
d4f3d674d1
Use correct value for zombie villager in 1.13 2020-04-10 05:17:46 +03:00
Alexander Harkness
4b3043f627
Fix compilation, for real this time.
I should go to sleep now...
2020-04-10 01:01:07 +01:00
Alexander Harkness
a780b3a4f5
Oops, remember to save your files! 2020-04-10 00:53:04 +01:00
Bond-009
8438def87e
Add Zombie Villagers 2020-04-10 00:50:45 +01:00
Mat
d966a12624
Don't set entity world twice (#4606)
* Don't set entity world twice

* Call HookSpawnedEntity when the entity actually spawned
2020-04-09 20:26:06 +00:00
Mattes D
bdedab15c9
Falling blocks can now be spawned at any position. (#4620)
* Falling blocks can now be spawned at any position.

* Added a /cake command to Debuggers that throws a cake in a nice slow arc.

* Fixed regular falling blocks.
2020-04-09 20:25:20 +00:00
Mat
23219c4738 Wolves and mooshrooms are passive mobs 2020-04-09 12:39:45 +01:00
Mat
6a21bf979c
Initial resource pack support (#4622) 2020-04-07 21:23:54 +00:00