Commit Graph

537 Commits

Author SHA1 Message Date
Felix Cravic
889b1fe095 Renamed PlayerInteractEvent to PlayerEntityInteractEvent 2020-06-21 23:44:20 +02:00
jglrxavpok
62db9d9c26 Added alternatives (block states) and block entity information to generated Block enum 2020-06-21 23:03:40 +02:00
Felix Cravic
92cf598f13 Merge remote-tracking branch 'origin/master' 2020-06-21 22:12:24 +02:00
Felix Cravic
72234ac706 Added PlayerPreLoginEvent 2020-06-21 22:11:56 +02:00
jglrxavpok
fcc0f5e035 Merge remote-tracking branch 'origin/master' into block-types 2020-06-21 22:07:38 +02:00
jglrxavpok
754568d336 Comment out unused code in SimpleCommand 2020-06-21 22:05:30 +02:00
Felix Cravic
eba5c5ae3a Added CommandSender and ConsoleSender 2020-06-21 14:01:03 +02:00
Felix Cravic
5837b59a41 Give the player username to the UUID provider 2020-06-20 19:07:34 +02:00
jglrxavpok
abf999a4d9 Beginnings of automatic Block code generation 2020-06-19 11:29:09 +02:00
Felix Cravic
ac758e4acb Update demo entity 2020-06-18 23:09:42 +02:00
Felix Cravic
f585b3df86 Some comments 2020-06-03 15:17:34 +02:00
Felix Cravic
2ee93bd7cb Fixed EntityItemMergeEvent constructor 2020-06-02 14:55:18 +02:00
Felix Cravic
bd08676525 Added EntityItemMergeEvent#setResult 2020-06-02 14:54:33 +02:00
Felix Cravic
0da78193c5 Code cleanup 2020-06-02 14:43:31 +02:00
Felix Cravic
50373505b3 Remove entities other than players when unloading a chunk 2020-06-02 00:03:03 +02:00
Felix Cravic
895a4fd4bd Fixed instance switch while unloading chunk 2020-06-01 23:55:11 +02:00
Felix Cravic
b7b334645f Added InstanceContainer#saveInstance to save its SerializableData + its uniqueId 2020-06-01 22:11:47 +02:00
Felix Cravic
cb743bc7d5 NbtWriter cleanup 2020-06-01 18:57:16 +02:00
Felix Cravic
45e8ba2f03 Added EventHandler#removeEventCallback 2020-06-01 17:11:43 +02:00
Felix Cravic
b1e86adb23 Allow ItemEntity#getMergeUpdateOption to be null 2020-06-01 02:18:24 +02:00
Felix Cravic
7e20278dd9 Fix deadlock with ItemEntity + added ItemEntity#getMergeUpdateOption to mitigate CPU usage increase 2020-06-01 00:51:31 +02:00
Felix Cravic
ea034701f8 Added PlayerSetItemStackEvent#setSlot + some checks 2020-05-31 21:37:40 +02:00
Felix Cravic
633d02222a Added PlayerAddItemStackEvent and PlayerSetItemStackEvent 2020-05-31 21:30:46 +02:00
Felix Cravic
7128844563 Resource pack cleanup 2020-05-31 20:09:42 +02:00
Felix Cravic
c17aba4ac7 Added Player#setResourcePack + PlayerResourcePackStatusEvent 2020-05-31 19:53:59 +02:00
TheMode
ce89963240
Merge pull request #8 from programmerpony/home-linux
Check home directory for Minecraft files on Linux
2020-05-31 19:14:24 +02:00
programmerpony
ab3578b84d Check home directory for Minecraft files on Linux 2020-05-31 12:50:35 -04:00
Felix Cravic
00143078e3 Added PlayerSkin#fromUuid and PlayerSkin#fromUsername 2020-05-31 18:07:09 +02:00
Felix Cravic
f8758d2933 Added LivingEntity#swingMainHand and LivingEntity#swingOffHand 2020-05-31 16:14:27 +02:00
Felix Cravic
eed946e948 Cleanup 2020-05-31 15:52:56 +02:00
Felix Cravic
30ef05183e Added more synchronization at death + added listener for teleport and window confirmation to remove warning 2020-05-31 00:39:56 +02:00
Felix Cravic
1bcd0c474f Added event comments 2020-05-30 22:32:12 +02:00
Felix Cravic
edb6db428e sync equipments only to the viewer to update instead of all 2020-05-30 21:56:12 +02:00
Felix Cravic
f887f21493 Cleanup with the ADD_PLAYER method 2020-05-30 19:51:45 +02:00
Felix Cravic
7ce6f7ada1 Added Player#setSkin and PlayerSkinInitEvent to modify it at initialization 2020-05-30 19:47:47 +02:00
Felix Cravic
1343a66681 Added player in inventory events + comments 2020-05-30 14:58:00 +02:00
Felix Cravic
3940eacde8 Attribute optimization + comments 2020-05-30 01:39:52 +02:00
Felix Cravic
407bdd8ea7 Remove the previous NBT library 2020-05-30 00:25:07 +02:00
Felix Cravic
639629ccf6 Added a small nbt utils package 2020-05-30 00:01:38 +02:00
Felix Cravic
1c3099f61a Entity & Player comments 2020-05-29 23:17:14 +02:00
Felix Cravic
18a1e0b29b Added EntityPigZombie metadata + itemstack synchronization 2020-05-29 21:30:42 +02:00
Felix Cravic
27b0238705 Fixed ResourceGatherer on Mac OS 2020-05-29 20:44:03 +02:00
Felix Cravic
49723fbe7d Fixed ItemStack#isSimilar 2020-05-29 20:24:39 +02:00
Felix Cravic
6543f17d4c Remove useless synchronization blocks and fix Inventory#addItemStack 2020-05-29 19:41:08 +02:00
Felix Cravic
b0ccb91c31 More entity + added boundingboxes 2020-05-29 18:56:42 +02:00
Felix Cravic
29aae491d1 Minor optimizations 2020-05-29 17:20:30 +02:00
Felix Cravic
589079f8f6 Updated netty + fix network crash 2020-05-29 15:31:11 +02:00
Felix Cravic
eb5659c235 Optimize bandwidth + fix keep alive 2020-05-29 02:11:41 +02:00
Felix Cravic
b00627f778 Forgot to write StoredEnchantments 2020-05-29 01:05:08 +02:00
Felix Cravic
14408e9d15 Fixed HideFlags 2020-05-29 00:30:19 +02:00
Felix Cravic
d416efad5b Fixed enchantments (StoredEnchantments+Enchantments support) 2020-05-28 23:54:26 +02:00
Felix Cravic
619c680f1b Added item attributes 2020-05-28 23:43:12 +02:00
Felix Cravic
068a0889c8 More PlayerBlockPlaceEvent methods + comments 2020-05-28 21:51:14 +02:00
Felix Cravic
7cd2d570bd Comments 2020-05-28 20:09:52 +02:00
Felix Cravic
dfd7ca84a4 Fixed player mining vanilla block 2020-05-28 19:29:29 +02:00
Felix Cravic
5e91b75d78 Comments 2020-05-28 19:15:55 +02:00
Felix Cravic
dbf58f2234 Comments + more PlayerBlockBreakEvent information 2020-05-28 15:08:18 +02:00
Felix Cravic
32ebd4a53e Digging cleanup 2020-05-28 00:21:14 +02:00
Felix Cravic
7147250432 Fixed player digging vanilla blocks + comments 2020-05-27 23:26:45 +02:00
Felix Cravic
966bbfc0cc Synchronize properly the view from Entity#getPosition 2020-05-27 23:13:13 +02:00
Felix Cravic
d91b1e9966 WorldBorder keeps its diameter updated properly 2020-05-27 22:24:58 +02:00
Felix Cravic
af430ebc3f Entity#getPosition is now fully synchronized with the entity position 2020-05-27 22:06:22 +02:00
Felix Cravic
eb4e47df52 Fixed LivingEntity#damage for death entities 2020-05-27 21:25:54 +02:00
Felix Cravic
70be25bd1c Added EntityCreature#setView 2020-05-27 20:55:33 +02:00
Felix Cravic
039e9aca4f Lot of comments 2020-05-27 20:30:13 +02:00
Felix Cravic
f5ddc66c43 Modified digging listener, added more clear exceptions and some comments 2020-05-27 19:43:08 +02:00
Felix Cravic
f97328a3bd Temporary fix with inventory held click 2020-05-27 17:56:29 +02:00
Felix Cravic
c363b715ca Optimize ChunkDataPacket, and having an universal block index method 2020-05-27 16:25:05 +02:00
Felix Cravic
9bf193988f Added ItemStack potion nbt 2020-05-27 12:33:12 +02:00
Felix Cravic
f5f5a6bb4e Better world border collision check + WorldBorder#getCollisionAxis 2020-05-27 01:15:21 +02:00
Felix Cravic
ef261c1792 Added WorldBorder#isInside + physics now support world border 2020-05-27 01:04:39 +02:00
Felix Cravic
224a8a3b86 Support for additional hearts in Player#damage 2020-05-26 23:15:09 +02:00
Felix Cravic
e6f38e2773 Added a bunch of entities + Player#additionalHearts 2020-05-26 22:53:58 +02:00
Felix Cravic
fc773044e8 Remove chunk unloaded check 2020-05-26 21:30:12 +02:00
Felix Cravic
0240cc2d80 Added ConnectionManager#setUuidProvider to change the player UUID provider 2020-05-26 20:46:05 +02:00
Felix Cravic
3be1173ab5 Small optimizations 2020-05-26 20:00:41 +02:00
Felix Cravic
4ed213249e Added WorldBorder 2020-05-26 19:22:47 +02:00
Felix Cravic
182b6fbe1b Added Player#facePosition and Player#spectate 2020-05-26 18:25:35 +02:00
Felix Cravic
76f9a059b5 Update packets having a Chat component 2020-05-26 17:48:46 +02:00
Felix Cravic
8ef5a0b394 Moved the player init call 2020-05-26 16:14:52 +02:00
Felix Cravic
b797967151 Added Player#getDisplayName + some optimizations/improvements 2020-05-26 15:35:48 +02:00
Felix Cravic
fc751acb75 Added EntityArmorStand & Hologram 2020-05-26 00:07:35 +02:00
Felix Cravic
9df6b19f1d Remove passengers at death 2020-05-25 21:14:28 +02:00
Felix Cravic
14e9dcb811 Added LivingEntity#setArrowCount and fixed metadata during respawn 2020-05-25 20:32:47 +02:00
Felix Cravic
a962b83958 Fixed player death animation 2020-05-25 19:54:36 +02:00
Felix Cravic
c15a795a74 Minor checks + FakePlayerController#finishDigging 2020-05-25 15:42:54 +02:00
Felix Cravic
e8a2c54485 More FakePlayerController features + fix with chunks and player food bar 2020-05-25 13:46:48 +02:00
Felix Cravic
6254ec93e9 Proper List#toArray array initialization 2020-05-25 12:25:39 +02:00
Felix Cravic
2fdebae7e5 Allow FakePlayer to be registered internally 2020-05-25 12:18:50 +02:00
Felix Cravic
88db08001a Hacky fix for the player velocity 2020-05-25 11:01:38 +02:00
Felix Cravic
be31c4e03d Minor tweaks 2020-05-25 03:39:57 +02:00
Felix Cravic
9a7c07af65 Added some FakePlayerController features 2020-05-25 03:17:24 +02:00
Felix Cravic
30053c507b WIP FakePlayer system 2020-05-25 02:37:57 +02:00
Felix Cravic
e092eba4c1 Fix equipments synchronization and error with unloaded chunk 2020-05-25 01:12:12 +02:00
Felix Cravic
83449aecc9 Making PlayerConnection an abstract class 2020-05-25 00:29:37 +02:00
Felix Cravic
ea3189023a Added check in Chunk class before each interaction, ensuring that it is loaded 2020-05-24 22:37:42 +02:00
Felix Cravic
f8ff01349b Fixed Player#isFlying it is now properly synchronized with the client 2020-05-24 22:27:58 +02:00
Felix Cravic
ae53cca19d Fixed velocity synchronization 2020-05-24 22:24:59 +02:00
Felix Cravic
e26ee1380a Fixed vehicles + added PlayerStartFlyingEvent & PlayerStopFlyingEvent 2020-05-24 22:21:38 +02:00
Felix Cravic
c73ec6f0d6 Fix ExperienceOrb#setExperienceCount with a proper updating client-side 2020-05-24 20:21:17 +02:00
Felix Cravic
b193c5f12a Lot of comments 2020-05-24 19:59:50 +02:00
Felix Cravic
c2d1a4f70a Fix synchronization issue with metadata + some comments 2020-05-24 19:22:58 +02:00
Felix Cravic
b8f2afa4c3 Changed the packet listener api, allowing for listener override 2020-05-24 17:11:21 +02:00
Felix Cravic
883e7eb80f Added Entity#isAutoViewable & making Viewable#addViewer and Viewable#removeViewer return boolean 2020-05-23 17:57:56 +02:00
Felix Cravic
a4b530c1dc WIP vehicle support 2020-05-23 14:04:53 +02:00
Felix Cravic
378639af1e Update inventory using PacketWriterUtils 2020-05-23 11:28:26 +02:00
Felix Cravic
97bd1ecdb1 Cleanup 2020-05-23 04:20:01 +02:00
Felix Cravic
28e6ef9b87 Give the right result for InventoryClickHandler#drop 2020-05-22 23:26:18 +02:00
Felix Cravic
45d901a0bc Lot of inventory improvements/fixes 2020-05-22 23:19:04 +02:00
Felix Cravic
d05a2feff3 WIP ItemFlag 2020-05-22 21:46:50 +02:00
Felix Cravic
888c570235 Added enchantments reader/writer + item dropping in creative mode 2020-05-22 18:51:03 +02:00
jglrxavpok
bf9316d06b Automatically check conditions when generating 2020-05-21 19:30:43 +02:00
jglrxavpok
556c6fd837 Changed condition deserializing in order to allow arguments inside the .json and utility functions in Position 2020-05-21 19:17:34 +02:00
jglrxavpok
3d919db633 Fix alternatives and sequence loot entry types 2020-05-21 18:55:07 +02:00
jglrxavpok
1ca561215c Send velocity packet when velocity is forced changed with Entity#setVelocity 2020-05-21 00:36:50 +02:00
jglrxavpok
da416866f6 Added entity eye height 2020-05-21 00:33:56 +02:00
jglrxavpok
18a9f2485d Explosion and loot table callbacks in CustomBlock + custom blocks can write block entities 2020-05-19 19:31:11 +02:00
jglrxavpok
fe3025fce5 Loot table entry types + Defaults for loot table functions and conditions 2020-05-19 18:34:11 +02:00
Felix Cravic
5cb31171e6 Remove ReflectASM (no more warning message) 2020-05-19 17:47:47 +02:00
jglrxavpok
3c0d351f15 Loot table support 2020-05-18 21:11:59 +02:00
Felix Cravic
c50030cd6b Allow for separate blocks in PlayerBlockBreakEvent 2020-05-17 15:52:49 +02:00
Felix Cravic
f588d1103f Fix cursor item dropping when drop event is cancelled 2020-05-17 11:44:34 +02:00
Felix Cravic
dff29a4717 Drop cursor item when closing inventory 2020-05-17 11:40:49 +02:00
Felix Cravic
47ca22c3d1 Fixed player item dropping, it does not consume the item anymore when the event is cancelled 2020-05-17 04:41:32 +02:00
Felix Cravic
7512cb8f03 Comments for StorageFolder and some utils method 2020-05-17 04:13:24 +02:00
Felix Cravic
4c889923f1 Added more TimeUnit (HOUR/MINUTE/SECOND) 2020-05-17 03:56:36 +02:00
Felix Cravic
2daccd9d9b Fix crash with empty recipe and made Instance constructors public 2020-05-17 03:22:42 +02:00
Felix Cravic
a63693b82b It is now possible to extends InstanceContainer/SharedInstance to make your own 2020-05-17 03:15:47 +02:00
Felix Cravic
ab71133b55 Fixed error relating to unloaded chunk in Entity#update 2020-05-17 01:42:07 +02:00
Felix Cravic
80f9122da1 Storage system improvement 2020-05-16 22:22:34 +02:00
Felix Cravic
fe7e56da8d Added StorageFolder#getOrDefault and some cleanup 2020-05-16 22:07:24 +02:00
Felix Cravic
fa4b083ab8 Added Data#hasKey and Data#getKeys 2020-05-16 21:57:46 +02:00
Felix Cravic
155efc0cff Added Sidebar#setTitle to change the title at any time 2020-05-16 19:55:22 +02:00
Felix Cravic
b97b75f13c Added a lot of comments 2020-05-15 18:03:28 +02:00
Felix Cravic
ee90f82969 Prevent memory leak when unloading chunks 2020-05-15 15:38:06 +02:00
Felix Cravic
4a287f82a6 Fixed ArmorEquipEvent calling 2020-05-14 18:59:01 +02:00
Felix Cravic
aeeb9f08a4 Added EntityVelocityEvent + minor refactoring 2020-05-14 18:57:44 +02:00
jglrxavpok
da0df5afe3 Fixed explosion packet 2020-05-14 16:56:44 +02:00
jglrxavpok
583077d556 Send explosion packet 2020-05-14 16:19:04 +02:00
jglrxavpok
1bcc0c9f5b Replace explosion blocks with air 2020-05-14 15:49:14 +02:00
jglrxavpok
6f281eef3b Shortcut to access held items 2020-05-14 15:46:29 +02:00
jglrxavpok
041f9ffb4d Instances can now create explosions 2020-05-14 15:33:36 +02:00
Felix Cravic
498384d2f4 Added permission level + option for a reduced debug screen 2020-05-13 18:43:54 +02:00
Felix Cravic
be0311a874 Added PlayerPreEatEvent for more customisation, separate the default eating time and the individual ones. Also a InventoryOpenEvent#setInventory to change the inventory to open 2020-05-12 18:40:04 +02:00
Felix Cravic
a1b427bf83 Added InventoryOpenEvent 2020-05-12 17:12:11 +02:00
Felix Cravic
4fa1d08fa5 End properly eat animation 2020-05-12 14:19:45 +02:00
Felix Cravic
37add239f8 Custom food animation delay + PlayerEatEvent 2020-05-12 14:12:17 +02:00
Felix Cravic
f5d4cba29d Making the ResponseDataConsumer optional 2020-05-10 19:39:25 +02:00
Lukas Mansour (Articdive)
df253238fc Added SLF4J and Log4J2 as logging platform. 2020-05-10 16:02:49 +02:00
Felix Cravic
de8ec680fb Added ItemEntity#isMergeable 2020-05-10 00:09:55 +02:00
Felix Cravic
889e9c5e2b ItemEntity can now be merged/stacked together 2020-05-09 21:50:48 +02:00
Felix Cravic
17856c36cf Fixed crash at player disconnection 2020-05-09 20:00:59 +02:00
Felix Cravic
f7badc021b WIP entities in unloaded chunk + PlayerChunkLoadEvent 2020-05-09 18:24:14 +02:00
Felix Cravic
39f0053ded Added PlayerChunkUnloadEvent 2020-05-09 04:05:57 +02:00
jglrxavpok
59c5bbdfe5 Send chunks to player when changing instance 2020-05-08 21:49:04 +02:00
Felix Cravic
a0a72cb6c7 WIP chunk biomes 2020-05-08 20:50:05 +02:00
jglrxavpok
5dd08cf19b Send different teleportIds for each packet 2020-05-08 18:42:04 +02:00
Felix Cravic
1d930ec021 Fixed event callbacks multiplication in PlayerSpawnEvent 2020-05-08 18:11:06 +02:00
jglrxavpok
8281f1c0fd Added isFirstSpawn() to PlayerSpawnEvent 2020-05-08 18:03:39 +02:00
jglrxavpok
9c5c6d9161 Fixed player not changing dimension properly 2020-05-08 17:46:29 +02:00
Felix Cravic
1bca86eb5d Direct return for StorageFolder#get and we can now store registered DataType type directly 2020-05-08 16:15:08 +02:00
Felix Cravic
3741b22484 Added EventHandler interface 2020-05-08 06:54:33 +02:00
jglrxavpok
0daae4d831 EntityTickEvent and tick counter in Entity 2020-05-07 16:00:52 +02:00
jglrxavpok
9d9c158af0 Added event callbacks to Instance, and organized events into packages 2020-05-07 15:46:21 +02:00
Felix Cravic
f6803f9c24 Fix ArmorEquipEvent for EntityCreature 2020-05-06 22:42:04 +02:00
Felix Cravic
59214b3b96 All LivingEntity can now have equipments + cleanup 2020-05-06 22:35:32 +02:00
Felix Cravic
201df39685 Allow for folder specific StorageSystem + added documentation 2020-05-05 23:46:36 +02:00
Felix Cravic
305bc78123 Added multiple kinds of instance update (per instance, per chunk, single-threaded) 2020-05-05 23:27:24 +02:00
TheMode
ca7e220543
Merge pull request #5 from Draycia/master
Replace minecraft-text with kyori-text
2020-05-05 21:06:44 +02:00
Felix Cravic
5de6888b59 Added EntityFireEvent and EntitySpawnEvent 2020-05-05 21:04:05 +02:00
jglrxavpok
0627d8d368 Reset fire state + remove now useless debug log 2020-05-05 18:40:58 +02:00
jglrxavpok
4f355f2a06 Forgot to apply fire damage and added sounds to damages 2020-05-05 18:30:19 +02:00
jglrxavpok
ca3295cc16 Fire duration for living entities 2020-05-05 17:59:57 +02:00
jglrxavpok
365c3edbdf Custom block contact behaviour + fix breaking of 0 hardness blocks not removing the block in survival, fixed players in survival not taking damage. 2020-05-05 15:55:21 +02:00
Felix Cravic
486cf989a1 Added primitives & string array data type 2020-05-04 21:53:15 +02:00
jglrxavpok
8b41c7550b Do not crash with a stack overflow when trying to change the block at 'blockPosition' in CustomBlock 2020-05-04 21:06:13 +02:00
Felix Cravic
cad5dfb8eb Added StorageFolder#getAndCloneData 2020-05-04 19:35:52 +02:00
Felix Cravic
7881e3ca76 Some comments and check added for synchronization purpose 2020-05-04 19:09:34 +02:00
Draycia
0fa05d5e6f Remove unused import in DisconnectPacket 2020-05-04 09:32:23 -07:00
Draycia
660cb7584a Add component support to actionbars and titles 2020-05-04 09:32:14 -07:00
Felix Cravic
14ef482f42 Added StorageFolder + fixes 2020-05-04 18:18:50 +02:00
Felix Cravic
57ad3397d1 Merge remote-tracking branch 'origin/master' 2020-05-04 18:15:51 +02:00
Felix Cravic
e866f79f10 Rewrite of the storage system (use of RocksDB by default) 2020-05-04 18:15:29 +02:00
Draycia
9308d5701d Add component support to Player#kick 2020-05-04 09:10:19 -07:00
Draycia
1c2620840f Add more component support to Player 2020-05-04 09:00:21 -07:00
Draycia
9e9e979104 Fix packets changed with text replacement 2020-05-04 01:01:12 -07:00
Draycia
5b97dde21f Merge remote-tracking branch 'upstream/master' 2020-05-03 23:55:44 -07:00
Draycia
6d45dc674d Fix item names and lore 2020-05-03 23:07:25 -07:00
jglrxavpok
edf2def4e4 hashCode and equals for BlockPosition 2020-05-04 00:09:40 +02:00
jglrxavpok
05acfdf59f New event for when an item is used on a block 2020-05-03 22:44:38 +02:00
jglrxavpok
c28b0364ba Hoping this un-breaks falling blocks 2020-05-03 16:19:41 +02:00
jglrxavpok
9779a77212 Non solid blocks should not count as solid 2020-05-03 16:15:35 +02:00
jglrxavpok
c79d4c7874 Rewrote physics once again. This time going through walls should be more difficult 2020-05-03 15:54:12 +02:00
Draycia
4ba85b4ff3 Temporarily fix inventories 2020-05-03 06:26:46 -07:00
Draycia
1b5bf59c26 Fix death messages 2020-05-03 06:00:53 -07:00
Felix Cravic
df1653b0f6 Allow to have "separate block" serialized properly 2020-05-03 14:46:44 +02:00
Draycia
ad4193d934 Fix player sendMessage methods 2020-05-03 05:17:32 -07:00
Draycia
5437fa90cc Remove old Chat methods
Note: I'm 100% certain things will break because of theee changes. I'll fix things as I find them broken. 10/10 strategy.
2020-05-03 05:05:43 -07:00
Draycia
83bb14d5a0 Use kyori/text instead of minecraft-text 2020-05-03 04:59:53 -07:00
Felix Cravic
7fd8362d6c ChunkPopulator fix by clearing data list 2020-05-02 23:48:01 +02:00