1
0
Commit Graph

990 Commits

Author SHA1 Message Date
STRWarrior
babc80ed77 The world can now be configured wether farmers should be able to harvest crops. 2014-01-27 22:02:19 +01:00
STRWarrior
8bf9043f98 Villager: Few more comments. 2014-01-27 21:39:00 +01:00
madmaxoft
a359275064 Squashed common code. 2014-01-27 21:34:54 +01:00
STRWarrior
33ad2761a0 Cleanup
Most code in Tick is now split up in different functions.
2014-01-27 21:34:22 +01:00
madmaxoft
4169af1ce1 Fixed Linux compilation. 2014-01-27 21:33:06 +01:00
madmaxoft
cc1284a753 Rewritten networking to use non-blocking sockets.
This fixes #592.
2014-01-27 21:27:13 +01:00
STRWarrior
723bb78dd1 Villagers: Harvesting is more rare. 2014-01-27 20:52:42 +01:00
STRWarrior
5b983b72fa Villager: Farmers can't place crops on blocks other then farmland. 2014-01-27 20:44:18 +01:00
Tiger Wang
fc9e527830 SIGABRT exits with failure. 2014-01-27 18:57:26 +00:00
STRWarrior
9cf006ecea Fixed compiler error. 2014-01-27 19:06:50 +01:00
STRWarrior
3dbe6c6de9 Villager: Farmer: Crops finding is more random. 2014-01-27 18:58:09 +01:00
STRWarrior
9807056a9c Added GetCropsPos and DidFindCrops functions. 2014-01-27 18:33:57 +01:00
STRWarrior
06c3bc1ea5 Villagers: Farmers now replant the crops. 2014-01-27 18:27:57 +01:00
STRWarrior
2cdd8f1961 Villagers: Fixed only gettings the crops block when farming. 2014-01-27 17:30:18 +01:00
STRWarrior
ca12decaf6 Villagers don't look for new crops when they already found one.
Slight cleanup.
2014-01-27 17:20:39 +01:00
STRWarrior
89a620ca54 E_BLOCK_POTATOES isn't an solid block. Villagers were floating above them. 2014-01-27 17:19:13 +01:00
STRWarrior
969bf05a26 Villagers: Farmers can also harvest carrots and potatoes. 2014-01-27 15:44:55 +01:00
STRWarrior
ed95f4d81b Makes farmers farm crops. 2014-01-27 14:40:31 +01:00
madmaxoft
30c431b479 Fixed client packet parsing.
When the packet wouldn't fit the current buffer, the server would mis-parse the next packet. This was the cause for #541.
Also modified comm logging, now each direction can be turned on separately.
2014-01-26 17:56:12 +01:00
madmaxoft
ab4672be40 cByteBuffer has more self-tests. 2014-01-26 17:56:12 +01:00
madmaxoft
61848ff5a0 Item-loading now checks for weird bytes. 2014-01-26 17:56:11 +01:00
madmaxoft
a3ac1be7b7 Fixed Byte-order reading.
The functions would fail on bytes that were above 127.
2014-01-26 17:56:11 +01:00
Tiger Wang
ea9de4bbb7 Added SIGABRT to catchers list 2014-01-26 16:15:05 +00:00
Tycho
6e6409b1a0 Removed cWorld Include 2014-01-26 07:10:29 -08:00
Tycho
a13d009a30 Refactored GetPlacementBlockTypeMeta 2014-01-26 07:06:25 -08:00
Tycho
bed2ee22e8 Merge branch 'master' into GeneratingBenchmark2
Conflicts:
	src/Blocks/BlockRail.h
	src/World.h
