1717import mekanism .common .tile .TileEntityTeleporter ;
1818import mekanism .common .util .StorageUtils ;
1919import mekanism .common .util .WorldUtils ;
20+ import net .minecraft .ChatFormatting ;
2021import net .minecraft .core .BlockPos ;
2122import net .minecraft .core .GlobalPos ;
2223import net .minecraft .core .component .DataComponentType ;
2324import net .minecraft .network .FriendlyByteBuf ;
25+ import net .minecraft .network .chat .Component ;
2426import net .minecraft .network .codec .StreamCodec ;
2527import net .minecraft .network .protocol .common .custom .CustomPacketPayload ;
2628import net .minecraft .resources .ResourceLocation ;
@@ -57,6 +59,7 @@ public static void handle(final QuickTeleportActionPacket packet, final IPayload
5759 Frequency .FrequencyIdentity identity = getIdentity (item , stack );
5860
5961 if (identity == null ) {
62+ player .sendSystemMessage (Component .translatable ("key.mekanismcurios.quickteleport.notconnected" ).withStyle (ChatFormatting .RED ));
6063 return ;
6164 }
6265
@@ -76,6 +79,7 @@ public static void handle(final QuickTeleportActionPacket packet, final IPayload
7679 energyCost = TileEntityTeleporter .calculateEnergyCost (player , teleWorld , coords );
7780 IEnergyContainer energyContainer = StorageUtils .getEnergyContainer (stack , 0 );
7881 if (energyContainer == null || energyContainer .extract (energyCost , Action .SIMULATE , AutomationType .MANUAL ) < energyCost ) {
82+ player .sendSystemMessage (Component .translatable ("key.mekanismcurios.quickteleport.noenergy" ).withStyle (ChatFormatting .RED ));
7983 return ;
8084 }
8185 energyExtraction = () -> energyContainer .extract (energyCost , Action .EXECUTE , AutomationType .MANUAL );
@@ -115,24 +119,28 @@ public static void handle(final QuickTeleportActionPacket packet, final IPayload
115119 } catch (Exception ignored ) {
116120 }
117121 }
122+ } else {
123+ player .sendSystemMessage (Component .translatable ("key.mekanismcurios.quickteleport.notfound" ).withStyle (ChatFormatting .RED ));
118124 }
125+ } else {
126+ player .sendSystemMessage (Component .translatable ("key.mekanismcurios.quickteleport.empty" ).withStyle (ChatFormatting .RED ));
119127 }
120128 });
121129 }
122130
123131 private static Frequency .FrequencyIdentity getIdentity (ItemPortableTeleporter teleporter , ItemStack stack ) {
124132 DataComponentType <? extends FrequencyAware <?>> frequencyComponent = MekanismDataComponents .getFrequencyComponent (teleporter .getFrequencyType ());
133+
125134 if (frequencyComponent == null ) {
126135 return null ;
127136 }
137+
128138 FrequencyAware <?> frequencyAware = stack .get (frequencyComponent );
139+
129140 if (frequencyAware != null ) {
130- Frequency .FrequencyIdentity identity = frequencyAware .identity ().orElse (null );
131- if (identity != null ) {
132- return identity ;
133- }
141+ return frequencyAware .identity ().orElse (null );
134142 }
135-
143+
136144 return null ;
137145 }
138146}
0 commit comments