[MECH] Redstone Mania v0.05 - I Need testers! :D

Discussion in 'WIP and Development Status' started by bergerkiller, Oct 18, 2011.

Thread Status:
Not open for further replies.
  1. awww, spout?
    it still is cool.
     
  2. Offline

    Fragmeister

    Great! But difficult to use... :oops:
     
  3. Offline

    bergerkiller

    @Fragmeister It needs getting used to, I admit. But what do you expect for something that is basically a complete engine running in a server :)

    Simple steps to get started:
    Now it is permanently saved, the original circuit can be removed if you want.
    The instance name is used to allow multiple circuits running at the same time. Try to keep them unique, for example 'xor1'. The instance name has to be unique per circuit, so you can use '1' for all circuits if you wish.
     
  4. Mmh so I tried to test it, but the plugin seems to cause problems with the real redstone torches not updating.
    I tried to build a normal AND Gate and the torches (and wire) did not update properly or never. I didnt save any circut until then.

    After I removed the plugin everything worked fine.
     
  5. Offline

    bergerkiller

    @silthus that makes no sense...the only thing that interacts with the real world are the levers. Redstone wire/torches are not controlled...
     
  6. Offline

    infinikiller64

    absolutely AWESOME
    also i made a massive multiplier but i forgot to make it instant any way i could go back and change it without redoing everything
     
  7. Offline

    RustyDagger

    I must say this is awesome no doubt about it. down side is that my user base would go wtf and never use it. it would pretty much only be used by me and then i get all worried about an update trashing all my work..

    If only i didn't run a server i would join a server with this and roll around in redstone dust till i die :D

    I could see me compacting the huge as 7 segment display decoder into just 1 block as it stands its about 50x50x30 with the binary stored and the reader for the data tower its massive.. however i think my reader relies on a glitch because there is just 1 part of it that i cant understand how it works but it works would be interesting to see if the plugin would replicate it for sure.

    @bergerkiller64 if your interested pm me and ill make a schematic of the reader i use. or u can drop by my server so i can explain it....

    breif of how the memory i use works X wide expands as far as you want power the side of it to read it and it powers 1 of the ouputs depending on the lever direction ect. but my reader is a little weird its a set of rs-nor it outputs 1 at a time counting up the data tower eventually hitting its own reset. (used for a clock with a binary decoder saves all number into 4 digit binary. )
     
  8. Offline

    Fragmeister

  9. Offline

    bergerkiller

    @infinikiller64 Right now, no. I was going to add some sort of external .circuit file editing tool, but haven't even had time to look into it...
     
  10. Offline

    Don Redhorse

    permissions would be nice, also a way that you can't overwrite circuits somebody else made (if that is not already implemented) but can use a circuit somebody else made.
     
  11. Offline

    bergerkiller

    @Don Redhorse yeah that's on the TODO list, this version is more of a test version for the internal workings. (thus it's a 0.02 and not a 1.00 yet)
    Main focus right now is on improving other plugins, since people depend on it mostly. (the focus changes from NoLagg to TrainCarts to MyWorlds and back, although MyWorlds is pretty much finished luckily.
     
  12. Offline

    Don Redhorse

    if you need help I can help you some... but I need a framework to build upon.. otherwise my code is... ok... but not very good, so as soon as you have an example going I could do the rest of the heavy lifting I would assume..

    Hmm.. I could fix you up with permission support for the commands if you like... but that is minor..
     
  13. Offline

    Sg1team

    First, this plugin sounds really awesome. Is it stable enough to use it in a regular server? And how is the performance of a 'shrinked' redstone circuit compared to the same circuit built with minecraft internals?

    Edit: I've got another question about this plugin. Will it keep chunks around "port-blocks" loaded, even if no players are around? Or will a virtual circuit stop working if all associated port-blocks are getting unloaded?
    I'm only asking this because I am planning to build a large automatic rail system in connection with TrainCarts and don't want to see unsuspected behaviour of my trains as soon as no players are online.
     
  14. Offline

    Sg1team

    I've got a bug testing this plugin while saving a pulse limiter circuit. I built the circuit like so, created the input and output ports and saved it with "/redstone save pulser". When I tried to load an instance of it by building a [port] sign my server throws this error message:
    Code:
    2012-01-10 23:17:28 [SEVERE] Could not pass event SIGN_CHANGE to Redstone Mania
    java.lang.ArrayIndexOutOfBoundsException: -1
            at com.bergerkiller.bukkit.rm.circuit.CircuitBase.getElement(CircuitBase.java:124)
            at com.bergerkiller.bukkit.rm.circuit.CircuitBase.getElement(CircuitBase.java:128)
            at com.bergerkiller.bukkit.rm.circuit.Circuit.createInstance(Circuit.java:151)
            at com.bergerkiller.bukkit.rm.circuit.Circuit.createInstance(Circuit.java:180)
            at com.bergerkiller.bukkit.rm.RMBlockListener.onSignChange(RMBlockListener.java:66)
            at org.bukkit.plugin.java.JavaPluginLoader$36.execute(JavaPluginLoader.java:511)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:1068)
            at net.minecraft.server.Packet130UpdateSign.a(SourceFile:41)
            at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:93)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
            at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    
    Other circuits work like expected and don't throw this error.
     
  15. Offline

    Valdifer

    great plugin :D!
     
  16. BergerKiller,

    Do you continue this plugins ? will this be updated to 1.1R5 ?

    btw, i'll love that you can manage to get little time to improve this, it's a great plugin :)
     
  17. Offline

    bergerkiller

    Jay101 Yeah it will, but the current R4 has some issues which needs to be dealt with first.

    It uses Bukkit methods here mostly, so I guess it will work out fine...

    Latest version appears to be compatible with the latest Non-RB R5
     
  18. thx for info :)

    and thx for being such a talented programer :D
     
  19. Offline

    bergerkiller

    Decided to just push out another update, although I haven't really worked much on it. It adds permissions for the redstone mania (/redstone) command. (redstonemania.use, default OP)
    And now uses BKCommonLib to make everything a bit more versatile.
     
  20. Offline

    emericask8ur

  21. Offline

    dead4y

    i can test it too. Love testing plugins and found bugs F*ck YEAH
     
  22. Offline

    JayFight

    okay well i'm a falsebook user and i love it but this is kind of cool too and looks like something i might add to my server but i have to ask if there is anyway you might find a way to support falsebook in some way, idk how i'm just thinking about this one obstacle dungeon i once was trying to make and it used so much falsbook and redstone that it lagged out my server and half the flasebook stuff stopped working

    so idk maybe see if there's a way to add falsebook signs or ic's to the saved circutes? since most of the time if i make something like a long hallway that turns into lava as you walk along it i'm making about 30 signs that change it on a delay, where as using this with it i would make the 30 signs and the delays and then save it all and use one sign to do the whole thing instead of the 30 signs

    also if there is no way you can do this or if you don't want to since doing it for one would mean having to do it for every ic plugin or if you just don't want too i would understand and i thank you for just reading this post and giving it half a consideration :)
     
  23. Offline

    bergerkiller

    JayFight it's a bit hard to incorporate Falsebook IC's into the current system. The problem is that I have to have some sort of storage for it, and this new storage would break all currently made circuits...so yeah. :/

    Plus I'm afraid I end up copy-pasting all of FalseBook's features and re-implementing them myself, which is a bit too much to do in the limited time I have.
     
  24. Offline

    JayFight

    oh okay thanks anyways, it would be cool though to have something like your storage system for falsebook but i kind of figured that if it were to happen then it would have to be a complex thing combining both this and falsebook into one plugin, maybe you could see if you could incorporate signs being saved into the circuit along with whats written on them since falsebook relies on signs to make it happen that way your not trying to add falsebook but just written signs that when combined with a different plugin might actually do something if not you don't have to reply to this just a suggestion for a possible future addition

    hmm now that i think about it does your plugin save everything about the circuits? like if i had a sign connected to them will that be saved? i'll have to check it out and see if it will, unfortunately i'm waiting to update to 1.2 along with certain key plugins first but once i do i'll be adding this and maybe your signs and trains plugins

    sorry for the wall o'text
     
  25. Offline

    bergerkiller

    JayFight it does not save the actual blocks, but only saves the 'element' a block acts as. For example, a single redstone torch will show up as an 'inverter' element, which has multiple inputs and outputs. There are inverter, repeater and port elements, and wire elements to insta-connect bits together. All is simulated as if it is the neurons in your brain. :)
     
  26. Offline

    Junrall

    bergerkiller

    Tried running this on Bukkit 2036 and am getting this error on start up... yep, I'm running a dev build.:rolleyes:
    My goal is to be running all of your plugins... god help my server! :p

    Code:
    [SEVERE] Could not load 'plugins\RedstoneMania.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: org/bukkit/event/player/PlayerListener
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:148)
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:287)
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:211)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:207)
        at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:183)
        at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:53)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:156)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    Caused by: java.lang.NoClassDefFoundError: org/bukkit/event/player/PlayerListener
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:41)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:29)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at com.bergerkiller.bukkit.rm.RedstoneMania.<init>(RedstoneMania.java:28)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:144)
        ... 8 more
    Caused by: java.lang.ClassNotFoundException: org.bukkit.event.player.PlayerListener
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:41)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:29)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 27 more
     
  27. This seems very, very nice for a plugin..
    Will be testing it out this weekend!

    Just a quick question, even though I know the answer might not be as short:
    The instancename, what exactly is it for?
    - What does it do?
    - Can a player have multiple circuits with the same instancename?
    - Can multiple players use the same instancename?
    - When is it usefull to use the same or a different instancename?
     
  28. Offline

    bergerkiller

    Master-Guy
    - Instances contain the current states of a current (on/off)
    - Yes
    - Yes, for different circuits
     
  29. Offline

    bergerkiller

    Updated it for use with CraftBukkit build (2038), but will most likely work on other builds after this one too.
     
  30. Offline

    Junrall

    bergerkiller
    Thanks for the update!

    However, I think there may be a problem... I have followed and created an XOR gate exactly as you have in your video, but it seems to not be working. I've tried this with an AND gate as well and no go. If I recreate the delayed circuit in your video, it works fine.

    Also, I noticed that when I create an instance of a circuit, it does not save it to the instances folder when created. It is, however, saved when the server restarts... and even after restart, the XOR and AND gates will not work. If instances aren't saved during creation, then if the server crashes, all newly created instances will be lost forever.


    I have removed all other plugins and am using Bukkit 2038 to test this.

    Thanks again:)
     
Thread Status:
Not open for further replies.

Share This Page