Library to generalize functionality between several projects

Overview

libreforge

libreforge is a library to generalize functionality between several projects, notably EcoArmor, EcoWeapons, and Reforges.

spigot

Get from JitPack:

Gradle:

repositories {
        maven { url 'https://jitpack.io' }
}
dependencies {
        compileOnly 'com.willfp:libreforge:Tag'
}

Replace Tag with a release tag for libreforge, eg 1.0.0.

License

Click here to read the entire license.

Check out our partners!

Comments
  • cancel_event effect bug #2

    cancel_event effect bug #2

    Describe the bug A clear and concise description of what the bug is. When using the cancel_event with the mine_block or the mine_block_progress it is not stopping me from breaking a block and I cannot add a filter with ecoenchants To Reproduce Steps to reproduce the behavior:

    1. go to customenchants.yml
    2. copypaste this: https://pastebin.com/J40Ktk41
    3. do /ecoenchants reload
    4. grab a pickaxe and do /enchants toucher_de_druse 1
    5. mine a budding amethyst block or any block

    Expected behavior it should prevent me from breaking the block

    Screenshots none

    Server Information (please complete the following information):

    • Version: (output of /ver command)
    • Version of plugin and eco (/ver eco, /ver <plugin>)
    • 1.18.2

    eco version 6.35.6

    Additional context I already reported this issue but it did not get fixed. https://github.com/Auxilor/libreforge/issues/15

    bug 
    opened by LuluxClient 5
  • Create a condition for an item

    Create a condition for an item

    Describe the solution you'd like I'd like the ability to add a condition to an item which will prevent use of the item unless the condition is true.

    For example, a pickaxe with a mining level requirement to use. Or armor that requires a defense level to equip.

    Something that would look like this:

          effects: []
          conditions: 
            - id: has_skill_level
              args:
                skill: mining
                level: 15
          lore:
            - ""
    
    enhancement 
    opened by OmegaWulf 2
  • arrow_ring effect ignores pvp protections when triggered by a player

    arrow_ring effect ignores pvp protections when triggered by a player

    Describe the bug arrow_ring effect ignores pvp restrictions

    To Reproduce Steps to reproduce the behavior:

    1. use arrow_ring effect on something that can be triggered by a player (ex a custom enchant)
    2. use on another player in a pvp protected area

    Expected behavior arrow_ring effect should respect pvp protections when triggered by a player.

    Server Information (please complete the following information):

    • Version: git-Paper-379
    • Eco version: 6.36.4
    bug 
    opened by KermX 2
  • Multiplier as function

    Multiplier as function

    In classes that export the Effect class, we have a handleEnable method. In this method we are creating new MultiplierModifier with uuid, and modifier as Double. Value of modifier is obtained from config.

    The problem is that it is only obtained at the beginning. And the handle method uses the previously retrieved value. If you set a dynamic value in config, like multiplier: "%level% * 2" the handleEnable method will be executed when the pet is created and when pet is lvl1, the multipler value in this example will be set to 2. The problem arises when the pet's level is changed, for example it reaches level 2. The new multipler value in our example should be 4. However, since the handleEnable method was done before, the MultiplierModifier still holds the old value.

    Imo best solution to this problem would be to change to MultiplierModifier to make it not store a static Double value but only a pointer to the config. Then the value would be taken in the handle method.

    opened by Kopekk 1
  • triggers dont working in worldguard protected regions

    triggers dont working in worldguard protected regions

    Describe the bug The triggers alt_click, mine_block and place_block dont work in protected regions (like spawns) where worldguard cancels these events with the flags block-break: deny and block-place: deny

    To Reproduce Steps to reproduce the behavior:

    1. Place a region with the flags block-break: deny and block-place: deny
    2. Place a trigger alt_click, mine_block or place_block anywhere
    3. Take off the operator mode (deop)
    4. Try to call the trigger
    5. The trigger is not activated

    Expected behavior Activate the trigger anywhere

    Server Information (please complete the following information):

    • Version: git-Paper-210 (MC: 1.19.2)
    • Version of plugin and eco: eco version 6.43.7, EcoItems version 3.126.0
    bug 
    opened by TadaClip 1
  • Add more support to aureliumskills

    Add more support to aureliumskills

    Is your feature request related to a problem? Please describe. On the wiki it says that skill_xp_multiplier works for ecoskills and aureliumskills but there is no support for aureliumskills in this effect.

    Describe the solution you'd like add skill_xp_multiplier to aureliumskills

    Describe alternatives you've considered Could you add the same effects and triggers that ecoskills has to aureliumskills?

    I know you probably don't make it so that ecoskills stand out in your ecosystem, but why not add more support for existing 3rd party plugins?

    Captura de Pantalla 2022-10-04 a la(s) 21 30 18

    enhancement 
    opened by TadaClip 1
  • cancel_event doesn't work for send_message trigger

    cancel_event doesn't work for send_message trigger

    Describe the bug Effect cancel_event doesn't currently work for the send_message trigger. With this config I would expect it to cancel/hide the 'hurt me' message in chat.

    effects:
      - id: run_chain_inline
        args:
          every: 1
          chain:
            effects:
              - id: cancel_event
              - id: run_command
                args:
                  command: "lightning %player_name%"
        triggers:
          - send_message
        filters:
         text_contains: 
           - "hurt me"
    

    Server Information (please complete the following information):

    • Version: git-Paper-177 (MC: 1.19.2)
    • eco version 6.42.0
    bug 
    opened by MillionthOdin16 1
  • [EcoJobs] Jobs not Crossserver Synced

    [EcoJobs] Jobs not Crossserver Synced

    Describe the bug Jobs are not Synced on an Crossserver Network. Players can have on every Server another Job with own XP/Level value. So there is actually not synced via MySQL. (For understanding im Using EcoSkills too and this is Synced. Because the MySQL Values are in Eco not in the Plugins itself)

    To Reproduce Only install the Plugin on two Server and check if its Synced with each other.

    Expected behavior I want that when an user have the Miner Job, he has it on Every Server with the same Level/XP.

    Screenshots Its not clearly see on screens that im on another Server (on the same Network) with an other Job and Level/XP.

    Server Information (please complete the following information):

    • MC Version: git-Purpur-1788 (MC: 1.19.2)
    • Proxy Version: Velocity 3.1.2-SNAPSHOT
    • Eco Version: 6.41.1
    • EcoJobs Version: 1.7.0
    bug 
    opened by JamesBach93 1
  • BUG of Ecoenchant and KingdomX

    BUG of Ecoenchant and KingdomX

    Hello, the author, your plug-in ecoenchant or the front-end plug-in eco conflicts with the kingkomx plug-in. For example, it will lead to the inability to use the infaltouch enchantment. This problem has been found so far, which is a big problem for my server. I update your plug-in and the front-end to the latest version or the latest stable version. It is useless. Next is an error report

    1:28:55 ERROR]: Could not pass event BlockDropI temEvent to EcoEnchants v8. 21.0 java.1ang. NoSuchllethodError:’org. kingdoms. constants. kingdom Kingdom org. kingdoms. constants. player. KingdomPlayer. getKingdom(' at com wil1fp. eco. internal. spi got. integrati ons. anti grief. Anti gri efKingdoms. canBreakB1 ock (Anti gri efKingdoms. kt:24) [eco-6. 19. 0-a11. jar:?] at com wi 11fp. eco. core. integrations. anti gri ef. Anti gri efiManager.1 ambda$canBreakB1 ock$2 (Anti gri efManager. java:60) [eco-6. 19. 0-a11. jar:?] at java. util. stream. Match0ps$ 1Ma tchSink. accept (Unknown Source) [7:7] at java. util. Ha shllap$KeySp1i tera tor. tryAdvance (Unknown Source) at java. util. stream. Ref erencePipe1 ine. forEachWi thCance1 (Unknown Source) at java. uti1. stream AbstractPipe1 ine. copyIntoWi thCance1 (Unknown, Source) TE8:3 at java. util. stream. AbstractPipeline. copyInto (Unknown Source) [?:?] at java. util. strean. AbstractPipel ine. wr apAndCopyInto (Unknown Source)" [?:? at java. util. stream. Ma tch0ps$M[a tch0p. evalua teSequenti a1 (Unknown Source) at java. uti1. stream Match0ps$MatchOp. evalua teSequentia1 (Unknown Source) [?:?] at java. uti1. stream AbstractPipeline. evaluate (Unknown Source) [?:?] at java. util. stream. Ref erencePipeline. a11Match (Unknown Source) [?:?] at com. wi1lfp. eco. core. integrati ons. antigrief. Anti gri efiManager. canBreakB1ock (Anti gri efiManager. java: 60) [eco-6. 19. 0-a11. jar:?] at com. wi11 fp. ecoenchants. enchantments. ecoenchants. norma1. In QY}7 NLHX$U D%8LK%)7K31 f erna1T ouch. inf erna1T ouchBreak (Inf erna1Touch. java:101) [EcoEnchants v8. 21. 0. ja

    bug 
    opened by DeadCat1123 1
  • Creature problem

    Creature problem

    [17:54:00 ERROR]: Could not pass event PlayerInteractEvent to EcoEnchants v9.0.0-b10 java.lang.ClassCastException: class com.willfp.eco.internal.entities.EcoDummyEntity cannot be cast to class org.bukkit.entity.Mob (com.willfp.eco.internal.entities.EcoDummyEntity is in unnamed module of loader 'eco-6.38.3-all.jar' @2ad4e967; org.bukkit.entity.Mob is in unnamed module of loader java.net.URLClassLoader @61e717c2) at com.willfp.ecoenchants.libreforge.effects.effects.EffectSpawnMobs.handle(EffectSpawnMobs.kt:51) ~[?:?] at com.willfp.ecoenchants.libreforge.effects.ConfiguredEffect.invoke$eco_api(ConfiguredEffect.kt:214) ~[?:?] at com.willfp.ecoenchants.libreforge.chains.ChainComponentEffect.invoke(EffectChain.kt:34) ~[?:?] at com.willfp.ecoenchants.libreforge.chains.NormalChainInvoker.invoke(ChainInvokers.kt:22) ~[?:?] at com.willfp.ecoenchants.libreforge.chains.EffectChain.invoke(EffectChain.kt:16) ~[?:?] at com.willfp.ecoenchants.libreforge.effects.effects.EffectRunChainInline.handle(EffectRunChainInline.kt:38) ~[?:?] at com.willfp.ecoenchants.libreforge.effects.ConfiguredEffect.invoke$eco_api(ConfiguredEffect.kt:215) ~[?:?] at com.willfp.ecoenchants.libreforge.effects.ConfiguredEffect.invoke$eco_api$default(ConfiguredEffect.kt:48) ~[?:?] at com.willfp.ecoenchants.libreforge.triggers.Trigger.processTrigger(Trigger.kt:67) ~[?:?] at com.willfp.ecoenchants.libreforge.triggers.Trigger.processTrigger(Trigger.kt:30) ~[?:?] at com.willfp.ecoenchants.libreforge.triggers.Trigger.processTrigger$default(Trigger.kt:29) ~[?:?] at com.willfp.ecoenchants.libreforge.triggers.triggers.TriggerAltClick.handle(TriggerAltClick.kt:112) ~[?:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor331.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:git-Paper-387] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:669) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:544) ~[paper-1.18.2.jar:git-Paper-387] at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:507) ~[paper-1.18.2.jar:git-Paper-387] at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:502) ~[paper-1.18.2.jar:git-Paper-387] at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:498) ~[paper-1.18.2.jar:git-Paper-387] at net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItem(ServerGamePacketListenerImpl.java:1910) ~[?:?] at net.minecraft.network.protocol.game.ServerboundUseItemPacket.handle(ServerboundUseItemPacket.java:28) ~[?:?] at net.minecraft.network.protocol.game.ServerboundUseItemPacket.a(ServerboundUseItemPacket.java:8) ~[?:?] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:51) ~[?:?] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.18.2.jar:git-Paper-387] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1400) ~[paper-1.18.2.jar:git-Paper-387] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:188) ~[paper-1.18.2.jar:git-Paper-387] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1377) ~[paper-1.18.2.jar:git-Paper-387] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1370) ~[paper-1.18.2.jar:git-Paper-387] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1348) ~[paper-1.18.2.jar:git-Paper-387] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1230) ~[paper-1.18.2.jar:git-Paper-387] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316) ~[paper-1.18.2.jar:git-Paper-387] at java.lang.Thread.run(Thread.java:833) ~[?:?]

    bug 
    opened by HyperFearless 1
  • Shoot effect does not work

    Shoot effect does not work

    Describe the bug The shoot effect does not work, all projectiles are unsupported

    To Reproduce Steps to reproduce the behavior:

    1. Create an item or custom enchant that uses the shoot effect (I believe the trigger and all other variables can be anything)
    2. Try to use said item or enchant.

    Expected behavior A projectile should be shot.

    Screenshots If applicable, add screenshots to help explain your problem.

    Server Information (please complete the following information):

    • Version: git-PufferfishPlus-21 (MC: 1.19.2)
    • Version eco: eco version 6.38.3
    • Version ecoitems: EcoItems version 3.99.0
    • Version ecoenchants: EcoEnchants version 8.110.0

    Additional context (https://pastebin.com/Xsg6sj2M) Pastebin of error when attempting.

    bug 
    opened by KermX 1
  • Mythicmobs support for filters

    Mythicmobs support for filters

    Add filter like mythicmobs: list or ability to use it in entities list like mythicmobs:skeleton_king, so we could have more possibility with your plugins

    enhancement 
    opened by Neeekss 0
  • URGENT❗MANY PEOPLE WILL SUFFER IF THESE EFFECTS WONT BE ADDED❗❗❗❗❗

    URGENT❗MANY PEOPLE WILL SUFFER IF THESE EFFECTS WONT BE ADDED❗❗❗❗❗

    MUST HAVE EFFECTS OR BADLUCK 4EVER:

    1. item_pick_up
    2. teleport_to_ground
    3. spawn_anvil > amount > (Spawns an anvil above a player's head that feel on their head.)
    4. set_nerarby_blocks just like the same way glow_nearby_blocks is
    5. set_player_weather / set_weather
    6. set_player_time / set_time
    7. spawn_tnt

    SAME BUT CONDITIONS:

    1. in_portal (nether)
    2. is_near_spawner
    3. on_block
    4. near_block
    5. near_entity
    6. is_swimming
    7. is_day
    8. is_raining

    TRIGGERS TOO:

    1. swimming

    POSSIBLE NOT WORKING EFFECTS:

    1. spawn_particle
    2. send_title
    3. traceback
    4. extinguish

    EXTRA:

    1. ESSENTIALS X SUPPORT FOR 1) sell_multiplier / sell_items
    2. Add to sell_multiplier triggers mutators conditions
    enhancement 
    opened by Kristopherrr 2
  • Idea for a new placeholder ❤️

    Idea for a new placeholder ❤️

    It would be nice to have a placeholder that returns the total value of a multiplier. For example, if i use Actions (x2 multiplier) and Boosters (x2) to multiply the xp of a job the total multiplier would be x4 but there isn't any placeholder that returns the combined multiplier.

    This is mostly for these effects: • pet_xp_multiplier • job_xp_multiplier • jobs_xp_multiplier • jobs_money_multiplier • skill_xp_multiplier • boss_drop_chance_multiplier

    And other effects with a multiplier: • sell_multiplier • xp_multiplier • attack_speed_multiplier • crit_multiplier • food_multiplier • hunger_multiplier • food_multiplier • knockback_multiplier • knockback_resistance_multiplier • mcmmo_xp_multiplier • movement_speed_multiplier • regen_multiplier • luck_multiplier • mob_coins_multiplier • damage_multiplier

    enhancement 
    opened by Kristopherrr 1
  • New triggers/effects/conditions

    New triggers/effects/conditions

    Hello, with the release of the new Actions plugin I came up with new triggers/effects/conditions to do more things. I apologize if there are things that are duplicated (i.e. if there are already things that currently exist):

    player_join Event called when a player joins the server.

    player_leave Event called when a player leaves the server.

    player_respawn Event called when a player respawns.

    player_command Event called when a player executes a command.

    player_chat Event called when a player writes something in chat.

    level_up_player Event called when a player changes its level (vanilla xp).

    player_world_change Event called when a player is moving to another world.

    player_armor Event called when a player equips or unequips armor.

    player_teleport Event called when a player teleports somehow.

    player_bed Event called when a player sleeps on bed.

    item_pickup Event called when a player pickups an item.

    item_move Event called when a player tries to move an item from its inventory.

    item_select Event called when a player selects/deselects an item in their hotbar.

    entity_interact Event called when a player right clicks an entity.

    entity_spawn Event called when an entity (animal or mob vanilla) is going to spawn.

    add_holder_in_radius It will execute the action for all players inside a certain radius of blocks.

    enhancement 
    opened by Lariesse 1
  • Allow specifying growth stages/ block states in blocks filter.

    Allow specifying growth stages/ block states in blocks filter.

    Is your feature request related to a problem? Please describe. Not really a problem just more functionality!

    Describe the solution you'd like It would be great if we could specify growth stages/block states in the blocks filter.

    Describe alternatives you've considered A new filter for "fully grown" which has exactly the same effect for my application but maybe slightly less functionality for others

    enhancement 
    opened by KermX 1
  • Ecoenchants + ecoitems-custom enchant bug

    Ecoenchants + ecoitems-custom enchant bug

    Describe the bug This bug is an interaction between ecoitems and ecoenchants. I assume it's caused by ecoitems loading before custom enchants from ecoenchants or something to that effect. But if you put a custom enchant on an ecoitem upon server restart the custom enchant will not appear on the item unless you reload ecoitems

    To Reproduce Steps to reproduce the behavior:

    1. Create a custom enchant in customenchants.yml
    2. Create an ecoitem with said custom enchants
    3. Restart server
    4. Give yourself ecoitem via command (I haven't tested crafting but I assume it would be same)
    5. Observe that ecoitem doesn't have the enchantment

    Expected behavior The enchantment should be on the item

    Server Information (please complete the following information):

    • Version: got-Paper-366 (MC: 1.18.2) Eco: 6.36.4 Ecoitems: 3.68.1 Ecoenchants: 8.79.2
    bug 
    opened by KermX 1
Releases(3.127.0)
Owner
Auxilor
https://www.spigotmc.org/members/auxilor.507394/
Auxilor
Github User App for searching Github Users and get several information from it.

GithubUserApp Github User App for searching Github Users and get several information from it. This code implement with Coroutines, Retrofit, Architect

Wahyu Hendiarto W. 0 Apr 16, 2022
Kotlin snippets that you can understand quickly, using only stdlib functionality.

Support this and other projects from Ivan Mwiruki here. 30 seconds of Kotlin Curated collection of useful Kotlin 1.3 snippets that you can understand

Ivan Moto 246 Dec 19, 2022
PokeDexApi is a simple version of PokeApi with search functionality.

PokeDex Api PokeDexApi is a simple version of PokeApi with search functionality based on KTOR. Documentation Base Url https://poki-dex.herokuapp.com E

Rohit Sharma 1 Jan 15, 2022
Kotter - aims to be a relatively thin, declarative, Kotlin-idiomatic API that provides useful functionality for writing delightful console applications.

Kotter (a KOTlin TERminal library) aims to be a relatively thin, declarative, Kotlin-idiomatic API that provides useful functionality for writing delightful console applications.

Varabyte 348 Dec 21, 2022
A basic Kotlin implementation of Facebook's memcache lease functionality.

Liftgate Lease A basic Kotlin implementation of Facebook's memcache lease functionality. How it works If the cache key is empty or has been invalidate

null 6 Nov 10, 2022
Modern flashlight app with dim functionality on Android 13+

FlashDim About this project Features Download Supported devices Screenshots Contribute Used Icons License About this project Starting with Android 13,

Niko Diamadis 35 Jan 2, 2023
Simple event library to communicate between Activity/Fragment and ViewModel

Setup dependencies { implementation "com.github.skgmn:viewmodelevent:1.1.0" } If you don't know how to access to GitHub Packges, please refer to

null 4 Apr 6, 2022
This library handles conversion between Request Params and JPA Specification.

Spring Jpa Magic Filter This library handles conversion between spring rest Request Params and JPA Specification. It can be considered a simpler alter

Verissimo Joao Ribeiro 4 Jan 12, 2022
This Kotlin Multiplatform library is for accessing the TMDB API to get movie and TV show content. Using for Android, iOS, and JS projects.

Website | Forum | Documentation | TMDb 3 API Get movie and TV show content from TMDb in a fast and simple way. TMDb API This library gives access to T

Moviebase 37 Dec 29, 2022
Maintenance mode library for spring boot web and security projects.

spring-boot-starter-maintenance spring-boot-starter-maintenance is a maintenance mode library for spring boot web and security projects. Download Grad

Viascom 3 Nov 3, 2022
The app features real-time chatting between different users on daily topics

DailyDiscuss The app features real-time chatting between different users on daily topics. The app comes with 2 types of user interface: Admin who crea

null 1 Dec 20, 2021
InterAcao: tasks shared between people in a condominium or the same community

Projeto Integrador - Generation Brasil ?? ?? Interação ?? ?? Sobre • Funcionalidades • Implementações futuras • Layout • Como executar • Tecnologias •

Ana Clara Fagundes 3 Aug 8, 2022
🌱 A test implementation of a Minecraft server using RESTful API taking advantage of the interoperability between Kotlin and Java.

?? Norin A test implementation of a Minecraft server using RESTful API taking advantage of the interoperability between Kotlin and Java. This project

Gabriel 1 Jan 4, 2022
A podcast proxy that sits between itunes search api and android apps allowing normalization of rss feeds to standard Json format that can be consumed by apps.

Podcasts Rss Feeds Search Proxy A podcast proxy written using kotlin dsl that sits between itunes search api, podcasts rss feeds and android apps allo

8BitsLives .❤️ 2 Nov 27, 2022
Common - Packet Definition between Client and Server

CheaTank common A simple game aimed at developing a cheat client and suppressing

CheaTank 0 Jan 27, 2022
A complex of libraries and starters for organizing long-polling-based interaction between the client and the server.

A complex of libraries and starters for organizing long-polling-based interaction between the client and the server.

Mikhail Titov 2 Jun 25, 2022
An investigation and comparison between Kotlin and Java on an engineering level

An investigation and comparison between Kotlin and Java on an engineering level. Since beauty is in the eye of the beholder, this repository is not meant to evaluate Java or Kotlin on an aesthetic level.

João Filipe Sabino Esperancinha 13 Dec 3, 2022
Create libraries for all types of Kotlin projects: android, JVM, Multiplatform, Gradle plugins, and so on.

JavierSC Kotlin template Create libraries for all types of Kotlin projects: android, JVM, Multiplatform, Gradle plugins, and so on. Features Easy to p

Javier Segovia Córdoba 2 Dec 14, 2022
A lightweight tool for managing and building Kotlin projects.

kpm kpm (Kotlin Project Manager) is a lightweight tool for managing and building Kotlin projects. What is kpm? Essentially, kpm is going to be a light

Conor Byrne 5 Apr 23, 2022