1.2
Compatibility
Changes
EcoTP — Changelog
New
- Added a 512×512 project icon (gold coin + teleport-portal swirl) for the Modrinth listing.
- Added
/ecotp reload(ecotp.adminpermission) to reloadconfig.ymlandmessages.ymlwithout a restart.
Fixes
- Fixed
language: jainconfig.ymlnot actually switchingmessages.ymlto Japanese — first for newly generated files, then for servers that already had amessages.ymlfrom before this feature existed. - Lowered the default
distance-blocks-per-yenfrom 100 to 10, since with the old default the distance-based fee never grew past the flat minimum on any normal-sized server. - Moved
/tpa's payment confirmation from send-time to accept-time:/tpanow sends immediately, and the confirmation ("Really teleport to X?") appears only once the target accepts.
Cross-plugin economy reliability (Vault)
Other installed plugins (GambleGate, VillagerMarket, Roulette, Gun, and more) sometimes couldn't find EcoTP's economy through Vault. Resolved in stages:
- Added
loadbeforeentries for the specific failing plugins, then expanded that list to every other plugin on the server. - Tried
load: STARTUPto enable EcoTP before essentially everything — worked, but needed extra defensive code since Vault/PlaceholderAPI are normally enabled later. - Found and fixed a deeper bug from a real server log: EcoTP's own jar was failing to load at all with
NoClassDefFoundError: net/milkbowl/vault/economy/Economy, because the main plugin class referenced Vault'sEconomytype directly. Fixed by isolating allEconomy-typed code into a separateEconomyHolderclass instantiated only insideonEnable(). - Replaced
load: STARTUPwithdepend: [Vault](was a soft dependency) — the simpler, standard way to guarantee Vault enables first. Vault is now required (EcoTP won't load without it), documented in the README, config.yml, and both Modrinth descriptions. - Confirmed on a real server restart: EcoTP loaded and enabled cleanly, and every plugin needing an economy (Roulette, Lands, Jobs, QuickShop-Hikari, MyPet, EvenMoreFish, Train_Carts) successfully picked up EcoTP through Vault.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
EcoTP — 変更履歴
新機能
- Modrinth掲載用に512×512のプロジェクトアイコンを作成(金貨+テレポートポータルの渦のデザイン)。
/ecotp reload(ecotp.admin権限)を追加。再起動なしでconfig.ymlとmessages.ymlを再読み込みできるように。
不具合修正
config.ymlのlanguage: jaにしてもmessages.ymlが日本語に切り替わらない不具合を修正。まず新規生成時の問題を直し、その後この機能実装前からmessages.ymlが存在していたサーバーでも切り替わるように再修正。distance-blocks-per-yenのデフォルト値を100から10に変更。旧デフォルトだと普通の規模のサーバーでは距離料金が最低料金からほとんど上がらなかったため。/tpaの支払い確認を「送信時」から「相手が承諾した後」に変更。/tpaは即座に送信され、相手が承諾した後に「本当にテレポートしますか?」という確認が出る。
他プラグインとのVault経済連携の信頼性向上
GambleGate・VillagerMarket・Roulette・Gunなど、他のプラグインがEcoTPの経済をVault経由で見つけられないことがあり、段階的に解決しました。
- 失敗が確認できたプラグインを
loadbeforeに列挙 → その後、サーバー上の他の全プラグインに拡大。 load: STARTUPを試し、EcoTPをほぼ全プラグインより先に有効化。動作はしたが、Vault・PlaceholderAPIは通常もっと後に有効化されるため、防御的なコードが余分に必要だった。- 実サーバーのログから、もっと根本的なバグを発見・修正。EcoTP自身のjarが
NoClassDefFoundError: net/milkbowl/vault/economy/Economyでロードにすら失敗していた。原因はmainクラスがVaultのEconomy型を直接参照していたこと。Economy型に関わる処理をEconomyHolderという別クラスに切り出し解決。 load: STARTUPをやめ、depend: [Vault](それまではソフト依存)に変更。Vaultは必須になった(導入していないとEcoTPはロードされない)ため、README・config.yml・Modrinthの説明文も更新。- 実際にサーバーを再起動して確認: EcoTPは正常にロード・有効化され、経済を必要とする他プラグイン(Roulette、Lands、Jobs、QuickShop-Hikari、MyPet、EvenMoreFish、Train_Cartsなど)全員がVault経由でEcoTPの経済を正しく認識した。
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:FIZvTgMF:BYrjsCYY"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:FIZvTgMF:BYrjsCYY"
}
