Thomas Boerger
ffed489156
Include execinfo.h only on __GLIBC__
2015-11-19 22:46:47 +01:00
Thomas Boerger
a16a9eab4f
Define stacktrace functions only if __GLIBC__ is defined
2015-11-19 22:46:47 +01:00
Thomas Boerger
8f3f91d3db
Check for __GLIBC__ to detect correct strerror_r version
2015-11-19 22:23:47 +01:00
Julian Laubstein
48f84cc3e9
changed mob age from char to int
2015-11-16 14:13:44 +01:00
samoatesgames
19ea5d5423
Improved spawn location calculations.
...
- Supports Overworld and Nether spawns.
- Supports spawning under objects, but still above ground (e.g. under the leaves of a tree).
- Protects against spawning in oceans.
- Protects against spawning in water.
- Uses a radial search about the origin, rather than a linear.
- Correctly calculates Nether spawn on spawn world generation (fixes: cuberite#2548)
- Fixes a bug in CheckPlayerSpawnPoint() where the X offset was used in both the X and Z coords (BLOCKTYPE BlockType = GetBlock(a_PosX + Coords[i].x, a_PosY, a_PosZ + Coords[i].x);)
2015-11-13 15:08:16 +00:00
worktycho
5f34097ab3
Blocks outside the world are never solid
...
Fixes #2539
2015-11-13 11:50:21 +00:00
Gargaj
5e840cf86f
Avoid reading out of bounds
...
as per https://github.com/cuberite/cuberite/pull/2630#discussion_r44377411
2015-11-10 22:22:28 +01:00
Julian Laubstein
98bac62c07
Added cChunkDef::IsValidHeight()
2015-11-10 19:44:30 +01:00
Gargaj
67e6da4627
Avoid division by zero
...
It won't do much because direction will still be a nullvector, but it at least avoids a CPU spike.
2015-11-10 18:00:14 +01:00
Gargaj
51f8e0e36c
fix shallow water + add future code for liquid fall dampening
2015-11-10 00:36:15 +01:00
Gargaj
b5de4a9a6f
remove slab from inventory when using it on another slab ( fixes #2610 )
2015-11-09 21:12:32 +01:00
Gargaj
6d8baa6a75
idle/deflating creeper should be -1
...
according to http://wiki.vg/Entities#Creeper
2015-11-09 20:06:32 +01:00
Gargaj
4e991f4632
Add comment to Attack() return values
2015-11-09 15:51:35 +01:00
Gargaj
97ddcc1c0a
neutral mobs shouldn't chase the player unless aggro'd
...
code style
neutral mobs shouldn't chase the player unless aggro'd
neutral mobs shouldn't chase the player unless aggro'd
Merge branch 'chilloutyo' of github.com:Gargaj/cuberite into chilloutyo
Conflicts:
src/Mobs/PassiveAggressiveMonster.h
code style
Merge branch 'chilloutyo' of github.com:Gargaj/cuberite into chilloutyo
2015-11-08 23:42:26 +01:00
worktycho
171867009e
Fix memory leak
...
Fixes CID 132249
2015-11-08 22:34:52 +00:00
worktycho
a1926ca16e
Merge pull request #2615 from Gargaj/cavespider-attack
...
Fix cavespider poisoning even if attack is in cooldown
2015-11-08 22:08:40 +00:00
Gargaj
d413e34475
Fix chicken flying
...
The gravity might not be correct but my rough timing (with a stopwatch) seems to be close.
Merge branch 'master' into patch-1
Merge branch 'master' into patch-1
Merge branch 'master' into patch-1
2015-11-08 22:34:35 +01:00
Gargaj
392a3d319c
fix cavespider poisoning even if attack is in cooldown
...
make attack function more responsive
fix cavespider poisoning even if attack is in cooldown
make attack function more responsive
Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack
code style
fix cavespider poisoning even if attack is in cooldown
make attack function more responsive
fix cavespider poisoning even if attack is in cooldown
make attack function more responsive
Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack
code style
Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack
Merge branch 'master' into cavespider-attack
Merge branch 'master' into cavespider-attack
fix cavespider poisoning even if attack is in cooldown
make attack function more responsive
fix cavespider poisoning even if attack is in cooldown
make attack function more responsive
Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack
code style
fix cavespider poisoning even if attack is in cooldown
make attack function more responsive
fix cavespider poisoning even if attack is in cooldown
make attack function more responsive
Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack
code style
Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack
Merge branch 'master' into cavespider-attack
Merge branch 'master' into cavespider-attack
Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack
2015-11-08 21:01:02 +01:00
Gargaj
2ce2d9b7ce
add sound to stone pressure plates
...
add sound to stone pressure plates
2015-11-08 20:57:05 +01:00
Gargaj
429c896e33
Only send creeper updates when there is a change
...
Otherwise this keeps spamming the metadata packet for all the creepers on the server.
2015-11-07 21:57:32 +01:00
worktycho
e85082d2f1
Merge pull request #2609 from bibo38/slimeblock
...
Slimeblock implementation
2015-11-07 18:45:59 +00:00
bibo38
ea55e75672
Refactored code to use vectors in the cPistonHandler class
2015-11-07 17:34:54 +01:00
bibo38
429f615390
Added some code improvements
2015-11-07 17:23:02 +01:00
bibo38
0447af8bcb
Renamed GetDirectionVec into VectorFromMetaData to improve code readability.
2015-11-07 17:23:02 +01:00
bibo38
f8c28cc373
Commented the GetDirectionVec method
2015-11-07 17:23:02 +01:00
bibo38
64012bf46f
Fixed the style problems and added some comments
2015-11-07 17:23:02 +01:00
bibo38
5fa077f869
Removed unused CanPull method
2015-11-07 17:23:02 +01:00
bibo38
558991a725
Extracted block moving code into a seperate method
2015-11-07 17:23:02 +01:00
bibo38
f35060e8b5
Replaced the usage of pistonMeta with a direction vector to allow better meta value abstraction
2015-11-07 17:23:02 +01:00
bibo38
ceec6c936d
Fixed pulling/pushing of breakable blocks, which are not required to be moved
2015-11-07 17:23:02 +01:00
bibo38
ede4eec4c5
Implemented the basic slime block pulling
2015-11-07 17:23:02 +01:00
bibo38
59a9ac5e6f
Implemented the SlimeBlock into the CanPush method to allow slimeblocks to work correctly when pushed
2015-11-07 17:23:02 +01:00
bibo38
8f066a16ec
Piston extension now works with the new recursive CanPushBlock method.
2015-11-07 17:23:02 +01:00
bibo38
e2d88106a9
Added the CanPushBlock method for the piston push check.
...
This allows the recursive check for blocks to push, which is needed to implement the slime blocks into the piston system.
2015-11-07 17:23:02 +01:00
bibo38
d92a92d78a
Implemented the slime block dropping behaviour.
...
Fixes #2530
2015-11-07 17:23:02 +01:00
Gargaj
6ce98a702d
fix pressure plate power levels
2015-11-07 16:28:37 +01:00
worktycho
7dae50fc14
Merge pull request #2618 from Gargaj/deadmeansdead
...
Fix mobs firing when already dead
2015-11-07 13:26:31 +00:00
Gargaj
31dac0cb2e
don't attack if dead
2015-11-07 13:48:00 +01:00
Gargaj
ad1e24e50b
code style
2015-11-07 13:32:52 +01:00
Gargaj
2f28c2f4ff
implement pushing/shoving based on @NiLSPACE's suggestion
2015-11-07 13:29:18 +01:00
Gargaj
5bcd4b271e
chickens don't take fall damage
2015-11-06 10:22:40 +01:00
Julian Laubstein
056822845d
Merge pull request #2593 from cuberite/enderegg
...
Destroy an ender crystal when hit by an egg.
2015-11-05 18:10:19 +01:00
Alexander Harkness
1d4c6d3fbe
Destroy an ender crystal, damage a dragon when hit by an egg.
2015-11-05 16:42:42 +00:00
Mattes D
1abf065953
MSVC: Reviewed warnings, disabled a useless one, re-enabled an old one.
2015-11-05 11:09:37 +01:00
Gargaj
a9579c4f06
Fix being set on fire while directly being under lava
...
Right now you will be on fire if there is a block of lava right above you, even if it doesn't pour down.
2015-11-04 18:00:29 +01:00
Lukas Pioch
9749c3aac9
Implemented brewing
2015-11-03 18:00:55 +01:00
Cengiz Can
bb48d8a7e8
Use an unreserved qualifier for thread local storage
...
Fixes #1906
2015-11-03 12:09:40 +03:00
bibo38
19b65ce357
Fixed failed assertation
...
This was caused by a monster with a negative Y-axis.
Fixes #2336
2015-11-03 08:39:18 +01:00
worktycho
47604cd914
Merge pull request #2591 from cuberite/chunkprepare-deadlock
...
Fix deadlock, resolves #2521
2015-11-03 00:23:45 +00:00
Tiger Wang
9de3a3f938
Examined a fix for #2588
2015-11-02 22:07:48 +00:00
Alexander Harkness
7e4c56ce0d
Fix deadlock, resolves #2521
2015-11-02 18:21:35 +00:00
bibo38
435bae104d
Implemented the Water Breathing Potion functionality.
...
Fixes #2556
2015-11-01 11:50:03 +01:00
bibo38
73b8be0fef
Implemented the FireResistence potion effects.
...
This not only provides fire resistence, but also prevents blaze fireballs.
See #2556
2015-10-31 23:06:10 +01:00
Lukas Pioch
5ae19fb332
Debug mode: Fixed assertion, if player below y < 0
2015-10-31 14:26:24 +01:00
bibo38
ec5c38761f
Changed for-loop iterator in File.cpp to a reference type to reduce object copying and fix the clang build.
...
Fixes #2580
2015-10-30 20:16:45 +01:00
Lukas Pioch
3e48b1f1eb
Added cave spider to MobSpawner
2015-10-29 13:35:35 +01:00
Mattes D
a7c75d61ce
Revert "Pressure plate fix"
2015-10-29 11:43:01 +01:00
Schwertspize
525b967c93
fixed pressure plate bugs
2015-10-28 22:21:46 +01:00
Alexander Harkness
d14c8fa446
Fix wrong teleport permission. (solves #2369 )
2015-10-28 08:24:48 +00:00
Lukas Pioch
079bb7c016
Update Loops required for JsonCPP
2015-10-26 00:16:35 +00:00
Mattes D
da92286da9
Fixed a crash when sending messages too early after connection.
2015-10-21 20:59:48 +02:00
Julian Laubstein
979ab11044
ReTyped block ids
2015-10-15 10:53:32 +02:00
worktycho
183284a2a4
Removed unused typedef
2015-10-12 15:02:25 +01:00
Mattes D
5bd683a86d
Fixed a possible crash in HTTPS server.
2015-10-08 19:08:11 +02:00
Mattes D
66e8190ca8
StyleCheck: Check spaces around ==, <=, >=
2015-10-08 17:43:26 +02:00
Mattes D
6c7f51a008
Fixed bindings for cTCPLink:StartTLSClient().
...
The bindings used to enforce client cert, now it's optional.
2015-10-08 16:14:50 +02:00
Tiger Wang
4a8e7bddcc
Merge pull request #2528 from OdnetninI/master
...
Fixed flight in Spectator Mode
2015-10-05 22:05:37 +01:00
OdnetninI
545aa2a989
Spectator Mode doesn't fly[FIX]
2015-10-05 21:59:15 +02:00
Mattes D
60800655c8
Generator: Fixed missing hitbox assignment.
...
This had caused village houses to generate too close to each other.
2015-10-05 21:15:08 +02:00
tycho
d8c860ae58
Improved the data structure for storing loaded chunks
...
Should significantly increase the performance of deciding which chunks to stream
2015-10-05 16:20:07 +01:00
Mattes D
9da404ea2d
Fixed a race condition between chunk loader and generator.
...
When using ChunkWorx to generate multiple chunks, the server would sometimes fail an assert because it would generate a chunk even when it was successfully loaded. This was caused by chunks queued in cWorld's m_SetChunkDataQueue and thus being marked as "InQueue" although they were already loaded.
Solved by adding a new parameter to chunk coord callbacks specifying whether the operation succeeded or failed, and using that instead of the chunk presence flag to decide whether to generate or not.
2015-10-04 14:06:37 +02:00
tycho
e1d5e5e165
Improved types of utf 16 strings
2015-10-02 17:26:53 +02:00
tycho
899955f9e3
Remove a pair of unused broken functions
2015-10-02 17:26:53 +02:00
worktycho
dacab890cc
The bottom layer cannot hold a valid spawn point
...
Fixes #2510
2015-10-01 14:49:26 +01:00
Mattes D
1c8e60f91a
Added LuaState tracker and memory stats logging.
2015-09-28 21:30:31 +02:00
Mattes D
5614056640
Made Lua API check strings strictly.
...
Previously nil was accepted as a string in cLuaState::CheckParamString(), now it's reported as an error.
2015-09-28 14:53:50 +02:00
Tiger Wang
4ddff15710
Merge pull request #2498 from cuberite/UnicodeOnWindows
...
Enabled Unicode support for Windows
2015-09-28 09:14:09 +01:00
Safwat Halaby
db40172b64
Partial revert of #2446
2015-09-28 08:52:08 +03:00
Mattes D
7d551fe9f6
Added weather intervals to world.ini settings.
2015-09-28 01:02:17 +02:00
Safwat Halaby
fc1633d6e6
Disabled squids and Guardians pathfinding, #2460
2015-09-27 19:48:37 +03:00
worktycho
11c1686092
Merge pull request #2465 from electromatter/master
...
Added BungeeCord support for Protocol18x
2015-09-27 14:24:15 +01:00
Tiger Wang
803c0c6965
Added the _UNICODE flag on Windows
2015-09-26 22:19:29 +01:00
Mattes D
ad57ce5f99
Extended and fixed the cFile API.
2015-09-26 22:54:18 +02:00
Tiger Wang
a8bfe3a4c1
Prepared ScheduleTask for threading refactor
...
* Llama-ified and condensed Schedule/QueueTask
- Removed hackery done with piston animations
2015-09-25 18:56:49 +01:00
Lukas Pioch
e56aa4032d
Maked it compileable for clang-3.7
2015-09-25 17:09:19 +02:00
Mattes D
741dc78547
Lilypads drop when not on source water.
...
Lilypad blocks now break and drop as items when the block below them changes to non-water or non-source water.
Fixes #2404 .
2015-09-25 14:42:32 +02:00
Mattes D
82d9ac1e1c
Namechange to Cuberite
2015-09-25 10:14:17 +02:00
tycho
b4f934b808
fixed cast
2015-09-24 15:54:32 +01:00
tycho
6e86d20f73
Add new "ForEach" function: ForEachLoadedChunk.
2015-09-24 15:54:32 +01:00
electromatter
a24cc01843
Merge branch 'master' into master
2015-09-21 22:44:34 -04:00
tycho
fd7b87741a
Refactored cProtocol Chat handling
2015-09-21 12:32:56 +01:00
tycho
3c5ba56aba
Ignore Sigpipe
2015-09-19 21:37:07 +02:00
tycho
a0519a487a
Fixed wrong assumtion regarding RemoveClient
...
Remove client can be called with a client that is not present in the chunk
2015-09-19 19:34:20 +01:00
tycho
49724cd427
Fixed erase
2015-09-19 00:32:08 +01:00
tycho
dd168b0e8b
Removed a significant performance issue.
...
Iterating through the list of clients in chunks was taking up a significant
amount of time with larger numbers of clients due to processor stalls.
Changing the data structure to a vector fixed the issue.
2015-09-18 16:27:32 +01:00
Mattes D
9871c0b073
Added CircleCI for stylechecking.
...
This will allow us to remove the stylecheck from Travis builds, making them a bit faster, and having fast style checks
2015-09-17 11:20:10 +02:00
tycho
3187dbf0aa
Increase robustness of the logging subsystem
2015-09-15 16:19:49 +01:00
David Erbelding
d0fd51ea9d
Fixed flint drop rates from 1/30 to 1/10 to match the wiki.
2015-09-13 23:18:21 -04:00
Mattes D
76d2f85b9a
Fixed Lua output folders for Windows builds.
...
Fixes #2468 .
2015-09-08 09:12:02 +02:00
Eric Chai
1ef6bd8169
added bungeecord support for protocol18x
2015-09-06 09:58:18 -04:00
Mattes D
dac97826f7
Renamed output directory to Server
2015-09-05 22:01:21 +02:00
Tiger Wang
511334c500
Fixes #2485
2015-09-02 21:11:25 +01:00
Matti Hanninen
c3d84a24a9
Include signal.h jointly for POSIX systems
...
Otherwise, for example, FreeBSD the build fails due to SIGKILL not being
around.
2015-08-27 08:15:08 +03:00
Tiger Wang
3b8dc45dc3
Merge pull request #2446 from cuberite/asyncpathfinder
...
Fixed a position bug in the pathfinder
2015-08-26 23:13:13 +01:00
Tiger Wang
dfc0f2ae00
Small fix for cEvent
...
Don't bother using atomics since a synchronisation primitive is already
being used.
2015-08-26 23:02:45 +01:00
Mattes D
69a44b2fee
Merge pull request #2450 from nicodinh/patch-1
...
Fixed false-positive error message in cRankManager::SetRankVisuals().
2015-08-25 10:04:25 +02:00
AZARI Nicolas
f0fcd022a6
Update cRankManager::SetRankVisuals
2015-08-25 09:15:54 +02:00
Theo Tosini
92b1a3440d
Fix clang compile error
...
Clang would previously fail on debug builds due to the use of an old-style cast.
2015-08-23 23:11:08 -04:00
Tiger Wang
e254a76884
Removed unused function
...
* Fixes #2444
2015-08-22 19:35:56 +01:00
Tiger Wang
baf3a07804
Fixed a position bug in the pathfinder
2015-08-22 17:06:08 +01:00
Tiger Wang
3e0af6ca36
Cast UINT to WORD to appease warning
...
* Additional minor cleanups
2015-08-22 14:21:25 +01:00
Tiger Wang
f52a769761
Merge pull request #2427 from cuberite/fixes
...
Fixed and improved restarting
2015-08-22 13:07:34 +01:00
Matti Hänninen
12fb95ba2f
Namespace qualify std::abs, use explicit cast
...
Without 'std' namespace qualification Clang (at least Apple Clang 6.1)
seems to resolve 'abs' to the 'abs' function in 'cstdlib'. This in turn
triggers the 'absolute-value' warning which in turn is promoted to
error.
Implicit casts trigger 'old-style-cast' warnings which are promoted to
errors.
2015-08-22 00:36:29 +03:00
Tiger Wang
a341419b04
Merge pull request #2380 from cuberite/travis
...
Use container-based infrastructure
2015-08-20 17:18:08 +01:00
Tiger Wang
de2cce9b79
Fixed food drain bugs
2015-08-20 16:26:42 +01:00
Tiger Wang
5751ba0c1c
Use container-based infrastructure for Travis
2015-08-20 16:15:55 +01:00
Tiger Wang
4315a11393
Fixed and improved restarting
...
Restarts are now an actual, close-as-possible to application
exit+reopen.
2015-08-20 16:15:23 +01:00
Samuel Barney
cc83c4641d
* Logic for handling plant growth has been centralized into cBlockPlant, and all growable plants now inherit from it.
...
* Blocks now have an effect upon plant growth, just like in vanilla.
2015-08-19 10:48:21 -06:00
Julian Laubstein
dd5201c29e
Some warning fixes
2015-08-18 08:49:00 +02:00
Matti Hänninen
b20294604c
Fix old style casts and implicit conversions
2015-08-12 16:51:38 +03:00
Mattes D
92ac33e923
Checked LeakFinder in MSVC2015, enabled support for it.
2015-08-10 13:54:19 +02:00
Mattes D
bfc698f0ed
MSVC: Ignore the deprecation warning in 3rd party StackWalker.
2015-08-09 09:23:12 +02:00
Mattes D
a985949cfe
Flush log file when a warning or error message is output.
...
Fixes #2419 .
2015-08-08 10:40:40 +02:00
Samuel Barney
4996e53bf5
Refactored code to use cLuaState
...
Fixes #2377 .
2015-08-07 21:17:21 +02:00
Nicholas W
fbbf27feea
Fixed Iron Door
2015-08-01 08:47:55 -05:00
Mattes D
6e4122e551
Unified the doxy-comment format.
2015-07-31 16:49:10 +02:00
Mattes D
d2a0c85764
Chunks that fail to load are offloaded to extra files.
...
Ref.: #1970
2015-07-31 08:49:23 +02:00
Mattes D
08aa3f6ff5
Added reason parameter to load failures.
2015-07-31 08:48:23 +02:00
Mattes D
7379848ae5
Moved AString reading hack to cFile.
2015-07-31 08:48:22 +02:00
Samuel Barney
804805d35a
Silenced and fixed many warning messages across multiple files.
2015-07-29 09:49:30 -06:00
Mattes D
5dbe1e7303
Merge pull request #2376 from mjhanninen/fix-freebsd-build
...
Fix FreeBSD build
2015-07-29 15:36:57 +02:00
Mattes D
97beb2a350
Fixed custom recipes result clientside bug.
...
Fixes #2345 .
2015-07-26 13:30:25 +02:00
Mattes D
c74d856b57
Fixed cNetworkSingleton's HasTerminated flag.
...
Should fix random failures in Google-test.
2015-07-23 16:15:21 +02:00
Matti Hänninen
6836bf6576
Fix FreeBSD build broken by strict compiler check
...
Downgrade tautological-compare to warning to let the build pass on
FreeBSD 10.0. Note that I wasn't able to reproduce the problem on OS X
Clang; probably due to Clang version differences.
2015-07-20 18:17:45 +03:00
Tiger Wang
84e31ba670
Merge pull request #2362 from scribblemaniac/fix-redstone
...
Fixed redstone issue
2015-07-17 23:37:47 +01:00
Samuel Barney
9fde99aca2
Added documentation for GetLargeTreeAdjustment
2015-07-17 15:26:21 -06:00
scribblemaniac
00c3144283
Fixed redstone issue
...
Fixed issue where glowstone blocks would block power transmission
in some situations.
2015-07-17 00:48:21 -06:00
bibo38
6a27ec2ea0
Added Rabbit Metadata values.
...
Added the Rabbit Types and the MoreCarrotTicks value. Types are selected randomly on creation.
Fixes #1867
2015-07-17 01:09:06 +02:00
Tiger Wang
c633dd8cec
Merge pull request #2363 from scribblemaniac/improve-spider-ai
...
Improved spider AI
2015-07-16 22:22:48 +01:00
Tiger Wang
4b99a5bd49
Merge pull request #2364 from hallucino/ageable-mobs
...
Spawn baby mobs
2015-07-16 22:22:42 +01:00
Julian Laubstein
29d1f37258
Merge pull request #2360 from bibo38/waterfix
...
Now Water sources will also be created on top of existing water sources.
2015-07-16 23:07:24 +02:00
hallucino
9c85ed5864
Spawn baby mobs
2015-07-16 22:49:55 +02:00
scribblemaniac
55aa438831
Improved spider AI
...
Fixes #2335
2015-07-16 11:15:57 -06:00
bibo38
3c9e113985
Now Water sources will also be created on top of existing water sources.
...
See also on http://minecraft.gamepedia.com/Water#Source_blocks
Fixes #2097
2015-07-15 23:36:51 +02:00
Tiger Wang
eadd761a29
Merge pull request #2348 from bibo38/customname
...
Added CustomName and Health to sended Metadata of Monsters.
2015-07-15 22:18:11 +01:00
Julian Laubstein
8b74adcfab
Merge pull request #2353 from SamJBarney/DyedArmor
...
Implements Dyed Leather Armor
2015-07-15 22:31:48 +02:00
Samuel Barney
561296f269
Leather Armor can now be dyed.
...
* Created new color class to handle dye-related coloring
2015-07-15 14:05:36 -06:00
bibo38
d364b779d1
Added CustomName and Health to sended Metadata of Monsters.
...
Fixes #2113
2015-07-15 19:32:10 +02:00
Julian Laubstein
01f90ef97d
Merge pull request #2350 from SamJBarney/PeonySnowFix
...
Fixed Tall Grass placement
2015-07-15 19:31:41 +02:00
Samuel Barney
4235feb7fd
Fixed tall grass trying to be placed in cold biomes.
2015-07-15 11:04:09 -06:00