Skip to content

Commit

Permalink
Fixed Horus Soaring's arrow not syncing properly on the client-side. C…
Browse files Browse the repository at this point in the history
…loses #413
  • Loading branch information
GirafiStudios committed May 6, 2023
1 parent 97b6827 commit b968dac
Show file tree
Hide file tree
Showing 14 changed files with 57 additions and 347 deletions.
6 changes: 3 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
minecraft_version=1.19.4
forge_version=45.0.46
forge_version=45.0.57
mod_version=2.3.0
jei_version=13.1.0.6
jei_version=13.1.0.9
ct_version=9.0.77
curios_version=5.1.5.1
curios_version=5.1.5.3

org.gradle.jvmargs=-Xmx4G
org.gradle.daemon=false
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ protected void onHitEntity(@Nonnull EntityHitResult rayTraceResult) {
Entity hitEnity = rayTraceResult.getEntity();
if (hitEnity instanceof LivingEntity) {
if (!hitEnity.fireImmune()) {
if (hitEnity.getRemainingFireTicks() > 0) {
if (hitEnity.getRemainingFireTicks() > 0) { //Extra damage, if target is already on fire
this.setBaseDamage(this.getBaseDamage() * 1.5D);
this.playSound(SoundEvents.FIRECHARGE_USE, 1.0F, 1.0F);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import com.teammetallurgy.atum.Atum;
import com.teammetallurgy.atum.init.AtumEntities;
import com.teammetallurgy.atum.init.AtumParticles;
import com.teammetallurgy.atum.network.NetworkHandler;
import com.teammetallurgy.atum.network.packet.SyncArrowFlightPathPacket;
import net.minecraft.core.BlockPos;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.resources.ResourceLocation;
Expand Down Expand Up @@ -45,9 +47,10 @@ public ArrowStraightEntity(Level level, LivingEntity shooter, float velocity) {
public void tick() {
this.arrowTick();

if (this.velocity == 1.0F) {
if (this.velocity == 1.0F && !this.inGround) {
this.setDeltaMovement(this.getDeltaMovement().add(0.0D, 0.05D, 0.0D));
if (!this.inGround && this.tickCount > 300) {
NetworkHandler.sendToServer(new SyncArrowFlightPathPacket(this.getId()));
if (this.tickCount > 300) {
this.discard();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@

import com.teammetallurgy.atum.Atum;
import com.teammetallurgy.atum.network.packet.OpenWolfGuiPacket;
import com.teammetallurgy.atum.network.packet.StormStrengthPacket;
import com.teammetallurgy.atum.network.packet.SyncArrowFlightPathPacket;
import com.teammetallurgy.atum.network.packet.weather.StormStrengthPacket;
import com.teammetallurgy.atum.network.packet.SyncHandStackSizePacket;
import com.teammetallurgy.atum.network.packet.WeatherPacket;
import com.teammetallurgy.atum.network.packet.weather.WeatherPacket;
import net.minecraft.core.BlockPos;
import net.minecraft.network.protocol.Packet;
import net.minecraft.resources.ResourceKey;
Expand All @@ -31,6 +32,7 @@ public static void initialize() {
CHANNEL.registerMessage(1, WeatherPacket.class, WeatherPacket::encode, WeatherPacket::decode, WeatherPacket.Handler::handle);
CHANNEL.registerMessage(2, StormStrengthPacket.class, StormStrengthPacket::encode, StormStrengthPacket::decode, StormStrengthPacket.Handler::handle);
CHANNEL.registerMessage(3, SyncHandStackSizePacket.class, SyncHandStackSizePacket::encode, SyncHandStackSizePacket::decode, SyncHandStackSizePacket.Handler::handle);
CHANNEL.registerMessage(4, SyncArrowFlightPathPacket.class, SyncArrowFlightPathPacket::encode, SyncArrowFlightPathPacket::decode, SyncArrowFlightPathPacket.Handler::handle);
}

public static void sendTo(ServerPlayer playerMP, Object toSend) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.teammetallurgy.atum.network.packet;

import net.minecraft.client.Minecraft;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.world.entity.Entity;
import net.minecraftforge.network.NetworkEvent;

import java.util.function.Supplier;

public class SyncArrowFlightPathPacket {
private final int arrowID;

public SyncArrowFlightPathPacket(int arrowID) {
this.arrowID = arrowID;
}

public static void encode(SyncArrowFlightPathPacket packet, FriendlyByteBuf buf) {
buf.writeInt(packet.arrowID);
}

public static SyncArrowFlightPathPacket decode(FriendlyByteBuf buf) {
return new SyncArrowFlightPathPacket(buf.readInt());
}

public static class Handler {
public static void handle(SyncArrowFlightPathPacket message, Supplier<NetworkEvent.Context> ctx) {
LocalPlayer player = Minecraft.getInstance().player;
if (player != null) {
Entity entity = player.level.getEntity(message.arrowID);
if (entity != null) {
entity.setDeltaMovement(entity.getDeltaMovement().add(0.0D, 0.05D, 0.0D));
}
}
ctx.get().setPacketHandled(true);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.teammetallurgy.atum.network.packet;
package com.teammetallurgy.atum.network.packet.weather;

import com.teammetallurgy.atum.world.SandstormHandler;
import net.minecraft.network.FriendlyByteBuf;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.teammetallurgy.atum.network.packet;
package com.teammetallurgy.atum.network.packet.weather;

import com.teammetallurgy.atum.world.SandstormHandler;
import net.minecraft.network.FriendlyByteBuf;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import com.teammetallurgy.atum.init.AtumBlocks;
import com.teammetallurgy.atum.misc.AtumConfig;
import com.teammetallurgy.atum.network.NetworkHandler;
import com.teammetallurgy.atum.network.packet.StormStrengthPacket;
import com.teammetallurgy.atum.network.packet.WeatherPacket;
import com.teammetallurgy.atum.network.packet.weather.StormStrengthPacket;
import com.teammetallurgy.atum.network.packet.weather.WeatherPacket;
import net.minecraft.core.BlockPos;
import net.minecraft.server.level.ChunkHolder;
import net.minecraft.server.level.ChunkMap;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import net.minecraft.world.entity.MobCategory;
import net.minecraft.world.level.biome.*;

public class AtumBiomeMaker { //TODO
public class AtumBiomeMaker { //TODO Remove once all things have been fully moved to json

public static Biome makeKarstCaves(String biomeName) {
BiomeGenerationSettings.Builder biomeGen = null;
Expand Down

This file was deleted.

0 comments on commit b968dac

Please sign in to comment.