Dylan K. Taylor
8a0414f306
Server: Changed logic of isLevelGenerated() to prevent astonishing behaviour
...
Previously to this, a level would be considered "not generated" if no level providers registered as valid for that directory. This caused astonishing behaviour when the user's world has, for example, a mixture of .mca and .mcr region files - the world would instead get _re-generated_ according to the default level format, which might or might not load the existing regions depending on the format used for generation. This behaviour is utterly absurd.
This changes the behaviour of the generated check to check for a non-empty directory in the given path. Non-empty directories without recognized world files in them are now considered to have an unknown format.
2018-03-12 10:24:59 +00:00
Dylan K. Taylor
d478661961
Minor cleanup to LevelDB constructor
2018-03-11 18:15:20 +00:00
Dylan K. Taylor
b8064aa45c
LevelDB: fixed more usages of CompoundTag ArrayAccess API
2018-03-11 17:55:35 +00:00
Dylan K. Taylor
00f596c4f8
Level: typehint hashing methods
2018-03-11 16:42:57 +00:00
Dylan K. Taylor
3f7b14bf59
Level: Remove dead generator leftovers
...
This is all handled by the population mechanism now. Nothing uses these things anymore since years.
2018-03-11 13:56:41 +00:00
Dylan K. Taylor
ba0a256834
SplashPotion: fix max stack size
2018-03-11 13:43:45 +00:00
Dylan K. Taylor
f2f8c235e7
Explosion: add exception throws for bad arguments
2018-03-11 13:06:29 +00:00
Dylan K. Taylor
69b3bb183d
Explosion: typehints and docs
2018-03-11 13:02:46 +00:00
Dylan K. Taylor
cd35bd6872
git diff-tree --check $(git hash-object -t tree /dev/null) HEAD
2018-03-11 10:31:25 +00:00
Dylan K. Taylor
d09a43cfef
Added PlayerExperienceChangeEvent
2018-03-10 20:04:36 +00:00
Dylan K. Taylor
40b995a435
Level: Fixed botch-job PR #2089
...
@zKoz210 Do not contribute to this repository again without first testing your changes.
2018-03-10 19:08:30 +00:00
Dylan K. Taylor
590826b9bd
Player: Disallow modifying NBT of tiles inside spawn protection
2018-03-10 18:19:17 +00:00
Dylan K. Taylor
a5e87484d9
Player: removed superfluous null-check from setMotion()
...
this is already checked by broadcastMotion().
2018-03-10 17:08:00 +00:00
Dylan K. Taylor
8a86e0825b
Entity: Moved PrimedTNT and FallingSand to object\PrimedTNT and object\FallingBlock
2018-03-10 16:25:07 +00:00
Dylan K. Taylor
b39bbffdc5
Entity: Moved and renamed entity\Item to entity\object\ItemEntity
2018-03-10 12:36:46 +00:00
Oreo Oreoniv
bd3d2451bc
Level: Added getRandomTickedBlocks() function ( #2089 )
2018-03-10 11:32:01 +00:00
Dylan K. Taylor
606407933e
ProjectileItem: fixed error when projectile entity is null
2018-03-10 10:59:22 +00:00
Dylan K. Taylor
ad09e8c8d0
Implemented Bottle o' Enchanting
2018-03-10 10:53:03 +00:00
Dylan K. Taylor
486edf0e55
Projectile: remove redundant parent onHit() calls
2018-03-10 10:31:24 +00:00
Dylan K. Taylor
2ee01eb195
Projectile: fix stupidity with collided block IDs
2018-03-09 21:50:27 +00:00
Dylan K. Taylor
9098502199
Item: added some foods, cleaned up Fish abomination
...
@PEMapModder GET A CLIENT ALREADY
2018-03-09 19:54:42 +00:00
Dylan K. Taylor
b130374e46
EnderPearl: fixed max stack size
2018-03-09 19:19:21 +00:00
Dylan K. Taylor
31106bc227
ItemFactory: Register Dragon's Breath item
...
this is only used for brewing, it doesn't need anything special.
2018-03-09 19:13:30 +00:00
Dylan K. Taylor
cc1a3d695f
Implemented basic Ender Pearls
...
this doesn't have full functionality yet (like spawning endermites) because some things aren't implemented yet.
2018-03-09 19:05:14 +00:00
Dylan K. Taylor
8020780fc5
LevelEventPacket: added enderman teleport particle cloud constant
2018-03-09 17:20:35 +00:00
Dylan K. Taylor
2f266a5922
Player: added a server-side forced cooldown mechanism
...
This is necessary because the stupid client constantly spams right-click actions if you carry on trying to eat/throw/whatever the item when cooldown is in effect. Therefore ender pearls would be fired like machine guns without these checks server side.
2018-03-09 14:45:01 +00:00
Dylan K. Taylor
3827892e48
ArmorInventory: fixed debug spam when sending contents to the player itself
2018-03-09 13:23:51 +00:00
Dylan K. Taylor
e06b78b0ee
Implemented armor durability
2018-03-09 13:21:05 +00:00
Dylan K. Taylor
74cff89df3
Instant Damage splash potions now deal knockback
2018-03-09 12:52:09 +00:00
Dylan K. Taylor
a9957c3db3
Water bottles extinguish fires when hitting a block
2018-03-09 12:25:34 +00:00
Dylan K. Taylor
2e9bf7e93b
Implemented Splash Potions
2018-03-09 12:25:02 +00:00
Dylan K. Taylor
dbcc69c2de
LevelEventPacket: added useless constant
2018-03-09 11:35:08 +00:00
Dylan K. Taylor
cdd3fe81e1
Projectile: allow using negative damage amounts to remove damage effects
2018-03-09 11:35:08 +00:00
Dylan K. Taylor
a8a3eb3866
Added particles for snowballs and eggs
2018-03-09 11:35:07 +00:00
Dylan K. Taylor
83a3c6f614
Arrow: added shake effect and strike sound
2018-03-09 11:35:07 +00:00
Dylan K. Taylor
8cc6a32a04
Rewritten Projectile movement handling, added ProjectileHitBlockEvent and ProjectileHitEntityEvent, fixed a swathe of arrow-related bugs
...
I usually avoid mega-commits, but one thing led to another.
2018-03-09 11:35:07 +00:00
Dylan K. Taylor
c1a2144f60
Particle: added some new constants
2018-03-09 10:42:59 +00:00
Dylan K. Taylor
b2491a5874
CraftingTransaction: clean up some logic
2018-03-08 20:44:52 +00:00
Dylan K. Taylor
2e125168c3
CraftingTransaction: Fixed ingredient map trimming
...
I really don't know why I made this so complicated to start with. This works much better and is much easier to read.
Fixes #2083 .
2018-03-08 19:51:06 +00:00
Dylan K. Taylor
5059a92b91
Fixed bow and throwable sounds
2018-03-08 13:20:26 +00:00
Dylan K. Taylor
ea5db98d12
Player: fixed draining hunger when teleporting
...
this was caused by abe5d94d5b42ecc436fadfcf4786128bcb550ea4 because player's lastBlah wasn't getting updated anymore.
Player movement handling really needs cleaning up, but for now this fixes the issue.
2018-03-08 12:18:22 +00:00
Dylan K. Taylor
1f77c074e9
Level: Unload chunks prior to save() to avoid saving chunks twice on shutdown
...
save() calls saveChunks() which saves any chunks found to be modified. But chunk unloading does this anyway, so it's better to unload first and then trigger the save mechanism, to avoid saving chunks twice.
2018-03-07 19:47:54 +00:00
Dylan K. Taylor
73a5788774
Door: remove unused local variable
2018-03-07 18:53:38 +00:00
Dylan K. Taylor
dc3bf8546e
Refactored effects handling, split up concerns of effect types and instances
...
Removed json insanity for effects
Split up effect types and effect instances
Saturation is an instant effect
2018-03-07 12:42:31 +00:00
Dylan K. Taylor
c7f8796136
Implemented Paintings ( #2073 )
...
This supports vanilla placement of paintings, with overlap and collision checking.
Paintings are removed when a block is placed inside them or if any of their supporting blocks are removed.
As per vanilla, a random painting is chosen from the largest subset that will fit into the given space.
2018-03-07 09:03:30 +00:00
Dylan K. Taylor
c5336776a5
Update ISSUE_TEMPLATE.md
2018-03-05 09:24:28 +00:00
Dylan K. Taylor
b623c4aba1
Remove accidentally committed file
2018-03-04 15:17:14 +00:00
Dylan K. Taylor
49a39fc7bd
Split DestroyBlockParticle into two classes
...
this level-event is not only used for blocks, it's also used for paintings.
2018-03-04 13:11:38 +00:00
Dylan K. Taylor
2e4519cb36
ExperienceOrb: fixed behaviour when placing blocks on top of them
2018-03-04 12:47:09 +00:00
Dylan K. Taylor
2ff3b12376
Cleaned up projectile "collide" checks
2018-03-04 12:19:41 +00:00