1
0
Commit Graph

1746 Commits

Author SHA1 Message Date
madmaxoft
5fccd67bad Added line collision calculation to cBoundingBox. 2013-09-01 19:08:51 +02:00
madmaxoft
b12d2edb4e Renamed BLOCK_FACE constants to use the new coord-wise names.
The old names are still present, but deprecated.
2013-09-01 19:05:58 +02:00
STRWarrior
2765fce522 Exported BroadcastSoundEffect and BroadcastSoundParticleEffect to the Lua API 2013-09-01 05:53:11 -07:00
madmaxoft
f91ff9e68b Added the cBoundingBox class. 2013-09-01 12:25:53 +02:00
madmaxoft
42ea85786a Thrown ender pearls now teleport and hurt. 2013-08-30 23:48:03 +02:00
madmaxoft
d7a5287000 Basic support for thrown items - eggs, snowballs and ender pearls.
They can be thrown, but they don't do anything on impact. Also they don't save to nor load from  MCA.
2013-08-30 18:10:58 +02:00
madmaxoft
88f3fe7f00 Moved throw pos and speed calculation from cProjectileEntity into cPlayer. 2013-08-30 17:29:46 +02:00
madmaxoft
c28ccdc9d5 Merged in the Projectiles branch.
Although the projectiles are not yet finished, the branch has several bugfixes that are needed in master as well.
2013-08-30 14:32:07 +02:00
madmaxoft
17ad4c2610 Shooting a bow kinda works.
The arrow is released, but sometimes hits wrong blocks or disappears completely.
2013-08-30 14:24:03 +02:00
madmaxoft
86eb71868b Rewritten cTimer not to use heap allocation. 2013-08-30 10:06:41 +02:00
Tiger Wang
acaae7a11e Physics enhancements
Minecarts no longer glitch on flat rails
Improved acceleration, speed limit, and stopping
2013-08-29 15:25:12 +01:00
Tiger Wang
9f59b9a093 Corrected comment TypeType 2013-08-29 14:00:39 +01:00
Tiger Wang
7056992d0d Implemented xoft's suggestions [SEE DESC]
Rail metas are  now in BlockID and exported to LUA
Minecart now does a SetMass, instead of m_Mass
Minecarts use SubType instead of TypeType
2013-08-29 13:47:22 +01:00
Tiger Wang
1e91002229 Fixed Minecart spawning issues
Now you can have everything!
2013-08-28 22:13:27 +01:00
Tiger Wang
fa7def847b Zomb-ee and Skellingtons burning improvements
They don't burn unless they are in direct view of the sun god or are
protected by the sands of the souls of the underworld.
2013-08-27 21:11:00 +01:00
Tiger Wang
f1f86c46d3 Preliminary Minecart physics handling [SEE DESC]
This commit includes physics handling for the following scenarios:

Flat rails in orientations [N, S, W, E]
Ascending/descending rails in orientations [N, S, W, E]

