1
0
Commit Graph

96 Commits

Author SHA1 Message Date
madmaxoft
dd030fa892 Implemented the OnWorldTick hook.
Triggerred for each world every time it ticks, parameters are the cWorld and the previous tick length (a_Dt)
2013-08-19 09:28:22 +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
Tiger Wang
9e0b8b5bee Enhancements to Tabcompletion and Compile Fix
Tab complete now finds the last word and matches accordingly, with a 20%
increase in speed!
Fixed missing comma breaking compilation
2013-08-18 11:58:19 +01:00
Tiger Wang
679085b520 Bugfix Update [SEE DESC}
Added stained clay, coal block, and hardened clay Block IDs
Added stained clay and carpet block Metas
Fixed bug with sticky retract bailing out but not unsetting arm
Fixed autocomplete not working when not at the first character, fixes
#64
Added furnace recipes for hardened clay and coal and coal blocks
2013-08-18 00:33:14 +01:00
madmaxoft
0cb00996de Replaced E_ENTITY_TYPE_XXX with cMonster::mtXXX.
Also slightly improved the spawning algorithm.
2013-08-16 10:48:30 +02:00
Mattes D
1a52e89177 Merge pull request #93 from mc-server/PerWorldThreads
Per world threads
2013-08-15 01:56:52 -07:00
Tiger Wang
d4f8a057dd Generation and simulation defaults
...are no longer set, instead, the server operator is told to set them.
2013-08-14 22:26:15 +01:00
madmaxoft
f93d13c419 Fixed world's a_Dt parameter getting time values in wrong units. 2013-08-14 22:36:34 +02:00
madmaxoft
e2ff4a2e5c Clients are deleted when the world is stopped.
This fixes #92.
2013-08-14 19:56:29 +02:00
madmaxoft
f8757d3606 Fixed crashes in world's clientlist manipulators 2013-08-14 13:43:55 +02:00
Tiger Wang
303b1a9c45 Buncha bugfixes [SEE DESC]
Fixed generation values not being written
Fixed piston being able to push water
Fixed ice creating a non-source block (still doesn't update though)
Removed problematic piston code
2013-08-14 11:44:02 +01:00
madmaxoft
9020dc9932 Clients are now ticked in cServer first, then in cWorld once they get assigned a world. 2013-08-13 22:45:29 +02:00
madmaxoft
c628ab03e9 Removed cServer::BroadcastChat() and cServer::SendMessage().
These two functions make it difficult to move to the new ticking system, and they aren't used anyway. If so required, they can be emulated by ForEachWorld / ForEachPlayer calls.
2013-08-12 08:35:13 +02:00
madmaxoft
79ece8eb0d Merge branch 'master' into PerWorldThreads 2013-08-12 07:46:41 +02:00
tonibm19
67351d7d7b Now Endermans spawn in The End 2013-08-11 21:54:39 +02:00
madmaxoft
829cc866cd Added cWorld:QueueSaveAllChunks() function for saving chunks asynchronously.
The cWorld:SaveAllChunks() is therefore deprecated in the API and will be removed soon, use QueueSaveAllChunks() instead.
2013-08-11 21:05:44 +02:00
madmaxoft
4c5590636c Each world now ticks in a separate thread. 2013-08-11 20:16:41 +02:00
madmaxoft
eb9d45e906 Moved MaxPlayers and Description from cWorld to cServer.
Also started creating a new cWorld::cTickThread class, but not used yet.
2013-08-11 19:18:06 +02:00
madmaxoft
d4a3c451c4 Added OnExploding() and OnExploded() hooks.
As requested in FS 413, with extra parameters:
World, BlockX, BlockY, BlockZ, Size, CanCauseFire, Source, SourceData

OnExploding() can return 3 values:
StopHook, CanCauseFire, ExplosionSize
2013-08-09 14:58:43 +02:00
madmaxoft
3f4abe8c95 Addeed OnSpawningEntity, OnSpawnedEntity, OnSpawningMonster, OnSpawnedMonster hooks.
As requested in FS 418.
2013-08-08 09:13:13 +02:00
madmaxoft
3d027a8928 Merge pull request #48 from mc-server/BlockTracing
Block tracing
2013-08-07 06:46:43 -07:00
tonibm19
d48ff88e07 Now zombies spawn in Overworld during night 2013-08-06 21:38:32 +02:00
madmaxoft
e21ed58d5f cWorld: Added a self-test for LineBlockTracer, disabled by an #ifdef. 2013-08-04 16:08:09 +02:00
madmaxoft
4f26f11dc7 Added cWorld::DoWithChunk() function.
This will be used by the blocktracers to gain direct access to chunk data.
2013-08-03 20:26:50 +02:00
madmaxoft
e8a907d89e Implemented the actual tab completion for commands and playernames.
Each command is reported only if the player has the permission to use it.
2013-07-31 11:16:11 +02:00
madmaxoft
e9f18f8b4f Tab completion packet is handled and sent.
This only handles the network comm and the overall design logic, the actual completion is not yet implemented, only dummy values are returned for now.
2013-07-30 22:48:59 +02:00
madmaxoft@gmail.com
a3c8b12ee9 Mobs are assigned MaxHealth from monsters.ini; reading monsters.ini doesn't need settings.ini values anymore.
Fixes FS #409.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1662 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-07 15:09:05 +00: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
f7b8a301f8 Fixed player moving between worlds.
Fixes FS #407.
Also fixes a few possible deadlocks between SocketThreads and TickThread

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1641 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-03 07:47:35 +00:00
madmaxoft@gmail.com
37276a4430 Rewritten entity-on-fire management ("forever on fire" bugs)
Fixes FS #297 and part of FS #403.
Added sizes to all entities.
Moved all damage-related functions from cPawn to cEntity
API change: renamed cPawn:TeleportTo() to cEntity:TeleportToCoords()

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1635 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-01 10:39:56 +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
nielsbreu@gmail.com
146b3d568a The weather doesn't change if the dimension is not Overworld.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1624 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-24 16:50:32 +00:00
madmaxoft@gmail.com
9dd0486faf Added the End height and composition generators.
Also made the dimension in world.ini specifiable by a string. Exported StringToDimension() and StringToBiome() to Lua API.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1621 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-22 18:41:08 +00:00
madmaxoft@gmail.com
e2281df8d8 Dispensers dispense primed TNT
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1617 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-21 21:19:47 +00:00
madmaxoft@gmail.com
d95756c5cc Simulators are woken up after an explosion.
Fixes FS #391

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1615 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-21 20:47:58 +00:00
madmaxoft@gmail.com
b2138b132c More TNT fixes.
Chain-reaction TNTs are spawned in proper coordinates (FS #390)
Centralized Primed TNT entity spawning and made available to the plugins.
Internal changes for better TNT performance.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1604 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-18 19:09:51 +00:00
madmaxoft@gmail.com
547c341325 TNT fixes.
Other blocks can be placed next to TNT.
Explosions activate nearby TNT blocks.
TNT doesn't destroy bedrock, obsidian and liquid blocks.
Server doesn't crash when a TNT (or other entity) leaves the valid Y range.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1603 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-18 08:24:34 +00:00
madmaxoft@gmail.com
a67760f7c9 First attempt at fixing the inter-threading deadlocks between the tick thread and the socket thread
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1591 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-15 15:29:20 +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
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
59eb312291 Temporarily set all pickups to spawn in the middle of the block from which they fall.
(Additional fix for FS #338)

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1478 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-12 21:00:21 +00:00
madmaxoft@gmail.com
d851c47acd cWorld: Temporary fix for FS #338
The pickups get spawned with zero speed, not to mess up their physics simulation. Marked as temporary, remove when physics are completed.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1474 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-12 16:23:49 +00:00
keyboard.osh@gmail.com
c1e6fb454f Explosion: Switched from a cube to a sphere. Implemented using cBlockArea and moved block changing code to ChunkMap
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1441 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-04 06:25:58 +00:00
madmaxoft@gmail.com
fd534d18f1 Slight performance improvements in cWorld::DoExplosiontAt()
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1397 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-19 08:32:55 +00:00
madmaxoft@gmail.com
9b9a37e507 Fixed Linux compilation, slight code cleanup
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1396 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-19 08:21:39 +00:00
keyboard.osh@gmail.com
b75fc5f4e8 Initial implementation of explosions and TNT block
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1392 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-18 02:42:45 +00:00
madmaxoft@gmail.com
f5842062d3 Proper entity removal functions
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1386 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-13 21:28:55 +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