forked from Minestom/Minestom
-
-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.5.2 #108
Open
TheMeinerLP
wants to merge
93
commits into
master
Choose a base branch
from
release/1.5.2
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
1.5.2 #108
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(cherry picked from commit ab0874c) Fix build grade Add missing adventure nbt lib Add missing dependencies Remove old biome, banner, shield, particle, attribute system Fix forward data generator Disable stress tester for compile reasons Remove old network stack Remove no longer exists api form player Fix forward bstats Fix forward server flags Fix forward terminal color converter Fix forward inventory tests Fix forward frog meta test Update files like in microtus main (cherry picked from commit d3ad5af) Apply better workflow (cherry picked from commit ccf63cb) Move miss landed classes after patching source (cherry picked from commit 2f2dec2) Fix workflows for java 21 (cherry picked from commit b501f93) Fix workflows for java 21 (cherry picked from commit f35341a) [Chore] Update gradle to 8.7 (cherry picked from commit cf0f73c) [Chore] Remove preview feature (cherry picked from commit ab6a351) [Bugfix] Improve version string for bstats (cherry picked from commit d63c883) Update README.md (cherry picked from commit 9fd02fd) Update snapshot and release version (cherry picked from commit 18cfbad) [Chore] Replace e.printstacktrace with exception manager call or logger (cherry picked from commit c61f7c5) Create CNAME (cherry picked from commit 0a8f6dd) Bump snapshot version (#31) (cherry picked from commit 0c32b88) Update build.gradle.kts (cherry picked from commit 4023e8a) Improve license usage (cherry picked from commit e7298d4) Improve license usage (cherry picked from commit 9574b21) [#30] Release 1.4.0 (cherry picked from commit fee81f4) [#30] Re-Release 1.4.1 (cherry picked from commit 994ecce) Go back to snapshot (cherry picked from commit 57b6303) Ignore bstats file (cherry picked from commit e327192) [#34] Better Notification System (#35) * [#34] Implement new notification system with tests * [#34] Update demo to use new notification system * [#34] Add deprecation text to old notification system * [#34] Improve javadocs and rename builder implementation * [#34] Improve javadocs and fix tests * [#34] Remove empty lines * [#34] Add package description (cherry picked from commit 29ec3fe) Add bom (cherry picked from commit 7c69238) Improve bom (cherry picked from commit f9b2374) Remove java version from bom (cherry picked from commit 772203b) Change bom deployment (cherry picked from commit f418602) Change bom deployment (cherry picked from commit 37576d2) [Feature] Improved Testing Lib (#42) * Deprecate env test * Improve environment * Create new environment annotation * Use new environment annotation (cherry picked from commit 3d93b94) Add missing dependencies (cherry picked from commit e295f99) Add missing dependencies (cherry picked from commit 7765729) Improve release workflow (cherry picked from commit c298674) Improve release workflow (cherry picked from commit da01e8a) Bump version (cherry picked from commit e715ad9) Update dependency com.google.code.gson:gson to v2.11.0 (cherry picked from commit c7095d6) Update dependency org.mockito:mockito-core to v5.12.0 (cherry picked from commit 77ccf9f) Update actions/cache action to v4 (cherry picked from commit 38ad8aa) Update gradle/wrapper-validation-action action to v3 (cherry picked from commit ad84891) Update kotlin monorepo to v2 (cherry picked from commit af9be49) [Chore] Update gradle to version 8.8 (#58) (cherry picked from commit 9373005) Update CODEOWNERS (cherry picked from commit 026aa27) Update CODEOWNERS (cherry picked from commit 5be4573) Update README.md (cherry picked from commit c90b7d5)
* Rework attribute system for microtus and use generic generator * Remove old code * Remove already implemented methods because records * Use constant
* Move Fluids to CodeGenerator * [Chore] Replace enum with registry * Refactor: Move 'Fluids' interface from FluidImpl implements to Fluid extends --------- Co-authored-by: OneLiteFeather <seelenretterin@onelitefeather.net>
* [#34] Implement new notification system with tests * [#34] Update demo to use new notification system * [#34] Add deprecation text to old notification system * [#34] Improve javadocs and rename builder implementation * [#34] Improve javadocs and fix tests * [#34] Remove empty lines * [#34] Add package description
* Offer more control over LightingChunk invalidations (Minestom#2156) * Offer more control over LightingChunk invalidations * Respect freezeInvalidation on this other invalidate method * Rename to invalidateNeighborsSection and remove redundant null check * fix light invalidation issue * Fix Entity::getEffectLevel having two meanings when returning 0 (Minestom#2163) * add more command conditions * Add signum operator to Vec * Refactor lighting code, fix loaded chunks (Minestom#2164) * Switch to the new adventure domain (Minestom#2165) * fix: do not test block collision on entities without collision * Make PlayerProjectile extend Entity instead of LivingEntity * feat: initial conversion to adventure nbt. no tests, no anvil * chore: basic nbt reader/writer for protocol while waiting for adventure * feat: joinable server * fix: oops, health is before potion still * chore: rebase on adventure-nbt * feat: first version of a bunch of components * chore: delete all old metadata classes for now, may return compatibility later * chore: more components * chore: more components * chore: trying to fix nightmare loop * feat: functional components, but at what cost * chore: cleanup itemcomponenttype, update to datagen changes * feat: more components * feat: even more components (only 2 missing ones) * feat: first draft of cookies * feat: simplify sound events, fix update explosion packet * feat: generate RecipeType (for ids) * fix: do not send close inventory packet when opening a new inventory while one is open * feat: anvil reading, other minor fixes * feat: partial anvil writing, update tests (still many broken) * chore: 1.20.5, disable some failing tests to get a functional build * chore: cicd trigger * chore: update datagenerator * fix: anvil not loading locations properly * fix: particle packet reorder * fix: do not allow writing air in declare recipes packet (added ItemStack.STRICT_NETWORK_TYPE to represent this) * feat: initial ArgumentItemStack reader, other minor fixes * fix: light test and update eye height in view direction test * chore: cleanup anvil test * fix: dont oom reading item component, stub banner pattern component * fix: circular init :| * fix: correctly handle eating potions, time eating using ticks, default to correct drink/eat time from component, send damage event on living entity damage * fix: do not convert optchat metadata to chat * chore: rebase, add stack size 99 test case * chore: another stack size test * feat: block predicate impl & some more tests * feat: initial anvilloader writer implementation * fix: correctly read declared recipes * chore: generalize ItemComponent to DataComponent (item component defs are still in ItemComponent) * fix: update from lighting fix 35 rebase * chore: add PlayerAnvilInputEvent, other minor tweaks from self review * fix: sync position after sending first chunk * chore: start testing components, fix valueless components * chore: allow chunk subclasses to override heightmap generation * feat: first pass of standardizing dynamic registries * feat: add DynamicRegistry.Key and reference it instead of the underlying type. add wolf variant meta field * chore: cleanup & some component impl utility methods * chore: depend on published version of data, not local * chore: minor tweaks * chore: cleanup networkbuffer additions * chore: missing entity metas & extract shooter to abstractwindchargemeta * fix: correct handling of known packs exchange * chore: merge datacomponentmap and datacomponentpatch to simplify api. Preemptively diff with material prototype when constructing itemstack * chore: more tests for components * chore: one more * fix: setTimeUpdate transition from duration to ticks, renamed to avoid ambiguation with setTimeRate (Minestom#2067) * feat: LivingEntity fire overhaul (Minestom#2122) * feat: LivingEntity fire overhaul * chore: missed method change * feat: world border overhaul, turned into a record and handled by the instance (Minestom#2062) * feat: world border overhaul, turned into a record and handled by instance * chore: replace WorldBorder#defaultBorder() with a DEFAULT_BORDER constant * Pathfinding 1.20.5 (Minestom#2153) * pathfinding * mutablepoint fix in player * feat: cya later jitpack * chore: remove some weird internal/experimental annotations * Item usage duration (Minestom#2128) Fix build error Move item usage completed to a different event Add a way to check if the item usage has completed, or is aborted by the player Only process animation when the item use time is not instant Update javadoc Re-add Player#isEating Remove deprecated Player#callItemUpdateStateEvent Allow specifying item usage duration inside PlayerUseItemEvent * fix: fixes from merging Minestom#2128 * feat: improve particle api * feat: generate particle data names automatically * chore: make all impls records + inner classes of Particle * chore: minor cleanup, block display meta to use Block directly * fix: default zero use item time * Move static Entity lookup maps to EntityTracker (Minestom#2167) * Move static Entity lookup maps to EntityTracker * Specific method for changeUuid to keep thread-safety * Fix bug from not recording position on register * Exception on duplicate IDs in the EntityTracker * Oops, expected stateCondition to behave like assert * Didn't mean to make Entity::remove(boolean) public * More descriptive EntityView::register error * Warn when attempting to move untracked entity * chore: delete `Entity#setUuid` and `AsyncPlayerPreLoginEvent#setUuid` * chore: delete a deprecated Audience#sendMessage variant * chore: javadocs and remove experimental pose update flag * fix: fixes from rug pull * fix: tag escape * fix: inventory rebase fixes * Fix Attribute Read/Write due to initialization shenanagins (Minestom#2174) * Only consider online players for unregisterInstance (Minestom#2171) * Add new navigator generator & follower * Include ourself as a viewer when sending SWING_MAIN_ARM animation (Minestom#2173) * Include ourself as a viewer when sending SWING_MAIN_ARM animation * Added API annotations * fix: re-add deprecated Audience#sendMessage variant which was actually required * Fix ITEM_NAME component translation in SetSlotPacket (Minestom#2176) * Fix ITEM_NAME component translation in SetSlotPacket * Add test for item stack translation when automatic component translation is enabled * Fix the NBT representation of Unit (Minestom#2177) * Call UuidProvider in async (Minestom#2181) Co-authored-by: Spliterash <me@spliterash.ru> * [RE] Update PlayerChangeHeldSlotEvent.java (Minestom#2179) * Update PlayerChangeHeldSlotEvent.java Slight changes in the docs since they were mis-leading.. Took me a while to realise what was wrong in my algorithm * Update src/main/java/net/minestom/server/event/player/PlayerChangeHeldSlotEvent.java Co-authored-by: Matz Hilven <48355802+MatzHilven@users.noreply.github.com> --------- Co-authored-by: Matz Hilven <48355802+MatzHilven@users.noreply.github.com> * fix: correctly account for global biome palette * fix: incorrect region metatable offset when writing * Add Instance::getPlayerByUuid because for convenience (Minestom#2190) * feat: hello, 1.21 * feat: new packets, new registries except stubbed out enchantments, other minor changes * chore: 1.21-pre2 * chore: start on enchantments * chore: start on enchant effect components * chore: protocol set * chore: start on effect types * feat: mostly functional enchants, needs cleanup * feat: add some ItemStack convenience methods * feat: minor improvements, 1.21 release * fix inventory packet for global translator * fix full light data is not sent (Minestom#2191) * fix full light data is not sent * remove fullLightCache * Add feature flags to AsyncPlayerConfigurationEvent * fix player health update animation (Minestom#2183) * fix projectile remove * Update Player.java (Minestom#2195) * Update Player.java * Update PlayerConnection.java * fix: deserialize `extra` correctly in component serializer * Fix add transaction * Fix events not triggering for bows, crossbows, etc. (Minestom#2199) * Fix item update for bow, crossbow, shield, trident, spyglass, goat horn, brush * fix: inverted vanilla exclusion * fix: nbt byte for `sections[].Y` in anvil chunk data (fixes Minestom#2207) * Drop eventnode listener ref on invalidate (Minestom#2212) * Fixed bug in LargeFramebuffer#preparePacket(int,int,int) (Minestom#2213) * Fix LivingEntity Damage Event Packet (Minestom#2209) * fix: correctly disconnect player if resource pack is not applied successfully (for required resource pack) * Ability to teleport player without teleport confirm (Minestom#2222) * optional teleport confirm * rename flag to shouldConfirm * oops, this change is no longer needed * fix last line formatting * fix: preserve handler in block placement rule neighbor updates * fix: do not overwrite default movement speed attribute * Revert "fix: do not overwrite default movement speed attribute" This reverts commit 66dc936. * fix: update sprinting movement speed modifier serverside to keep synced with client state * fix: concurrent region file creation * fix: adding an existing viewer to a scoreboard kicks them (Minestom#2231) * fix: DustColorTransition packet reading/writing (Minestom#2236) * fix: DustColorTransition packet reading/writing * chore: fix tests * Add Player#getCurrentItemUseTime (Minestom#2235) * Add Player#getCurrentItemUseTime * Use player ticks as reference instead of world age * Fix infinite recursion. (Minestom#2230) * chore: int flags potion constructor (Minestom#2238) * chore: send keepalive packets immediately, simplify PacketProcessor#process (Minestom#2218) * chore: send keepalive packets immediately, simplify PacketProcessor#process * chore: make latency volatile * Autogenerate Feature Flags (Minestom#2201) * Autogenerate Feature Flags (Won't work until MinestomDataGen 1.21-rev2 is released with datagen changes.) * Rewrite feature flag auto-generation, add example in demo. * Update data gen * Remove dead code and fix access modifier on FeatureFlagImpl * feat: Improvements to AttributeInstance API (Minestom#2221) * feat: method to compute the value of an AttributeInstance with a given base instead of its stored one, add return values to AttributeInstance#removeModifier and AttributeInstance#addModifier * chore: getValueWithBase -> applyModifiers * feat: Acquirable, ThreadDispatcher usage improvements (Minestom#2237) * feat: fewer casts needed when working with Acquirable, ThreadDispatcher now usable with non-Entity tickables, AcquirableSource for synchronizing items added to dispatcher * chore: rename AcquirableSource#getAcquirable -> AcquirableSource#acquirable, re-add getAcquirable to Entity with old signature, deprecate it * fix: incorrect camel case in item component nbt (fixes Minestom#2233) * Add material setter in builder * feat: ShapeImpl#collisionBoundingBoxes, ShapeImpl#occlusionBoundingBoxes + documentation (Minestom#2248) * Automatically update an entity's attributes when changing equipment (Minestom#2228) * Automatically update an entity's attributes when changing equipment * fix merge conflict * Update attributes for players when their items change * Add attribute tests * chore: add AlphaColor, convert Color to class, fix entity_effect particle (Minestom#2240) * chore: add AlphaColor, convert Color to class, fix entity_effect particle * chore: add `Particle.EntityEffect#withColor(RGBLike)`, `Color#withAlpha` --------- Co-authored-by: mworzala <mattheworzala@gmail.com> * fix: AttributeInstance#addModifier not refreshing cachedValue for new modifier values (Minestom#2234) * fix blunder * fix: use equals check for modifier difference when adding --------- Co-authored-by: mworzala <mattheworzala@gmail.com> * chore: add doc about kicking player during config * chore: enforce and document notnull chunk loader, add noop impl * Fix chunk lighting optimization (Minestom#2244) * Fix chunk lighting optimization * Apply requested changes * Add a few useful methods to Direction (Minestom#2254) * Add Block::original so it's easier to compare by block type (Minestom#2255) * Add Block::original so it's easier to compare by block type * Requested changes * fix: geyser keepalive incompatibility * Fix NullPointer when changing equipment before checking attributes * get back jmh/jcstress * Add getAndSetTag to TagWritable * Remove Instance/PlayerUtils * Move all flags to ServerFlag * MetadataHolder (Minestom#2263) * Move entity meta map to MetadataHolder * Fix biome sounds + particles (Minestom#2265) * fix biome sounds + particles * Fix tests * Call ItemUpdateStateEvent before clearing item use (Minestom#2258) * feat: allow changing the number of threads used by the server process ThreadDispatcher (Minestom#2268) * fix: optional world pos in lodestone tracker item component (fixes Minestom#2270) * chore: add cursor position to `PlayerBlockPlaceEvent` * fix: node followers using the speed attribute base value instead of value + modifiers * feat: thread safety for AttributeInstance (Minestom#2297) * feat: thread safety for AttributeInstance * fix: refreshCachedValue now takes the new baseValue rather than reading from the field internally * Remove cursor items from individual inventories (Minestom#2294) * Remove cursor items from individual inventories * Remove unused method and re-add but deprecate old cursor methods * Fix links and remove unused import * feat: add ability to clear modifiers from an AttributeInstance (Minestom#2296) * feat: add ability to clear modifiers from an AttributeInstance, as well as get all AttributeInstances from LivingEntity * chore: getAttributeInstances -> getAttributes, protect certain modifiers from being cleared by AttributeInstance#clearModifiers * fix: call refreshCachedValue properly * Make loyalty level a byte (Minestom#2300) * Remove static biome registry, simplify unit generation * fix attribute packet (Minestom#2305) * chore: bump data gen to fix light[level=0] emission value * chore: Remove a bunch of Experimental annotations * Direct writer for Adventure components (Minestom#2306) * feat: direct writer for adventure components * chore: tests and fixes to score & translatable * chore: explicitly use nbt serializer for reading so the dependency is obvious * fix: lower case click/hover action types * fix: Round up total sectors in region file * fix: send attribute base value not computed. * Apply microtus patches 1-20 (cherry picked from commit ab0874c) * Fix build grade * Add missing adventure nbt lib * Add missing dependencies * Remove old biome, banner, shield, particle, attribute system * Fix forward data generator * Disable stress tester for compile reasons * Remove old network stack * Remove no longer exists api form player * Fix forward bstats * Fix forward server flags * Fix forward terminal color converter * Fix forward inventory tests * Fix forward frog meta test * Update files like in microtus main (cherry picked from commit d3ad5af) * Apply better workflow (cherry picked from commit ccf63cb) * Move miss landed classes after patching source (cherry picked from commit 2f2dec2) * Fix workflows for java 21 (cherry picked from commit b501f93) * Fix workflows for java 21 (cherry picked from commit f35341a) * [Chore] Update gradle to 8.7 (cherry picked from commit cf0f73c) * [Chore] Remove preview feature (cherry picked from commit ab6a351) * [Bugfix] Improve version string for bstats (cherry picked from commit d63c883) * Update README.md (cherry picked from commit 9fd02fd) * Update snapshot and release version (cherry picked from commit 18cfbad) * [Chore] Replace e.printstacktrace with exception manager call or logger (cherry picked from commit c61f7c5) * Create CNAME (cherry picked from commit 0a8f6dd) * Bump snapshot version (#31) (cherry picked from commit 0c32b88) * Update build.gradle.kts (cherry picked from commit 4023e8a) * Improve license usage (cherry picked from commit e7298d4) * Improve license usage (cherry picked from commit 9574b21) * [#30] Release 1.4.0 (cherry picked from commit fee81f4) * [#30] Re-Release 1.4.1 (cherry picked from commit 994ecce) * Go back to snapshot (cherry picked from commit 57b6303) * Ignore bstats file (cherry picked from commit e327192) * [#34] Better Notification System (#35) * [#34] Implement new notification system with tests * [#34] Update demo to use new notification system * [#34] Add deprecation text to old notification system * [#34] Improve javadocs and rename builder implementation * [#34] Improve javadocs and fix tests * [#34] Remove empty lines * [#34] Add package description (cherry picked from commit 29ec3fe) * Add bom (cherry picked from commit 7c69238) * Improve bom (cherry picked from commit f9b2374) * Remove java version from bom (cherry picked from commit 772203b) * Change bom deployment (cherry picked from commit f418602) * Change bom deployment (cherry picked from commit 37576d2) * [Feature] Improved Testing Lib (#42) * Deprecate env test * Improve environment * Create new environment annotation * Use new environment annotation (cherry picked from commit 3d93b94) * Add missing dependencies (cherry picked from commit e295f99) * Add missing dependencies (cherry picked from commit 7765729) * Improve release workflow (cherry picked from commit c298674) * Improve release workflow (cherry picked from commit da01e8a) * Bump version (cherry picked from commit e715ad9) * Update dependency com.google.code.gson:gson to v2.11.0 (cherry picked from commit c7095d6) * Update dependency org.mockito:mockito-core to v5.12.0 (cherry picked from commit 77ccf9f) * Update actions/cache action to v4 (cherry picked from commit 38ad8aa) * Update gradle/wrapper-validation-action action to v3 (cherry picked from commit ad84891) * Update kotlin monorepo to v2 (cherry picked from commit af9be49) * [Chore] Update gradle to version 8.8 (#58) (cherry picked from commit 9373005) * Update CODEOWNERS (cherry picked from commit 026aa27) * Update CODEOWNERS (cherry picked from commit 5be4573) * Update README.md (cherry picked from commit c90b7d5) * Bump version to 1.5.0 * Add missing import * Add support for older as 1.21 minecraft worlds * Update BOM dependencies * Remove no longer needed classes * Fix forward compile issues --------- Co-authored-by: Samuel <pifnpafnpouf@gmail.com> Co-authored-by: iam4722202468 <aceparent@gmail.com> Co-authored-by: mudkipdev <mudkip@mudkip.dev> Co-authored-by: iam <iam4722202468@users.noreply.github.com> Co-authored-by: felix <60808107+ItsFelix5@users.noreply.github.com> Co-authored-by: mworzala <mattheworzala@gmail.com> Co-authored-by: FluxCapacitor2 <31071265+FluxCapacitor2@users.noreply.github.com> Co-authored-by: DeidaraMC <117625071+DeidaraMC@users.noreply.github.com> Co-authored-by: TogAr2 <59421074+togar2@users.noreply.github.com> Co-authored-by: DeidaraMC <DeidaraJuice@gmail.com> Co-authored-by: GreatWyrm <alecmusante@gmail.com> Co-authored-by: kubbi <nicoladelaroche@gmail.com> Co-authored-by: MelonHell <53826469+MelonHell@users.noreply.github.com> Co-authored-by: Spliterash <me@spliterash.ru> Co-authored-by: unjoinable <135444615+unjoinable@users.noreply.github.com> Co-authored-by: Matz Hilven <48355802+MatzHilven@users.noreply.github.com> Co-authored-by: bea4dev <bea0224@outlook.jp> Co-authored-by: bea4dev <34712108+bea4dev@users.noreply.github.com> Co-authored-by: Not Flamgop <76978462+flopgop@users.noreply.github.com> Co-authored-by: ItsAnnie <crazysqueak@gmail.com> Co-authored-by: ItsAnnie <ctrlaltcs@gmail.com> Co-authored-by: Steank <dnd.initiative.tracker@gmail.com> Co-authored-by: themode <themode@outlook.fr> Co-authored-by: Am Gone <67794767+Am-Gone@users.noreply.github.com> Co-authored-by: AmGone_ <hygon806@gmail.com> Co-authored-by: GoldenStack <goldenfire64yt@gmail.com> Co-authored-by: Matt Worzala <35708499+mworzala@users.noreply.github.com> Co-authored-by: Aeltumn <daniel@goossens.ch> Co-authored-by: OneLiteFeather <seelenretterin@onelitefeather.net> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Steffen Wonning <steffenwx@gmail.com>
* Rework attribute system for microtus and use generic generator * Remove old code * Remove already implemented methods because records * Use constant
* Move Fluids to CodeGenerator * [Chore] Replace enum with registry * Refactor: Move 'Fluids' interface from FluidImpl implements to Fluid extends --------- Co-authored-by: OneLiteFeather <seelenretterin@onelitefeather.net>
* [Chore] Replace enum with registry system for feature flags * Remove wildcard import * Create CNAME * Bump snapshot version (#31) * [Bugfix] Fix failing tests * Update build.gradle.kts * [Chore] Replace enum with code generator for fluids (#27) * Move Fluids to CodeGenerator * [Chore] Replace enum with registry * Refactor: Move 'Fluids' interface from FluidImpl implements to Fluid extends --------- Co-authored-by: OneLiteFeather <seelenretterin@onelitefeather.net> * [Chore] Replace enum with registry system for feature flags * Remove wildcard import --------- Co-authored-by: theEvilReaper <steffenwx@gmail.com> Co-authored-by: OneLiteFeather <seelenretterin@onelitefeather.net>
* Offer more control over LightingChunk invalidations (Minestom#2156) * Offer more control over LightingChunk invalidations * Respect freezeInvalidation on this other invalidate method * Rename to invalidateNeighborsSection and remove redundant null check * fix light invalidation issue * Fix Entity::getEffectLevel having two meanings when returning 0 (Minestom#2163) * add more command conditions * Add signum operator to Vec * Refactor lighting code, fix loaded chunks (Minestom#2164) * Switch to the new adventure domain (Minestom#2165) * fix: do not test block collision on entities without collision * Make PlayerProjectile extend Entity instead of LivingEntity * feat: initial conversion to adventure nbt. no tests, no anvil * chore: basic nbt reader/writer for protocol while waiting for adventure * feat: joinable server * fix: oops, health is before potion still * chore: rebase on adventure-nbt * feat: first version of a bunch of components * chore: delete all old metadata classes for now, may return compatibility later * chore: more components * chore: more components * chore: trying to fix nightmare loop * feat: functional components, but at what cost * chore: cleanup itemcomponenttype, update to datagen changes * feat: more components * feat: even more components (only 2 missing ones) * feat: first draft of cookies * feat: simplify sound events, fix update explosion packet * feat: generate RecipeType (for ids) * fix: do not send close inventory packet when opening a new inventory while one is open * feat: anvil reading, other minor fixes * feat: partial anvil writing, update tests (still many broken) * chore: 1.20.5, disable some failing tests to get a functional build * chore: cicd trigger * chore: update datagenerator * fix: anvil not loading locations properly * fix: particle packet reorder * fix: do not allow writing air in declare recipes packet (added ItemStack.STRICT_NETWORK_TYPE to represent this) * feat: initial ArgumentItemStack reader, other minor fixes * fix: light test and update eye height in view direction test * chore: cleanup anvil test * fix: dont oom reading item component, stub banner pattern component * fix: circular init :| * fix: correctly handle eating potions, time eating using ticks, default to correct drink/eat time from component, send damage event on living entity damage * fix: do not convert optchat metadata to chat * chore: rebase, add stack size 99 test case * chore: another stack size test * feat: block predicate impl & some more tests * feat: initial anvilloader writer implementation * fix: correctly read declared recipes * chore: generalize ItemComponent to DataComponent (item component defs are still in ItemComponent) * fix: update from lighting fix 35 rebase * chore: add PlayerAnvilInputEvent, other minor tweaks from self review * fix: sync position after sending first chunk * chore: start testing components, fix valueless components * chore: allow chunk subclasses to override heightmap generation * feat: first pass of standardizing dynamic registries * feat: add DynamicRegistry.Key and reference it instead of the underlying type. add wolf variant meta field * chore: cleanup & some component impl utility methods * chore: depend on published version of data, not local * chore: minor tweaks * chore: cleanup networkbuffer additions * chore: missing entity metas & extract shooter to abstractwindchargemeta * fix: correct handling of known packs exchange * chore: merge datacomponentmap and datacomponentpatch to simplify api. Preemptively diff with material prototype when constructing itemstack * chore: more tests for components * chore: one more * fix: setTimeUpdate transition from duration to ticks, renamed to avoid ambiguation with setTimeRate (Minestom#2067) * feat: LivingEntity fire overhaul (Minestom#2122) * feat: LivingEntity fire overhaul * chore: missed method change * feat: world border overhaul, turned into a record and handled by the instance (Minestom#2062) * feat: world border overhaul, turned into a record and handled by instance * chore: replace WorldBorder#defaultBorder() with a DEFAULT_BORDER constant * Pathfinding 1.20.5 (Minestom#2153) * pathfinding * mutablepoint fix in player * feat: cya later jitpack * chore: remove some weird internal/experimental annotations * Item usage duration (Minestom#2128) Fix build error Move item usage completed to a different event Add a way to check if the item usage has completed, or is aborted by the player Only process animation when the item use time is not instant Update javadoc Re-add Player#isEating Remove deprecated Player#callItemUpdateStateEvent Allow specifying item usage duration inside PlayerUseItemEvent * fix: fixes from merging Minestom#2128 * feat: improve particle api * feat: generate particle data names automatically * chore: make all impls records + inner classes of Particle * chore: minor cleanup, block display meta to use Block directly * fix: default zero use item time * Move static Entity lookup maps to EntityTracker (Minestom#2167) * Move static Entity lookup maps to EntityTracker * Specific method for changeUuid to keep thread-safety * Fix bug from not recording position on register * Exception on duplicate IDs in the EntityTracker * Oops, expected stateCondition to behave like assert * Didn't mean to make Entity::remove(boolean) public * More descriptive EntityView::register error * Warn when attempting to move untracked entity * chore: delete `Entity#setUuid` and `AsyncPlayerPreLoginEvent#setUuid` * chore: delete a deprecated Audience#sendMessage variant * chore: javadocs and remove experimental pose update flag * fix: fixes from rug pull * fix: tag escape * fix: inventory rebase fixes * Fix Attribute Read/Write due to initialization shenanagins (Minestom#2174) * Only consider online players for unregisterInstance (Minestom#2171) * Add new navigator generator & follower * Include ourself as a viewer when sending SWING_MAIN_ARM animation (Minestom#2173) * Include ourself as a viewer when sending SWING_MAIN_ARM animation * Added API annotations * fix: re-add deprecated Audience#sendMessage variant which was actually required * Fix ITEM_NAME component translation in SetSlotPacket (Minestom#2176) * Fix ITEM_NAME component translation in SetSlotPacket * Add test for item stack translation when automatic component translation is enabled * Fix the NBT representation of Unit (Minestom#2177) * Call UuidProvider in async (Minestom#2181) Co-authored-by: Spliterash <me@spliterash.ru> * [RE] Update PlayerChangeHeldSlotEvent.java (Minestom#2179) * Update PlayerChangeHeldSlotEvent.java Slight changes in the docs since they were mis-leading.. Took me a while to realise what was wrong in my algorithm * Update src/main/java/net/minestom/server/event/player/PlayerChangeHeldSlotEvent.java Co-authored-by: Matz Hilven <48355802+MatzHilven@users.noreply.github.com> --------- Co-authored-by: Matz Hilven <48355802+MatzHilven@users.noreply.github.com> * fix: correctly account for global biome palette * fix: incorrect region metatable offset when writing * Add Instance::getPlayerByUuid because for convenience (Minestom#2190) * feat: hello, 1.21 * feat: new packets, new registries except stubbed out enchantments, other minor changes * chore: 1.21-pre2 * chore: start on enchantments * chore: start on enchant effect components * chore: protocol set * chore: start on effect types * feat: mostly functional enchants, needs cleanup * feat: add some ItemStack convenience methods * feat: minor improvements, 1.21 release * fix inventory packet for global translator * fix full light data is not sent (Minestom#2191) * fix full light data is not sent * remove fullLightCache * Add feature flags to AsyncPlayerConfigurationEvent * fix player health update animation (Minestom#2183) * fix projectile remove * Update Player.java (Minestom#2195) * Update Player.java * Update PlayerConnection.java * fix: deserialize `extra` correctly in component serializer * Fix add transaction * Fix events not triggering for bows, crossbows, etc. (Minestom#2199) * Fix item update for bow, crossbow, shield, trident, spyglass, goat horn, brush * fix: inverted vanilla exclusion * fix: nbt byte for `sections[].Y` in anvil chunk data (fixes Minestom#2207) * Drop eventnode listener ref on invalidate (Minestom#2212) * Fixed bug in LargeFramebuffer#preparePacket(int,int,int) (Minestom#2213) * Fix LivingEntity Damage Event Packet (Minestom#2209) * fix: correctly disconnect player if resource pack is not applied successfully (for required resource pack) * Ability to teleport player without teleport confirm (Minestom#2222) * optional teleport confirm * rename flag to shouldConfirm * oops, this change is no longer needed * fix last line formatting * fix: preserve handler in block placement rule neighbor updates * fix: do not overwrite default movement speed attribute * Revert "fix: do not overwrite default movement speed attribute" This reverts commit 66dc936. * fix: update sprinting movement speed modifier serverside to keep synced with client state * fix: concurrent region file creation * fix: adding an existing viewer to a scoreboard kicks them (Minestom#2231) * fix: DustColorTransition packet reading/writing (Minestom#2236) * fix: DustColorTransition packet reading/writing * chore: fix tests * Add Player#getCurrentItemUseTime (Minestom#2235) * Add Player#getCurrentItemUseTime * Use player ticks as reference instead of world age * Fix infinite recursion. (Minestom#2230) * chore: int flags potion constructor (Minestom#2238) * chore: send keepalive packets immediately, simplify PacketProcessor#process (Minestom#2218) * chore: send keepalive packets immediately, simplify PacketProcessor#process * chore: make latency volatile * Autogenerate Feature Flags (Minestom#2201) * Autogenerate Feature Flags (Won't work until MinestomDataGen 1.21-rev2 is released with datagen changes.) * Rewrite feature flag auto-generation, add example in demo. * Update data gen * Remove dead code and fix access modifier on FeatureFlagImpl * feat: Improvements to AttributeInstance API (Minestom#2221) * feat: method to compute the value of an AttributeInstance with a given base instead of its stored one, add return values to AttributeInstance#removeModifier and AttributeInstance#addModifier * chore: getValueWithBase -> applyModifiers * feat: Acquirable, ThreadDispatcher usage improvements (Minestom#2237) * feat: fewer casts needed when working with Acquirable, ThreadDispatcher now usable with non-Entity tickables, AcquirableSource for synchronizing items added to dispatcher * chore: rename AcquirableSource#getAcquirable -> AcquirableSource#acquirable, re-add getAcquirable to Entity with old signature, deprecate it * fix: incorrect camel case in item component nbt (fixes Minestom#2233) * Add material setter in builder * feat: ShapeImpl#collisionBoundingBoxes, ShapeImpl#occlusionBoundingBoxes + documentation (Minestom#2248) * Automatically update an entity's attributes when changing equipment (Minestom#2228) * Automatically update an entity's attributes when changing equipment * fix merge conflict * Update attributes for players when their items change * Add attribute tests * chore: add AlphaColor, convert Color to class, fix entity_effect particle (Minestom#2240) * chore: add AlphaColor, convert Color to class, fix entity_effect particle * chore: add `Particle.EntityEffect#withColor(RGBLike)`, `Color#withAlpha` --------- Co-authored-by: mworzala <mattheworzala@gmail.com> * fix: AttributeInstance#addModifier not refreshing cachedValue for new modifier values (Minestom#2234) * fix blunder * fix: use equals check for modifier difference when adding --------- Co-authored-by: mworzala <mattheworzala@gmail.com> * chore: add doc about kicking player during config * chore: enforce and document notnull chunk loader, add noop impl * Fix chunk lighting optimization (Minestom#2244) * Fix chunk lighting optimization * Apply requested changes * Add a few useful methods to Direction (Minestom#2254) * Add Block::original so it's easier to compare by block type (Minestom#2255) * Add Block::original so it's easier to compare by block type * Requested changes * fix: geyser keepalive incompatibility * Fix NullPointer when changing equipment before checking attributes * get back jmh/jcstress * Add getAndSetTag to TagWritable * Remove Instance/PlayerUtils * Move all flags to ServerFlag * MetadataHolder (Minestom#2263) * Move entity meta map to MetadataHolder * Fix biome sounds + particles (Minestom#2265) * fix biome sounds + particles * Fix tests * Call ItemUpdateStateEvent before clearing item use (Minestom#2258) * feat: allow changing the number of threads used by the server process ThreadDispatcher (Minestom#2268) * fix: optional world pos in lodestone tracker item component (fixes Minestom#2270) * chore: add cursor position to `PlayerBlockPlaceEvent` * fix: node followers using the speed attribute base value instead of value + modifiers * feat: thread safety for AttributeInstance (Minestom#2297) * feat: thread safety for AttributeInstance * fix: refreshCachedValue now takes the new baseValue rather than reading from the field internally * Remove cursor items from individual inventories (Minestom#2294) * Remove cursor items from individual inventories * Remove unused method and re-add but deprecate old cursor methods * Fix links and remove unused import * feat: add ability to clear modifiers from an AttributeInstance (Minestom#2296) * feat: add ability to clear modifiers from an AttributeInstance, as well as get all AttributeInstances from LivingEntity * chore: getAttributeInstances -> getAttributes, protect certain modifiers from being cleared by AttributeInstance#clearModifiers * fix: call refreshCachedValue properly * Make loyalty level a byte (Minestom#2300) * Remove static biome registry, simplify unit generation * fix attribute packet (Minestom#2305) * chore: bump data gen to fix light[level=0] emission value * chore: Remove a bunch of Experimental annotations * Direct writer for Adventure components (Minestom#2306) * feat: direct writer for adventure components * chore: tests and fixes to score & translatable * chore: explicitly use nbt serializer for reading so the dependency is obvious * fix: lower case click/hover action types * fix: Round up total sectors in region file * fix: send attribute base value not computed. * Apply microtus patches 1-20 (cherry picked from commit ab0874c) * Fix build grade * Add missing adventure nbt lib * Add missing dependencies * Remove old biome, banner, shield, particle, attribute system * Fix forward data generator * Disable stress tester for compile reasons * Remove old network stack * Remove no longer exists api form player * Fix forward bstats * Fix forward server flags * Fix forward terminal color converter * Fix forward inventory tests * Fix forward frog meta test * Update files like in microtus main (cherry picked from commit d3ad5af) * Apply better workflow (cherry picked from commit ccf63cb) * Move miss landed classes after patching source (cherry picked from commit 2f2dec2) * Fix workflows for java 21 (cherry picked from commit b501f93) * Fix workflows for java 21 (cherry picked from commit f35341a) * [Chore] Update gradle to 8.7 (cherry picked from commit cf0f73c) * [Chore] Remove preview feature (cherry picked from commit ab6a351) * [Bugfix] Improve version string for bstats (cherry picked from commit d63c883) * Update README.md (cherry picked from commit 9fd02fd) * Update snapshot and release version (cherry picked from commit 18cfbad) * [Chore] Replace e.printstacktrace with exception manager call or logger (cherry picked from commit c61f7c5) * Create CNAME (cherry picked from commit 0a8f6dd) * Bump snapshot version (#31) (cherry picked from commit 0c32b88) * Update build.gradle.kts (cherry picked from commit 4023e8a) * Improve license usage (cherry picked from commit e7298d4) * Improve license usage (cherry picked from commit 9574b21) * [#30] Release 1.4.0 (cherry picked from commit fee81f4) * [#30] Re-Release 1.4.1 (cherry picked from commit 994ecce) * Go back to snapshot (cherry picked from commit 57b6303) * Ignore bstats file (cherry picked from commit e327192) * [#34] Better Notification System (#35) * [#34] Implement new notification system with tests * [#34] Update demo to use new notification system * [#34] Add deprecation text to old notification system * [#34] Improve javadocs and rename builder implementation * [#34] Improve javadocs and fix tests * [#34] Remove empty lines * [#34] Add package description (cherry picked from commit 29ec3fe) * Add bom (cherry picked from commit 7c69238) * Improve bom (cherry picked from commit f9b2374) * Remove java version from bom (cherry picked from commit 772203b) * Change bom deployment (cherry picked from commit f418602) * Change bom deployment (cherry picked from commit 37576d2) * [Feature] Improved Testing Lib (#42) * Deprecate env test * Improve environment * Create new environment annotation * Use new environment annotation (cherry picked from commit 3d93b94) * Add missing dependencies (cherry picked from commit e295f99) * Add missing dependencies (cherry picked from commit 7765729) * Improve release workflow (cherry picked from commit c298674) * Improve release workflow (cherry picked from commit da01e8a) * Bump version (cherry picked from commit e715ad9) * Update dependency com.google.code.gson:gson to v2.11.0 (cherry picked from commit c7095d6) * Update dependency org.mockito:mockito-core to v5.12.0 (cherry picked from commit 77ccf9f) * Update actions/cache action to v4 (cherry picked from commit 38ad8aa) * Update gradle/wrapper-validation-action action to v3 (cherry picked from commit ad84891) * Update kotlin monorepo to v2 (cherry picked from commit af9be49) * [Chore] Update gradle to version 8.8 (#58) (cherry picked from commit 9373005) * Update CODEOWNERS (cherry picked from commit 026aa27) * Update CODEOWNERS (cherry picked from commit 5be4573) * Update README.md (cherry picked from commit c90b7d5) * Bump version to 1.5.0 * Add missing import * Add support for older as 1.21 minecraft worlds * Update BOM dependencies * Remove no longer needed classes * Fix forward compile issues --------- Co-authored-by: Samuel <pifnpafnpouf@gmail.com> Co-authored-by: iam4722202468 <aceparent@gmail.com> Co-authored-by: mudkipdev <mudkip@mudkip.dev> Co-authored-by: iam <iam4722202468@users.noreply.github.com> Co-authored-by: felix <60808107+ItsFelix5@users.noreply.github.com> Co-authored-by: mworzala <mattheworzala@gmail.com> Co-authored-by: FluxCapacitor2 <31071265+FluxCapacitor2@users.noreply.github.com> Co-authored-by: DeidaraMC <117625071+DeidaraMC@users.noreply.github.com> Co-authored-by: TogAr2 <59421074+togar2@users.noreply.github.com> Co-authored-by: DeidaraMC <DeidaraJuice@gmail.com> Co-authored-by: GreatWyrm <alecmusante@gmail.com> Co-authored-by: kubbi <nicoladelaroche@gmail.com> Co-authored-by: MelonHell <53826469+MelonHell@users.noreply.github.com> Co-authored-by: Spliterash <me@spliterash.ru> Co-authored-by: unjoinable <135444615+unjoinable@users.noreply.github.com> Co-authored-by: Matz Hilven <48355802+MatzHilven@users.noreply.github.com> Co-authored-by: bea4dev <bea0224@outlook.jp> Co-authored-by: bea4dev <34712108+bea4dev@users.noreply.github.com> Co-authored-by: Not Flamgop <76978462+flopgop@users.noreply.github.com> Co-authored-by: ItsAnnie <crazysqueak@gmail.com> Co-authored-by: ItsAnnie <ctrlaltcs@gmail.com> Co-authored-by: Steank <dnd.initiative.tracker@gmail.com> Co-authored-by: themode <themode@outlook.fr> Co-authored-by: Am Gone <67794767+Am-Gone@users.noreply.github.com> Co-authored-by: AmGone_ <hygon806@gmail.com> Co-authored-by: GoldenStack <goldenfire64yt@gmail.com> Co-authored-by: Matt Worzala <35708499+mworzala@users.noreply.github.com> Co-authored-by: Aeltumn <daniel@goossens.ch> Co-authored-by: OneLiteFeather <seelenretterin@onelitefeather.net> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Steffen Wonning <steffenwx@gmail.com>
* Fix entity position desync when spawned in an 8 block radius from world center (0,0,0) (Minestom#2299) * fix: entity spawn pos desync * Fix tests * Update API for swept entity <-> entity collisions (Minestom#2343) * Update API for swept entity <-> entity collisions * Move EntityCollisionResult to its own class (Minestom#2345) * Move EntityCollisionResult to its own class * Return directional information from entity collision (Minestom#2346) * fix entity collisions (Minestom#2348) * Ability to get collision shape position from PhysicsResult (Minestom#2355) * ability to get collision shape position from PhysicsResult * Coordinate limit to prevent potential overflow * fix some jcstress files * clear remaining hephaistos usage * Make BoundingBox/ShapeImpl records (Minestom#2371) * Use a single int for all block states (Minestom#2373) * Light cleanup (Minestom#2372) * record namespace (Minestom#2374) * Add EquipmentSlot.BODY (Minestom#2325) * Add EquipmentSlot.BODY * EntityEquipmentPacket should now have 7 entries * Simplify isHand check * Fix tests --------- Co-authored-by: Matt Worzala <35708499+mworzala@users.noreply.github.com> * unused cache * Implement Graph Cache in CommandManager (Minestom#2360) * update dependencies * Remove caffeine dependency from EventNode (Minestom#2375) * Remove mojang utils cache * fix team visibility (Minestom#2186) * Fix chunks not being refreshed when view distance updates (Minestom#2197) * Fix chunks not being refreshed when view distance updates * give more control of collisions to the entities colliding (Minestom#2350) * give more control of collisions to the entities colliding * Playsound exclude (Minestom#2381) * Add Instance::playSoundExcept * Uh... * fix: saturation not working in food item component (Minestom#2382) * fix missing inversion in DataComponentMap#diff handling for removed entries (Minestom#2359) * More Vec operator, more min/max methods * Remove no longer exists methods * Disable failed test * Improve AtomicReference handling * Fix test execution when loading chunk outside of the main thread * Improve AtomicReference handling in some tests --------- Co-authored-by: Am Gone <67794767+Am-Gone@users.noreply.github.com> Co-authored-by: iam <iam4722202468@users.noreply.github.com> Co-authored-by: Lorenz Wrobel <43410952+DasBabyPixel@users.noreply.github.com> Co-authored-by: themode <themode@outlook.fr> Co-authored-by: TogAr2 <59421074+TogAr2@users.noreply.github.com> Co-authored-by: Matt Worzala <35708499+mworzala@users.noreply.github.com> Co-authored-by: Kerman <46640204+KermanIsPretty@users.noreply.github.com> Co-authored-by: bea4dev <34712108+bea4dev@users.noreply.github.com> Co-authored-by: GreatWyrm <alecmusante@gmail.com> Co-authored-by: Samuel <pifnpafnpouf@gmail.com> Co-authored-by: SLH <114884726+SLH335@users.noreply.github.com> Co-authored-by: Floweynt <50057682+Floweynt@users.noreply.github.com> Co-authored-by: theEvilReaper <steffenwx@gmail.com>
(cherry picked from commit 9e681c7)
(cherry picked from commit ef26c50)
(cherry picked from commit 1b800ad)
(cherry picked from commit 93ea3b9)
(cherry picked from commit 9389bdb)
(cherry picked from commit 9393286)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Proposed changes
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request.
If it fixes a bug or resolves a feature request, be sure to link to that issue.
Types of changes
What types of changes does your code introduce to this project?
Put an
x
in the boxes that applyChecklist
Put an
x
in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any ofthem, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before
merging your code.
Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you
did and what alternatives you considered, etc...