Tiger Wang
a1d5d25525
Implemented xoft's suggestions
...
I totally didn't copy this from the fire simulator...
(I did, but I changed it quite a bit :P)
2013-09-11 22:10:29 +01:00
madmaxoft
791ced42cc
Added StringSplitAndTrim() to Lua API
2013-09-11 21:22:25 +02:00
Mattes D
85804d085d
Merge pull request #159 from tigerw/bugfix
...
Multiple fixes and features
2013-09-11 12:19:39 -07:00
Tiger Wang
3a1def2c90
More changes [SEE DESC]
...
* Improved (again) pumpkin direction handling
* Fixed spacing in Entity.cpp
2013-09-11 20:07:51 +01:00
Tiger Wang
8ef91817e9
Pumpkins
2013-09-11 19:02:09 +01:00
Tiger Wang
e9321bc715
Better player gamemode detection
2013-09-11 18:56:03 +01:00
Tiger Wang
277b26b4c2
Fixed two bugs
2013-09-11 18:51:27 +01:00
worktycho
37e0e684f4
moved reflection code to PlayerYawToMetadata
2013-09-11 17:07:54 +01:00
worktycho
3236364eee
changed the subtaraction to a flip
2013-09-11 13:48:08 +01:00
Tiger Wang
cb167f78e3
Added player void damage
2013-09-10 23:02:35 +01:00
Tiger Wang
c8f8597774
Added void damage
2013-09-10 23:01:02 +01:00
Tiger Wang
010bc94a34
Entities now maintain speed outside of world
2013-09-10 22:51:07 +01:00
Tiger Wang
3d7813fdb2
Pumpkin and JackOLantern support
...
Fixes #99
2013-09-10 22:09:31 +01:00
madmaxoft
6dbe3296e0
Fixed codepage conversion
2013-09-10 22:03:11 +02:00
mgueydan
f12ac6b995
Inside cMonster::getMobFamily() : replacing Polymorphism by Map, in order to remove redundancy
2013-09-10 15:09:45 +02:00
mgueydan
bf4781d0ee
Changing Bat to AMbiant creature
2013-09-10 14:26:27 +02:00
Tiger Wang
e0c649dcc4
Fixed DropSpensers not rotating properly
2013-09-09 19:36:53 +01:00
Tiger Wang
30ac3f5838
Added a few changes [SEE DESC]
...
* Revised pickup comments
* SlotArea pickup tossing now reflects Player.cpp
* Removed unneeded ItemShears comment (was working already)
* Sand and gravel pickups spawn with correct speed
2013-09-09 19:28:50 +01:00
Tiger Wang
57c17a02db
A few Minecart fixes
...
* Removed unneeded flatrail setpos
* Fixed health checking
2013-09-09 18:55:42 +01:00
mgueydan
59f4635309
replacing dynamic_cast by c-style cast
2013-09-09 18:45:39 +02:00
madmaxoft
becb36d2d1
Fixed a crash on immediate re-login.
...
Fixes #155 .
2013-09-09 18:34:38 +02:00
madmaxoft
5945166a98
Merge branch 'boats' of git://github.com/tigerw/MCServer.
2013-09-09 11:13:14 +02:00
madmaxoft
b8d2d94d90
Removed the cDoors class.
...
The helper functions that it implemented were moved into their respective blockhandlers.
2013-09-09 10:49:52 +02:00
madmaxoft
db6cfefadd
Removed the "charging bow" debug message.
2013-09-08 22:43:21 +02:00
madmaxoft
641a1286c1
Fixed torch placement.
...
This is related to #127 , but until we know more about the change, I'm not closing the issue.
2013-09-08 22:40:50 +02:00
madmaxoft
ab61b4193b
Alpha-sorted g_BlockIsSnowable[].
2013-09-08 18:39:35 +02:00
madmaxoft
2071fb6491
Thrown ender pearls are saved properly to MCA.
2013-09-08 18:37:35 +02:00
madmaxoft
b9066ab8f9
Fixed client spawning.
...
The method used for 1.2.5 clients no longer works. Fixes #139 .
2013-09-08 18:37:35 +02:00
STRWarrior
7862a76684
Re-added the top line.
2013-09-08 18:35:48 +02:00
STRWarrior
00a25016b3
Added E_BLOCK_LILY_PAD to g_BlockIsSnowable.
2013-09-08 18:33:53 +02:00
madmaxoft
6c0c1f1d0c
Implemented proper chunk unloading in all 1.3.2+ clients
2013-09-08 17:57:50 +02:00
Tiger Wang
50e24fb75f
Fixed a bunch of stuff
...
* Fixed compilation
* Made it less obvious I COPIED ALL THE CODE from Minecarts
* Fixed alignment spaces to make xoft happy
2013-09-08 16:56:16 +01:00
mgueydan
ead953898d
replacing C-style cast by dynamic_cast
2013-09-08 12:37:14 +02:00
mgueydan
b4bb255344
Replacing chunCk by chunk
2013-09-08 12:25:07 +02:00
mgueydan
5846be9400
replacing asserts by ASSERTs
2013-09-08 12:20:19 +02:00
mgueydan
e6e85168bc
removing an assert + correcting a distance calculation bug
2013-09-08 12:04:20 +02:00
mgueydan
668b6edaa7
renaming the cChunk::getRandomBlock method + removing a buggy working log
2013-09-08 11:49:33 +02:00
mgueydan
d67e8dcca5
Adding mobtype filter inside world.ini
2013-09-08 03:30:09 +02:00
mgueydan
7a5e3592ff
Adding glue to call everything done in last commits - now the mobs are spawning
2013-09-08 02:47:02 +02:00
mgueydan
04151677d5
Disabeling current mob spawning and tick
2013-09-08 01:43:55 +02:00
mgueydan
caa54af546
Implementing the MobSpawner (not used yet) that contains spawning rules
2013-09-08 01:21:43 +02:00
Tiger Wang
c789a8ddf5
Initial boat support
...
+ Boats are saved
+ Boats have physics
+ Boats spawn
2013-09-08 00:14:57 +01:00
mgueydan
bf1fb0aa3d
Adding an Empty shell that would launch mob spawner - not called yet
2013-09-08 00:11:38 +02:00
Tiger Wang
35efe9c727
Fixed formatting and removed gravity thing
2013-09-07 21:42:33 +01:00
mgueydan
d2eb58f277
Adding mob census (sorry this is a big commit as work was done before git integration i couldn't split it more)
2013-09-07 22:19:56 +02:00
madmaxoft
d31142811d
Merged branch 'Projectiles'.
2013-09-07 22:06:30 +02:00
madmaxoft
d1b68f6150
Added a (disabled) block logging to projectile path-tracing.
2013-09-07 21:56:22 +02:00
madmaxoft
d6c4447022
Updated the API bindings.
2013-09-07 21:26:50 +02:00
madmaxoft
7938f18c57
Implemented loading more projectiles from MCA.
2013-09-07 21:26:17 +02:00
mgueydan
e844612503
Adding a getType in Monster that return an enum instead of an int or char
2013-09-07 21:03:01 +02:00
mgueydan
2361a5dc41
relockating mobs includes (they probably will end somewhere else in order not to recompile world each time you update a mob)
2013-09-07 20:07:56 +02:00
mgueydan
1e02e04d2c
Adding Family for monsters : Hostile/Passive/Water/Ambient
2013-09-07 20:02:50 +02:00
mgueydan
04aebd944b
Adding Water and Lava as transparency blocks
2013-09-07 20:00:59 +02:00
madmaxoft
06b01af017
Implemented ghast fireball and firecharge projectiles
2013-09-07 18:53:14 +02:00
madmaxoft
3b1c83acf8
Renamed cWorld::DoExplosiontAt() to cWorld::DoExplosionAt()
2013-09-07 18:12:22 +02:00
madmaxoft
3f4718154b
Arrows have proper yaw and pitch when shot, and stop when they hit a block.
2013-09-07 17:14:37 +02:00
madmaxoft
5f8a46373d
Fixed a missing initialization in cMonster.
...
This should fix commit ff762a7ece
's all-mobs burning.
2013-09-07 16:42:34 +02:00
madmaxoft
f300ed54e5
Implemented SteerVehicle packet.
2013-09-06 16:50:21 +01:00
madmaxoft
e8d1ed36c5
Moved daylight burning directly into cMonster.
2013-09-06 16:50:20 +01:00
madmaxoft
a80be25c92
Removed TimedWait from cEvent.
...
Unsupported on MacOS.
2013-09-06 16:50:18 +01:00
madmaxoft
67e8f75318
Implemented SteerVehicle packet.
2013-09-06 00:04:49 +02:00
Tiger Wang
178b5884fc
Further physics improvements [SEE DESC]
...
This was mainly focused on pickups, but it works for other things too.
* Entities no longer clip through blocks positive-vertically (this fixes
pickup issues as well).
* Entities lie flat against a block when they hit it.
* Reduced entity (mainly pickup) block clipping in non vertical
directions.
2013-09-05 21:41:47 +01:00
madmaxoft
ff762a7ece
Moved daylight burning directly into cMonster.
2013-09-05 22:40:08 +02:00
madmaxoft
cdaa483778
Merge branch 'master' of git://github.com/tigerw/MCServer into tigerw-master
2013-09-05 17:44:22 +02:00
madmaxoft
6ff49ec3a8
Removed TimedWait from cEvent.
...
Unsupported on MacOS.
2013-09-05 15:22:16 +02:00
madmaxoft
5c0039e7b0
Removed an unused include
2013-09-04 22:02:04 +02:00
Tiger Wang
ad89a0d460
Pickups spawn with correct speed and position
...
Added a comment-space as well.
2013-09-04 18:26:00 +01:00
Tiger Wang
6059c44dcb
Players toss a little further
2013-09-04 18:15:20 +01:00
Tiger Wang
fd35f6d707
Pickups are a little less jittery
...
They also spawn closer to player mouth.
2013-09-04 18:13:46 +01:00
Tiger Wang
3300cfe491
Added better push out of entities
2013-09-04 17:52:15 +01:00
Tiger Wang
9c22cf1520
Fixed inconsistent meta naming
2013-09-03 12:33:54 +01:00
madmaxoft
4c24781a62
Added cEntity's gravity to the Lua API.
2013-09-03 10:20:56 +02:00
madmaxoft
2c5e566fe7
Implemented exact block hit position.
...
Arrows now stick out of blocks at the exact position where they hit.
2013-09-03 09:41:31 +02:00
madmaxoft
f7d5894427
Added cArrowEntity's criticalness to the API.
2013-09-03 08:39:35 +02:00
madmaxoft
3a921955d9
Arrows deal damage based on their speed.
2013-09-03 08:37:15 +02:00
madmaxoft
e8b77ea2f5
Projectiles slow down in water and lava.
2013-09-02 21:56:55 +02:00
madmaxoft
7433b3723c
Projectiles don't collide with their creators.
2013-09-02 21:40:56 +02:00
madmaxoft
f5e0c8c77e
cBoundingBox: Only forward collisions are calculated.
2013-09-02 19:51:13 +02:00
Tiger Wang
20b64e18e4
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
source/Bindings.cpp
source/Entities/Entity.cpp
Updated from upsteam
2013-09-02 14:15:28 +01:00
Tiger Wang
b5c63d8fc5
Minecart enhancements [SEE DESC]
...
Curved rails.
Better physics.
Better code as improved by xoft.
Stuff.
2013-09-02 12:01:49 +01:00
madmaxoft
a884fbb919
Arrows deal damage.
...
Still needs some tweaks, they hit the shooter most of the time.
2013-09-01 22:40:35 +02:00
madmaxoft
4f04724cfd
Made cBoundingBox class inclusive in both coord edges.
...
Also added (a disabled) self-test to cBoundingBox.
2013-09-01 22:38:09 +02:00
madmaxoft
e35402c61a
Fixed an error in cBoundingBox's line-collision algorithm.
2013-09-01 20:39:22 +02:00
madmaxoft
0dec48d496
Added dtRangedAttack, fixed faulty StringTODamageType()
2013-09-01 20:06:49 +02:00
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