Thread: xray mod

Results 1 to 11 of 11
  1. #1
    Fpereirinha's Avatar
    Join Date
    Nov 2014
    Gender
    male
    Posts
    38
    Reputation
    10
    Thanks
    8
    My Mood
    Angelic

    xray mod

    exist xray mod for trove ?

  2. #2
    Lanotte90's Avatar
    Join Date
    Feb 2015
    Gender
    male
    Posts
    42
    Reputation
    10
    Thanks
    4
    Don't think so... It would be pretty useless since most materials are visible on the ground

  3. #3
    kevvv1's Avatar
    Join Date
    Jul 2014
    Gender
    male
    Posts
    36
    Reputation
    10
    Thanks
    6
    There are the occasional ore's that are 2-3 blocks down from the ground, I've been working on something, but it's not great... And I doubt I release it publicly.



    Pictures are worth a thousand words.
    Last edited by kevvv1; 12-16-2016 at 02:33 AM.

  4. #4
    Lanotte90's Avatar
    Join Date
    Feb 2015
    Gender
    male
    Posts
    42
    Reputation
    10
    Thanks
    4
    It could be usefull only to find caverns under dragonfire biomes. in that case it can be very useful sometimes. Is it possible to see underwater with that also?

  5. #5
    kevvv1's Avatar
    Join Date
    Jul 2014
    Gender
    male
    Posts
    36
    Reputation
    10
    Thanks
    6
    Quote Originally Posted by Lanotte90 View Post
    It could be usefull only to find caverns under dragonfire biomes. in that case it can be very useful sometimes. Is it possible to see underwater with that also?
    I can make it turn water blocks into transparent blocks, but the downside to that is that you no longer swim in water... You just kind of walk on water.

  6. #6
    Polling's Avatar
    Join Date
    Jun 2016
    Gender
    male
    Posts
    6
    Reputation
    10
    Thanks
    0
    Hey kevvv1, how do you trigger a given chunk to redraw automatically? At this point I assume I'm missing something obvious.

    Edit: To clarify, I currently call a game subroutine with chunk, coords and id/ type on one of the chunk's blocks to trigger a redraw. I attempted to narrow down what in the function actually caused the redraw, but ended up going nowhere.
    Last edited by Polling; 01-07-2017 at 04:05 AM.

  7. #7
    kevvv1's Avatar
    Join Date
    Jul 2014
    Gender
    male
    Posts
    36
    Reputation
    10
    Thanks
    6
    Quote Originally Posted by Polling View Post
    Hey kevvv1, how do you trigger a given chunk to redraw automatically? At this point I assume I'm missing something obvious.

    Edit: To clarify, I currently call a game subroutine with chunk, coords and id/ type on one of the chunk's blocks to trigger a redraw. I attempted to narrow down what in the function actually caused the redraw, but ended up going nowhere.
    I just toss bombs around :P

  8. #8
    kevvv1's Avatar
    Join Date
    Jul 2014
    Gender
    male
    Posts
    36
    Reputation
    10
    Thanks
    6
    Quote Originally Posted by Polling View Post
    Hey kevvv1, how do you trigger a given chunk to redraw automatically? At this point I assume I'm missing something obvious.

    Edit: To clarify, I currently call a game subroutine with chunk, coords and id/ type on one of the chunk's blocks to trigger a redraw. I attempted to narrow down what in the function actually caused the redraw, but ended up going nowhere.
    Though I'd be a bit interested in learning how you're calling that game subroutine (I do a bunch of external work and haven't touched upon things like that.)

  9. #9
    Polling's Avatar
    Join Date
    Jun 2016
    Gender
    male
    Posts
    6
    Reputation
    10
    Thanks
    0
    I currently use a nice framework which allows me to quickly iterate using a mixture of javascript and python (apologies for being vague, but this should still be enough to find it).

    For calling things the "normal" way, there's various resources available describing how to call a function by pointer via an injected dll. You could also just allocate some remote memory and write sufficient instructions to call your desired function there, before executing that with CreateRemoteThread.

     
    Code:
    import struct
    
    from time import time
    from remote_api import RemoteApi  # small wrapper around the framework
    
    
    class TroveMemory(RemoteApi):
        def __init__(self):
            super(TroveMemory, self).__init__('Trove.exe')
            self.remote = self.inject_script('trove_remote_api.js')
    
        def get_player_data(self):
            return self.read_pointer_path(0xXXXXXXX, [0xXXX, 0xXXX, 0xXXX, 0xXXX, 0xXXX], 0xXXX)
    
        def get_player_position(self):
            pdata = self.get_player_data()
    
            x, y, z = struct.unpack_from('<fff', pdata, 0xXX)
            return x, y, z
    
        def set_block_bulk(self, referencePos, *bulkData):
            start = time()
            self.remote.set_block_bulk(referencePos, bulkData)
            print('Set took %.4f' % (time() - start))
    
    
    def main():
        t = TroveMemory()
        x, y, z = t.get_player_position()
        print('Player pos: %r' % [x, y, z])
    
        bData = []
        for i in range(256):
            bData.append(([i % 16, 10, i // 16], i, 0))
    
        t.set_block_bulk(
            [int(x), int(y), int(z)],
            *bData
        )
    
    
    if __name__ == '__main__':
        main()


    Using a remote framework does come with the downside of minor delays between communication of the python and javascript portions, so it's not the best for all applications.

    Also, which id do you use for invisible blocks? I've been using 56, but the game is aware it's transparent so I need to be careful about which blocks I call the subroutine on to trigger a refresh, otherwise the game will render the blocks adjacent to the minichunk as solid.
    Last edited by Polling; 01-09-2017 at 10:14 PM.

  10. #10
    kevvv1's Avatar
    Join Date
    Jul 2014
    Gender
    male
    Posts
    36
    Reputation
    10
    Thanks
    6
    Quote Originally Posted by Polling View Post
    I currently use a nice framework which allows me to quickly iterate using a mixture of javascript and python (apologies for being vague, but this should still be enough to find it).

    For calling things the "normal" way, there's various resources available describing how to call a function by pointer via an injected dll. You could also just allocate some remote memory and write sufficient instructions to call your desired function there, before executing that with CreateRemoteThread.

     
    Code:
    import struct
    
    from time import time
    from remote_api import RemoteApi  # small wrapper around the framework
    
    
    class TroveMemory(RemoteApi):
        def __init__(self):
            super(TroveMemory, self).__init__('Trove.exe')
            self.remote = self.inject_script('trove_remote_api.js')
    
        def get_player_data(self):
            return self.read_pointer_path(0xXXXXXXX, [0xXXX, 0xXXX, 0xXXX, 0xXXX, 0xXXX], 0xXXX)
    
        def get_player_position(self):
            pdata = self.get_player_data()
    
            x, y, z = struct.unpack_from('<fff', pdata, 0xXX)
            return x, y, z
    
        def set_block_bulk(self, referencePos, *bulkData):
            start = time()
            self.remote.set_block_bulk(referencePos, bulkData)
            print('Set took %.4f' % (time() - start))
    
    
    def main():
        t = TroveMemory()
        x, y, z = t.get_player_position()
        print('Player pos: %r' % [x, y, z])
    
        bData = []
        for i in range(256):
            bData.append(([i % 16, 10, i // 16], i, 0))
    
        t.set_block_bulk(
            [int(x), int(y), int(z)],
            *bData
        )
    
    
    if __name__ == '__main__':
        main()


    Using a remote framework does come with the downside of minor delays between communication of the python and javascript portions, so it's not the best for all applications.

    Also, which id do you use for invisible blocks? I've been using 56, but the game is aware it's transparent so I need to be careful about which blocks I call the subroutine on to trigger a refresh, otherwise the game will render the blocks adjacent to the minichunk as solid.
    If there was a way to PM I'd love to get in contact with you off mpgh via disc0rd or Skype..?
    Last edited by kevvv1; 01-10-2017 at 10:33 PM.

  11. #11
    Polling's Avatar
    Join Date
    Jun 2016
    Gender
    male
    Posts
    6
    Reputation
    10
    Thanks
    0
    Sure thing, my Skype is ******guak_11.

Similar Threads

  1. [Release] 1.3.1 Xray Mod + Ingame block selector GUI
    By Pryingopen3rdeye in forum Minecraft Mods
    Replies: 16
    Last Post: 10-31-2012, 12:35 PM
  2. [Solved] Xray mod for industrial craft
    By Blackdawn in forum Minecraft Help
    Replies: 2
    Last Post: 06-13-2012, 03:51 PM
  3. [Solved] URGENT HELP PLZ! Xray mod help
    By mcxray in forum Minecraft Help
    Replies: 2
    Last Post: 04-29-2012, 09:06 AM
  4. [Help Request] Minecraft goes blue when load a world (Xray mod only installed)
    By ~Just IN~ in forum Minecraft Help
    Replies: 4
    Last Post: 01-20-2012, 10:18 AM
  5. [Solved] multiplayer xray mod for v1 6.6?
    By super haro in forum Minecraft Help
    Replies: 2
    Last Post: 06-25-2011, 12:43 PM