Skip to content

Commit bfd9a8d

Browse files
author
Smartin
committed
- workplace updates
- started implementation of new bow attributes
1 parent b033ccc commit bfd9a8d

File tree

8 files changed

+94
-6
lines changed

8 files changed

+94
-6
lines changed

.idea/gradle.xml

+64
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

common/src/main/java/smartin/miapi/attributes/AttributeRegistry.java

+2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ public class AttributeRegistry {
3939

4040
public static EntityAttribute BOW_DRAW_TIME;
4141

42+
public static EntityAttribute PLAYER_ITEM_USE_MOVEMENT_SPEED;
43+
4244
public static EntityAttribute PROJECTILE_DAMAGE;
4345
public static EntityAttribute PROJECTILE_CRIT_MULTIPLIER;
4446
public static EntityAttribute PROJECTILE_SPEED;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package smartin.miapi.mixin.client;
2+
3+
import net.minecraft.client.network.ClientPlayerEntity;
4+
import org.spongepowered.asm.mixin.Mixin;
5+
import org.spongepowered.asm.mixin.injection.At;
6+
import org.spongepowered.asm.mixin.injection.Inject;
7+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
8+
import smartin.miapi.attributes.AttributeRegistry;
9+
10+
@Mixin(value = ClientPlayerEntity.class)
11+
public class ClientPlayerEntityMixin {
12+
13+
@Inject(method = "tickMovement()V", at = @At("HEAD"))
14+
void miapi$renderArmorInject(CallbackInfo ci) {
15+
ClientPlayerEntity clientPlayerEntity = (ClientPlayerEntity) (Object) this;
16+
double attributeScale = clientPlayerEntity.getAttributeValue(AttributeRegistry.PLAYER_ITEM_USE_MOVEMENT_SPEED);
17+
clientPlayerEntity.input.movementForward *= (float) (attributeScale * 5);
18+
clientPlayerEntity.input.movementSideways *= (float) (attributeScale * 5);
19+
}
20+
}

common/src/main/java/smartin/miapi/registries/RegistryInventory.java

+4
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,10 @@ public static void setup() {
309309
new ClampedEntityAttribute("miapi.attribute.name.shield_break", 0.0, 0.0, 1024.0).setTracked(true),
310310
att -> SHIELD_BREAK = att);
311311

312+
registerAtt("generic.player_item_use_speed", true, () ->
313+
new ClampedEntityAttribute("miapi.attribute.name.player_item_use_speed", 0.2, 0.0, 1.0).setTracked(true),
314+
att -> PLAYER_ITEM_USE_MOVEMENT_SPEED = att);
315+
312316
//projectile based
313317
registerAtt("generic.bow_draw_time", true, () ->
314318
new ClampedEntityAttribute("miapi.attribute.name.bow_draw_time", 0.0, -1024.0, 1024.0).setTracked(true),

common/src/main/resources/assets/miapi/lang/en_us.json

+1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
"miapi.attribute.name.elytra_turn_efficiency": "Elytra Turn Efficiency",
6969
"miapi.attribute.name.elytra_glide_efficiency": "Elytra Glide Efficiency",
7070
"miapi.attribute.name.elytra_rocket_efficiency": "Elytra Rocket Efficiency",
71+
"miapi.attribute.name.player_item_use_speed": "Movement speed scale while Using a Item",
7172

7273
"miapi.application_target.victim": "Victim",
7374
"miapi.application_target.attacker": "Attacker",

common/src/main/resources/miapi-common.mixins.json

+1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
"client.ModelLoaderInterfaceAccessor",
4545
"client.ModelLoaderMixin",
4646
"client.ModelPredicateProviderRegistryAccessor",
47+
"client.ClientPlayerEntityMixin",
4748
"client.SpriteContentsAccessor"
4849
],
4950
"injectors": {

nucleus

settings.gradle

+1-5
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,4 @@ pluginManagement {
99

1010
include("common")
1111
include("fabric")
12-
include("forge")
13-
include("arsenal")
14-
include("archery")
15-
include("armory")
16-
include("nucleus")
12+
include("forge")

0 commit comments

Comments
 (0)