2014-01-26 06:28:51 -08:00
Tycho
14e48ccb4b Refactored cBlockHandler::OnUse and dependents 2014-01-26 06:20:39 -08:00
Mattes D
09ee8a1bb6 Merge pull request #589 from mc-server/minecartimprovements
Minecart improvements
2014-01-26 05:13:54 -08:00
Mattes D
1f4e12c50c Merge pull request #590 from mc-server/Wolf_Fix
Wolf: Small fix since the new AI and a new small feature.
2014-01-26 04:40:16 -08:00
STRWarrior
4c780e7b44 Fixed bug where wolfs would teleport while they were sitting. 2014-01-26 13:27:35 +01:00
STRWarrior
a533386144 Small fix since the new AI and a new small feature.
You get particles when trying to tame wolfs.
They don't walk anymore when they are sitting.
2014-01-26 13:07:21 +01:00
Tiger Wang
70113b5730 Fixed segmentation fault on villager damage
It occurred when attack was environmental.
2014-01-26 00:14:00 +00:00
Tiger Wang
52f7467fe1 Reduced unnecessary echoes (thanks xoft) 2014-01-25 23:48:48 +00:00
Tycho
a2d3eea80b Added support for overide in c++11 supporting varients of gcc/clang 2014-01-25 15:02:31 -08:00
Mattes D
f78a62a5e3 Merge pull request #575 from worktycho/GeneratingBenchmark
More Interfaces to decouple Generator from the rest of the code
2014-01-25 13:55:33 -08:00
Mattes D
5749b40422 Merge pull request #588 from mc-server/Sheep_Eating
Implemented sheeps eating grass.
2014-01-25 13:36:47 -08:00
Mattes D
cdcad2237a Merge pull request #587 from mc-server/mobimprovements
Mob improvements & rudimentary artificial intelligence
2014-01-25 13:36:32 -08:00
Tiger Wang
cdd6478cea Did what xoft recommended 2014-01-25 21:29:27 +00:00
Mattes D
437a9c8d1f Merge pull request #583 from mc-server/ChangeToPolarSSL
Change to polar ssl
2014-01-25 13:05:16 -08:00
Tiger Wang
398e159f5f Rail speed tweak 2014-01-25 20:33:23 +00:00
STRWarrior
7b8dc01db3 Implemented sheeps eating grass. 2014-01-25 21:19:52 +01:00
Tiger Wang
1d0e1bdcb1 Improved AllToLua UI experience 2014-01-25 19:36:20 +00:00
Tycho
15b92af166 First attempt at Implementing Interfaces 2014-01-25 11:14:14 -08:00
Tiger Wang
6fa3a0cf70 Two minor changes 2014-01-25 19:05:44 +00:00
Tiger Wang
7468ba0f10 Implemented fall damage for mobs
+ Implemented mobile fall damage
* Formatting fixes
+ Defined new Position->Integer macros
2014-01-25 19:02:13 +00:00
Tiger Wang
60b7f5f23d Attack() is no longer always called 2014-01-25 19:00:50 +00:00
Mattes D
c8be9b5b1a Merge pull request #581 from worktycho/strerror
Switched cEvent to use strerror_r for error messages
2014-01-25 10:43:00 -08:00
Tycho
03b08456b6 dded dependecy on Blocks to Generator 2014-01-25 10:23:18 -08:00
madmaxoft
ca0e51d89c Added RSA encryption to crypto wrappers. 2014-01-25 19:19:17 +01:00
Tycho
2a18feb015 Stupid Mistake fixed 2014-01-25 10:13:54 -08:00
Tiger Wang
d9707a9291 Implemented pickup combining
* Fixes FS393
* Part of  #131
2014-01-25 15:19:56 +00:00
Tiger Wang
314fc3cdac Mob bugfixes
* Mobs no longer require constant line-of-sight to a player to remain
aggravated
* Fixed an ASSERT
* Fixed mobs jumping
* Fixed Idle state not properly using AI
+ Added FILE_IO_PREFIX to favicon loading
+ Implemented #563
2014-01-25 14:42:26 +00:00
madmaxoft
a2dfb28537 Merged branch 'master' into ChangeToPolarSSL. 2014-01-25 15:37:00 +01:00
madmaxoft
ff066453b8 Comm logging is available in both Debug and Release modes. 2014-01-25 15:28:16 +01:00
madmaxoft
5aa3fc4c56 Added cFile::Flush().
This is useful when using cFile as a log file and we know the server may crash after a specific write, so we flush the file before continuing.
2014-01-25 15:27:34 +01:00
Tycho
2806b48afa Fixed exports 2014-01-25 06:06:30 -08:00
madmaxoft
96b4af1596 Protocol17: Comm logging shows the data left over from previous parse. 2014-01-25 15:06:30 +01:00
Tycho
977e277094 Switched cEvent to GetOSErrorString 2014-01-25 06:02:20 -08:00
Alexander Harkness
6b51c62d78 Merge pull request #586 from worktycho/BindingsMove
Implented xofts suggestions in #577
2014-01-25 05:53:01 -08:00
Tycho
59b8205f02 Extracted cSocket::GetErrorString into GetOSErrorString 2014-01-25 05:51:03 -08:00
Tycho
45bc1ff033 Added dependecy output to Bindings/BindingsDependencies.txt 2014-01-25 05:35:04 -08:00
Tycho
b2fd91ee6b Reformatted Bindings Dependecies 2014-01-25 05:25:43 -08:00
daniel0916
bac750b24e Added "player destroying" and "player destroyed" hooks
Hooks:
HOOK_PLAYER_DESTROYING
HOOK_PLAYER_DESTROYED

