Skip to content

Commit 27aead0

Browse files
committed
Variosu assortment of conversion to kotlin.
1 parent f1b8cd6 commit 27aead0

80 files changed

Lines changed: 2436 additions & 2291 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

common/src/main/java/generations/gg/generations/core/generationscore/common/api/player/AccountInfo.java

Lines changed: 0 additions & 54 deletions
This file was deleted.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package generations.gg.generations.core.generationscore.common.api.player
2+
3+
import com.google.gson.JsonObject
4+
import generations.gg.generations.core.generationscore.common.GenerationsCore
5+
import net.minecraft.world.entity.player.Player
6+
import java.math.BigDecimal
7+
8+
class AccountInfo(var balance: BigDecimal = BigDecimal.ZERO) : PlayerDataExtension {
9+
10+
override fun name(): String {
11+
return KEY
12+
}
13+
14+
override fun serialize(): JsonObject {
15+
val json = super.serialize()
16+
json.addProperty("balance", balance)
17+
return json
18+
}
19+
20+
override fun deserialize(jsonObject: JsonObject): PlayerDataExtension {
21+
return AccountInfo(jsonObject.getAsJsonPrimitive("balance").asBigDecimal)
22+
}
23+
24+
companion object {
25+
var KEY: String = "account_info"
26+
fun get(player: Player?): AccountInfo {
27+
return AccountInfo(GenerationsCore.CONFIG!!.economy.startingFunds) //Cobblemon.playerDataManager.getGenericData(player).getExtraData().computeIfAbsent(KEY, key -> new AccountInfo(GenerationsCore.CONFIG.economy.startingFunds)); TODO: rework
28+
}
29+
}
30+
}

common/src/main/java/generations/gg/generations/core/generationscore/common/api/player/PlayerMoneyHandler.java

Lines changed: 0 additions & 22 deletions
This file was deleted.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package generations.gg.generations.core.generationscore.common.api.player
2+
3+
import net.minecraft.world.entity.player.Player
4+
import java.util.function.Function
5+
6+
object PlayerMoneyHandler {
7+
val MONEY_CACHE: MutableMap<Player, PlayerMoney> = HashMap()
8+
9+
10+
private var function =
11+
Function<Player, PlayerMoney> { player: Player ->
12+
PlayerPokeDollars(
13+
player
14+
)
15+
}
16+
17+
fun setFunction(function: Function<Player, PlayerMoney>) {
18+
PlayerMoneyHandler.function = function
19+
}
20+
21+
@JvmStatic
22+
fun of(player: Player): PlayerMoney {
23+
return MONEY_CACHE.computeIfAbsent(player, function)
24+
}
25+
}

common/src/main/java/generations/gg/generations/core/generationscore/common/api/player/PlayerPokeDollars.java

Lines changed: 0 additions & 47 deletions
This file was deleted.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package generations.gg.generations.core.generationscore.common.api.player
2+
3+
import net.minecraft.world.entity.player.Player
4+
import java.math.BigDecimal
5+
import java.util.concurrent.CompletableFuture
6+
7+
/**
8+
* Manages the player's Pixelmon currency
9+
*/
10+
class PlayerPokeDollars(private val player: Player) : PlayerMoney {
11+
override fun balance(): CompletableFuture<BigDecimal> {
12+
return CompletableFuture.completedFuture(account.balance)
13+
}
14+
15+
val account: AccountInfo
16+
get() = AccountInfo.get(player)
17+
18+
fun set(amount: BigDecimal) {
19+
account.balance = amount
20+
}
21+
22+
override fun deposit(amount: BigDecimal): CompletableFuture<Boolean> {
23+
val account = account
24+
account.balance = account.balance.add(amount)
25+
return CompletableFuture.completedFuture(true) //Do we want an upper limit?
26+
}
27+
28+
// It will be up to the individual methods to first check balance before removing more than what the player has
29+
override fun withdraw(amount: BigDecimal): CompletableFuture<Boolean> {
30+
val account = account
31+
val newBalance = account.balance.subtract(amount)
32+
33+
if (newBalance.compareTo(BigDecimal.ZERO) < 0) return CompletableFuture.completedFuture(false)
34+
else {
35+
account.balance = newBalance
36+
return CompletableFuture.completedFuture(true)
37+
}
38+
}
39+
}

common/src/main/java/generations/gg/generations/core/generationscore/common/client/model/GenericObjectPool.java

Lines changed: 0 additions & 30 deletions
This file was deleted.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package generations.gg.generations.core.generationscore.common.client.model
2+
3+
import java.util.*
4+
import java.util.function.Supplier
5+
6+
class GenericObjectPool<T>(objectFactory: Supplier<T>, maxPoolSize: Int) {
7+
private val availableObjects: Queue<T> = ArrayDeque(maxPoolSize)
8+
private val usedObjects: Queue<T> = ArrayDeque(maxPoolSize)
9+
10+
init {
11+
for (i in 0 until maxPoolSize) availableObjects.add(objectFactory.get())
12+
}
13+
14+
fun acquire(): T? {
15+
if (availableObjects.isEmpty()) return null
16+
else {
17+
val obj = availableObjects.poll()
18+
usedObjects.add(obj)
19+
return obj
20+
}
21+
}
22+
23+
fun freeAll() {
24+
availableObjects.addAll(usedObjects)
25+
usedObjects.clear()
26+
}
27+
}

common/src/main/java/generations/gg/generations/core/generationscore/common/client/model/RunnableKeybind.java

Lines changed: 0 additions & 33 deletions
This file was deleted.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package generations.gg.generations.core.generationscore.common.client.model
2+
3+
import dev.architectury.event.EventResult
4+
import dev.architectury.event.events.client.ClientRawInputEvent
5+
import dev.architectury.registry.client.keymappings.KeyMappingRegistry
6+
import net.minecraft.client.KeyMapping
7+
import net.minecraft.client.Minecraft
8+
import org.lwjgl.glfw.GLFW
9+
10+
class RunnableKeybind(name: String, keyId: Int, category: String, private val runnable: Runnable) :
11+
KeyMapping(name, keyId, category) {
12+
init {
13+
ClientRawInputEvent.KEY_PRESSED.register(ClientRawInputEvent.KeyPressed { client: Minecraft, keyCode: Int, scanCode: Int, action: Int, modifiers: Int ->
14+
this.onKeyPress(
15+
client,
16+
keyCode,
17+
scanCode,
18+
action,
19+
modifiers
20+
)
21+
})
22+
}
23+
24+
fun onKeyPress(client: Minecraft, keyCode: Int, scanCode: Int, action: Int, modifiers: Int): EventResult {
25+
if (action == GLFW.GLFW_RELEASE && keyCode == defaultKey.value) {
26+
if (this.consumeClick()) runnable.run()
27+
return EventResult.interruptFalse()
28+
}
29+
30+
return EventResult.pass()
31+
}
32+
33+
companion object {
34+
@JvmStatic
35+
fun create(name: String, glfwKey: Int, category: String, action: Runnable) {
36+
val keybind = RunnableKeybind(name, glfwKey, category, action)
37+
KeyMappingRegistry.register(keybind)
38+
}
39+
}
40+
}

0 commit comments

Comments
 (0)