Commit Graph

43 Commits

Author SHA1 Message Date
Camotoy 94ecb2c6c7
Block entity rewrite (#382)
* Initial attempt

* Rewrite of the rewrite

* First working implementation

* Far better working implementation

* Clean up imports

* Remove commented code

* Cleanup code; change things

* Remove unused imports

* Cleanup code

* Add licenses; add comment

* More cleanup

* Clarifications

* It complained about a JavaDoc comment

* Update access permissions

* Switch from reflections to iteration over BlockEntityTranslators
2020-04-21 00:32:32 -05:00
OnlyBMan 3972cc7f87 Fix comments 2020-04-14 18:40:05 -04:00
OnlyBMan 08eb99fa94 Implement skulls and heads 2020-04-14 18:33:55 -04:00
DoctorMacc d547b31b38 Fix first load crashing; fix NPE 2020-04-10 16:36:41 -04:00
DoctorMacc 44a46d1872 Remove unnecessary code 2020-04-06 11:18:16 -04:00
DoctorMacc 81c9e4f165 Fix beds and signs 2020-04-06 11:16:16 -04:00
RednedEpic c13bbcda85 Fix null block entity console spam, which caused the world to be invisible
This was a rare bug that only happened on very few servers, and from what I gathered, only 1.8 servers using ViaVersion.
2020-04-04 17:22:54 -05:00
RednedEpic 392b0b5727 Merge branch 'master' into inventory 2020-04-04 03:12:23 -05:00
Redned ddf2f471ea
Merge branch 'master' into chunk-fix 2020-04-04 02:00:18 -05:00
RednedEpic e76b67265a Rebase 2020-04-02 17:53:45 -05:00
RednedEpic be9396f585 Merge branch 'master' into inventory 2020-04-02 17:01:17 -05:00
BuildTools 22908c4de7 Remove whitespace 2020-03-26 10:31:57 -04:00
BuildTools 545ab0f268 Move bed-specific code to BedBlockEntityTranslator.java 2020-03-26 10:22:44 -04:00
BuildTools 5301c8c3f6 Implement bed colors
Java Edition includes the bed color in the namespaced ID; in Bedrock edition it's one of the tag values as a block entity. This code involves creating a table between block states and bed color numbers and looking that up on chunk load or block update.
2020-03-25 22:03:46 -04:00
Ender 13a58dc825 Begin making translators annotation based
Also, rename TranslatorsInit to Translators; makes alot more sense.
2020-03-23 23:03:33 -05:00
RednedEpic 418026dbe6 Merge branch 'block-entities' into inventory 2020-03-05 20:00:14 -06:00
AJ Ferguson eaf45ff6f7 Fix chunk view position bugs on some servers 2020-03-05 16:26:36 -09:00
AJ Ferguson 9008036ee4 Merge remote-tracking branch 'remotes/upstream/master' into chunk-fix
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/network/translators/block/BlockTranslator.java
#	connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaChunkDataTranslator.java
#	connector/src/main/java/org/geysermc/connector/utils/ChunkUtils.java
#	connector/src/main/java/org/geysermc/connector/utils/Toolbox.java
2020-02-10 17:38:56 -09:00
SupremeMortal f9cd88eaa2
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/direct-block-mapping
 Conflicts:
	connector/src/main/java/org/geysermc/connector/utils/Toolbox.java
2020-02-09 22:53:57 +00:00
SupremeMortal 9594b42523
Add waterlogging support 2020-02-09 22:06:22 +00:00
AJ Ferguson e4ab4b336c Chunk fixes 2020-02-05 19:32:33 -09:00
OnlyBMan 4dff067faa Add biomes 2020-02-05 21:10:34 -05:00
RednedEpic 0cf574ddcb Merge branch 'master' into feature/direct-block-mapping 2020-02-05 18:59:20 -06:00
RednedEpic e0f6c8a170 Fix chests and potentially other block entities 2020-01-25 23:51:29 -06:00
RednedEpic 6bb478bda4 Merge branch 'master' into block-entities 2020-01-19 22:35:33 -06:00
RednedEpic dc594ee22c Update license headers
Certain headers for classes that are to be removed (e.g. plugin api) were not updated to prevent merge conflicts.
2020-01-08 21:05:42 -06:00
RednedEpic da8bd8a659 Actually fix signs and start on campfire/container translators
Since signs are not sent as block (tile) entities in chunks when it comes to later Minecraft versions, caching and sending the signs after the chunk packet has been sent was the only way to fix this. Sign data sending has intentionally been delayed in JavaUpdateTileEntityTranslator in the event that a chunk takes a long time to send and the block entity data is sent first.
2019-12-30 21:55:17 -06:00
SupremeMortal 94851ef4b8
Move all block related code into BlockTranslator
It makes more sense.
2019-12-31 00:14:38 +00:00
AJ Ferguson 782feed641 Fix lighting when reloading world 2019-12-28 18:17:00 -09:00
AJ Ferguson b2f86ec20b Rewrite dimension code
New code does not rely on pausing the thread
2019-12-28 04:35:21 -09:00
RednedEpic e1ba1fa3e8 Merge remote-tracking branch 'origin/master' into block-entities 2019-12-23 13:49:20 -06:00
AJ Ferguson 776d4c6585 Optimize waterlogged check 2019-12-22 00:32:49 -09:00
AJ Ferguson d06f963b67 Block states and fix waterlogged blocks 2019-12-20 20:05:20 -09:00
Tim203 7ff4e509ee You can see signs now 2019-12-06 19:32:10 +01:00
RednedEpic ebf6050d44 Start work on block entities (partially-functioning)
Most block entities should now *show up*. Some like signs will not as of yet, however when another player places one, they will display. Block entities are not yet fully functional and may only just be visible for the time being.
2019-11-30 18:22:11 -06:00
RednedEpic eabbacaaad Remove unnecessary null checks for missing mappings
"Missing mappings" are given placeholder values upon startup, so these null checks are pointless.
2019-10-15 22:21:44 -05:00
RednedEpic 5cf96ec5be Update to latest MCProtocolLib version 2019-10-13 15:28:03 -05:00
RednedEpic a125967ec3 Implement new remapper 2019-10-09 19:11:50 -05:00
Redned ef7800a739 Move block translations to separate class
This is to be expanded upon further at a later date
2019-09-15 19:04:54 -05:00
SupremeMortal ed7213d7c7
Remove IntelliJ files @EOT3000 added... and more chunk changes. 2019-09-13 10:39:38 +01:00
SupremeMortal 7a6d3f4604
Various chunk tweaks. 2019-09-13 10:08:48 +01:00
RednedEpic 383429d71b Fix a few chunk errors
This does not fix chunks on its own, they're still very much a work in progress, however this commit should hopefully resolve a few issues. The client might still crash due to some invalid mappings (most likely), but this should bring us one step closer.

With hardcoded values for the chunks, the client wouldn't crash (which leads me to the conclusion stated above) and on the occasions that it would not time out, the chunks were empty.

Co-authored-by: SupremeMortal <suprememortal@users.noreply.github.com>
2019-09-08 15:46:10 -05:00
RednedEpic 1c1785ac51 Start work on chunks
- There are probably many errors and issues with this code (some dumb ones probably). As of right now it crashes the client.
2019-08-30 16:47:33 -05:00