Skip to content

Commit

Permalink
waypoint updates
Browse files Browse the repository at this point in the history
  • Loading branch information
mysticdrew committed Jan 6, 2024
1 parent edf00fa commit 4596d91
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import net.minecraft.core.BlockPos;
import net.minecraft.resources.ResourceKey;
import net.minecraft.world.level.Level;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;


Expand All @@ -12,7 +13,8 @@ public class WaypointFactory

private static WaypointFactory INSTANCE;

private WaypointFactory(WaypointStore store)
@ApiStatus.Internal
public WaypointFactory(WaypointStore store)
{
this.store = store;
INSTANCE = this;
Expand All @@ -32,26 +34,30 @@ private static WaypointFactory getInstance()
* @param name - The Optional Name of the waypoint. If null, it will use the coordinates as the name.e
* @param primaryDimension - The primary dimension, this is where it will be displayed and if
* waypoint teleporting is enabled this is the dimension the user will be teleported to.
* @param persistent - should the waypoint persist between sessions?
* True, JourneyMap will save this waypoint to disk and load every session it only needs to be sent once.
* False, The waypoint will be flushed when the user changes dimensions and exits the game.
* @return - The Waypoint with default values set.
*/
public static Waypoint createClientWaypoint(String modId, BlockPos pos, @Nullable String name, ResourceKey<Level> primaryDimension)
public static Waypoint createClientWaypoint(String modId, BlockPos pos, @Nullable String name, ResourceKey<Level> primaryDimension, boolean persistent)
{
return createClientWaypoint(modId, pos, name, primaryDimension.location().toString());
return createClientWaypoint(modId, pos, name, primaryDimension.location().toString(), persistent);
}

public static Waypoint createClientWaypoint(String modId, BlockPos pos, ResourceKey<Level> primaryDimension)
public static Waypoint createClientWaypoint(String modId, BlockPos pos, ResourceKey<Level> primaryDimension, boolean persistent)
{
return createClientWaypoint(modId, pos, primaryDimension.location().toString());
return createClientWaypoint(modId, pos, primaryDimension.location().toString(), persistent);
}

public static Waypoint createClientWaypoint(String modId, BlockPos pos, String primaryDimension)
public static Waypoint createClientWaypoint(String modId, BlockPos pos, String primaryDimension, boolean persistent)
{
return createClientWaypoint(modId, pos, null, primaryDimension);
return createClientWaypoint(modId, pos, null, primaryDimension, persistent);
}

public static Waypoint createClientWaypoint(String modId, BlockPos pos, @Nullable String name, String primaryDimension)
public static Waypoint createClientWaypoint(String modId, BlockPos pos, @Nullable String name, String primaryDimension, boolean persistent)

{
return getInstance().store.createClientWaypoint(modId, pos, name, primaryDimension);
return getInstance().store.createClientWaypoint(modId, pos, name, primaryDimension, persistent);
}

public static WaypointGroup createWaypointGroup(String modId, String name)
Expand All @@ -62,7 +68,7 @@ public static WaypointGroup createWaypointGroup(String modId, String name)

public interface WaypointStore
{
Waypoint createClientWaypoint(String modId, BlockPos pos, @Nullable String name, String primaryDimension);
Waypoint createClientWaypoint(String modId, BlockPos pos, @Nullable String name, String primaryDimension, boolean persistent);

WaypointGroup createWaypointGroup(String modId, String name);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@

import net.minecraft.resources.ResourceLocation;

import java.util.List;
import java.util.Map;

public interface WaypointGroup
{
List<Waypoint> getWaypoints();
Map<String, Waypoint> getWaypoints();

void addWaypoint(Waypoint waypoint);

Waypoint getWaypoint(String guid);

String getGuid();

String getName();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ static Waypoint createBedWaypoint(IClientAPI jmAPI, BlockPos bedLocation, Resour
// .withIcon(bedIcon)
// .build();

bedWaypoint = WaypointFactory.createClientWaypoint(ExampleMod.MODID, bedLocation, dimension);
bedWaypoint = WaypointFactory.createClientWaypoint(ExampleMod.MODID, bedLocation, dimension, true);
bedWaypoint.setColor(Color.BLUE.getRGB());
bedWaypoint.setIconResourceLoctaion(new ResourceLocation("examplemod:images/bed.png"));
bedWaypoint.setIconTextureSize(32, 32);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ static Waypoint createBedWaypoint(IClientAPI jmAPI, BlockPos bedLocation, Resour
// .withIcon(bedIcon)
// .build();

bedWaypoint = WaypointFactory.createClientWaypoint(ExampleMod.MODID, bedLocation, dimension);
bedWaypoint = WaypointFactory.createClientWaypoint(ExampleMod.MODID, bedLocation, dimension, true);
bedWaypoint.setColor(Color.BLUE.getRGB());
bedWaypoint.setIconResourceLoctaion(new ResourceLocation("examplemod:images/bed.png"));
bedWaypoint.setIconTextureSize(32, 32);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,12 @@ static Waypoint createBedWaypoint(IClientAPI jmAPI, BlockPos bedLocation, Resour
// .withIcon(bedIcon)
// .build();

bedWaypoint = WaypointFactory.createClientWaypoint(ExampleMod.MODID, bedLocation, dimension);
bedWaypoint = WaypointFactory.createClientWaypoint(ExampleMod.MODID, bedLocation, dimension, true);
bedWaypoint.setColor(Color.BLUE.getRGB());
bedWaypoint.setIconResourceLoctaion(new ResourceLocation("examplemod:images/bed.png"));
bedWaypoint.setIconTextureSize(32, 32);
bedWaypoint.setIconColor(0x00ffff);;
bedWaypoint.setIconColor(0x00ffff);
;
// Add or update
jmAPI.addWaypoint(ExampleMod.MODID, bedWaypoint);

Expand Down

0 comments on commit 4596d91

Please sign in to comment.