Code Monkey home page Code Monkey logo

mymap's Introduction

MyMap

MyMap plugin for Nukkit. Show your gif images on the server!

Description

This plugin allows you to show static images, gif images, multi images(Several images that are alternated) on your server.
Screenshots are at the end of this README.

Download

Usage

  1. Install the plugin into your server. And join in the server.
  2. Create a rectangle in a world(Any one, not just the main world).
  3. Use the command /mymap add <id> to make the rectangle you just created become a frame. The rectangle will be replaced with frame blocks by the plugin, which are not allowed to be removed. When you want to remove that, ues the command /mymap remove <id> first.
  4. Put your image files into plugins/MyMap/images/.
  5. Use the command /mymap setpicture <id> <imageFileName> to change the picture in the frame. (imageFileName not includes path)
  6. The plugin will start to fill in the frame. Enjoy it!

Tips

  • If you want to change the picture, use the command /mymap setpicture <id> <imageFile>.
  • Any OP can long-touch(Right-click for Win10) a frame to look up id of the frame.
  • This plugin supports languages in 简体中文(Chinese Simplified) and English
  • This plugin will automatically set the language(based on your system language)
  • You can change the language in config.yml

Q&A

  • How to set GIF image?
    The same way as static images. The plugin will automatically play them.

  • How to set Multi images?
    Create a folder under plugins/MyMap/images, put images in it.(Needs static picture, dynamic GIF only displays the first frame).
    Name of picture decides how long to display. (Not includeding the suffix, exploding by "-", the last one of which is the display time)
    Examples:

    • pic-3000.jpg displays 3000ms = 3s
    • img-500.png displays 500ms = 0.5s
    • -3000.bmp displays 3000ms = 3s

    PS: If the filename has no or more than 1 "-", or the number is invalid(negative), the plugin will use default display time 3000ms=3s.

Screenshots


mymap's People

Contributors

him188 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

mymap's Issues

enlarge the image

Hello,
How can I enlarge the image on 4x4 instead of putting it in a single frame

Thanks you.

Async??

Is there a function, to update image async?

How setup?

Lang it's chinese, you setup? :/

I don't understand how it's supposed create.

Error from GIF

