1
0
Commit Graph

72 Commits

Author SHA1 Message Date
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
madmaxoft@gmail.com
d397dd263f Added carrots and potatoes handling, bonemealing and proper lighting.
FS #166

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1359 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-05 13:45:00 +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
47b9f6d941 Hotfix for FS #347.
This is not meant to be a permanent solution, but should provide insight into why the issue happens.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1347 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-01 18:24:05 +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
a710fcc9a4 Removed the Classic fluid simulator, it was too unstable (2nd attempt)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1275 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-14 20:50:01 +00:00
madmaxoft@gmail.com
eaf973544b Removed the Classic fluid simulator, it was too unstable
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1274 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-14 20:46:40 +00:00
madmaxoft@gmail.com
68b1aa23b0 Added a Noop fluid simulator that doesn't do anything with the fluid (fluid doesn't spread at all, behaves like a normal block)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1272 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-14 20:03:42 +00:00
madmaxoft@gmail.com
b18f657ac1 Added a Vaporize fluid simulator that simply replaces fluid blocks with air.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1270 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-14 19:44:27 +00:00
madmaxoft@gmail.com
d2573b84dd Initial nether composition generator
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1266 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-11 17:15:34 +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
6744738a85 Rewritten SandSimulator to use direct chunk access; and sand falling on torches now creates a pickup.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1240 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-02 19:57:09 +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
619ec8b247 Converted simulators to take cWorld reference instead of a pointer
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1228 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-28 13:39:20 +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
8b1a8bee34 Added HOOK_WEATHER_CHANGING.
http://www.mc-server.org/support/index.php?do=details&task_id=299

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1210 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-13 19:22:08 +00:00
madmaxoft@gmail.com
0be125aa07 Simplified cWorld::FindAndDoWithPlayer()
It should still work the same - call the callback for the player with the most similar name.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1184 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-01 19:59:58 +00:00
madmaxoft@gmail.com
43e6840719 Merged branch "branches/hooks" into "trunk".
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1139 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-12 04:46:01 +00:00
madmaxoft@gmail.com
412c21a22c Floody fluid simulator can create sourceblocks (configurable in World.ini)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1119 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-04 05:21:07 +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
b29af701b9 MTRand reference is now passed as a Tick() parameter so that it isn't created and destroyed over and over again. All entities will handle physics (empty callback for now)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1096 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-22 10:15:53 +00:00
madmaxoft@gmail.com
756f20433a Fixed time calculation in cWorld::Tick()
Should fix chunk saving bug in http://forum.mc-server.org/showthread.php?tid=434&pid=5663#pid5663

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1079 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-17 14:23:17 +00:00
faketruth
8ad7747902 Android: Made the initial pre-calculated spawn area smaller
Android: Fixed FastNBT
Android: Fixed level.dat reading/writing
GroupManager uses groups.example.ini as default
WebAdmin uses webadmin.example.ini as default

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1049 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-16 22:06:12 +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
4cebaa99f8 Refactored the world time.
Now it is stored in two values - WorldAge (only incremented, plugins cannot change) and TimeOfDay (plugins can change). Since sub-tick precision is needed in Tick(), we store it both as number of seconds (double) and number of ticks (Int64) is calculated off of that.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1022 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-01 21:38:20 +00:00