Skip to content

Commit 070d3d6

Browse files
committed
remove bad code
1 parent 30b0510 commit 070d3d6

File tree

3 files changed

+3
-233
lines changed

3 files changed

+3
-233
lines changed

src/main/kotlin/dev/sterner/api/util/VoidBoundBlockUtils.kt

-133
Original file line numberDiff line numberDiff line change
@@ -17,125 +17,6 @@ import kotlin.math.abs
1717

1818
object VoidBoundBlockUtils {
1919

20-
private var lastPos: BlockPos? = null
21-
private var lastDistance: Double = 0.0
22-
23-
/**
24-
* Finds and breaks the furthest log block in a connected set.
25-
*/
26-
fun breakFurthestLog(level: Level, pos: BlockPos, blockState: BlockState, player: Player): Boolean {
27-
lastPos = pos
28-
lastDistance = 0.0
29-
30-
val reachDistance = if (level.getBlockState(pos).`is`(BlockTags.LOGS)) 2 else 1
31-
searchForBlocks(level, pos, blockState, reachDistance)
32-
33-
val blockBroken = breakBlock(level, player, lastPos!!)
34-
level.markAndNotifyBlock(pos, level.getChunkAt(pos), blockState, blockState, 3, 20)
35-
36-
if (blockBroken && level.getBlockState(pos).`is`(BlockTags.LOGS)) {
37-
level.markAndNotifyBlock(pos, level.getChunkAt(pos), blockState, blockState, 3, 20)
38-
39-
for (xOffset in -3..3) {
40-
for (yOffset in -3..3) {
41-
for (zOffset in -3..3) {
42-
val offsetPos = lastPos!!.offset(xOffset, yOffset, zOffset)
43-
level.scheduleTick(offsetPos, level.getBlockState(offsetPos).block, 20)
44-
}
45-
}
46-
}
47-
}
48-
49-
return blockBroken
50-
}
51-
52-
/**
53-
* Handles breaking the block, applying any tool enchantments or player abilities.
54-
*/
55-
private fun breakBlock(level: Level, player: Player, pos: BlockPos): Boolean {
56-
if (player is ServerPlayer) {
57-
val blockState = level.getBlockState(pos)
58-
val blockEntity = level.getBlockEntity(pos)
59-
60-
val successfulBreak: Boolean = if (player.abilities.instabuild) {
61-
removeBlock(player, pos)
62-
} else {
63-
val itemStack = player.mainHandItem
64-
val canDestroy = blockState.canEntityDestroy(level, pos, player)
65-
val isRemoved = removeBlock(player, pos, canDestroy)
66-
67-
if (isRemoved && canDestroy) {
68-
val enchantedStack = applyFortune(itemStack)
69-
blockState.block.playerDestroy(level, player, pos, blockState, blockEntity, enchantedStack)
70-
}
71-
72-
isRemoved
73-
}
74-
75-
return successfulBreak
76-
}
77-
78-
return false
79-
}
80-
81-
/**
82-
* Removes the block and applies any block-breaking logic.
83-
*/
84-
private fun removeBlock(player: Player, pos: BlockPos, canHarvest: Boolean = false): Boolean {
85-
val blockState = player.level().getBlockState(pos)
86-
87-
return blockState.onDestroyedByPlayer(player.level(), pos, player, canHarvest, blockState.fluidState)
88-
.also { flag ->
89-
if (flag) {
90-
blockState.block.destroy(player.level(), pos, blockState)
91-
}
92-
}
93-
}
94-
95-
/**
96-
* Recursively searches for the furthest block within the given reach.
97-
*/
98-
private fun searchForBlocks(level: Level, pos: BlockPos, blockState: BlockState, reach: Int) {
99-
for (xOffset in -reach..reach) {
100-
for (yOffset in reach downTo -reach) {
101-
for (zOffset in -reach..reach) {
102-
if (isOutOfBounds(pos, xOffset, yOffset, zOffset)) return
103-
104-
val currentPos = lastPos!!.offset(xOffset, yOffset, zOffset)
105-
val currentState = level.getBlockState(currentPos)
106-
107-
if (currentState.block == blockState.block && currentState.block.properties.destroyTime >= 0.0f) {
108-
val distance = calculateDistance(pos, xOffset, yOffset, zOffset)
109-
if (distance > lastDistance) {
110-
lastDistance = distance
111-
lastPos = currentPos
112-
searchForBlocks(level, pos, blockState, reach)
113-
return
114-
}
115-
}
116-
}
117-
}
118-
}
119-
}
120-
121-
/**
122-
* Calculates the squared distance for optimization purposes.
123-
*/
124-
private fun calculateDistance(pos: BlockPos, xOffset: Int, yOffset: Int, zOffset: Int): Double {
125-
val xd = lastPos!!.x + xOffset - pos.x
126-
val yd = lastPos!!.y + yOffset - pos.y
127-
val zd = lastPos!!.z + zOffset - pos.z
128-
return (xd * xd + yd * yd + zd * zd).toDouble()
129-
}
130-
131-
/**
132-
* Checks if the position is out of bounds for searching.
133-
*/
134-
private fun isOutOfBounds(pos: BlockPos, xOffset: Int, yOffset: Int, zOffset: Int): Boolean {
135-
return abs(lastPos!!.x + xOffset - pos.x) > 24 ||
136-
abs(lastPos!!.y + yOffset - pos.y) > 48 ||
137-
abs(lastPos!!.z + zOffset - pos.z) > 24
138-
}
13920

14021
/**
14122
* Recursively gathers all connected log blocks of the same type.
@@ -181,20 +62,6 @@ object VoidBoundBlockUtils {
18162
log2.defaultBlockState().`is`(BlockRegistry.EXPOSED_SOULWOOD_LOG.get())
18263
}
18364

184-
/**
185-
* Applies fortune enchantments to the item stack used for block breaking.
186-
*/
187-
private fun applyFortune(itemStack: ItemStack): ItemStack {
188-
val enchantments = EnchantmentHelper.getEnchantments(itemStack).toMutableMap()
189-
val fortuneLevel = enchantments[Enchantments.BLOCK_FORTUNE] ?: 0
190-
191-
if (fortuneLevel > 0) {
192-
enchantments[Enchantments.BLOCK_FORTUNE] = fortuneLevel
193-
}
194-
195-
return itemStack.copy().also { EnchantmentHelper.setEnchantments(enchantments, it) }
196-
}
197-
19865
/**
19966
* Returns false if the block being broken is warded by any player
20067
*/

src/main/kotlin/dev/sterner/common/item/equipment/GalesEdgeItem.kt

+1-55
Original file line numberDiff line numberDiff line change
@@ -56,61 +56,7 @@ open class GalesEdgeItem(
5656
companion object {
5757

5858
fun ascend(player: LivingEntity, stack: ItemStack, ticks: Int) {
59-
var newMotionY = player.deltaMovement.y
60-
61-
if (newMotionY < 0.0) {
62-
newMotionY /= 1.2
63-
player.fallDistance /= 1.2f
64-
}
65-
66-
newMotionY += 0.08
67-
if (newMotionY > 0.5) {
68-
newMotionY = 0.2
69-
}
70-
71-
player.deltaMovement = Vec3(player.deltaMovement.x, newMotionY, player.deltaMovement.z)
72-
73-
val targets: List<*> =
74-
player.level().getEntities(player, player.boundingBox.inflate(2.5, 2.5, 2.5))
75-
var miny: Int
76-
if (targets.isNotEmpty()) {
77-
miny = 0
78-
while (miny < targets.size) {
79-
val entity: Entity = targets[miny] as Entity
80-
if (entity !is Player && entity is LivingEntity && !entity.isDeadOrDying && (player.passengers == null || player.passengers !== entity)) {
81-
val p = Vec3(player.x, player.y, player.z)
82-
val t = Vec3(entity.x, entity.y, entity.z)
83-
val distance: Double = p.distanceTo(t) + 0.1
84-
val r = Vec3(t.x - p.x, t.y - p.y, t.z - p.z)
85-
86-
val prevDeltaMovement = entity.deltaMovement
87-
entity.deltaMovement = Vec3(
88-
prevDeltaMovement.x + r.x / 2.5 / distance,
89-
prevDeltaMovement.y + r.y / 2.5 / distance,
90-
prevDeltaMovement.z + r.z / 2.5 / distance
91-
)
92-
93-
}
94-
++miny
95-
}
96-
}
97-
98-
if (player.level().isClientSide) {
99-
for (i in 1..4) {
100-
genParticleOrbit(player.level(), player.position(), 4, i)
101-
}
102-
}
103-
104-
if (ticks % 20 == 0) {
105-
106-
stack.hurtAndBreak(
107-
1, player
108-
) { _: LivingEntity ->
109-
player.broadcastBreakEvent(
110-
player.usedItemHand
111-
)
112-
}
113-
}
59+
//TODO
11460
}
11561

11662
fun genParticleOrbit(level: Level, pos: Vec3, range: Int, direction: Int) {

src/main/kotlin/dev/sterner/common/item/equipment/TidecutterItem.kt

+2-45
Original file line numberDiff line numberDiff line change
@@ -60,50 +60,7 @@ open class TidecutterItem(
6060
val stuff = level.getEntitiesOfClass(ItemEntity::class.java, livingEntity.boundingBox.inflate(10.0))
6161

6262
if (stuff != null && stuff.isNotEmpty()) {
63-
val iterator = stuff.iterator()
64-
while (iterator.hasNext()) {
65-
val e: ItemEntity = iterator.next() as ItemEntity
66-
if (!e.isRemoved) {
67-
val direction = Vec3(
68-
livingEntity.x - e.x,
69-
(livingEntity.y + livingEntity.bbHeight / 2.0) - (e.y + e.bbHeight / 2.0),
70-
livingEntity.z - e.z
71-
).normalize()
72-
73-
val speedFactor = 0.045
74-
75-
val newMotion = direction.scale(speedFactor)
76-
77-
val clampedMotion = Vec3(
78-
newMotion.x.coerceIn(-0.25, 0.25),
79-
newMotion.y.coerceIn(-0.25, 0.25),
80-
newMotion.z.coerceIn(-0.25, 0.25)
81-
)
82-
83-
e.deltaMovement = e.deltaMovement.add(clampedMotion)
84-
85-
if (!level.isClientSide) {
86-
for (player in PlayerLookup.tracking(e)) {
87-
for (i in 0..5) {
88-
val pos = Vector3f(
89-
e.x.toFloat() + (level.random.nextFloat() - level.random.nextFloat()) * 0.2f,
90-
e.y.toFloat() + e.bbHeight + (level.random.nextFloat() - level.random.nextFloat()) * 0.2f,
91-
e.z.toFloat() + (level.random.nextFloat() - level.random.nextFloat()) * 0.2f
92-
)
93-
VoidBoundPacketRegistry.VOID_BOUND_CHANNEL.sendToClient(
94-
BubbleParticlePacket(
95-
Vector3f(
96-
clampedMotion.x.toFloat(),
97-
clampedMotion.y.toFloat(),
98-
clampedMotion.z.toFloat()
99-
), pos
100-
), player
101-
)
102-
}
103-
}
104-
}
105-
}
106-
}
63+
//TODO
10764
}
10865

10966
super.onUseTick(level, livingEntity, stack, remainingUseDuration)
@@ -166,7 +123,7 @@ open class TidecutterItem(
166123
}
167124
}
168125

169-
VoidBoundBlockUtils.breakFurthestLog(level, pos, block, player)
126+
//TODO break furthest block
170127
breakEvent.isCanceled = true
171128
}
172129
}

0 commit comments

Comments
 (0)