�[36m19:11:35�[m [�[m�[34mINFO �[m�[m] Aktiviere MyMap v1.5

�[36m19:11:36�[m [�[m�[1;31mERROR�[m�[m] Throwing

java.lang.RuntimeException: java.lang.NullPointerException

at cn.nukkit.plugin.PluginManager.enablePlugin(PluginManager.java:443) [nukkit.jar:?]

at cn.nukkit.Server.enablePlugin(Server.java:733) [nukkit.jar:?]

at cn.nukkit.Server.enablePlugins(Server.java:722) [nukkit.jar:?]

at cn.nukkit.Server.(Server.java:558) [nukkit.jar:?]

at cn.nukkit.Nukkit.main(Nukkit.java:112) [nukkit.jar:?]

Caused by: java.lang.NullPointerException

at moe.him188.mymap.utils.Utils.setItemMapToLevel(Utils.java:116) ~[?:?]

at moe.him188.mymap.image.ImageUpdater.updateMapCacheBlock(ImageUpdater.java:122) ~[?:?]

at moe.him188.mymap.image.GIFImageUpdater.updateBlocks(GIFImageUpdater.java:71) ~[?:?]

at moe.him188.mymap.image.GIFImageUpdater.update(GIFImageUpdater.java:48) ~[?:?]

at moe.him188.mymap.MyMapFrame.updateImage0(MyMapFrame.java:178) ~[?:?]

at moe.him188.mymap.MyMapFrame.updateImage(MyMapFrame.java:172) ~[?:?]

at moe.him188.mymap.MyMapFrame.(MyMapFrame.java:67) ~[?:?]

at moe.him188.mymap.MyMapFrame.fromConfigSection(MyMapFrame.java:38) ~[?:?]

at moe.him188.mymap.MyMap.onEnable(MyMap.java:98) ~[?:?]

at cn.nukkit.plugin.PluginBase.setEnabled(PluginBase.java:89) ~[nukkit.jar:?]

at cn.nukkit.plugin.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:117) ~[nukkit.jar:?]

at cn.nukkit.plugin.PluginManager.enablePlugin(PluginManager.java:439) ~[nukkit.jar:?]

... 4 more

Error

�[36m18:32:07�[m [�[m�[34mINFO �[m�[m] Aktiviere MyMap v1.3.1

�[36m18:32:07�[m [�[m�[1;31mERROR�[m�[m] Throwing

java.lang.RuntimeException: java.lang.NullPointerException

at cn.nukkit.plugin.PluginManager.enablePlugin(PluginManager.java:443) [nukkit.jar:?]

at cn.nukkit.Server.enablePlugin(Server.java:733) [nukkit.jar:?]

at cn.nukkit.Server.enablePlugins(Server.java:722) [nukkit.jar:?]

at cn.nukkit.Server.(Server.java:558) [nukkit.jar:?]

at cn.nukkit.Nukkit.main(Nukkit.java:112) [nukkit.jar:?]

Caused by: java.lang.NullPointerException

at com.him188.mymap.image.StaticImageUpdater.update(StaticImageUpdater.java:39) ~[?:?]

at com.him188.mymap.MyMapFrame.updateImage0(MyMapFrame.java:178) ~[?:?]

at com.him188.mymap.MyMapFrame.updateImage(MyMapFrame.java:172) ~[?:?]

at com.him188.mymap.MyMapFrame.(MyMapFrame.java:67) ~[?:?]

at com.him188.mymap.MyMapFrame.fromConfigSection(MyMapFrame.java:38) ~[?:?]

at com.him188.mymap.MyMap.onEnable(MyMap.java:93) ~[?:?]

at cn.nukkit.plugin.PluginBase.setEnabled(PluginBase.java:89) ~[nukkit.jar:?]

at cn.nukkit.plugin.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:117) ~[nukkit.jar:?]

at cn.nukkit.plugin.PluginManager.enablePlugin(PluginManager.java:439) ~[nukkit.jar:?]

... 4 more

�[36m18:32:07�[m [�[m�[34mINFO �[m�[m] Deaktiviere MyMap v1.3.1

Another bug get corrupted chunks

22:25:29 [INFO] Enabling MyMap v1.3.0
22:25:30 [ALERT] java.io.EOFException: Unexpected end of ZLIB input stream
at java.util.zip.InflaterInputStream.fill(Unknown Source)
at java.util.zip.InflaterInputStream.read(Unknown Source)
at java.io.FilterInputStream.read(Unknown Source)
at cn.nukkit.utils.ZlibThreadLocal.inflate(ZlibThreadLocal.java:85)
at cn.nukkit.utils.Zlib.inflate(Zlib.java:56)
at cn.nukkit.utils.Zlib.inflate(Zlib.java:60)
at cn.nukkit.level.format.anvil.Chunk.fromBinary(Chunk.java:254)
at cn.nukkit.level.format.anvil.RegionLoader.unserializeChunk(RegionLoader.java:86)
at cn.nukkit.level.format.anvil.RegionLoader.readChunk(RegionLoader.java:71)
at cn.nukkit.level.format.anvil.RegionLoader.readChunk(RegionLoader.java:19)
at cn.nukkit.level.format.anvil.Anvil.loadChunk(Anvil.java:230)
at cn.nukkit.level.format.generic.BaseLevelProvider.getChunk(BaseLevelProvider.java:372)
at cn.nukkit.level.Level.forceLoadChunk(Level.java:2606)
at cn.nukkit.level.Level.getChunk(Level.java:2301)
at cn.nukkit.level.Level.setBlock(Level.java:1638)
at cn.nukkit.level.Level.setBlock(Level.java:1631)
at com.him188.mymap.utils.Utils.setItemMapToLevel(Utils.java:117)
at com.him188.mymap.image.ImageUpdater.updateMapCacheBlock(ImageUpdater.java:122)
at com.him188.mymap.image.StaticImageUpdater.lambda$update$0(StaticImageUpdater.java:41)
at java.util.HashMap.forEach(Unknown Source)
at com.him188.mymap.image.StaticImageUpdater.update(StaticImageUpdater.java:40)
at com.him188.mymap.MyMapFrame.updateImage0(MyMapFrame.java:178)
at com.him188.mymap.MyMapFrame.updateImage(MyMapFrame.java:172)
at com.him188.mymap.MyMapFrame.(MyMapFrame.java:67)
at com.him188.mymap.MyMapFrame.fromConfigSection(MyMapFrame.java:38)
at com.him188.mymap.MyMap.onEnable(MyMap.java:93)
at cn.nukkit.plugin.PluginBase.setEnabled(PluginBase.java:89)
at cn.nukkit.plugin.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:113)
at cn.nukkit.plugin.PluginManager.enablePlugin(PluginManager.java:446)
at cn.nukkit.Server.enablePlugin(Server.java:660)
at cn.nukkit.Server.enablePlugins(Server.java:649)
at cn.nukkit.Server.(Server.java:493)
at cn.nukkit.Nukkit.main(Nukkit.java:102)

22:25:30 [ERROR] Corrupted chunk detected

Plugin not work

01:05:14 [CRITICAL] Could not pass event 'cn.nukkit.event.player.PlayerInteractEvent' to 'MyMap v1.3.0': null on com.him188.mymap.SettingListener
01:05:14 [ALERT] cn.nukkit.utils.EventException
at cn.nukkit.plugin.MethodEventExecutor.execute(MethodEventExecutor.java:34)
at cn.nukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:56)
at cn.nukkit.plugin.PluginManager.callEvent(PluginManager.java:553)
at cn.nukkit.level.Level.useItemOn(Level.java:1987)
at cn.nukkit.level.Level.useItemOn(Level.java:1954)
at cn.nukkit.Player.handleDataPacket(Player.java:2974)
at java.util.ArrayList.forEach(Unknown Source)
at cn.nukkit.network.Network.processPackets(Network.java:188)
at cn.nukkit.network.Network.processBatch(Network.java:170)
at cn.nukkit.Player.handleDataPacket(Player.java:2006)
at cn.nukkit.network.RakNetInterface.handleEncapsulated(RakNetInterface.java:158)
at cn.nukkit.raknet.server.ServerHandler.handlePacket(ServerHandler.java:132)
at cn.nukkit.network.RakNetInterface.process(RakNetInterface.java:67)
at cn.nukkit.network.Network.processInterfaces(Network.java:78)
at cn.nukkit.Server.tick(Server.java:1016)
at cn.nukkit.Server.tickProcessor(Server.java:818)
at cn.nukkit.Server.start(Server.java:797)
at cn.nukkit.Server.(Server.java:468)
at cn.nukkit.Nukkit.main(Nukkit.java:99)
Caused by: java.lang.NoSuchMethodError: cn.nukkit.network.protocol.ClientboundMapItemDataPacket.encode()V
at com.him188.mymap.utils.Utils.getClientboundMapItemDataPacket(Utils.java:143)
at com.him188.mymap.image.StaticImageUpdater.lambda$update$0(StaticImageUpdater.java:44)
at java.util.HashMap.forEach(Unknown Source)
at com.him188.mymap.image.StaticImageUpdater.update(StaticImageUpdater.java:40)
at com.him188.mymap.MyMapFrame.updateImage0(MyMapFrame.java:178)
at com.him188.mymap.MyMapFrame.updateImage(MyMapFrame.java:172)
at com.him188.mymap.MyMapFrame.(MyMapFrame.java:67)
at com.him188.mymap.SettingListener$SettingData.toFrame(SettingListener.java:58)
at com.him188.mymap.SettingListener$SettingData.access$700(SettingListener.java:32)
at com.him188.mymap.SettingListener.onInteract(SettingListener.java:125)
at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at cn.nukkit.plugin.MethodEventExecutor.execute(MethodEventExecutor.java:29)
... 18 more

Cannot compile

I can't compile them idk why.

[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.216 s
[INFO] Finished at: 2018-01-20T00:05:44+02:00
[INFO] Final Memory: 6M/155M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file (install-external) on project mymap: The parameters 'file' for goal org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file are missing or invalid -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginParameterException

Process finished with exit code 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.