Powered rails are NOT handled (they don't respond to redstone).
Curved rails are NOT handled (I haven't figured out how to do them :P)

Please note that I have not tried to emulate vanilla behaviour because
of a lack of knowledge on velocity unites/C++. We can say it's a feature
or something. :P
2013-08-27 20:38:11 +01:00
madmaxoft
6677a5e8ca Implemented basic physics for projectiles. 2013-08-27 19:57:37 +02:00
madmaxoft
f260e9211f Entities fall 3x slower in water 2013-08-27 19:56:54 +02:00
madmaxoft
cdd0eba1b5 Added g_BlockIsXXX[] arrays to the API. 2013-08-27 08:57:35 +02:00
madmaxoft
49d69a0228 Debug logging for arrows improved 2013-08-26 22:40:30 +02:00
madmaxoft
71cfb8fcd2 Debug: arrow log their position in each tick 2013-08-26 22:27:28 +02:00
madmaxoft
ebc076e8b2 Fixed ProtoProxy compilation, added client Kick handling. 2013-08-25 21:57:12 +02:00
madmaxoft
4bbade9fc6 Arrows get loaded from MCA.
Somehow they still don't spawn visibly on the client.
2013-08-25 21:32:17 +02:00
madmaxoft
da3e248632 Added a few API accessors to cArrowEntity. 2013-08-25 21:31:35 +02:00
madmaxoft
a7447b4c7e Moved entity spawning into cEntity::Initialize().
It has been called in every descendant anyway, so it's better this way - reduced duplicate code.
2013-08-25 21:25:13 +02:00
madmaxoft
83811b6929 Merged branch 'master' into Projectiles. 2013-08-25 17:06:51 +02:00
madmaxoft
6ea7c2b772 Reduced LeakFinder's stack buffers to half.
The LeakFinder's stack buffers were causing too much RAM usage in the Debug mode, rising about 50 MiB per each cLuaState created.
2013-08-25 16:47:49 +02:00
madmaxoft
104a31e23d Merging in tigerw's changes from PR #118 2013-08-25 16:11:19 +02:00
Tiger Wang
55e3fc53f6 Fixed iron door opening by hand 2013-08-25 13:41:02 +01:00
Tiger Wang
ebc3d04074 Fixed public thing in ClientHandle 2013-08-25 13:40:43 +01:00
Tiger Wang
3640f2c482 Redstone fixes [SEE DESC]
Fixed pistons not correctly powering down
Fixed dispensers not correctly powering down
Fixed droppers not correctly power down
Fixed TNT not correctly powering up
Fixed redstone lamps not correctly powering up
Fixed redstone lamps not correctly powering down
2013-08-25 11:45:47 +01:00
Tiger Wang
11ca2f96a0 Vines now spread when updated 2013-08-24 22:00:24 +01:00
madmaxoft
f3ab7d1873 Fixed logging in cTracer. 2013-08-24 22:48:19 +02:00
madmaxoft
d55aaf818c Lifted the debugging 1 GiB RAM limit in LeakFinder to 1.5 GiB 2013-08-24 22:45:11 +02:00
madmaxoft
de3aae5c75 Slight performance improvement in cWorld::FindClosestPlayer() 2013-08-24 22:43:17 +02:00
madmaxoft
46a8b77151 cTracer doesn't attempt a trace above the world.
This fixes some crashes with out-of-world entities.
2013-08-24 21:42:11 +02:00
madmaxoft
b1ad3f8336 Fixed pickup behavior outside the world.
One part of #131.
2013-08-24 21:34:42 +02:00
madmaxoft
259f08aac8 Client can no longer place blocks outside the Y range of the world.
Fixes #128.
2013-08-24 21:25:36 +02:00
Tiger Wang
2081b6dfde Fixed inconsistent metas and added snow metas 2013-08-24 18:54:03 +01:00
Tiger Wang
d1cc6d9a9c Added comments and fixed a bug
Bug was placing slabs between slabs not making a double slab.
2013-08-24 18:46:19 +01:00
madmaxoft
e157808737 Added Unicode, Inc.'s notice.
Fixes #123.
2013-08-24 16:12:53 +02:00
Tiger Wang
8bb2cab993 Fixed final slab bug
This bug allowed a double slab to be made below by placing a compatible
slab on a "top" slab. The coordinates are always one lower, so now it
checks to see if the slab orientation can be made into a double.
2013-08-24 11:10:30 +01:00
Tiger Wang
8f2181bfbe Fixed incorrect double slab drops 2013-08-23 20:12:21 +01:00
Tiger Wang
a671e45cd5 Double slabs work *choke choke* 2013-08-23 19:38:39 +01:00
Tiger Wang
52d8da6ebe Fixed lighters replacing blocks 2013-08-23 18:13:54 +01:00
madmaxoft
222b6ec3cc Projectile entities get saved into MCA files 2013-08-22 22:31:38 +02:00
madmaxoft
d622267515 Added a few basic fields to cProjectileEntity and cArrowEntity. 2013-08-22 22:31:15 +02:00
madmaxoft
7eae58281a Fixed AddHook() wanting old-style function names.
Error reported by STR_Warrior in the forum http://forum.mc-server.org/showthread.php?tid=1227&pid=9620#pid9620
2013-08-22 21:03:20 +02:00
madmaxoft
806c0bf981 Arrows can spawn on the client. 2013-08-22 09:07:12 +02:00
madmaxoft
73afb1507d Added skeleton code for projectile spawning. 2013-08-22 08:55:58 +02:00
madmaxoft
c565950e1f Removed unwanted VirtualHooks remnants.
cEntity no longer needs its SpawnOn() default-implemented, it can now be a true pure virtual function.
2013-08-22 08:51:40 +02:00
madmaxoft
16e3242456 Another fix for #31.
This seems to have done it, no more crashes for me.
2013-08-22 08:17:26 +02:00
madmaxoft
3957ca94e7 cPluginManager.AddHook old-style API usage prints the stack trace.
This eases migration to #121 API.
2013-08-21 21:41:34 +02:00
madmaxoft
e263fc7c72 Added a deprecation warning to the old style API.
This completes #121.
2013-08-21 21:32:40 +02:00
madmaxoft
f3a0fed724 Hook adding uses the new API.
Multiple hooks per plugin can be added. The cPluginManager.AddHook() has four available signatures, the recommended one is cPluginManager.AddHook(HOOK_TYPE, CallbackFunction)
2013-08-21 21:29:30 +02:00
madmaxoft
e0e8e18ab2 cLuaState: Added LogStackTrace() and GetTypeText() utility functions 2013-08-21 20:06:37 +02:00
madmaxoft
af071fd5ab Added cWorld:GetIniFileName() to the Lua API. 2013-08-21 14:23:47 +02:00
Tiger Wang
0c44904766 Changed comments to be more accurate 2013-08-20 23:24:29 +01:00
Tiger Wang
8e153f6689 Fixed longstanding issue with slabs
Fixes FS#298
2013-08-20 23:17:49 +01:00
Tiger Wang
b35771ca0d Fixed broken carpet handler [SEE DESC]
Made BlockHandler pass on control to carpet handler
Declared thinggummies in carpet handler
Fixed carpet block pushback using incorrect format
2013-08-20 22:47:10 +01:00
madmaxoft
69dc9b4c9a Added a delay between the kick packet and socket close.
This should have helped #31, but the client disagrees.
2013-08-20 22:28:34 +02:00
Mattes D
61e17d23f7 Merge pull request #117 from tigerw/master
Bugfix Update
2013-08-20 12:29:16 -07:00
Tiger Wang
f626b8c864 Juggled piston code to prioritise block action
This improves animation chance without long delays.
Additionally, queued a previously unqueued base set.
2013-08-20 20:17:35 +01:00
madmaxoft
e8f7b72f1b Hotfix for #83.
Do not tick the player while their chunk is invalid.
2013-08-20 21:17:33 +02:00
Tiger Wang
148d4e9b80 Activator rail now uses rail handler 2013-08-20 20:15:46 +01:00
Tiger Wang
aeabf0f82e Updated block transparencies
Now includes activator rails and piston extensions
2013-08-20 20:15:21 +01:00
madmaxoft
654c34705c Fixed player spawning.
Now the player is spawned only after the chunk they're in is sent to the client. Hopefully no more falling-through-terrain-while-loggin-in.
2013-08-20 21:13:28 +02:00
madmaxoft
61b968601a Fixed a warning on closing invalid plugins. 2013-08-20 20:42:43 +02:00
madmaxoft
40cb30b6a5 Small Linux fixes. 2013-08-20 19:29:29 +02:00
madmaxoft
0faa1ee2cb Started work on the cProjectileEntity class. 2013-08-20 16:48:27 +02:00
Tiger Wang
e6d8374fe2 Reduced delay a little 2013-08-20 14:27:47 +01:00
Tiger Wang
f4504b4171 Increased wait tick delay for pistons
Pistons again!
2013-08-20 13:55:12 +01:00
madmaxoft
2e5de0c13d Merge branch 'tigerw-master', fixed pistons pushing extended sticky pistons. 2013-08-19 23:43:08 +02:00
Tiger Wang
d4f8f0f70e Additional piston corrections
Reduced delay time of blockset
Fixed invalid blockpush checking
2013-08-19 21:56:03 +01:00
Tiger Wang
b51e9fa359 Added forgotten initialisation 2013-08-19 21:54:47 +01:00
madmaxoft
97aff179c1 Debuggers: Added continuous hunger reporting.
Showcases the OnWorldTick() hook to fire events at regular intervals. Will be used for debugging the issues related to hyper-hunger.
2013-08-19 22:48:13 +02:00
madmaxoft
2d7c72f1b7 DeadlockDetect now uses sleep instead of timed-wait semaphores.
The semaphores' timed-wait still has issues on Linux, it's just easier to use cSleep instead.
2013-08-19 22:35:27 +02:00
madmaxoft
fdbe835131 Fixed WorldTickThread reporting wrong time durations for each tick.
This had caused food eating to fail and players unable to collect pickups on Linux.
2013-08-19 22:23:25 +02:00
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
Tiger Wang
c11e252e27 Fixed piston animations...
...for the third (and hopefully last) time.
2013-08-19 19:44:22 +01:00
Tiger Wang
de306d9f79 Fixed uninitialised thingummies 2013-08-19 19:43:28 +01:00
madmaxoft
53455a10fa Fixed cEvent TimedWait on Linux. 2013-08-19 17:29:08 +02:00
madmaxoft
25e2f721ad Added cPickup:IsCollected() to the Lua API. 2013-08-19 11:58:20 +02:00
madmaxoft
e80c5eac40 Added cPickup:GetAge() the the Lua API. 2013-08-19 11:44:11 +02:00
madmaxoft
1a7912744f Moved entities into the Entities subfolder. 2013-08-19 11:39:13 +02:00
madmaxoft
539ae20466 Fixed timed event wait on Linux.
Was causing an error message and the DeadlockDetect didn't work.
2013-08-19 10:51:18 +02:00
madmaxoft
493100bdb0 Finished renaming cPlugin_NewLua to cPluginLua. 2013-08-19 09:39:18 +02:00
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
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
ee2b8c7103 Fixed crash when the player is above the world.
Fixes #53.
2013-08-19 09:02:33 +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
madmaxoft
864a0965b1 Fixed piston code griefing damage. 2013-08-18 19:56:04 +02:00
Tiger Wang
195d10108b Emergency compilation fix! 2013-08-18 16:11:24 +01:00
Tiger Wang
fb32c28f80 Merge branch 'master' of https://github.com/tigerw/MCServer into tigerw-master
Conflicts:
	source/Piston.cpp

Merged pull request and fixed merge conflicts
2013-08-18 15:58:27 +01:00
Tiger Wang
fbbf12f3a6 Added checks to bail out if block entities are being pushed by a piston 2013-08-18 15:04:38 +01:00
Tiger Wang
8a3174164b Properly fixed piston non-animation
Fixes #57
2013-08-18 14:52:38 +01:00
madmaxoft
a46977f56e Made cPiston code more readable and configurable.
Fixed some minor problems with pistons, such as pulling water etc. Thanks to TigerW for some inspiration.
2013-08-18 14:28:52 +02:00
madmaxoft
0d323563e4 Added cWindow property manipulation API.
Now enchantment table and furnace properties can be set by a plugin
2013-08-18 13:26:37 +02: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
madmaxoft
40e9e5b95b cListenThread correctly closes all sockets.
This partially fixes FS 421.
2013-08-18 12:27:46 +02:00
madmaxoft
76cf61ce66 Disabled Lua virtual hooks.
This technology was used for old-style plugins and is no longer supported nor needed. Fixes #78.
2013-08-18 10:51:21 +02:00
Tiger Wang
7014979bff Merge remote-tracking branch 'upstream/master' 2013-08-18 00:36:51 +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
8fe6bb55dd Fixed LuaWindow destructor causing a crash.
It was leaving the m_Contents' relations to listeners and SlotAreas' relations to m_Contents, which were already gone.
2013-08-18 00:39:15 +02:00
madmaxoft
5efbb46ff0 Fixed assert failures in cLuaState when using it for pushing a StringVector. 2013-08-18 00:20:23 +02:00
madmaxoft
d287183137 Added cRoot:BroadcastChat() to the Lua API.
This allows plugins to broadcast a chat message to all connected players. It is a replacement for previously removed cServer:BroadcastChat().
2013-08-17 23:58:37 +02:00
madmaxoft
fcfbdee76d The server Tick thread ticks PluginManager.
This fixes #104 and #102
2013-08-17 23:45:58 +02:00
madmaxoft
4a3d0fcff5 Fixed compile-time warning in TNTEntity.
The FuseTime is now a double instead of a float
2013-08-17 18:08:46 +02:00
Tiger Wang
a4d927c9e1 Another compile fix 2013-08-16 13:20:33 +01:00
Tiger Wang
6981e55b6c Possible entity ID fix? 2013-08-16 13:12:44 +01:00
Tiger Wang
e64c40115e Compilation and Minecart fixes 2013-08-16 13:04:06 +01:00
Tiger Wang
cbde4f546a Merge remote-tracking branch 'upstream/master' 2013-08-16 11:25:53 +01:00
Tiger Wang
7f87d6c3d6 Feature and bugfixes [SEE DESC]
Added TNT and Hopper minecarts
Fixed piston code failing without an extension set
Repeaters are now broken
Fixed not being able to place a minecart on an activator rail
Added much needed comments on piston code
Fixed minor formatting issue
2013-08-16 11:23:24 +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
madmaxoft
7acb665f25 Exported cWorld:DoExplosionAt() to Lua API. 2013-08-15 22:12:57 +02:00
madmaxoft
28de751f2c Attempting to fix CentOS / gcc 4.4.7 compilation problem.
Reported by ThijsD in the forum http://forum.mc-server.org/showthread.php?tid=1220
2013-08-15 13:05:24 +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
50205bc4df Added simple deadlock detection code.
This will assert and then deliberately crash the server once a deadlock is detected. For detection, only the world tick threads are considered, cWorld's m_WorldAge is checked periodically and if it doesn't increment for several seconds, a deadlock is reported.
2013-08-14 22:39:12 +02:00
madmaxoft
f93d13c419 Fixed world's a_Dt parameter getting time values in wrong units. 2013-08-14 22:36:34 +02:00
madmaxoft
259cf9f027 cEvent can now wait for the event with a specified timeout. 2013-08-14 22:27:49 +02:00
madmaxoft
0af2a0b08c ClientHandle no longer queues chat messages.
It is no longer needed to queue chat messages, because the protocol is parsed within the Tick thread itself, without holding any SocketThread CS.
2013-08-14 20:08:05 +02:00
madmaxoft
e2ff4a2e5c Clients are deleted when the world is stopped.
This fixes #92.
2013-08-14 19:56:29 +02:00
madmaxoft
cce9642c7b Fixed wrong names for some metas.
They were E_BLOCK_ instead of E_META_.
2013-08-14 19:49:53 +02:00
madmaxoft
17b2353d71 Server counts the players correctly.
Was missing the PlayerDestroying() call, so players weren't removed from the playercount.
2013-08-14 19:11:54 +02:00
madmaxoft
f8757d3606 Fixed crashes in world's clientlist manipulators 2013-08-14 13:43:55 +02:00
Tiger Wang
ad57f1966c Okay, changed to xoft's partial fix 2013-08-14 12:08:36 +01:00
Tiger Wang
77468f87b7 Merge remote-tracking branch 'upstream/master'
Conflicts:
	source/Piston.cpp

Merge conflict?
2013-08-14 12:03:13 +01:00
Tiger Wang
4ae1750da2 Alpha sorted PistonBreakable list 2013-08-14 11:50:21 +01:00
madmaxoft
b1a892bd9a Partially fixed tonibm19's mess. 2013-08-14 12:45:39 +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
Tiger Wang
7803bde6b6 Merge pull request #85 from tigerw/master
Fixed #57
2013-08-14 03:36:16 -07:00
madmaxoft
c0629a9a6e Fixed player swimstate crash.
The check for swimming / submersion checks the Y coord first. Fixes #63.
2013-08-14 10:33:26 +02:00
madmaxoft
8c3837987b Player counts are now properly handled.
Fixes #80
2013-08-14 10:24:34 +02:00
madmaxoft
b65a91dde3 Exported cWorld:BroadcastChat() to the Lua API; used in the Core. 2013-08-13 23:10:59 +02:00
madmaxoft
af645c62c9 Merge branch 'master' into PerWorldThreads.
Also fixed the AllToLua script not resolving conflicts.
2013-08-13 23:02:22 +02: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
Tiger Wang
020ff36af2 YET ANOTHER ERROR >:( 2013-08-13 17:45:40 +01:00
Tiger Wang
27b400adf8 Credits 2013-08-13 17:44:01 +01:00
Tiger Wang
dd6450c2a9 Attempt three
This is extremely embarrassing...
2013-08-13 17:41:50 +01:00
Tiger Wang
a322bb275f Attempt two 2013-08-13 16:47:44 +01:00
Tiger Wang
2b0541ab39 Attempt at fixing sleep issue 2013-08-13 16:42:02 +01:00
Tiger Wang
23a5fb1450 Removed more comments 2013-08-13 16:36:19 +01:00
Tiger Wang
9ec248eaa0 Fixes #57 2013-08-13 16:34:26 +01:00
madmaxoft
27d0c9aef2 Fixed logging into debug console.
Was missing the LF at the end.
2013-08-12 14:47:08 +02:00
STRWarrior
9ad3c52593 Keep players from taking damage when teleporting. 2013-08-12 02:52:32 -07:00
STRWarrior
83d3635e0b Added quartz stairs. 2013-08-12 02:31:02 -07:00
madmaxoft
90ef9cfe97 Fixed logging into debug console.
Was missing the LF at the end.
2013-08-12 08:42:18 +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
6914bf4c65 Removed unused cServer::IsConnected() function. 2013-08-12 07:55:53 +02:00
madmaxoft
79ece8eb0d Merge branch 'master' into PerWorldThreads 2013-08-12 07:46:41 +02:00
Tiger Wang
d23b8e0c7c Merge pull request #77 from tonibm19/patch-1
Now Endermans spawn in The End
2013-08-11 14:38:31 -07:00
Tiger Wang
b48651a034 Really removed comments this time 2013-08-11 21:08:20 +01:00
tonibm19
67351d7d7b Now Endermans spawn in The End 2013-08-11 21:54:39 +02:00
Tiger Wang
1599d607d1 Merge pull request #74 from tigerw/master
Further attempt at fixing torch placements
2013-08-11 12:44:54 -07: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
ac9224da91 cIsThread threads get a window identification on Win.
This enables tools such as TaskInfo to report the thread name directly.
2013-08-11 20:22:42 +02:00
madmaxoft
4c5590636c Each world now ticks in a separate thread. 2013-08-11 20:16:41 +02:00
madmaxoft
c59d80a2af Removed cServer::m_pState, dissolved into direct member variables.
The server tick thread is now in the cServer::cTickThread object.
2013-08-11 19:46:27 +02:00
madmaxoft
2baa6634ec cIsThread: Added the Stop() method and debugging output in Wait() 2013-08-11 19:40:15 +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
b58ca60815 Added doxyComments for cIsThread. 2013-08-11 18:46:49 +02:00
Tiger Wang
93f5a4388c Removed unneeded case clause 2013-08-11 15:21:31 +01:00
madmaxoft
dd60f55bcc Added the OnHopperPullingItem and OnHopperPushingItem hooks.
Requested in FS 412, slightly modified the params.
2013-08-11 14:57:07 +02:00
madmaxoft
d97b4463c6 Added an AllowEmptyStacks param to cItemGrid::HowManyCanFit(). 2013-08-11 14:54:45 +02:00
Tiger Wang
e7ecd78312 Tried adding bracket 2013-08-11 12:08:09 +01:00
Tiger Wang
baae26ab22 Further attempt at fixing torch placements
Also fixed block on flower placement. #71
2013-08-11 11:58:57 +01:00
madmaxoft
deeb3a15dc Added OnPlayerAnimation() hook.
Initial patch by @STR_Warrior, updated to account for different animation packets.
2013-08-11 12:29:05 +02:00
Tiger Wang
7e288850b1 Attempt at fixing torch placement
Attempt at fixing #71 and placement of torches.
2013-08-10 21:32:50 +01:00
Alexander Harkness
7d6bde3d93 Added back the required extra line in player.cpp 2013-08-10 17:40:52 +01:00
Tiger Wang
b999b27e05 Removed extra disconnect message
There seems to be already one in the HandleDisconnect hook function.
2013-08-10 17:09:14 +01:00
Tiger Wang
7035dbd7f1 Deleting cPlayer now does LOGD instead of LOG
Hopefully only prints in debug the debug message!
2013-08-10 16:59:48 +01:00
Alexander Harkness
e508e09753 Merge pull request #56 from mc-server/LinuxColorConsole
Linux color console
2013-08-10 04:40:38 -07:00
madmaxoft
15f80e0811 Linux color redirection fixed.
Outputting to stdin, yeah, right, that's gonna work :P
2013-08-10 13:07:49 +02:00
madmaxoft
19781ecad5 Coloring is reset before the LF. 2013-08-10 13:03:05 +02:00
madmaxoft
9794496571 Another Linux compilation fix. 2013-08-10 12:51:57 +02:00
madmaxoft
211a8395d4 Fixed Linux build. 2013-08-10 12:50:23 +02:00
madmaxoft
63b2fa21e8 Disabled coloring for redirected output. 2013-08-10 12:44:39 +02:00
madmaxoft
528feaba2c Use printf() instead of puts().
puts() outputs an extra newline, making it unsuitable
2013-08-10 09:45:05 +02:00
madmaxoft
2a97bed3b4 Bad preprocesor used for discovering Linux 2013-08-10 09:42:20 +02:00
madmaxoft
d3c29c5a88 Piston head, when removed, removes the associated piston body, too.
Fixes FS 388
2013-08-10 08:22:53 +02:00
madmaxoft
72e2891017 Fixed squid crashing the server when above or below the world 2013-08-10 08:22:53 +02:00
madmaxoft
c85acd4ece Renamed Plugin_NewLua to PluginLua. 2013-08-10 08:22:52 +02:00
madmaxoft
8fd67cf12a First attempt at Linux console colors
Ref.: issue #41
2013-08-09 22:40:12 +02:00
Alexander Harkness
33155a51e2 Merge pull request #55 from mc-server/falldamage-teleport
Keep players from taking damage when teleporting. (Hopefully).
2013-08-09 12:36:45 -07:00
Alexander Harkness
e9b9f1861c Fixed stupid syntax error (thanks build system). 2013-08-09 17:17:04 +01:00
Alexander Harkness
eaec6a4aab Keep players from taking damage when teleporting. (Hopefully).
Fixes #29
2013-08-09 16:18:24 +01:00
madmaxoft
f89d6cc9af Piston head, when removed, removes the associated piston body, too.
Fixes FS 388
2013-08-09 16:20:12 +02:00
madmaxoft
7c9c51425b Fixed squid crashing the server when above or below the world 2013-08-09 15:53:43 +02:00
madmaxoft
7d70a06461 Renamed Plugin_NewLua to PluginLua. 2013-08-09 15:15:56 +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
Alexander Harkness
6f2c099f70 Merge pull request #52 from ravenscroftj/feature/food
A few fixes for the hunger/food system + tests for swimming and submerged in cPlayer.
2013-08-09 01:06:30 -07:00
James Ravenscroft
6963e8119c Fixed some formatting issues I accidentally introduced 2013-08-09 08:57:24 +01:00
James Ravenscroft
ffce5d143f Removed the need to recalculate whether player is under water in ApplyFoodExhaustion 2013-08-09 08:50:33 +01:00
James Ravenscroft
dace1f7bd2 Added IsSwimming and IsSubmerged flags and access methods 2013-08-09 08:37:39 +01:00
James Ravenscroft
2b9fdc3e36 Fixed the jump food exhaustion being added when player is swimming 2013-08-08 16:57:34 +01:00
James Ravenscroft
9f7db50de0 Fixed food handler for mushroom soup - proper food level and saturation are applied and the player receives a wooden bowl back after nomming 2013-08-08 16:32:14 +01:00
madmaxoft
23b15a926c Fixed a copypasta error in hook function names.
Thanks STR_Warrior for the report
2013-08-08 16:32:55 +02:00
madmaxoft
eb323166d9 Removed LuaScript.
The WebAdmin now uses LuaState directly to call the one function it needs.
2013-08-08 16:30:02 +02:00
madmaxoft
cc920ea929 cPlugin_NewLua is now completely rewritten to use templated LuaState calls. 2013-08-08 16:02:07 +02:00
madmaxoft
9e34a878ef cPlugin: Name now defaults to the plugin folder name. 2013-08-08 16:01:26 +02:00
madmaxoft
198b221997 LuaState refactoring: using templates for hook function calls.
This simplifies calling Lua functions considerably, it's almost like calling a C++ function, only with an extra argument to delimit args from returned values.
2013-08-08 14:08:35 +02:00
madmaxoft
6c54650b27 cPlugin: Removed empty default implementation of virtual calls. 2013-08-08 14:08:34 +02:00
madmaxoft
ae9334bd93 Merge pull request #49 from mc-server/RemoveSquirrel
Remove squirrel
2013-08-08 03:14:47 -07:00
James Ravenscroft
864bdd2626 Made comments more readable by adding space between // and text content. Added /// doxygen syntax comments to declarations 2013-08-08 11:01:45 +01:00
James Ravenscroft
9a6442a206 Fixed the formatting issues in player cpp files 2013-08-08 10:57:36 +01:00
James Ravenscroft
e6c33b0256 Made player drowning implementation 2013-08-08 10:32:34 +01:00
madmaxoft
3f4abe8c95 Addeed OnSpawningEntity, OnSpawnedEntity, OnSpawningMonster, OnSpawnedMonster hooks.
As requested in FS 418.
2013-08-08 09:13:13 +02:00
madmaxoft
09ebda4d10 Removed Squirrel.
This compiles under Windows, but is untested in Linux.
2013-08-07 22:39:40 +02:00
madmaxoft
3d027a8928 Merge pull request #48 from mc-server/BlockTracing
Block tracing
2013-08-07 06:46:43 -07:00
madmaxoft
58a76a90dc Added cLineBlockTracer to the API 2013-08-07 14:34:00 +02:00
madmaxoft
10b8ee7441 Plugin: Fixed plugin name in the cLuaState's subsystem 2013-08-07 14:33:16 +02:00
madmaxoft
29b9fb0a8b LuaScript: removed unused code 2013-08-07 14:32:40 +02:00
madmaxoft
9b839aa32e cLuaState has reference management, param checking and a fixed destructor.
References are now managed as RAII objects, cLuaState::cRef.
Destructor now calls correct function, either Close() or Detach(), based on the owned-ness of the lua_State *.
2013-08-07 14:26:18 +02:00
tonibm19
d48ff88e07 Now zombies spawn in Overworld during night 2013-08-06 21:38:32 +02:00
madmaxoft
c55fabb5ad cLuaScript now uses cLuaState 2013-08-06 19:28:09 +02:00
madmaxoft
0281b1db6e Fixed compilation in ManualBindings 2013-08-06 19:27:48 +02:00
madmaxoft
4034136922 cLuaState is used for pushing splits in ManualBindings 2013-08-06 17:17:26 +02:00
madmaxoft
2030bd47c8 cLuaState now tracks the function name and number of args 2013-08-06 08:59:54 +02:00
madmaxoft
2151bb8f5b cLuaState can now contain a detached LuaState, too.
This will be useful for cases when we get a lua_State * from the outside and are asked to perform operations on it.
2013-08-06 08:01:00 +02:00
madmaxoft
c0066e7260 Merge branch 'master' into BlockTracing 2013-08-05 16:02:41 +02:00
madmaxoft
73fcd7ad1c Exported the cWorld:TryGetHeight() function 2013-08-05 15:54:10 +02:00
madmaxoft
d83e4369d3 Exported cWorld:DoWithEntityByID() to Lua API 2013-08-05 15:41:24 +02:00
madmaxoft
3b418c7695 Alpha-sorted the manual bindings' functions. 2013-08-05 15:26:43 +02:00
madmaxoft
ca5561c395 cIniFile now reads .example.ini if not requested not to.
As specified in #44, when the .ini file cannot be opened, a .example.ini is tried, and if it succeeds, it is written as .ini. This makes it easy to provide ini file templates.
2013-08-05 15:24:23 +02:00
madmaxoft
073bcd0361 Added the Carpet block. 2013-08-05 10:43:43 +02:00
madmaxoft
71bb41ee86 LuaState refactoring: initial part.
The cLuaState class is a wrapper for the lua_State * and for the common functions on it. The cPlugin_NewLua has been rewritten to use it instead of the raw pointer. Part of #33
2013-08-04 23:11:25 +02:00
madmaxoft
e21ed58d5f cWorld: Added a self-test for LineBlockTracer, disabled by an #ifdef. 2013-08-04 16:08:09 +02:00
madmaxoft
654714e7bc LineBlockTracer: Fixed initial errors 2013-08-04 16:07:15 +02:00
madmaxoft
6af81c66e9 cItem: Removed a warning emitted when creating an item from air 2013-08-04 16:06:28 +02:00
madmaxoft
5fe7008966 First attempt at implementing a cLineBlockTracer class
Not yet tested, will probably have lots of bugs, if it is at all usable.
2013-08-04 13:25:48 +02:00
madmaxoft
37850433d2 Improved logging coloring performance on Windows. 2013-08-04 08:56:20 +02:00
madmaxoft
106308796d Merge branch 'master' into BlockTracing 2013-08-03 20:45:08 +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
b688ba9be8 Removed the unused BlockY parameter from cChunkDef::BlockToChunk() 2013-08-03 20:05:07 +02:00
Alexander Harkness
3255c29e7a Removed some stuff again. 2013-08-03 18:36:04 +01:00
Alexander Harkness
e585600e41 Revert "Rm'd startup credits & mv'd to README"
This reverts commit 2383977fe7.
2013-08-03 18:29:49 +01:00
Tiger Wang
e3ddfbc566 Commented out groups spam
Further reduces chance of error message burying.
2013-08-03 17:49:38 +01:00
Tiger Wang
2383977fe7 Rm'd startup credits & mv'd to README
Removed as I feel it serves no purpose other than spam console and bury real error messages from plugins, etc. This is especially the case with running under screen, which makes it very difficult to scroll up or down.
2013-08-03 17:45:24 +01:00
Tiger Wang
ff91a3317d Updated inbuilt commands description
Did this to meet help format standards.
2013-08-03 17:24:06 +01:00
madmaxoft
13c5a7864e AllToLua now resets the git status for the files.
This should auto-fix merge conflicts when they occur on the Bindings.cpp / Bindings.h files.
http://forum.mc-server.org/showthread.php?tid=1200&pid=9315#pid9315
2013-08-02 09:25:12 +02:00
madmaxoft
edb299db09 Shift+clicking won't combine different item metas.
Fixes FS 424.
2013-08-02 09:12:16 +02:00
bearbin
86ca755bc2 Merge pull request #35 from mc-server/foodstuffs
Add the new food items.
2013-08-01 23:56:10 -07:00
bearbin
1d233bdc68 Alpha-sort the foodstuffs. 2013-08-02 07:54:30 +01:00
bearbin
7642fdd194 Add the new food items.
Enchanted golden apples are not required, as they are a meta value and provide the same nourishment as plain golden apples.
2013-08-02 07:46:30 +01:00
madmaxoft
3531bdb60b Implemented OnPlayerRightClickingEntity() hook
Fixes FS 425
2013-08-02 08:44:06 +02:00
madmaxoft
f481865c35 New players get full health
Fixes #28.
2013-08-01 09:51:25 +02:00
madmaxoft
86831056dc ClientHandle: alpha-sorted the HandleXXX functions declarations 2013-08-01 09:46:01 +02:00