Compare commits

...

2 Commits

Author SHA1 Message Date
362c3bd931
Shuffle entities in vicinity of android charger, so all players around it will get charged more or less equally 2025-03-03 18:01:03 +07:00
866776dc74
YuRaNnNzZZ — Сегодня, в 17:57
но он продолжает меня заряжать
2025-03-03 17:59:50 +07:00

View File

@ -17,6 +17,8 @@ import ru.dbotthepony.mc.otm.capability.energy.WorkerEnergyStorage
import ru.dbotthepony.mc.otm.capability.matteryPlayer
import ru.dbotthepony.mc.otm.config.MachinesConfig
import ru.dbotthepony.mc.otm.core.getEntitiesInEllipsoid
import ru.dbotthepony.mc.otm.core.otmRandom
import ru.dbotthepony.mc.otm.core.shuffle
import ru.dbotthepony.mc.otm.menu.tech.AndroidChargerMenu
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
@ -35,13 +37,14 @@ class AndroidChargerBlockEntity(blockPos: BlockPos, blockState: BlockState) : Ma
override fun tick() {
super.tick()
if (redstoneControl.isBlockedByRedstone) return
val level = level ?: return
var available = energyConfig.energy.extractEnergy(energyConfig.energy.batteryLevel, true)
if (!available.isPositive) return
val ents = level.getEntitiesInEllipsoid(blockPos.center, Vec3(MachinesConfig.AndroidCharger.RADIUS_WIDTH, MachinesConfig.AndroidCharger.RADIUS_HEIGHT, MachinesConfig.AndroidCharger.RADIUS_WIDTH)) { it is Player }
ents.sort()
ents.shuffle(level.otmRandom)
for ((ent) in ents) {
val ply = (ent as Player).matteryPlayer