mattczyr / endermail Goto Github PK
View Code? Open in Web Editor NEWEnder Mail is a Minecraft mod that allows players to deliver packages anywhere in the world.
Home Page: https://www.curseforge.com/minecraft/mc-mods/ender-mail
License: Other
Ender Mail is a Minecraft mod that allows players to deliver packages anywhere in the world.
Home Page: https://www.curseforge.com/minecraft/mc-mods/ender-mail
License: Other
It would be really nice if you could save addresses in like.. an address book or something and then reuse the very same coordinates, in case of sending packages to the same player over and over again.
Would it be possible to have a JourneyMap integration option maybe?
Maybe you could use saved waypoints from your JourneyMap waypoint manager.
I don't know if that is neccessary or possible even. But if so, then it would be nice to have it, and.. well.. to either have a seperate tab for JourneyMap coordinates and one for manually saved addresses or just a way to be able to tell what waypoint comes from JourneyMap and what comes from manual address books.
What do you think about the idea?
Hi I have a small suggestion that could make automation with this mod more possible.
The idea is the ability to rename stamps with locker id's and when right clicked, dispensed, or any other mod right click, it allows to instantly stamp the package with the directions to go to the specific locker id and sends it off automatically. An alternative is to allow placement of the stamp as previously stated but require another dispenser, etc. to use the package controller to finally send the package off. I am only suggesting this as I would love to make a way to have auto mail in a modpack my friends and I are doing.
Hey there,
I noticed something after installing the mod and investigating further into this issue I was having.
Now I see that you can send packages to minus coordinates, by filling out all 3 coordinate textboxes.
If you leave any of the text fields empty, you can't write minus symbols.
This only seems to apply to the Z coordinate textbox however.
At current, its saved 5 .toml.bak files into the config file, when it should save 0. No offense intended, but its settings are not so vital or delicate that it has to keep saving backups.
Hi,
i'm playing on a 1.16.3 server with endermail 1.1.5
We have sent two packages to non-existing locker IDs and one from the nether to a locker in the overworld.
Where should this packages be? They're not at spawn nor were returned to sender.
Hello! I love this mod, but when sending items to my friend on my server, the mod sent the server into a crash loop after one of us sent each other the package. It sounded like we both sent our packages around the same time so I'm not sure who's enderman/package resulted in the crash. I was sending a block of cobalt from Tinker's Construct and he was sending a silver coin from Ordinary Coins. We were both sending our packages to a locker in the same dimension, the Overworld.
I've had this mod on my server for a week with people using it occasionally so it doesn't normally crash.
Here is a log: https://pastebin.com/nMbRckgd
I fixed the issue by removing the mod completely, starting up the server, stopping it, and reinstalling the mod to get rid of the enderman. I resent the package and everything was fine again.
I've noticed that if you send a package to a locker ID in which no locker exists, the package simply gets sent to whatever was placed in the coordinates part of the address (or near world spawn if those were blank).
I find this very non-intuitive compared to how the average person would expect mail to work, and as typos can easily occur without catching them.
I'd suggest one of the two fixes:
After looking into the code a bit, it seems option 2 may have the least required effort.
As per the title, whenever a player tries to replace his locker, the locker id will be changed by adding a count at the end of the digits. E,g, if the locker id was 1111, it will be changed to 11112, and 11113 the next time the player moves it.
It really became a fuss since relocating the locker is somehow frequent.
I was testing out the mod (1.15.2-1.1.3) before installing it on my server and when I tried to deliver a package from the nether to the overworld, the package controller unexpectedly announced that it was "successfully delivered at -1, 128, -1". I went to check and there it was, on top of the bedrock roof. I tried multiple things, it seems to happen whether the locker is in the overworld or just non-existent. Packages only get marked as undeliverable in the nether if sent from -1, 128, -1
Details:
Forge: 1.15.2-31.1.46
EnderMail: 1.15.2-1.0.2.jar
On a dedicated server
Symptom:
I cannot interact with the package to place items in it.
I can set the package down, put a stamp on it and send it off for delivery, however, when I right click it to put items in, nothing seems to happen.
Hi, my game crashes for some reason whenever i use the 1.19 version of this mod, it'd say that it hasn't loaded correctly and show java.lang.reflect.InvocationTargetException: null
Here's the crash report:
crash-2022-08-05_23.32.46-fml.txt
Thanks,
Like in issue #29, in the enigmatica 6 modpack version 0.4.0, fml.forgeVersion, 36.0.40, the log is getting spammed with config reload notifications, including:
[24Feb2021 21:11:06.482] [Thread-1/WARN] [net.minecraftforge.fml.config.ConfigFileTypeHandler/CONFIG]: Configuration file /Users/Rodger/Library/Application Support/gdlauncher_next/instances/E6 0.4/config/endermail-common.toml is not correct. Correcting
See EnigmaticaModpacks/Enigmatica6#1396
It looks like Quark has fixed the issue here: VazkiiMods/Quark#3022
When I break a locker with a pickaxe it disappears. I don't know if its intended but I ran into this today and wasted all my stamps.
Sending a package to specific coordinates is nice. But what if a player wants to trade without revealing their position?
An option to set a player name instead of coordinates would be nice.
sorry if video have bad resolution but github have 10 MB limit and i had to compress it (english is not my main language so there may be mistakes)
https://github.com/user-attachments/assets/d008289f-3592-4e0d-bec0-e613eae9888c
5 minutes after the video was taken this is still delivering
pls somebody help
Edit: if you have this problem turn off peaceful mode i found this by myself
I sent a package today on my server, and everything was fine. The delivery was successful, but the package was empty.
How can this happen?
Every time I right-click a package with the stamp, the game crashes. I am running no mods along side this mod.
my friend has the locker id say it's invalid, despite my locker being the same name as it's written down. Does it not work across dimensions?
What happens if the delivery location is a solid block?
Hello, I love this mod and would like to make a suggestion for a new feature: Dimensional Stamps. These more expensive stamps would allow a player to send packages across dimensions while the normal stamp would be reserved for same-dimension delivery.
As the title says, I think having a config option to make packages drop their content if you break them would be a good addition. Reason for this is that some servers do not allow backpack/shulker-like items for balancing and/or duping reasons and being able to turn it off would prevent the potential player abuse.
As title says, players never receives their post when sent mails from oceans (cold, warm, etc.).
Also package can't be found on -1,-1 coordinates, means it just disappeared
When sending a Tin Ore (from some mod in Tekxit 3), the server crashed. I put away my package controller in a chest before the mailman got to the destination.
Crash report:
https://pastebin.com/FLVfn5fG
Attempted to load class com/chaosthedude/endermail/registry/EnderMailRenderers for invalid dist DEDICATED_SERVER
Forge 40.1.19
Endermail 1.18.2-1.2.3
server log file - https://pastebin.com/G3vAyQSs
I set up lockers, named them, i tried sending packages to specific coordinates, all of the packages end up stacked at -1, 80, -1.
each packages gets stacked on the prior package sent so the 80 increments upwards so the next package is sent to -1, 81, -1 and so on. Packages don't get put in lockers, even if they're sent to that specifically named locker, and packages don't get sent to any other coordinated other than the ones listed above.
When trying the mod on a Minecraft install without any other mods, it works. Are there any known incompatibilities?
the following is from the error logs please help
-- MOD endermail --
Details:
Mod File: /C:/Users/domin/AppData/Roaming/.minecraft/mods/EnderMail-1.19.2-1.2.6.jar
Failure message: Ender Mail (endermail) encountered an error during the sided_setup event phase
java.lang.NullPointerException: Registry Object not present: endermail:package_controller
Mod Version: 1.19.2-1.2.6
Mod Issue URL: https://github.com/MattCzyr/EnderMail/issues
Exception message: java.lang.NullPointerException: Registry Object not present: endermail:package_controller
Stacktrace:
at java.util.Objects.requireNonNull(Objects.java:334) ~[?:?] {re:mixin}
at net.minecraftforge.registries.RegistryObject.get(RegistryObject.java:204) ~[forge-1.19.2-43.1.32-universal.jar%23265!/:?] {re:mixin,re:classloading}
at com.chaosthedude.endermail.EnderMail.clientInit(EnderMail.java:81) ~[EnderMail-1.19.2-1.2.6.jar%23175!/:1.19.2-1.2.6] {re:classloading}
at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:260) ~[eventbus-6.0.3.jar%2379!/:?] {}
at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:252) ~[eventbus-6.0.3.jar%2379!/:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.3.jar%2379!/:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.3.jar%2379!/:?] {}
at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:107) ~[javafmllanguage-1.19.2-43.1.32.jar%23262!/:?] {}
at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$10(ModContainer.java:122) ~[fmlcore-1.19.2-43.1.32.jar%23261!/:?] {}
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {}
at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {}
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {}
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {}
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {re:computing_frames}
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {re:computing_frames}
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {}
Hi!
The EnderPostman spawns correctly, but immediately despawns, since he's a hostile mob I guess.
Great mod concept by the way, I really like it :)
Add a command for someone with op access to set up prohibited items to ensure that players can't use it to transport dangerous items like TNT or gunpowder.
Forgive me if I'm translating this from a machine.
Mod doesnt work in servers, you can place down the block but you cannot open it and when you try to spawn the enderman, he instantly disapears. Please fix it so we can use it in our server. Works in Singleplayer only
I'm running 1.15.2 and get the following error when restarting:
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:159) ~[patched_1.15.2.jar:git-Paper-145]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:148) ~[patched_1.15.2.jar:git-Paper-145]
at org.bukkit.craftbukkit.v1_15_R1.CraftServer.loadPlugins(CraftServer.java:358) ~[patched_1.15.2.jar:git-Paper-145]
at net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:234) ~[patched_1.15.2.jar:git-Paper-145]
at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:885) ~[patched_1.15.2.jar:git-Paper-145]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
Caused by: java.io.FileNotFoundException: Jar does not contain plugin.yml
Not sure why others who have downloaded it don't get this issue (?)
Apologies if this is something at my end - I have limited experience with mods.
When trying to put a stamp on the package i get this error and the stamp does not apply.
/* net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:72) */
/* io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) */
/* io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) */
/* io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) */
/* io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) */
/* io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) */
/* io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267) */
/* io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) */
/* io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) */
/* io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) */
/* io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) */
/* io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267) */
/* io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) */
/* io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) */
/* io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) */
/* io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) */
/* io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:280) */
/* io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:396) */
/* io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:248) */
/* io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) */
/* io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) */
/* io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) */
/* io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) */
/* io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) */
/* io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) */
/* io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) */
/* io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287) */
/* io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) */
/* io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) */
/* io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) */
/* io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) */
/* io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) */
/* io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) */
/* io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) */
/* io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:1017) */
/* io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:394) */
/* io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:299) */
/* io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) */
/* java.lang.Thread.run(Thread.java:748) */
/**************************************************************************************************************************************/
Add a command for someone with op access to set up prohibited items to ensure that players can't use it to transport dangerous items like TNT or gunpowder.
Forgive me if I'm translating this from a machine.
Best way to explain this is look at this issue on ae2 github AppliedEnergistics/Applied-Energistics-2#4991
Hello, love your idea mod !
But, impossible to craft box because Quark create Oak_chest, Birch_chest, Spruce_chest etc...
Possible to do something :p ?
Thank you.
Mod tries to reference clientside class on server.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.