Skip to content

Commit 58560da

Browse files
committed
ichorium rewrite part 1
1 parent fad369a commit 58560da

26 files changed

+164
-444
lines changed

Diff for: src/main/kotlin/dev/sterner/client/event/MalumCodexEvent.kt

+8-48
Original file line numberDiff line numberDiff line change
@@ -247,18 +247,18 @@ object MalumCodexEvent {
247247
}
248248

249249
screen?.addEntry(
250-
"void.ichorium_pickaxe", -1, -4
250+
"void.ichorium_vorpal", -1, -4
251251
) { b: PlacedBookEntryBuilder ->
252252
b
253253
.configureWidget { w: ProgressionEntryObject ->
254254
w.setIcon(
255-
VoidBoundItemRegistry.ICHORIUM_PICKAXE.get()
255+
VoidBoundItemRegistry.ICHORIUM_VORPAL.get()
256256
).setStyle(VOID_GILDED)
257257
}
258-
.addPage(HeadlineTextPage("void.ichorium_pickaxe", "void.ichorium_pickaxe.1"))
258+
.addPage(HeadlineTextPage("void.ichorium_vorpal", "void.ichorium_vorpal.1"))
259259
.addPage(
260260
SpiritInfusionPage.fromOutput(
261-
VoidBoundItemRegistry.ICHORIUM_PICKAXE.get()
261+
VoidBoundItemRegistry.ICHORIUM_VORPAL.get()
262262
)
263263
)
264264
.setEntryVisibleWhen {
@@ -267,58 +267,18 @@ object MalumCodexEvent {
267267
}
268268

269269
screen?.addEntry(
270-
"void.ichorium_sword", 0, -5
270+
"void.ichorium_terraformer", 0, -5
271271
) { b: PlacedBookEntryBuilder ->
272272
b
273273
.configureWidget { w: ProgressionEntryObject ->
274274
w.setIcon(
275-
VoidBoundItemRegistry.ICHORIUM_SWORD.get()
275+
VoidBoundItemRegistry.ICHORIUM_TERRAFORMER.get()
276276
).setStyle(VOID_GILDED)
277277
}
278-
.addPage(HeadlineTextPage("void.ichorium_sword", "void.ichorium_sword.1"))
278+
.addPage(HeadlineTextPage("void.ichorium_terraformer", "void.ichorium_terraformer.1"))
279279
.addPage(
280280
SpiritInfusionPage.fromOutput(
281-
VoidBoundItemRegistry.ICHORIUM_SWORD.get()
282-
)
283-
)
284-
.setEntryVisibleWhen {
285-
VoidBoundApi.hasIchorKnowledgeClient()
286-
}
287-
}
288-
289-
screen?.addEntry(
290-
"void.ichorium_shovel", -2, -5
291-
) { b: PlacedBookEntryBuilder ->
292-
b
293-
.configureWidget { w: ProgressionEntryObject ->
294-
w.setIcon(
295-
VoidBoundItemRegistry.ICHORIUM_SHOVEL.get()
296-
).setStyle(VOID_GILDED)
297-
}
298-
.addPage(HeadlineTextPage("void.ichorium_shovel", "void.ichorium_shovel.1"))
299-
.addPage(
300-
SpiritInfusionPage.fromOutput(
301-
VoidBoundItemRegistry.ICHORIUM_SHOVEL.get()
302-
)
303-
)
304-
.setEntryVisibleWhen {
305-
VoidBoundApi.hasIchorKnowledgeClient()
306-
}
307-
}
308-
309-
screen?.addEntry(
310-
"void.ichorium_axe", 2, -5
311-
) { b: PlacedBookEntryBuilder ->
312-
b
313-
.configureWidget { w: ProgressionEntryObject ->
314-
w.setIcon(
315-
VoidBoundItemRegistry.ICHORIUM_AXE.get()
316-
).setStyle(VOID_GILDED)
317-
}
318-
.addPage(HeadlineTextPage("void.ichorium_axe", "void.ichorium_axe.1"))
319-
.addPage(
320-
SpiritInfusionPage.fromOutput(
321-
VoidBoundItemRegistry.ICHORIUM_AXE.get()
281+
VoidBoundItemRegistry.ICHORIUM_TERRAFORMER.get()
322282
)
323283
)
324284
.setEntryVisibleWhen {

Diff for: src/main/kotlin/dev/sterner/client/screen/ItemAbilityScreen.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ class ItemAbilityScreen(stack: ItemStack) : Screen(Component.literal("Ability Se
108108
if (index == selection) {
109109
guiGraphics.drawCenteredString(
110110
minecraft!!.font,
111-
"voidbound.ability." + ability.name.lowercase(),
111+
Component.translatable("voidbound.ability." + ability.name.lowercase()),
112112
abilityX + 24,
113113
y + 34,
114114
0xDDCCFF

Diff for: src/main/kotlin/dev/sterner/common/item/tool/GalesEdgeItem.kt

+51-48
Original file line numberDiff line numberDiff line change
@@ -49,67 +49,70 @@ open class GalesEdgeItem(
4949
}
5050

5151
override fun onUseTick(level: Level, player: LivingEntity, stack: ItemStack, remainingUseDuration: Int) {
52-
val ticks: Int = this.getUseDuration(stack) - remainingUseDuration
53-
var newMotionY = player.deltaMovement.y
52+
ascend(player, stack, this.getUseDuration(stack) - remainingUseDuration)
53+
super.onUseTick(level, player, stack, remainingUseDuration)
54+
}
5455

55-
if (newMotionY < 0.0) {
56-
newMotionY /= 1.2000000476837158
57-
player.fallDistance /= 1.2f
58-
}
56+
companion object {
5957

60-
newMotionY += 0.07999999821186066
61-
if (newMotionY > 0.5) {
62-
newMotionY = 0.20000000298023224
63-
}
58+
fun ascend(player: LivingEntity, stack: ItemStack, ticks: Int){
59+
var newMotionY = player.deltaMovement.y
6460

65-
player.deltaMovement = Vec3(player.deltaMovement.x, newMotionY, player.deltaMovement.z)
66-
67-
val targets: List<*> =
68-
player.level().getEntities(player, player.boundingBox.inflate(2.5, 2.5, 2.5))
69-
var miny: Int
70-
if (targets.isNotEmpty()) {
71-
miny = 0
72-
while (miny < targets.size) {
73-
val entity: Entity = targets[miny] as Entity
74-
if (entity !is Player && entity is LivingEntity && !entity.isDeadOrDying && (player.passengers == null || player.passengers !== entity)) {
75-
val p = Vec3(player.x, player.y, player.z)
76-
val t = Vec3(entity.x, entity.y, entity.z)
77-
val distance: Double = p.distanceTo(t) + 0.1
78-
val r = Vec3(t.x - p.x, t.y - p.y, t.z - p.z)
79-
80-
val prevDeltaMovement = entity.deltaMovement
81-
entity.deltaMovement = Vec3(
82-
prevDeltaMovement.x + r.x / 2.5 / distance,
83-
prevDeltaMovement.y + r.y / 2.5 / distance,
84-
prevDeltaMovement.z + r.z / 2.5 / distance
85-
)
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+
}
8670

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
8795
}
88-
++miny
8996
}
90-
}
9197

92-
if (player.level().isClientSide) {
93-
for (i in 1..4) {
94-
genParticleOrbit(level, player.position(), 4, i)
98+
if (player.level().isClientSide) {
99+
for (i in 1..4) {
100+
genParticleOrbit(player.level(), player.position(), 4, i)
101+
}
95102
}
96-
}
97103

98-
if (ticks % 20 == 0) {
104+
if (ticks % 20 == 0) {
99105

100-
stack.hurtAndBreak(
101-
1, player
102-
) { _: LivingEntity ->
103-
player.broadcastBreakEvent(
104-
player.usedItemHand
105-
)
106+
stack.hurtAndBreak(
107+
1, player
108+
) { _: LivingEntity ->
109+
player.broadcastBreakEvent(
110+
player.usedItemHand
111+
)
112+
}
106113
}
107114
}
108115

109-
super.onUseTick(level, player, stack, remainingUseDuration)
110-
}
111-
112-
companion object {
113116
fun genParticleOrbit(level: Level, pos: Vec3, range: Int, direction: Int) {
114117
val clampedDir = Mth.clamp(direction, 1, 4)
115118
val discRad = (range * (1 / 3f) + level.getRandom().nextGaussian() / 5f)

Diff for: src/main/kotlin/dev/sterner/common/item/tool/TidecutterItem.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ open class TidecutterItem(
134134
if (level != null) {
135135
val block = level.getBlockState(pos)
136136
if (!player.isShiftKeyDown && block.`is`(BlockTags.LOGS)) {
137-
if (player.mainHandItem.`is`(VoidBoundItemRegistry.ICHORIUM_AXE.get())) {
137+
if (player.mainHandItem.`is`(VoidBoundItemRegistry.ICHORIUM_TERRAFORMER.get())) {
138138
val logsToBreak: List<BlockPos> = VoidBoundBlockUtils.gatherConnectedLogs(
139139
level,
140140
pos,

Diff for: src/main/kotlin/dev/sterner/common/item/tool/ichor/IchoriumAxeItem.kt

-11
This file was deleted.

Diff for: src/main/kotlin/dev/sterner/common/item/tool/ichor/IchoriumHoeItem.kt

-33
This file was deleted.

Diff for: src/main/kotlin/dev/sterner/common/item/tool/ichor/IchoriumPickaxeItem.kt

-51
This file was deleted.

Diff for: src/main/kotlin/dev/sterner/common/item/tool/ichor/IchoriumShovelItem.kt

-41
This file was deleted.

0 commit comments

Comments
 (0)