Idea from: https://github.com/mc-server/MCServer/issues/473
2014-01-25 11:25:22 +01:00
Tiger Wang
fd7fc7e59e All mobs now drown (fixes #54)
* Implemented mob drowning
* Iron Golems and squids are excluded
2014-01-24 23:58:51 +00:00
Tiger Wang
1112f5adc6 Fixed a generator bug 2014-01-24 23:56:19 +00:00
Tiger Wang
b367a74d3e Zombies and skeletons use AI 2014-01-24 23:56:05 +00:00
madmaxoft
ebcaaad63a Fixed *nix compilation for previous commit. 2014-01-24 23:05:26 +01:00
madmaxoft
d0da5d392f Added per-connection comm logging in debug mode.
It is meant for debugging only, so it is compiled only into debug mode. It is activated by starting the server with "/logcomm" parameter.
2014-01-24 23:03:48 +01:00
Tiger Wang
a988063915 Miscellaneous improvements 2014-01-24 21:55:04 +00:00
Tiger Wang
bf2af73899 Changed a condition to IsGameMode 2014-01-24 21:54:20 +00:00
madmaxoft
6c1d992eeb Fixed a possible deadlock on client disconnect. 2014-01-24 22:23:58 +01:00
madmaxoft
f0a75f7f73 Fixed a failure in cSquid.
Probably due to rounding errors the squid was querying out-of-chunk coords.
2014-01-24 22:23:57 +01:00
Tiger Wang
0583b9df39 Made wolves compatible with new AI code 2014-01-24 20:46:47 +00:00
Tiger Wang
1f82b6e192 Monsters no longer check for direct line of sight 2014-01-24 20:46:22 +00:00
Tiger Wang
9c0e3615ce Large reworking of mob code [SEE DESC]
+ Implemented better pathfinding
- Removed lots of unused variables, functions, etc.
* Changed some variable types
* Other miscellaneous fixes, and also completes the previous PRs
2014-01-24 19:57:32 +00:00
Tiger Wang
161a1c7274 Fixed mobs too close to player not ticking
A condition would never be fulfilled. A number squared was compared to
-1, but there is nothing that, multiplied by itself, gives -1.
2014-01-24 19:54:13 +00:00
Tiger Wang
3e675f8c38 Implemented creeper abilities
* Creepers now explode with a sound effect
* Creepers drop a music disc on the unlikely event of being killed by a
skeleton's arrow

Inspired by @maniak89's PR #132.
2014-01-24 19:52:52 +00:00
Tiger Wang
2ce26574ef Removed unused ReferenceManager 2014-01-24 19:46:45 +00:00
Tiger Wang
f39daabf7e Added more minecart powered rail directions 2014-01-24 19:39:39 +00:00
madmaxoft
e75f979e01 Fixed Win nightbuilds not producing PDBs. 2014-01-24 10:24:24 +01:00
madmaxoft
0369c585fb Fixed a few compile-time and runtime warnings in ScoreboardSerializer. 2014-01-24 09:58:40 +01:00
madmaxoft
b02940209d Fixed crash with failed entity-loading.
This should fix issues reported in:
http://forum.mc-server.org/showthread.php?tid=1328
http://forum.mc-server.org/showthread.php?tid=1308
2014-01-24 09:57:12 +01:00
madmaxoft
8a254faaf7 Merge remote-tracking branch 'MikeHunsinger/master' 2014-01-24 08:55:41 +01:00
madmaxoft
22d101034f Fixed flint&steel failure on the Y world edges. 2014-01-24 08:53:49 +01:00
Mike Hunsinger
7c12247263 Fixed indentation once and for all. 2014-01-23 20:11:10 -07:00
Mike Hunsinger
9926ea58e8 Fixed indentation and doxygen comments... For real this time. 2014-01-23 20:01:08 -07:00
Mike Hunsinger
11948b1d4b Fixed spacing and doxycomments. 2014-01-23 19:54:00 -07:00
madmaxoft
98976de071 Merge branch 'master' into ChangeToPolarSSL. 2014-01-23 23:46:51 +01:00
madmaxoft
e251e52673 Fixed a warning in ScoreboardSerializer. 2014-01-23 23:45:28 +01:00
madmaxoft
5f34c78091 PolarSSL is fully used for 1.3.2 protocol encryption. 2014-01-23 23:35:23 +01:00
Mattes D
0e10120fc7 Merge pull request #580 from xdot/master
Fixed scoreboard serialization
2014-01-23 13:37:20 -08:00
Tycho
b95e005d91 Make clean now effects Bindings 2014-01-23 11:06:42 -08:00
andrew
b21b682d85 Fixed 1.5.x scoreboard packet IDs 2014-01-23 21:06:05 +02:00
Tycho
ce2fb844aa Removed Bindings folder subcmake on *nix 2014-01-23 11:03:49 -08:00
Tycho
27d1d5d491 Bugfixes 2014-01-23 11:00:36 -08:00
Tycho
e0956be0a7 added dependecies for bindings regen 2014-01-23 10:41:08 -08:00
Tycho
7419579140 Switched cEvent to use strerror_r for error messages 2014-01-23 10:25:56 -08:00
madmaxoft
9774da8122 Fixed a bug in LeakFinder. 2014-01-23 17:54:38 +01:00
madmaxoft
435eae3858 Fixed crash while calling disabled plugins. 2014-01-23 16:14:00 +01:00
andrew
5c04e216eb Fixed scoreboard.dat structure 2014-01-23 16:42:01 +02:00
andrew
bafa0347a3 Fixed scoreboard serialization 2014-01-23 16:27:23 +02:00
Mattes D
9ae31d913c Improved code safety for the Compact world storage.
That was a huge chunk of smelly code.
2014-01-23 14:21:56 +01:00
Mattes D
97ee3340e3 Minor style improvements for the merged PR. 2014-01-23 14:14:33 +01:00
Mattes D
0526ed327c Merge remote-tracking branch 'xdot/master'
* xdot/master:
  Command block fixes 2
2014-01-23 14:06:05 +01:00
andrew
4ef61d8bf6 Command block fixes 2 2014-01-23 14:57:04 +02:00
Mike Hunsinger
00d7317746 Removed extra line 2014-01-23 00:53:00 -07:00
Mike Hunsinger
41b05416c7 Split TossItem into three Toss functions (Held, Equipped and Pickup) 2014-01-23 00:27:39 -07:00
madmaxoft
eb9bebf755 Replacing CryptoPP with PolarSSL.
This is only the CMake modification to build with PolarSSL, the actual MCS code doesn't compile at all yet.
2014-01-22 22:19:33 +01:00
madmaxoft
3b96fc1e54 Authenticator: Reduced logging levels. 2014-01-22 22:06:48 +01:00
Tycho
5ef0a00a6c Fixed spelling error 2014-01-22 10:39:09 -08:00
Tycho
571200019d Added manual bindings for moved functions 2014-01-22 10:35:36 -08:00
Tycho
1c320fa18c formatting changes 2014-01-22 10:13:41 -08:00
Tycho
c832fbeb8e Merge branch 'master' into GeneratingBenchmark
Conflicts:
	src/World.h
2014-01-22 09:13:12 -08:00
tonibm19
d59a0156ce Fixed compilation on VC2008 2014-01-22 16:58:25 +01:00
Mattes D
26586fdb92 Merge pull request #566 from xdot/master
Scoreboard
2014-01-22 06:05:17 -08:00
andrew
dd04f5a73c cWorld now saves/loads the scoreboard 2014-01-22 15:49:21 +02:00
madmaxoft
2a018cfa49 Implemented cPluginManager:CallPlugin() API.
This function supersedes cPlugin:Call(), is safer to use in regards to multithreading and once again removes the need for the cPlugin class being exported at all.
2014-01-21 23:00:35 +01:00
andrew
9bd8f74b59 Merge branch 'master' of https://github.com/mc-server/MCServer 2014-01-21 20:40:41 +02:00
andrew
fa4750f015 Scoreboard SendTo() 2014-01-21 19:43:13 +02:00
andrew
aa61f55b74 Scoreboard protocol support 2014-01-21 15:58:17 +02:00
Alexander Harkness
9c93ab15ab Fix a crash but somewhere... 2014-01-20 19:02:37 +00:00
Tycho
ca3389231e Actually implemented interfaces 2014-01-20 10:15:19 -08:00
Tycho
4f09e8df6e Moved Schematic file methods to seperate class 2014-01-20 09:59:12 -08:00
Tycho
613f238ab6 Merge branch 'ForEachChunkProvider' into GeneratingBenchmark
Conflicts:
	src/World.h
2014-01-20 09:37:31 -08:00
Tycho
16375f6aad Merge branch 'master' into GeneratingBenchmark
this merge is necessary,
2014-01-20 09:21:47 -08:00
Tycho
9bb61e6e2e Seperated BlockArea From World
If anyone can come up with a better name for the interface I'll change it, It contians to methods which do compleatly unrelated things
2014-01-20 09:17:24 -08:00
andrew
ff2302ebd5 Scoreboard serialization 2014-01-20 16:45:40 +02:00
andrew
7728f4bcbe Scoreboard deserialization 2014-01-20 16:10:39 +02:00
madmaxoft
41618bf242 Changed the cWorld::ScheduleTask() signature.
Now it takes the delay in ticks as an argument, and a cTask descendant as the task to run. Lua API has been updated similarly.
2014-01-19 23:49:19 +01:00
madmaxoft
4a01879911 cLuaState can now check function params. 2014-01-19 23:45:26 +01:00
Mattes D
865016abe2 Merge pull request #569 from worktycho/EnchantmentsFix
Enchantments fix
2014-01-19 13:50:50 -08:00
Mattes D
fde8b0be60 Merge pull request #565 from mc-server/commandblockfixes
Command block fixes
2014-01-19 13:47:52 -08:00
Tycho
bd4278aca1 Added Inifile and OSSupport Linking 2014-01-19 12:51:23 -08:00
Tiger Wang
e4c3d799ff Removed unneeded paramters 2014-01-19 19:42:25 +00:00
Tiger Wang
83cbe8c139 Begin implementing ascending rails 2014-01-19 19:31:17 +00:00
Tiger Wang
3700ad8546 Added one more direction into collision checks
* Added direction XM_XP
* Improved performance, thanks STR and xoft
2014-01-19 18:42:05 +00:00
madmaxoft
3c0e8c8da0 Rewritten SocketThreads for proper shutdown scenario.
This fixes #560 and #390.
2014-01-19 19:31:43 +01:00
Tiger Wang
9a580146e4 Minecart improvements and fixes
* Fixed curved rails
* Fixed detector rails in certain situations
* Fixed powered rails and others passing bad meta to SnapToRail()
2014-01-19 18:27:06 +00:00
Tiger Wang
fc622ce194 Fixed weird meta with curved rails 2014-01-19 18:24:56 +00:00
Tycho
f13a14d2cf Switched EnchantmentSerilizer to namespace 2014-01-19 08:52:45 -08:00
Mattes D
6976735a53 Merge pull request #551 from worktycho/schedular
Implemented xoft's suggestion for a saturating counter in the scheduler
2014-01-19 07:46:34 -08:00
Tycho
e14ddff1c0 Spilt Writing of Enchantments to seperate class
Created a new class cEnchantmentSerializer to serilize Enchantments to NBT.
This breaks a dependecy chain between cChunkGenerator and cWorld.
cEnchantmentSerializer is seperate from NBTWriter as it needs to access private members of cEnchantments
so having it seperate reduces the spread of the frein modifier
2014-01-19 07:38:59 -08:00
madmaxoft
dc70d04cdd SocketThreads: Removed unused code. 2014-01-19 16:15:56 +01:00
Tiger Wang
8467f5dfae Added more rail functionality 2014-01-19 14:52:45 +00:00
andrew
f321b5d224 Scoreboard improvements 2014-01-19 16:02:37 +02:00
Tiger Wang
82b2290b74 Merge remote-tracking branch 'origin/master' into minecartimprovements 2014-01-19 13:55:22 +00:00
Tiger Wang
1af89a8b50 Changed SendBlockEntity format slightly
* Writing NBT is now in Protocol, not BlockEntity files
* Fixed a last output bug
2014-01-19 13:25:35 +00:00
andrew
2b94361059 Basic scoreboard implementation 2014-01-19 14:20:57 +02:00
Mattes D
972585363d Merge pull request #559 from mc-server/SpawnMobParticles
Removed the particles when a mob spawns.
2014-01-18 23:23:53 -08:00
Tiger Wang
a85b2897e0 Implemented MC|Brand response 2014-01-19 01:06:19 +00:00
Tiger Wang
f8c8dcc7f3 Improved command blocks
* Their command and previous output are displayed on the client
* They have a BlockHandler implementation, so you can't place blocks on
them anymore
+ As a side effect, implemented UpdateBlockEntity
2014-01-19 00:54:38 +00:00
STRWarrior
24df625fbd Exported cFloater to the Lua API. 2014-01-19 00:04:46 +01:00
STRWarrior
7153bc0578 Fixed compiler error. 2014-01-18 23:42:48 +01:00
Tiger Wang
ddd03a050b Minecart collision and general improvements
+ Implemented collision on one type of rail
* Improved curved rails somewhat
* Fixed a crash bug
2014-01-18 20:58:26 +00:00
Mattes D
36b9d42819 Merge pull request #557 from xdot/master
Command blocks
2014-01-18 11:39:42 -08:00
andrew
a037172465 Command block fixes 2014-01-18 21:27:54 +02:00
madmaxoft
fab726282c HTTP connections aren't kept alive unless explicitly enabled.
Only the client can decide that the connection can be kept alive, we must close the socket if the client doesn't indicate keepalive support.
This will provide a fix for #390 when #560 is fixed; until then the issue remains, just it's no longer HTTPServer's fault.
2014-01-18 20:20:56 +01:00
Tycho
d93a4362b4 Fixed iterators bug 2014-01-18 10:57:25 -08:00
STRWarrior
1cced1664f Removed the particles when a mob spawns. 2014-01-18 19:41:31 +01:00
andrew
992053b32a Merge branch 'master' of https://github.com/mc-server/MCServer 2014-01-18 20:38:02 +02:00
andrew
02c9aa2b1e Parse the MC|AdvCdm plugin message 2014-01-18 19:58:46 +02:00
madmaxoft
e68521deac Alpha-sorted the finishers. 2014-01-18 17:03:43 +01:00
madmaxoft
896f1a26ec Merged branch 'NetherFinish'. 2014-01-18 17:03:31 +01:00
andrew
1ad6469a18 Command blocks: Execute() 2014-01-18 16:59:33 +02:00
Tycho
160a27cced switched to using m_WorldAge rather than m_TickID 2014-01-18 06:15:33 -08:00
andrew
be5299350a Command block (de)serialization 2014-01-18 15:40:47 +02:00
STRWarrior
188cb1f6bc Fixed errors. 2014-01-18 14:17:26 +01:00
andrew
9a9b51a513 Basic command block implementation 2014-01-18 15:16:47 +02:00
STRWarrior
ca27f87272 Renamed cFinishGenNetherSprinkleFoliage to cFinishGenNetherClumpFoliage. Fixed typo's 2014-01-18 14:16:07 +01:00
STRWarrior
dd7c02bba9 Some tweaks.
Everything generates more often.
Fire can only spawn on ForeverBurning blocks.
2014-01-18 13:45:41 +01:00
STRWarrior
087d650aed Fixed bug where only brown mushrooms would spawn. 2014-01-18 00:37:21 +01:00
STRWarrior
9f17c9799b It now actualy works. 2014-01-18 00:27:13 +01:00
Mattes D
9aca5b4b99 Merge pull request #552 from worktycho/c++11
Changed std to c++11 in clang to fix va_copy issues
2014-01-17 13:59:58 -08:00
STRWarrior
7c787de261 First attempt at creating a clumb version NetherFinisher. 2014-01-17 22:58:01 +01:00
Tycho
a54cbba0fd Added user setting compression factor 2014-01-17 11:01:14 -08:00
Tycho
287144839e Increased tick count to long 2014-01-17 10:23:40 -08:00
Tycho
80f2f21f4c Changed std to c++11 in clang to fix va_copy issues 2014-01-17 10:10:31 -08:00
Tycho
ce030bc7c9 Implemented xsofts suggestion for a saturating counter in the scheduler 2014-01-17 10:07:33 -08:00
Mattes D
79c1f6f438 Merge pull request #534 from mc-server/SpawnMinecart
Added cWorld::SpawnMinecart.
2014-01-17 02:27:56 -08:00
madmaxoft
2354ac2783 Fixed SIGABRT_COMPAT on other architectures. 2014-01-17 11:13:35 +01:00
madmaxoft
aec5200893 Removed internal cEntity::GetRot() usage. 2014-01-17 11:11:17 +01:00
madmaxoft
ed1d336614 Merge remote-tracking branch 'origin/customnames' 2014-01-17 10:44:23 +01:00
madmaxoft
3a1c0f2aef Protocol 1.7: More output on unknown packets / protocol states. 2014-01-17 10:12:27 +01:00
Tiger Wang
7ecf50c309 Fixed block break packet number 2014-01-16 22:42:47 +00:00
Tiger Wang
d675173b80 Changed newline character because of issues 2014-01-16 22:30:57 +00:00
Tiger Wang
952c53eb4e Removed CustomCopy() 2014-01-16 21:41:55 +00:00
Tiger Wang
590a8c45c5 Really did what xoft wanted 2014-01-16 21:41:08 +00:00
Tiger Wang
d3bc92c65d Fixed #535 2014-01-16 21:51:30 +01:00
madmaxoft
4da8818291 Fixed SIGPIPE on cSocket::Send(). 2014-01-16 21:08:17 +01:00
Tiger Wang
7eb3cabd19 Fixed #535 2014-01-16 19:55:21 +00:00
madmaxoft
a085319455 Protocol 1.7: Unknown packets are dumped to log in Debug mode. 2014-01-16 20:39:59 +01:00
madmaxoft
de4ac55398 Disabled excessive entity-related logging in Debug mode. 2014-01-16 20:31:06 +01:00
madmaxoft
c44ce84497 Fixed whitespace in previous commit. 2014-01-16 20:30:25 +01:00
Tiger Wang
74645fdfaa Removed obsoleted functions 2014-01-16 19:00:49 +00:00
madmaxoft
343136a2ae Finished exporting cWorld:ScheduleTask() to Lua API. 2014-01-16 19:56:08 +01:00
Tiger Wang
5d03e49c13 Possibly did what xoft wanted 2014-01-16 18:44:11 +00:00
Tiger Wang
3373daca26 Merge remote-tracking branch 'origin/master' into customnames 2014-01-16 18:37:46 +00:00
madmaxoft
dab37db562 CMake: Fixed output paths for all MSVC versions. 2014-01-16 18:33:28 +01:00
STRWarrior
ca835a0565 Changed GetContent function. 2014-01-16 16:54:22 +01:00
madmaxoft
e29749b35e Added packet diagnostics to 1.7 protocol.
When the packet is mis-interpreted, a log message is output about the packet type and lengths.
2014-01-16 15:26:58 +01:00
madmaxoft
6f739359e3 Yet another attempt at VarArgs. 2014-01-16 09:01:12 +01:00
madmaxoft
ba49a32c3a Another VarArgs fix.
This time using va_copy() on platforms that have it and simple assignment on platforms that don't.
2014-01-16 08:34:10 +01:00
Tiger Wang
f3baf31563 OBSOLETE'd obsolete functions 2014-01-15 22:38:15 +00:00
Tiger Wang
fcafd5a2e0 Implemented custom names and lore
+ Added custom names and lore
+ Added saving and loading
+ Added writing and parsing of NBT
2014-01-15 22:38:03 +00:00
Tiger Wang
3c31f2d8d8 Implemented Ctrl-Q drop stack
Also fixed an issue with TossItems not respecting count.
2014-01-15 22:36:19 +00:00
madmaxoft
dd6c5779ec Using a 2nd argument instead of va_copy().
This seems to be the only reasonable C++03-only solution.
2014-01-15 18:28:51 +01:00
madmaxoft
3fd19df9fd Fixed varargs modification.
Ref.: #541.
2014-01-15 17:46:29 +01:00
STRWarrior
72dcd70f22 Furnace minecarts now stop being active after a while. 2014-01-15 14:38:54 +01:00
STRWarrior
bdfe31f917 First implementation for furnace minecarts. 2014-01-15 14:03:09 +01:00
Mattes D
eb89de4c88 Merge pull request #542 from worktycho/schedular
added cWorld::ScheduleTask Function
2014-01-15 02:45:25 -08:00
Mattes D
457e93f1ed Merge pull request #538 from mc-server/minecarts
Minecarts
2014-01-15 02:42:24 -08:00
Tycho
292ccdc09e added cWorld::ScheduleTask Function
ScheduleTask schedules a SceduledTask object to be run x ticks in the future.
In is exported to lua, fixes #150
2014-01-14 12:17:03 -08:00
Tiger Wang
e3b839b69f Yes newline at end of file :D 2014-01-14 18:16:13 +00:00
madmaxoft
b263d55a2d CMake: Added postfix for profiled exe 2014-01-14 09:32:43 +01:00
Tiger Wang
a66e154b90 Final improvements to Minecarts
* Fixed curved rails being a little broken
+ Implemented detector rails
+ Implemented block collisions on rails
* Fixed snapping to rail
- Removed minecart physics conditions in Entity.cpp as minecarts use
their own simulator when on rails

Fixes #148 and #217; partially implemented #215.

This is Cave Johnson, and we're done here.
2014-01-13 22:37:09 +00:00
madmaxoft
5407cec41c Removed shutdown() from socket closing.
It's not there for Windows and everything seems fine, the client doesn't shutdown either, so why should we be polite.
Fixes #537.
2014-01-13 20:54:58 +01:00
madmaxoft
ada54b79d7 Added handshake processing to protocol 1.7.
This fixes #495
2014-01-13 20:32:15 +01:00
madmaxoft
7e59296157 Generating the bindings outputs a message at the end. 2014-01-13 19:57:19 +01:00
madmaxoft
332c1c59eb cCreeper is no longer available in API.
Has been replaced by cMonster.
2014-01-13 17:25:16 +01:00
madmaxoft
0a3fae7c35 CMake: Removed leftover debugging output. 2014-01-13 17:22:01 +01:00
madmaxoft
89e641071e CMake: Added resources to windows projects. 2014-01-13 17:15:34 +01:00
madmaxoft
b9eb38a17f Added a generic .user file for MSVC.
This brings in the default debugging settings for the MSVC project, when generated by CMake.
2014-01-13 16:49:49 +01:00
Tiger Wang
edefa27a48 Detaching improvements
* Players now search for an area around themselves to teleport to when
detaching from something
2014-01-12 23:23:36 +00:00
Tiger Wang
1d81db6446 Fixed wire, rail, and pressure plate unpowering 2014-01-12 23:19:08 +00:00
STRWarrior
c7d556afaf Fixed server crash. 2014-01-12 18:15:54 +01:00
STRWarrior
f11427e8cd Renamed cEmptyMinecart to cRideableMinecart 2014-01-12 18:04:41 +01:00
madmaxoft
118b7a121b Moved the win resources into a separate subfolder.
This will allow us to use them in CMake builds.
2014-01-12 17:57:29 +01:00
madmaxoft
2ca06cc213 CMake generates Bindings when not existant (win) 2014-01-12 17:20:29 +01:00
STRWarrior
c5603ce064 EmptyMinecarts should be able to get a block inside of them. 2014-01-12 15:27:50 +01:00
Tiger Wang
e114008559 Fixed settings plugin generation after IniFile 2014-01-12 14:03:50 +00:00
STRWarrior
6ff375273b Added cWorld::SpawnMinecart. 2014-01-12 14:33:32 +01:00
Tiger Wang
ec6c510bd4 Multiple enhancements and fixes to minecarts
+ They are destroyed instantly by creative mode
* Physics is much improved
+ Basic implementation of powered rails
2014-01-12 13:28:37 +00:00
Alexander Harkness
273db55bdf Merge pull request #529 from mc-server/derpstonerefactor
Major refactoring of redstone
2014-01-12 04:38:41 -08:00
madmaxoft
328b2db252 Disabled a useless MSVC warning in Bindings.cpp. 2014-01-12 08:43:13 +01:00
Mattes D
751c53ecc6 Merge pull request #532 from mc-server/LuaStateErrorHandler
Lua state error handler
2014-01-11 23:33:29 -08:00
madmaxoft
023ba17688 Lua errors display stack trace.
Fixes #418.
2014-01-11 23:10:40 +01:00
madmaxoft
b2b7e45757 Removed internal methods from public cLuaState interface.
PushFunction(), CallFunction() and GetReturn() are not to be called independently, but rather only by using the Call() templated overrides.
Push() needs to be left in the public part, it is used for pushing results in the ManualBindings.

Preparation for #418.
2014-01-11 22:51:10 +01:00
Tiger Wang
318c353ee4 Fixed rails powering 2014-01-11 21:32:42 +00:00
madmaxoft
acfebab027 Removed an unused file. 2014-01-11 21:22:40 +01:00
Mattes D
498fb5b675 Merge pull request #527 from derouinw/biomessplit
Biomessplit
2014-01-11 12:20:41 -08:00
madmaxoft
2634261a28 Removed unused variables.
The Lua API calls had no side-effects, either.
2014-01-11 20:29:56 +01:00
Mattes D
5417f7bd2d Merge pull request #530 from mc-server/GeneratorDecouple
Decoupled cChunkGenerator from cWorld and cRoot.
2014-01-11 11:26:09 -08:00
Tiger Wang
ff57381631 Did some stuff with the vectors 2014-01-11 14:26:18 +00:00
andrew
05e22dccf2 Fixed glowstone drop count 2014-01-11 11:38:34 +02:00
Tiger Wang
6b25ef4fa3 Fixed a door bug and reduced code
Doors wouldn't get powered by repeaters, and some blocks, like glass,
were viable middle blocks when they shouldn't have been.
2014-01-11 01:52:14 +00:00
Tiger Wang
b068b73ad9 Renamed g_TorchPlaceable...
...to g_FullyOccupiesVoxel, as recommended by @bearbin
2014-01-11 01:51:24 +00:00
Bill Derouin
af89794d76 Globals.h needs to be first include 2014-01-10 15:50:52 -06:00
Tiger Wang
d5b38402ed Fixed doors, fixes #453 2014-01-10 21:35:41 +00:00
madmaxoft
cea997426b Decoupled cChunkGenerator from cWorld and cRoot.
Now the chunk generator can be used by other projects without depending on the two hugest structures in MCS.
2014-01-10 22:22:54 +01:00
Tiger Wang
e7fba08e6c Major refactoring of redstone
This commit is a refactoring of the redstone code, mainly the functions
handling the removal of invalid blocks from power supplier data
structures. Its aim is to improve performance and potentially reduce the
memory footprint of the data structures.

It works to reduce the amount of GetBlock()s triggered every tick.
Before, a GetBlock() was requested for every single item in the data
lists, as well as for every single redstone block in a chunk. Following
these changes, the AddBlock() event is utilised more effectively to only
update the lists when needed (a block is changed), as well as to insert
the block type (and update it when needed) alongside the coordinates
into the main redstone simulator chunkdata list.

In short, a single GetBlock() is now cached, with this cache being
updated when the simulator is awoken due to a block change.

At least, I *hope* that this is what it does :P
2014-01-10 20:31:05 +00:00
Bill Derouin
fe48f62575 Include Biome enum in ChunkDef
Can't forward declare an enum
2014-01-10 10:30:56 -06:00
Bill Derouin
ee74411024 Added newlines at ends of files 2014-01-10 10:10:24 -06:00
madmaxoft
712e6e0bb2 Fixed generator adding values to ini file. 2014-01-10 16:34:09 +01:00
STRWarrior
82a06725bd Added cFinishGenNetherSprinkleFoliage. 2014-01-10 16:31:45 +01:00
Bill Derouin
1c2004dfbb Fixed missing externals
Turns out you actually have to include the .cpp in the project file
2014-01-10 09:23:53 -06:00
Mattes D
6943a4df74 Merge pull request #520 from mc-server/SoulSand
NetherGen: Now generates SoulSand.
2014-01-10 07:14:19 -08:00
STRWarrior
36c100a53e Fixed recurring pattern. 2014-01-10 16:12:45 +01:00
Bill Derouin
cee76f1ace Move biome definition to separate files 2014-01-09 15:21:46 -06:00
madmaxoft
bb96737f45 Exported cClientHandle::SendPluginMessage() to Lua. 2014-01-09 14:25:37 +01:00
madmaxoft
f3bedb3c32 Fixed wrong packet number for PluginMessage packet. 2014-01-09 14:24:57 +01:00
STRWarrior
6c75cbc8d7 Fixed chunk borders. 2014-01-09 13:30:04 +01:00
madmaxoft
fe978f0d1e Added cClientHandle::SendPluginMessage().
It is not yet exported in the API, though.
2014-01-09 11:39:42 +01:00
madmaxoft
bd17662412 Composition generator creating moved to a separate function.
Also it forces the defaults into the INI file.
2014-01-09 10:35:51 +01:00
madmaxoft
1ef20e858f Height generator creating moved info HeiGen.cpp.
The generator also explicitly sets the default back into the INI file.
2014-01-09 10:21:26 +01:00
Mattes D
91d70b87e5 Merge pull request #517 from derouinw/master
Add missing plugin error
2014-01-08 23:51:32 -08:00
STRWarrior
d462085108 Speed-up. I got about 40 extra ch/s 2014-01-08 22:23:26 +01:00
Bill Derouin
154d6b989a A couple touchups 2014-01-08 13:45:16 -06:00
STRWarrior
5aa34cf77d WormNestCaves now remove soul sand. 2014-01-08 15:34:49 +01:00
STRWarrior
ca8421fe26 NetherGen: Now generates SoulSand. 2014-01-08 15:26:43 +01:00
madmaxoft
38d0bdf00a Fixed AppendVPrintf() handling for large strings.
This caused a failure in server favicons.
2014-01-08 14:23:15 +01:00
Tiger Wang
f578dbfc54 Graceful shutdown on SIGTERM 2014-01-07 21:23:26 +00:00
Bill Derouin
e0d94e0f06 Add missing plugin error
Previously, if a plugin was included but the folder had no lua files,
the error given was ambiguous. Now, it explicitly describes lack of lua
files.

See issue #512

P.S. This probably isn't the best way, but this is where the fix can be
made.
2014-01-07 13:47:15 -06:00
Alexander Harkness
01fcf2fecb Merge pull request #516 from mc-server/favicon
Fixed favicons
2014-01-07 09:09:57 -08:00
Tiger Wang
1d96a615b5 Fixed favicons 2014-01-07 16:53:40 +00:00
madmaxoft
e353f29d4a Plugin messages are received and handed to plugins.
Note that MCS doesn't currently handle any channel registrations, this will come later on.
2014-01-07 17:47:20 +01:00
Mattes D
a87daa969e Merge pull request #514 from derouinw/master
Implement favicon for 1.7.2
2014-01-07 08:41:13 -08:00
Bill Derouin
5012b81578 Avoid making copies of favicon string 2014-01-07 10:26:56 -06:00
madmaxoft
a33b157dc9 Disabled an unneeded MSVC warning.
Also sorted the enabled warnings by their numerical code for easier searching..
2014-01-07 17:15:08 +01:00
madmaxoft
8b9b09bf60 Removed a debugging log output in cPluginManager:AddHook(). 2014-01-07 17:07:49 +01:00
madmaxoft
39a1bcdea0 More MSVC warning fixes. 2014-01-07 17:07:49 +01:00
madmaxoft
bcd41dc1aa LuaState can push strings with embedded NULs.
This also marginally improves performance, since a strlen() isn't called (inside lua_pushstring()), the string length is stored in the AString object directly.
2014-01-07 17:07:48 +01:00
Bill Derouin
1c2eb4a1c0 A few more touch ups 2014-01-07 09:49:52 -06:00
Bill Derouin
ede6757f67 A few touch ups 2014-01-07 09:40:59 -06:00
Bill Derouin
5fd62f9cd7 Removed unused line 2014-01-07 09:38:51 -06:00
Bill Derouin
913841f501 Implement favicon for 1.7.2
Favicon data is a png encoded in base64 which is stored in the server
and sent in the server response packet
2014-01-07 09:31:06 -06:00
madmaxoft
934b90c121 Fixed a few MSVC warnings. 2014-01-07 14:24:25 +01:00
madmaxoft
e3bb82d95a Added Base64Encode(). 2014-01-07 12:36:36 +01:00
madmaxoft
778c329ad2 Disabled the type conversion MSVC warning.
It was hitting way too many false positives.
2014-01-06 22:23:03 +01:00
madmaxoft
9c8af58b75 Fixed a few MSVC warnings. 2014-01-06 22:22:33 +01:00
Mattes D
db978fc687 Merge pull request #511 from mc-server/CmakeOutput
Output dir set to $/MCServer.
2014-01-06 11:12:50 -08:00
Mattes D
6dd44e6230 Merge pull request #509 from Diusrex/master
Added #pragma for warnings in MSVC warnings
2014-01-06 09:15:41 -08:00
madmaxoft
0d5a5cc990 Exported cWorld::BroadcastBlockAction().
As requested in #508; no guarantees about it.
2014-01-06 16:01:20 +01:00
madmaxoft
4b54f3e3ea Output dir set to $/MCServer.
Ref.: #510.
2014-01-06 10:13:19 +01:00
madmaxoft
c9c71fe5a7 Fixed wrong enqueueing.
Fixes #505.
2014-01-06 10:09:00 +01:00
Diusrex
487c1a24de Added fake functions into cCriticalSection because of the change to ASSERT 2014-01-05 15:08:30 -07:00
Diusrex
1acbf07445 Changed the release version of ASSERT.
This was so a variable only used in ASSERT statements will not give a warning about not being used.
2014-01-05 15:07:46 -07:00
Diusrex
2dbe5033ca Added warning(push) and warning(pop) around all of the inclusions of cryptopp/*.h
I also added a warning(push)/(pop) around crpytlib.cpp because it would go crazy with warnings.

So now, the only warning from cryptopp that is not blocked is 'unreferenced local function has been removed', which also occurs at a single function.
2014-01-05 15:06:17 -07:00
Diusrex
0d5b581fcd Making all of the useful level 4 warnings be active. 2014-01-05 14:42:22 -07:00
madmaxoft
84bf32f857 Fixed cPluginManager:AddHook() binding.
Fixes #401. Old formats are still accepted, for compatibility reasons.
2014-01-05 15:46:45 +01:00
madmaxoft
0a712931b1 Fixed a race condition in the cQueue class.
Fixes #505.
2014-01-05 15:15:59 +01:00