Skip to content

Commit

Permalink
``
Browse files Browse the repository at this point in the history
  • Loading branch information
Rumi727 committed Nov 29, 2024
1 parent a358481 commit d5f5ed5
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 31 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ yarn_mappings=1.20.1+build.10
loader_version=0.16.9
fabric_version=0.92.2+1.20.1
# Mod Properties
mod_version=1.2.0+1.20.1
mod_version=1.2.1+1.20.1
maven_group=kr.kro.teamdodoco
archives_base_name=ExtraElytra
yacl_version=3.6.1+1.20.1-fabric
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,20 +40,20 @@ static void onUpdate(MinecraftClient client)
if(jumpTimer > 0)
jumpTimer--;

ItemStack chest = MinecraftClient.getInstance().player.getEquippedStack(EquipmentSlot.CHEST);
ItemStack chest = client.player.getEquippedStack(EquipmentSlot.CHEST);
if(chest.getItem() != Items.ELYTRA)
return;

if(MinecraftClient.getInstance().player.isFallFlying())
if(client.player.isFallFlying())
{
if(ExtraElytraConfig.config.stopInWater && MinecraftClient.getInstance().player.isTouchingWater())
if(ExtraElytraConfig.config.stopInWater && client.player.isTouchingWater())
{
sendStartStopPacket();
sendStartStopPacket(client);
return;
}

controlSpeed();
controlHeight();
controlSpeed(client);
controlHeight(client);

PacketByteBuf buf = PacketByteBufs.create();
Vec3d motion = client.player.getVelocity();
Expand All @@ -66,60 +66,65 @@ static void onUpdate(MinecraftClient client)
return;
}

if(ElytraItem.isUsable(chest) && MinecraftClient.getInstance().options.jumpKey.isPressed())
doInstantFly();
if(ElytraItem.isUsable(chest) && client.options.jumpKey.isPressed())
doInstantFly(client);
}

static void sendStartStopPacket()
static void sendStartStopPacket(MinecraftClient client)
{
ClientCommandC2SPacket packet = new ClientCommandC2SPacket(MinecraftClient.getInstance().player,
ClientCommandC2SPacket packet = new ClientCommandC2SPacket(client.player,
ClientCommandC2SPacket.Mode.START_FALL_FLYING);
MinecraftClient.getInstance().player.networkHandler.sendPacket(packet);
client.player.networkHandler.sendPacket(packet);
}

static void controlHeight()
static void controlHeight(MinecraftClient client)
{
if(!ExtraElytraConfig.config.heightCtrl)
return;

Vec3d v = MinecraftClient.getInstance().player.getVelocity();
Vec3d v = client.player.getVelocity();

if(MinecraftClient.getInstance().options.jumpKey.isPressed())
MinecraftClient.getInstance().player.setVelocity(v.x, v.y + 0.08, v.z);
else if(MinecraftClient.getInstance().options.sneakKey.isPressed())
MinecraftClient.getInstance().player.setVelocity(v.x, v.y - 0.04, v.z);
if(client.options.jumpKey.isPressed())
client.player.setVelocity(v.x, v.y + 0.08, v.z);
else if(client.options.sneakKey.isPressed())
client.player.setVelocity(v.x, v.y - 0.04, v.z);
}

static void controlSpeed()
static void controlSpeed(MinecraftClient client)
{
if(!ExtraElytraConfig.config.speedCtrl)
return;

float yaw = (float)Math.toRadians(MinecraftClient.getInstance().player.getYaw());
float yaw = (float)Math.toRadians(client.player.getYaw());
Vec3d forward = new Vec3d(-MathHelper.sin(yaw) * 0.05, 0,
MathHelper.cos(yaw) * 0.05);

Vec3d v = MinecraftClient.getInstance().player.getVelocity();

if(MinecraftClient.getInstance().options.forwardKey.isPressed())
MinecraftClient.getInstance().player.setVelocity(v.add(forward));
else if(MinecraftClient.getInstance().options.backKey.isPressed())
MinecraftClient.getInstance().player.setVelocity(v.subtract(forward));
Vec3d v = client.player.getVelocity();
if (client.options.forwardKey.isPressed())
v = v.add(forward);
if (client.options.backKey.isPressed())
v = v.subtract(forward);
if (client.options.leftKey.isPressed())
v = v.add(forward.rotateY(90).multiply(2));
if (client.options.rightKey.isPressed())
v = v.add(forward.rotateY(-90).multiply(2));

client.player.setVelocity(v);
}

static void doInstantFly()
static void doInstantFly(MinecraftClient client)
{
if(!ExtraElytraConfig.config.instantFly)
return;

if(jumpTimer <= 0)
{
jumpTimer = 20;
MinecraftClient.getInstance().player.setJumping(false);
MinecraftClient.getInstance().player.setSprinting(true);
MinecraftClient.getInstance().player.jump();
client.player.setJumping(false);
client.player.setSprinting(true);
client.player.jump();
}

sendStartStopPacket();
sendStartStopPacket(client);
}
}

0 comments on commit d5f5ed5

Please sign in to comment.