Unofficial site, not affiliated with modrinth.com.What is this?
Плагины/Free Minecraft Models
Все версииFree Minecraft Models 2.5.0

Free Minecraft Models 2.5.0

Release1 мес. назад

Список изменений

FreeMinecraftModels 2.5.0:

  • [New] Furniture shop — optional Vault-backed /fmm shop opens a paginated GUI of craftable models that players can purchase with in-game currency, gated by the freeminecraftmodels.shop permission. Disabled by default; auto-disables if Vault or an economy provider is missing.
  • [New] shop_config.yml config file with a master toggle, default price, menu title, price/click-to-buy lore formats, and configurable purchase/insufficient-funds/disabled/not-for-sale/inventory-full messages.
  • [New] Per-recipe shopEnabled and shopPrice fields on PropRecipeConfig so individual recipes can opt out of the shop or set their own price (default falls back to ShopConfig.defaultPrice or 100).
  • [New] ModeledEntity.setTintColor(Color) / getTintColor() API for a persistent per-entity dye tint applied through the leather-armor channel; the damage-flash animation now fades back to this color instead of undyed white.
  • [New] ModeledEntity.setViewDistanceOverride(int) / getEffectiveViewDistance() API for per-entity view-distance caps — used by both SkeletonWatchers and PropBlockComponent.setPropBlocks so individual models can be made visible further than the plugin-wide DefaultConfig.maxModelViewDistance.
  • [New] LocationAPI for third-party plugins to register dungeon detectors and region-protection providers via plain Predicate (no shaded types crossing classloaders), feeding the Lua em.location.is_in_dungeon and em.location.is_protected checks.
  • [New] /fmm location diagnostic command reporting the count of registered dungeon locators and protection providers and what each predicate returns for the player's current location.
  • [New] Lua entity-table enrichment — every entity table now exposes is_modeled, is_prop, and a nested model sub-table (model_id, play_animation, stop_animations, remove, is_dynamic) when the entity is an FMM model.
  • [New] EliteMobs Lua bridge — when EliteMobs is installed, entity tables are enriched with is_elite, is_custom_boss, is_significant_boss, and an elite sub-table exposing level, name, health, max health, health/damage multipliers, and a remove() method.
  • [New] Premade pickupable and double-storage prop scripts now query em.location.is_protected and em.location.is_in_dungeon and cancel the interaction in protected zones or dungeons, including a new on_right_click handler on the pickupable script that blocks mount fallback in those areas.
  • [New] Soft-depend declarations for WorldGuard, WorldEdit, GriefPrevention, and Vault in plugin.yml so FMM loads after those protection/economy plugins when present.
  • [New] Per-player local cooldown store on ScriptableItem — overrides getLocalCooldownStore to back cooldowns.set_local / check_local with a static map keyed by player UUID + itemId + script file, surviving item re-equip.
  • [New] Per-player global cooldown store on ScriptableItem and per-prop global cooldown store on ScriptableProp for Lua scripting, with cleanup on player quit and prop destroy.
  • [Fix] Fixed inverted Bedrock-client check in Bone.displayTo that prevented custom models from rendering for Bedrock players when sendCustomModelsToBedrockClients was enabled — the negation was the wrong way around so models were hidden exactly when they should have been shown.
  • [Fix] Fixed item local cooldowns being wiped on every hotbar swap — ScriptableItem's ScriptInstance is destroyed on unequip, so the in-instance default map died with it; cooldowns are now persisted in a static map and cleared on player quit.
  • [Fix] Fixed NullPointerException when playAnimation was called on a model that has no animations — AnimationComponent now null-guards animationManager and emits a single deduplicated warning per entity+animation pair instead of crashing or spamming the log.
  • [Fix] Fixed bbmodels with freefloating cubes (cubes declared at the top of the outliner without a containing group) rendering as the missing-texture purple/black cube — BoneBlueprint.appendFreefloatingCubes now ingests bare-UUID outliner entries onto the auto-generated root bone, and ModelsFolder writes the matching item-model JSON instead of skipping the root.
  • [Fix] Fixed prop right-click placement immediately triggering the right-click script or mount fallback — props now ignore click callbacks for 500 ms after spawn so the placement click can't double as an interaction.
  • [Fix] Fixed prop right-click scripts being unable to suppress mount fallback — PropScriptManager.onPropRightClick now returns whether the script cancelled the event, and PropEntity only falls through to MountPointManager.tryMount when no script handled it.
  • [Fix] Fixed persistent props leaking stale ModeledEntity references in loadedModeledEntitiesWithUnderlyingEntities when chunks unloaded — the underlying-entity mapping is now always cleared on remove, while the actual underlying despawn still only fires for non-persistent props.
  • [Fix] Fixed double propEntities.put and double chunkHash assignment in PropEntity spawn that registered the wrong UUID — only the armorstand UUID is now stored.
  • [Fix] Fixed OBBHitDetection.onPlayerInteract running for already-cancelled interaction events (e.g. cancelled by protection plugins) — the listener is now ignoreCancelled = true.
  • [Fix] Fixed an async-vs-main-thread race in HitboxComponent.updatePacketInteractionEntityPosition where removePacketInteractionEntity could null packetInteractionEntity between the null check and the teleport — the field is now snapshotted into a local before use.
  • [Fix] Fixed resendFakeBlocks running its scheduled re-show after the prop had been removed — the delayed task now bails out if isRemoved() is true.
  • [Tweak] Bumped project version to 2.5.0 and added EliteMobs 10.2.0 and VaultAPI 1.7 as provided dependencies (with the JitPack repository for VaultAPI).
  • [Tweak] Extracted EliteMobs custom-boss spawning out of the reflective block in LuaPropTable.spawn_boss into a dedicated EliteMobsBossSpawner class with direct API imports, isolated so EliteMobs classes only load when the call is actually made.
  • [Tweak] Updated MagmaCore dependency to 2.2.0-SNAPSHOT.

Метаданные

Канал релиза

Release

Номер версии

2.5.0

Загрузчики

Paper
Purpur
Spigot

Версии игры

1.21.4–26.1.2

Загрузок

816

Дата публикации

1 мес. назад

Загрузил

ID версии

Главная