Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

LiquidBounce Forum

  1. Home
  2. General
  3. Extending Java constructors with Nashorn?

Extending Java constructors with Nashorn?

Scheduled Pinned Locked Moved Unsolved General
3 Posts 1 Posters 889 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    I Offline
    idk my name
    wrote on last edited by idk my name
    #1

    Let's say that there's a listener that subscribes into PacketEvent and calls my WrappedPacketEvent:

    var WrappedListener = Java.extend((Java.type('net.ccbluex.liquidbounce.event.Listenable')), (Java.type('java.util.function.Consumer')), {
        handleEvents: function() { return true },
        accept: function(e) {
            e instanceof PacketEvent && LiquidBounce.INSTANCE.eventManager.callEvent(new WrappedPacketEvent(e.getPacket().wrapped)); 
        }
    });
    

    But how can I extend Event and create my own constructor that accepts Packet<?>? (Consumer?)

    1 Reply Last reply
    0
    • I Offline
      I Offline
      idk my name
      wrote on last edited by
      #2

      For understanding:
      9751f39d-9889-41ad-82d3-322fa8869705-image.png
      The problem is in IPacket.
      I want to wrap IPacket into Packet<?>, so onPacket will accept Packet<?> instead of IPacket (xversion problem, I need to write e.getPacket().wrapped instead of just e.getPacket(), that's really annoying)

      1 Reply Last reply
      0
      • I Offline
        I Offline
        idk my name
        wrote on last edited by idk my name
        #3

        There's how far I got:

        var WrappedListener = Java.extend((Java.type('net.ccbluex.liquidbounce.event.Listenable')), (Java.type('java.util.function.Consumer')), {
            handleEvents: function() { return module[0].state },
            accept: function(e) {
                e instanceof PacketEvent && LiquidBounce.INSTANCE.eventManager.callEvent(new WrappedPacketEvent(e.getPacket().wrapped)); 
            }
        });
        
        function WrappedPacketEvent(packet) {
            var isCancelled;
        
            this.isCancelled = function() isCancelled;
            this.cancelEvent = function() {
                isCancelled = true;
            }
            this.getPacket = function() packet;
        }
        
        1 Reply Last reply
        0

        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

        With your input, this post could be even better 💗

        Register Login
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        About
        • Terms of Service
        • Privacy Policy
        • Status
        • Contact Us
        Downloads
        • Releases
        • Source code
        • License
        Docs
        • Tutorials
        • CustomHUD
        • AutoSettings
        • ScriptAPI
        Community
        • Forum
        • Guilded
        • YouTube
        • Twitter
        • D.Tube
        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups