I retract my previous assertions. I was thinking about the original XBox. My mistake. The point remains, however, that the game will be in compiled C#.
If the games not obfuscated, the game can easily be decompiled with a reflector. It'd be simple. You move the game over to a USB flash drive thats been formatted for the xbox. Put the USB and explore it with a FATX explorer. You'll then want to extract the package which contains the game. Then you use something like .NET Reflector or Salamander to reflect the code.
And you can have mods for a compiled C# game. Some sort of modding API would need to be in place. But its simple. You create a library with two interfaces.
public interface IPlugin;
public interface IPluginHost;
The plugin host would have several methods that the plugin class could use. Could even go with an event based API.
public class Plugin : IPlugin
{
IPluginHost Host { get; set;}
// When the plugin is loaded from the plugin host
public onLoad()
{
Host.addBlock(new MyBlock(args));
}
}
public class MyBlock : Block
{
public MyBlock(args)
{
// initialize all data here
}
}
// pretend this is the class that is running minecraft and that its using XNA
public class Game1 : Game, IPluginHost
{
public void LoadContent()
{
// Here's where all the dll files would be loaded
}
public void addBlock(Block block)
{
// or however they manage the list of usable blocks
blockList.Add(block);
}
}
You would throw this code into your own C# project. The C# project would have to be a library (.dll) And the game would load the assembly with Assembly.FromFile("file name"); Which you then call upon the plugin class. Load the plugin, call upon the plugin's update method (if it exists). Creating a plugin system for C# isn't hard.
You just need to create a simple interface for plugins and an interface for the plugin host so plugins can interact with the actual game itself. Maybe have the plugins have an "onUpdate" "onDraw" methods and whatnot. However, going with this way, you're still limited as you wouldn't be able to change any aspect of the game you'd like. You're limited to how much the developers would expose to this API.
Mods are possible, but only if the developer allows it. And even then its not a mod, more of a plugin. Just because you have a compiled language, doesn't mean you can't expose it to 3rd parties. However, if there isn't a modding API of some sort then you'd have to go out of your way to get the source code as decompiling Xbox games running C# is very tedious. Most reflectors out there for .NET languages don't even export the source code into working code. You have to go in yourself and fix all of the errors. And thats assuming they didn't obfuscate the code.
I'll be updating this to 1.0.0 soon. I won't be able to access my development computer for a few days. Hopefully this weekend I'll be able to work on it and update. It shouldn't be too hard. I'm also thinking about adding my own crops so instead of mushrooms and stuff, you use herbs that you grow to make the medication.
I can make a version for the final version after this Tuesday. It will take some time though since MCP hasn't been released, I'm gonna have to do a lot of guess and checking. But yeah expect an update. :3
They are not synchronized, the left one opens two torch delays (4 ticks) later than the right one.
Instead of the repeater, you can use a regular wire with a block above it to prevent it from connecting to the wire which is powered by the pressure plate.
Thanks for the tip. After I did what you said, it opens up a bit faster compared with the repeater. I'm not sure how to go about doing perfect synchronization. Anyways thanks. :happy.gif:
While attempting to make double doors open simultaneously using a pressure plate, I discovered a simple solution with simple wiring to get the job done. Requires 1 red torch, 3 redstone dusts, and 1 redstone repeater. Also, if this method has been shown already, I apologize.
java.lang.ClassFormatError: Invalid this class index 537 in constant pool in class file WorldGenCreateGuild
This line is telling me that the WorldGenCreateGuild.class file has either gotten corrupted or just cannot be read... I don't understand how it can get corrupted on your end; it seems to work for us. I know I keep saying this over and over again, but did you delete the METAINF folder in the minecraft.jar archive?
If I didn't delete the META-INF folder I wouldn't have been able to run Minecraft period. But the problem is solved, I had a couple of other mods in the "mods" folder I forgot about. :3 I made a big o' fuss about nothin'.
So I downloaded the new version. Started with a fresh jar, installed mod loader and placed this mod in the mods folder. I started up Minecraft, clicked New World, then when it brought up the message, I clicked Start and it crashed. This is the report I'm getting.
Mods loaded: 3
ModLoader Beta 1.8.1
mod_TooManyItems 1.8 2011-09-14a
mod_HeroesGuild 1.8.1
Minecraft has crashed!
----------------------
Minecraft has stopped running because it encountered a problem.
If you wish to report this, please copy this entire text and email it to [email protected].
Please include a description of what you did when the error occured.
--- BEGIN ERROR REPORT fd0d7c58 --------
Generated 10/16/11 10:09 AM
Minecraft: Minecraft Beta 1.8.1
OS: Windows 7 (amd64) version 6.1
Java: 1.7.0_02-ea, Oracle Corporation
VM: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
LWJGL: 2.4.2
OpenGL: GeForce GTS 450/PCI/SSE2 version 4.1.0, NVIDIA Corporation
java.lang.ClassFormatError: Invalid this class index 537 in constant pool in class file WorldGenCreateGuild
at java.lang.ClassLoader.defineClass1(Native Method)
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$100(Unknown Source)
at java.net.URLClassLoader$1.run(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 java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at GuiStartConquest.a(GuiStartConquest.java:36)
at qr.a(SourceFile:72)
at qr.f(SourceFile:120)
at qr.i(SourceFile:108)
at net.minecraft.client.Minecraft.k(SourceFile:1197)
at net.minecraft.client.Minecraft.run(SourceFile:666)
at java.lang.Thread.run(Unknown Source)
--- END ERROR REPORT b4a4d4af ----------
Mods loaded: 4
ModLoader Beta 1.8.1
mod_TooManyItems 1.8 2011-09-14a
mod_WorldEditCUI v0.9.1 for mc1.8
mod_HeroesGuild 1.8.1
Minecraft has crashed!
----------------------
Minecraft has stopped running because it encountered a problem.
If you wish to report this, please copy this entire text and email it to [email protected].
Please include a description of what you did when the error occured.
--- BEGIN ERROR REPORT 8bc89343 --------
Generated 10/15/11 9:36 PM
Minecraft: Minecraft Beta 1.8.1
OS: Windows 7 (amd64) version 6.1
Java: 1.7.0_02-ea, Oracle Corporation
VM: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
LWJGL: 2.4.2
OpenGL: GeForce GTS 450/PCI/SSE2 version 4.1.0, NVIDIA Corporation
java.lang.ClassFormatError: Invalid this class index 765 in constant pool in class file WorldGenCreateGuild
at java.lang.ClassLoader.defineClass1(Native Method)
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$100(Unknown Source)
at java.net.URLClassLoader$1.run(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 java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at GuiStartConquest.a(GuiStartConquest.java:36)
at qr.a(SourceFile:72)
at qr.f(SourceFile:120)
at qr.i(SourceFile:108)
at net.minecraft.client.Minecraft.k(Minecraft.java:1035)
at fs.k(fs.java:34)
at net.minecraft.client.Minecraft.run(Minecraft.java:495)
at java.lang.Thread.run(Unknown Source)
--- END ERROR REPORT cc4f9891 ----------
Good idea. I'll try and do it. Also for you CraftBukkit fans, ModLoaderMP has been updated for the latest CraftBukkit version. That means with some tweaking, you can get this mod for CraftBukkit. Expect the update this weekend. :3
0
If the games not obfuscated, the game can easily be decompiled with a reflector. It'd be simple. You move the game over to a USB flash drive thats been formatted for the xbox. Put the USB and explore it with a FATX explorer. You'll then want to extract the package which contains the game. Then you use something like .NET Reflector or Salamander to reflect the code.
And you can have mods for a compiled C# game. Some sort of modding API would need to be in place. But its simple. You create a library with two interfaces.
The plugin host would have several methods that the plugin class could use. Could even go with an event based API.
You would throw this code into your own C# project. The C# project would have to be a library (.dll) And the game would load the assembly with Assembly.FromFile("file name"); Which you then call upon the plugin class. Load the plugin, call upon the plugin's update method (if it exists). Creating a plugin system for C# isn't hard.
You just need to create a simple interface for plugins and an interface for the plugin host so plugins can interact with the actual game itself. Maybe have the plugins have an "onUpdate" "onDraw" methods and whatnot. However, going with this way, you're still limited as you wouldn't be able to change any aspect of the game you'd like. You're limited to how much the developers would expose to this API.
Mods are possible, but only if the developer allows it. And even then its not a mod, more of a plugin. Just because you have a compiled language, doesn't mean you can't expose it to 3rd parties. However, if there isn't a modding API of some sort then you'd have to go out of your way to get the source code as decompiling Xbox games running C# is very tedious. Most reflectors out there for .NET languages don't even export the source code into working code. You have to go in yourself and fix all of the errors. And thats assuming they didn't obfuscate the code.
0
0
0
Thanks for the tip. After I did what you said, it opens up a bit faster compared with the repeater. I'm not sure how to go about doing perfect synchronization. Anyways thanks. :happy.gif:
0
0
0
0
If I didn't delete the META-INF folder I wouldn't have been able to run Minecraft period. But the problem is solved, I had a couple of other mods in the "mods" folder I forgot about. :3 I made a big o' fuss about nothin'.
0
0
0
0
0
0
0
Well there are a lot of other gun mods out there. Why not add another one? ;3 I might do a weapons mod. Sounds fun and challenging.