madmaxoft
94f8884f60
Fixed the extreme strain on the world tick thread.
...
Block changes were sent even with empty changesets, causing a lot of lost CPU cycles.
2013-08-19 21:55:03 +02:00
madmaxoft
1a7912744f
Moved entities into the Entities subfolder.
2013-08-19 11:39:13 +02:00
madmaxoft
909a9c6973
cChunk::SetBlock() now uses cChunk::FastSetBlock() for the common code path.
2013-08-19 09:19:45 +02:00
madmaxoft
82ce40e2cc
Removed an unused CriticalSection from cChunk.
...
Fixes #109
2013-08-19 09:13:19 +02:00
madmaxoft
7b10068370
Implemented cWorld:QueueSetBlock(), as requested for delayed blocksetting.
...
Untested yet, so might not work.
2013-08-18 22:44:22 +02:00
madmaxoft
861d5c75c9
Removed SetServerBlock griefing.
2013-08-18 20:00:50 +02:00
Tiger Wang
8a3174164b
Properly fixed piston non-animation
...
Fixes #57
2013-08-18 14:52:38 +01:00
madmaxoft@gmail.com
b1d05b0f57
Improved function names for protocol packet sending; alpha-sorted the function lists
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1659 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-07 13:06:06 +00:00
madmaxoft@gmail.com
4fe7801cfc
Unified the way mobs are spawned (egg vs natural). Fixed deadlocks in mob moving. Fixed mob destroying code.
...
Should fix FS #400 and partially fix FS #381
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1626 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-25 06:36:59 +00:00
madmaxoft@gmail.com
8dd5fe5070
Furnaces light up visually when they're cooking
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1612 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-20 11:41:44 +00:00
madmaxoft@gmail.com
03c6bb9f85
Added hopper entity, it can suck items out of chests, dispensers, droppers and other hopppers above it.
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1587 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-13 07:36:43 +00:00
madmaxoft@gmail.com
fe3712284e
Added cWorld::SetSignLines(), re-exported to Lua manually to avoid ghost return values
...
FS #364
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1582 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-12 07:14:06 +00:00
madmaxoft@gmail.com
3ee5236284
Removed cLadder, cSign, cStairs, cTorch and cVine classes, moved their functionality into the appropriate BlockHandlers / ItemHandlers
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1555 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-04 19:22:14 +00:00
madmaxoft@gmail.com
dff77e8e56
Implemented proper player crouching.
...
Fixes FS #365
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1553 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-04 14:18:03 +00:00
madmaxoft@gmail.com
9be27992e2
Moved BlockEntities to a separate folder
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1527 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-28 19:12:47 +00:00
madmaxoft@gmail.com
3138daa1f8
Block entities now receive the cChunk param in their Tick() function
...
They can safely access that chunk and any of its neighbors during ticking.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1526 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-28 18:50:44 +00:00
madmaxoft@gmail.com
9cd6333486
cChunk: Added the GetRelNeighborChunkAdjustCoords() function
...
Not only does it return the proper neighbor chunk, but also it adjusts the relative coords to be in that returned chunk.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1523 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-28 12:18:03 +00:00
madmaxoft@gmail.com
5f208f30ac
Chunk / ChunkMap: Added support for unbounded querying blocktype-only or blockmeta-only
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1522 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-28 12:05:23 +00:00
madmaxoft@gmail.com
5c3235ecdc
Implemented droppers
...
Added a common ancestor class "DropSpenser" that has the common code for dropper and dispenser and is Lua-accessible, too. The Debuggers plugin now triggers both droppers and dispensers when rclking them with a redstone torch.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1514 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-26 14:39:04 +00:00
madmaxoft@gmail.com
34fa53ca3a
Fixed entity chunking.
...
Sand simulator was off, sand in negative coords wouldn't fall properly
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1489 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-19 11:49:01 +00:00
madmaxoft@gmail.com
b7041c1bd2
Removed pickup logging
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1487 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-17 14:30:18 +00:00
madmaxoft@gmail.com
fd26595b56
Added logging to pickup collection when a player is near and when collecting.
...
This should help fix the inactive pickups bug, http://forum.mc-server.org/showthread.php?tid=434&pid=8019#pid8019 )
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1480 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-13 20:26:45 +00:00
madmaxoft@gmail.com
5d4591de47
Fixed player teleporting too far away ("Entity lost")
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1452 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-06 18:32:22 +00:00
madmaxoft@gmail.com
5c6164b55a
Fixed most of client slowdowns caused by sending too many block changes (bad condition in FastSetBlock)
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1431 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-28 18:54:56 +00:00
madmaxoft@gmail.com
1b7ea2ef82
Fixed a few possible crashes with out-of-bounds Y coords
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1413 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-27 13:23:20 +00:00
madmaxoft@gmail.com
a49c004278
Rewritten entities so that they are owned by individual chunks and ticked within their chunk's Tick()
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1385 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-13 21:02:10 +00:00
madmaxoft@gmail.com
46197e3be6
Fixed chunk possibly writing to uninitialized memory
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1376 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-09 19:25:19 +00:00
madmaxoft@gmail.com
502935c061
Mineshafts: Added random loot to generated chests and fixed chest direction
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1365 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-06 21:21:57 +00:00
madmaxoft@gmail.com
ef170348aa
Added a debugging log for melon-growing to catch FS #349
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1355 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-03 16:43:37 +00:00
madmaxoft@gmail.com
578560d213
Proper fix for FS #347 . Also unification of ticking block entities.
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1348 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-01 20:56:25 +00:00
madmaxoft@gmail.com
3e4fb19321
Fixed block update queueing and water meta change not propagated to clients.
...
Fixes FS #333 .
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1297 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-22 16:48:45 +00:00
keyboard.osh@gmail.com
8557ed8359
Added support for the packet #28 (0x1C): ENTITY_VELOCITY
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1283 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-18 02:51:55 +00:00
madmaxoft@gmail.com
8090c13cde
Huge performance boost in blockhandlers, they have direct access to chunk data when blockchecking.
...
Also fixed vines' placement.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1278 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-15 20:18:11 +00:00
madmaxoft@gmail.com
6f883cba2d
Small performance improvements in fluid simulator.
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1276 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-14 21:56:01 +00:00
madmaxoft@gmail.com
7f71bfb58f
Fix for the Vaporize fluid simulator when loading chunks.
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1271 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-14 20:02:52 +00:00
madmaxoft@gmail.com
7593707713
Pickups are now being saved into Anvil.
...
Also changed cEntity rotation datatype to double
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1262 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-09 14:35:43 +00:00
madmaxoft@gmail.com
01b24d73ea
Player can sit in minecarts (but not move them yet)
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1249 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-03 19:05:11 +00:00
madmaxoft@gmail.com
55326ee2a7
Simulators are woken up upon chunk load
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1248 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-03 15:33:55 +00:00
madmaxoft@gmail.com
66670f5d5c
Floody fluid simulator has been converted to use direct chunk access
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1236 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-02 15:44:31 +00:00
madmaxoft@gmail.com
011e11af2c
New fire simulator, fully rewritten to the new scheme of things, directly accessing chunk data.
...
http://forum.mc-server.org/showthread.php?tid=617&pid=6626#pid6626
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1233 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-01 19:35:29 +00:00
madmaxoft@gmail.com
afee43d274
Fixed previous commit.
...
I'm too sleepy and shouldn't be let around the sources :P
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1230 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-28 21:42:16 +00:00
madmaxoft@gmail.com
ee7f36f682
Fixed a bug in cChunk::QueueTickBlockNeighbors() that caused the tick thread to overload easily
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1229 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-28 21:36:43 +00:00
madmaxoft@gmail.com
2588f5a605
Simulators now have direct access to the cChunk object in the WakeUp() call
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1227 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-28 07:42:45 +00:00
madmaxoft@gmail.com
dedb414a50
Added new hooks: OnChunkAvailable(), OnChunkUnloaded() and OnChunkUnloading(). Modified OnChunkGenerated() signature.
...
http://forum.mc-server.org/showthread.php?tid=464&pid=6312#pid6312
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1193 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-05 19:57:22 +00:00
luksor111@gmail.com
575abe8691
Dispensers can dispense items and liquids now
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1105 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-26 17:16:33 +00:00
madmaxoft@gmail.com
afaf104b40
Added more constants into eEntityType; made them a compulsory parameter to the constructor, so that all entities have proper type.
...
Also added a few utility functions to cEntity for distinguishing the types (IsPlayer(), IsPickup() etc.)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1092 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-21 12:52:14 +00:00
luksor111@gmail.com
05d71675f6
Added dispensers (they can't dispense items yet)
...
Fixed crash when digging snow
Moved BlockPlace hook check, so Core plugin will no longer block item usage
Player chat messages are now visible in the console
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1081 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-19 21:19:36 +00:00
madmaxoft@gmail.com
310c1076a7
cChunk now tracks its neighbors as direct pointers; used in UnboundedRelGetBlock et al.
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1073 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-14 22:38:30 +00:00
madmaxoft@gmail.com
934d3fe565
Removed an unused obsolete function chain - cWorld::GetChunkBlockData()
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1036 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-11 15:06:31 +00:00
madmaxoft@gmail.com
f948551971
Fixed FS #268 - if a block entity breaking is disallowed by a plugin, the entire blockentity is sent back to the client
...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1031 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-11 08:48:38 +00:00