-
-
Notifications
You must be signed in to change notification settings - Fork 110
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: Fix JourneyMap waypoints not being immediately removed when brea…
…king a waystone #770
- Loading branch information
1 parent
a86913c
commit 6a25177
Showing
8 changed files
with
120 additions
and
12 deletions.
There are no files selected for viewing
36 changes: 36 additions & 0 deletions
36
shared/src/main/java/net/blay09/mods/waystones/api/WaystoneRemoveReceivedEvent.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
package net.blay09.mods.waystones.api; | ||
|
||
import net.blay09.mods.balm.api.event.BalmEvent; | ||
import net.minecraft.resources.ResourceLocation; | ||
|
||
import java.util.UUID; | ||
|
||
/** | ||
* This event is fired on the client side when the client has been notified of a waystone being removed. | ||
*/ | ||
public class WaystoneRemoveReceivedEvent extends BalmEvent { | ||
private final ResourceLocation waystoneType; | ||
private final UUID waystoneId; | ||
private final boolean wasDestroyed; | ||
|
||
public WaystoneRemoveReceivedEvent(ResourceLocation waystoneType, UUID waystoneId, boolean wasDestroyed) { | ||
this.waystoneType = waystoneType; | ||
this.waystoneId = waystoneId; | ||
this.wasDestroyed = wasDestroyed; | ||
} | ||
|
||
public ResourceLocation getWaystoneType() { | ||
return waystoneType; | ||
} | ||
|
||
public UUID getWaystoneId() { | ||
return waystoneId; | ||
} | ||
|
||
/** | ||
* @return true if the waystone was destroyed, i.e. it is not just being moved with silk touch | ||
*/ | ||
public boolean wasDestroyed() { | ||
return wasDestroyed; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
36 changes: 36 additions & 0 deletions
36
shared/src/main/java/net/blay09/mods/waystones/network/message/WaystoneRemovedMessage.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
package net.blay09.mods.waystones.network.message; | ||
|
||
import net.blay09.mods.balm.api.Balm; | ||
import net.blay09.mods.waystones.api.WaystoneRemoveReceivedEvent; | ||
import net.minecraft.network.FriendlyByteBuf; | ||
import net.minecraft.resources.ResourceLocation; | ||
import net.minecraft.world.entity.player.Player; | ||
|
||
import java.util.UUID; | ||
|
||
public class WaystoneRemovedMessage { | ||
|
||
private final ResourceLocation waystoneType; | ||
private final UUID waystoneId; | ||
private final boolean wasDestroyed; | ||
|
||
public WaystoneRemovedMessage(ResourceLocation waystoneType, UUID waystoneId, boolean wasDestroyed) { | ||
this.waystoneType = waystoneType; | ||
this.waystoneId = waystoneId; | ||
this.wasDestroyed = wasDestroyed; | ||
} | ||
|
||
public static void encode(WaystoneRemovedMessage message, FriendlyByteBuf buf) { | ||
buf.writeResourceLocation(message.waystoneType); | ||
buf.writeUUID(message.waystoneId); | ||
buf.writeBoolean(message.wasDestroyed); | ||
} | ||
|
||
public static WaystoneRemovedMessage decode(FriendlyByteBuf buf) { | ||
return new WaystoneRemovedMessage(buf.readResourceLocation(), buf.readUUID(), buf.readBoolean()); | ||
} | ||
|
||
public static void handle(Player player, WaystoneRemovedMessage message) { | ||
Balm.getEvents().fireEvent(new WaystoneRemoveReceivedEvent(message.waystoneType, message.waystoneId, message.wasDestroyed)); | ||
} | ||
} |