Jump to content

Recommended Posts

Posted

Hi, i'm making a mod that use jruby to load other mods using ruby,the part that loads the mod it's working perfectly but i need to load the resources textures, sounds, etc.

 

i don't have any ideas to make this, so help meeeee  :)

 

thanks.

Posted

Doesn't sound very Forge.  You may want to ask on a ruby forum, unless you are using Forge in the process somehow?

You Only Live Once, So Win At Golf.

Sorry for my English, I'm American.

Posted

Doesn't sound very Forge.  You may want to ask on a ruby forum, unless you are using Forge in the process somehow?

Yes i'm using Forge for this, a base mod written in java to load all ruby mods.

Posted

Why hack around forge? Forge does not depend on mods being written in Java. All it needs is a class file with an @Mod annotation. You might need to write that in java to then delegate to ruby, but other than that you should not have to do anything fancy at all.

 

I think that Forge is a good idea to make this, will help me to make the development easy.

Posted

I don't think you understood what I meant.

 

You is right, i don't understand you :)

 

the base mod loads the ruby mods in a path(".minecraft/ruby_core")

 

what i need is a way to load resources in this path like ".minecraft/ruby_core/myMod/assets/textures/myBlock.png"

 

this is the problem i don't know how to do this.

Posted

Hold on, let me get this straight. You are making a Java mod for Minecraft to load Ruby mods for Minecraft? Why?

 

Hahah, let me explain, i am using Jruby to run Ruby code into java, i created a class called BaseMod, this class is a Mod and load the Ruby and i can use all Api in Ruby.

 

Example:

 

require 'java'

 

import 'net.minecraft.block.Block'

import 'net.minecraft.block.material.Material'

 

class RubyBlock < Block

  def intialize(material)

    super(material)

  end

end

 

All code created in ruby is loaded after BaseMod is initiated, and they will be in a separated folder called "ruby_core" the code runs perfectly but i need a way to load the resources with the ruby Code.

 

No... don't make it so complicated. Your "ruby mod" should be a normal mod. Stored in a jar file. According to wikipedia JRuby can translate ruby to class files. FML loads class files, therefor it will be able to load your ruby mods just like normal. Without any additional wrappers.

 

Yes jruby compile ruby to class files, but i can do this in real time using a ruby or java code:

 

Example:

user_name = java.lang.System.getProperty("user.name")

mods_path = File.join('C:', 'Users', user_name, 'AppData', 'Roaming', '.minecraft', 'ruby_mods', '*.rb')

Dir[mods_path].each do |file|

    puts "[Ruby_core][Load]: #{file}"

    load file

end

 

and this scripts can use the API normally

 

Exists others projects that do this:

https://github.com/enebo/Purugin

http://dev.bukkit.org/bukkit-plugins/rubybukkit/

 

They was made to work with Bukkit, my mod is made to work with Forge.

 

But you are not wrong maybe a good solution is create a Lib or an Api or something that is encapsulated in a Jar like Ruboto.

Posted

Again... why.

I don't understand why you can't leave the loading to FML.

 

the idea is the others users can write codes in ruby and paste in the ruby_core folders and the code was loaded dynamically example:

 

class MyMod < Mod

modid = 'myMod' #modid and version was a idea to i want to implement in the future, ignore this.

version = '0.1'

def init

my_block()

end

 

def my_block

myblock = QuickBlock.new(Material.wood) #QuickBlock is a class to help me to create blocks.

myblock.setCreativeTab(CreativeTabs.tabRedstone)

GameRegistry.registerBlock(myblock, "myBlock")

end

end

MyMod.new()

 

and the loader run this code in the ruby_core folder and add a new block, simple and easy  ;)

Posted

So... you want to do this so that users don't have to compile themselves? I highly (!) recommend you don't do this. It will be buggy and not really beneficial compared to what you are trying to achieve now.

 

what is your recommendation? what i should do?

Posted

As I said before: Compile the JRuby mod normally, just like any other application. That will output .class files just like java code.

Then make FML load that. Just like a java mod.

 

how i make to this mod help others users the idea of the mod is make the minecraft mod development easy and fun(this is the purpose of ruby too), what they can do to use this mod?

Posted

Sorry... but... WHAT?

 

the original idea of this mod is:

  Eliminate the compiling.

  Use Ruby.

  An Api to make the development more easy

  Use Irb(Test Ruby code in console) in-game

 

but now making the mod as you say the only thing i can do is the Irb

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.