I have an idea for a server-side-only Minecraft Forge mod, if my idea is plausible. I want, when a player connects to my server, to be brought to a menu listing "Mini-Servers" of sorts, in which each is treated as their own separate being.
For example: I join my server, and when I am done logging in and loading, I want to see a menu that says "Which sub-server do you want to connect to?" and lists "17slim's Tekkit Server" and "17slim's Custom Server" as buttons. Then, suppose the first option is chosen: I want it to load the server with Tekkit's mods running, and the "Custom" mods completely ignored and left in their own bubble of the server (thus any mods that are required for Custom and not Tekkit are not needed). This seems to me an easier way to have multiple servers without the need for a reverse proxy or extra ports.
Also, here are a couple short theories/requests/ideas as to how something like this could be done:
The mod could function similar to how Modloader does, with a configuration file to choose what mods are on or off.
Abridged example (don't feel like listing every modpack's mods):
subservers.cfg (on first run, cfg file created, and populated based on detected mods. Everything set to true by default, then changed by owner of server)
"17slim's Tekkit Server":
IC2: true
ModularPowersuits: true
Mystcraft: true
MoCreatures: false
"17slim's Custom Server":
IC2: false
ModularPowersuits: true
Mystcraft: true
MoCreatures: true //you get the point
In the "saves" directory, there can be folders titled "17slim's Tekkit Server" and "17slim's Custom Server", thus allowing identically named dimensions ("world" and "DIM-1" to list a couple) to be separated to prevent problems resulting from the lack of certain mods.
If it is easier, a second option to consider instead of everything stated in the first spoiler:
Perhaps have two (or more) directories in the same directory as the Forge Server Jar, each with the title of the server (i.e. "17slim's Tekkit Server" and "17slim's Custom Server"). Both (or all) directories could have setups similar to that of a normal server directory, with their own saves, mods, config, etc. Then in the configuration file for this mod (in the top directory), a simple list of the servers, their names, and the directories from which to run them.
subservers.cfg (syntax: Server ID: "Server's name to display": Server's directory to run from;):
One thing to be noted: I am not looking for a way to magically get the mods from the server to client-side. If a player joins a sub-server, I intend for them to need every single mod (not any more or less) on only that sub-server. This means that they will not be able to play on any of the sub-servers that do not have the mods installed that they do, nor sub-servers that have mods that the client does not. I am well aware of how impossible it is to get it to work if the server has mods that the client does not.
Now: I am completely aware that I may have missed or mistaken something (or many things) in my thinking; I have not attempted it, and do not know exactly what needs to be done (or else I would just make it on my own). This is just a mod request and outline. One thing I do know is that this is likely very complicated. But, if anyone could and would do this, that would be great!
When I remove Optifine, it works! I put the C6 version back in (C7 also gave me the crash) it works again. Thanks a ton! Do you have any idea as to how I could fix C7/C8?
Hello! Minecraft keeps crashing on me. I followed the crash reports, and found that the first problem was that Biomes O Plenty had IDs conflicting with itself. Now MC gives me a different crash report. I thought that it was because my Forge-Optifine-compatibility JVM arguments were absent. While the arguments were not there, I get the same crash report. Could someone help please?
---- Minecraft Crash Report ----
// On the bright side, I bought you a teddy bear!
Time: 12/24/13 1:53 PM
Description: Initializing game
java.lang.VerifyError: (class: net/minecraft/client/renderer/EntityRenderer, method: func_78466_h signature: (F)V) Accessing value from uninitialized register 10
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:487)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:808)
at net.minecraft.client.main.Main.main(SourceFile:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Stacktrace:
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:487)
-- Initialization --
Details:
Stacktrace:
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:808)
at net.minecraft.client.main.Main.main(SourceFile:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
-- System Details --
Details:
Minecraft Version: 1.6.4
Operating System: Windows 7 (amd64) version 6.1
Java Version: 1.7.0_03, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 1579970376 bytes (1506 MB) / 2058027008 bytes (1962 MB) up to 2058027008 bytes (1962 MB)
JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx2G -Xms2G
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Suspicious classes: FML and Forge are installed
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v8.11 FML v6.4.45.953 Minecraft Forge 9.11.1.953 Optifine OptiFine_1.6.4_HD_U_C8 9 mods loaded, 9 mods active
mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized
FML{6.4.45.953} [Forge Mod Loader] (minecraftforge-9.11.1.953.jar) Unloaded->Constructed->Pre-initialized
Forge{9.11.1.953} [Minecraft Forge] (minecraftforge-9.11.1.953.jar) Unloaded->Constructed->Pre-initialized
BiomesOPlenty{1.2.0} [Biomes O' Plenty] (BiomesOPlenty-universal-1.6.4-1.2.0.364.jar) Unloaded->Constructed->Pre-initialized
CustomSpawner{2.3.1} [DrZhark's CustomSpawner] (CustomMobSpawner 2.3.1.zip) Unloaded->Constructed->Pre-initialized
DragonMounts{r33} [Dragon Mounts] (dragonmount_r33_mc1.6.x.zip) Unloaded->Constructed->Pre-initialized
MoCreatures{6.0.1} [DrZhark's Mo'Creatures Mod] (DrZharks MoCreatures Mod v6.0.1.zip) Unloaded->Constructed->Pre-initialized
ExtrabiomesXL{3.14.5} [ExtrabiomesXL] (ExtrabiomesXL-universal-1.6.4-3.14.5.jar) Unloaded->Constructed->Pre-initialized
Highlands{2.1.3} [Highlands] (Highlands2.1.4_MC1.6.4.zip) Unloaded->Constructed->Pre-initialized
Launched Version: 1.6.4-Forge9.11.1.953
LWJGL: 2.9.0
OpenGL: AMD Radeon HD 6520G GL version 4.2.11399 Compatibility Profile Context, ATI Technologies Inc.
Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Pack: Default
Current Language: English (US)
Profiler Position: N/A (disabled)
Vec3 Pool Size: ~~ERROR~~ NullPointerException: null
I will point out a couple of things:
I am aware the Mo' Creatures mod is for 1.6.2, however I know (from having used it) that it is compatible with 1.6.4. Secondly, I am aware that I have many mods. I also know, again from having used previous versions of them, that they are all compatible with each other.
Great mod, I love the idea of the dragons catching you when you fall, now. The only problem I have is that they are rarely fast enough to catch you if they even try... Can you make them care a bit more?
But great mod anyway, can't wait for fire to be re-added and hopefully for you to take my request/suggestion!
Thanks!
Support. It's sensible, well stated and indeed much needed.
The only thing I don't like is the rearing. If a horse runs at a high speed and tries to rear (in real life), it would fall over. I suggest just making the horse take damage if you run head first into a wall and rearing being impossible while running fast. Rearing could make for an interesting combat mechanic, though. Maybe with a high knockback?
One other thing: If you let go of w, you should decelerate, with s just making the deceleration faster (I wasn't sure if you meant it like this or not, so I decided to add it in anyway).
As far as rearing goes, I agree. But in real life, you have to tell the horse to slow down/stop. I would have the horse keep its speed unless told otherwise, not to mention you wouldn't have to worry about it. Also, I would want to see the ability to hold a speed that isn't the max. For example, a slow walk or a steady trot.
Anyways, I fully support this idea. Can someone make a mod that does this?
Could I have a direct download or mediafire link? Adf.ly just gives me a blank page. I usually can just add "www." to the beginning, but that still leads me to a blank page. I also tried changing adf.ly to q.gs, and that didn't work either. So could someone help or give me a direct download?
Could someone make a mod that is similar to the respawn description for Nerd Kingdom's TUG Game?
Essentially, when you die, you spawn as a wisp above your body (which stays where it died). There are then stages for you to choose when you respawn. Read the link for more info. http://tugwiki.com/wiki/Wisps
I am trying to create a command that will change the jump height of the player. I just can't seem to make it actually work. It registers and everything, just doesn't do anything at all. here is my code:
PlayerCapabilityCommandsMod (Main Class):
package playerCapabilityCommands;
import net.minecraft.command.CommandHandler;
import net.minecraft.command.ICommand;
import net.minecraft.command.ICommandManager;
import net.minecraft.command.ServerCommandManager;
import net.minecraft.server.MinecraftServer;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.network.NetworkMod;
@Mod(modid = PlayerCapabilityCommandsMod.modid, name = "Player Capability Commands", version = "1.0")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class PlayerCapabilityCommandsMod {
public static final String modid = "17slim_PlayerCapabilityCommands";
public static MinecraftServer server;
@EventHandler
public void load(FMLInitializationEvent event) {
}
@EventHandler
public void serverStarting(FMLServerStartingEvent event) {
CommandHandler c = (CommandHandler) event.getServer()
.getCommandManager();
c.registerCommand(new CommandSetSpeed());
c.registerCommand(new CommandSetJump());
//c.registerCommand(new CommandSetSize());
}
}
CommandSetJump:
package playerCapabilityCommands;
import net.minecraft.command.CommandBase;
import net.minecraft.command.ICommandSender;
import net.minecraft.entity.player.EntityPlayer;
public class CommandSetJump extends CommandBase {
double motionY = 0.41999998688697815D;
@Override
public String getCommandName() {
return "setjump";
}
@Override
public String getCommandUsage(ICommandSender icommandsender) {
return "Changes the player's jump height. \r /setjump ";
}
@Override
public void processCommand(ICommandSender icommandsender, String[] astring) {
EntityPlayer p = (EntityPlayer) icommandsender;
EntLiveBaseExt e=new EntLiveBaseExt(p.worldObj);
e.setMotionY((Double.parseDouble(astring[0])/(1/0.41999998688697815D)));
}
}
EntLiveBaseExt
package playerCapabilityCommands;
import java.lang.annotation.Retention;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class EntLiveBaseExt extends EntityLivingBase{
public EntLiveBaseExt(World par1World) {
super(par1World);
// TODO Auto-generated constructor stub
}
@Override
public ItemStack getHeldItem() {
// TODO Auto-generated method stub
return null;
}
@Override
public ItemStack getCurrentItemOrArmor(int i) {
// TODO Auto-generated method stub
return null;
}
@Override
public void setCurrentItemOrArmor(int i, ItemStack itemstack) {
// TODO Auto-generated method stub
}
@Override
public ItemStack[] getLastActiveItems() {
// TODO Auto-generated method stub
return null;
}
public double getMotionY(){
return this.motionY;
}
public void setMotionY(double d){
this.motionY=d;
}
protected void jump(){
this.motionY=this.getMotionY();
}
}
0
What I meant was:
Both (or all) directories could have setups similar to that of a normal server directory, with their own "world", "DIM1", "mods", "config", etc.
0
I have an idea for a server-side-only Minecraft Forge mod, if my idea is plausible. I want, when a player connects to my server, to be brought to a menu listing "Mini-Servers" of sorts, in which each is treated as their own separate being.
For example: I join my server, and when I am done logging in and loading, I want to see a menu that says "Which sub-server do you want to connect to?" and lists "17slim's Tekkit Server" and "17slim's Custom Server" as buttons. Then, suppose the first option is chosen: I want it to load the server with Tekkit's mods running, and the "Custom" mods completely ignored and left in their own bubble of the server (thus any mods that are required for Custom and not Tekkit are not needed). This seems to me an easier way to have multiple servers without the need for a reverse proxy or extra ports.
Also, here are a couple short theories/requests/ideas as to how something like this could be done:
Abridged example (don't feel like listing every modpack's mods):
subservers.cfg (on first run, cfg file created, and populated based on detected mods. Everything set to true by default, then changed by owner of server)
In the "saves" directory, there can be folders titled "17slim's Tekkit Server" and "17slim's Custom Server", thus allowing identically named dimensions ("world" and "DIM-1" to list a couple) to be separated to prevent problems resulting from the lack of certain mods.
If it is easier, a second option to consider instead of everything stated in the first spoiler:
subservers.cfg (syntax: Server ID: "Server's name to display": Server's directory to run from;):
One thing to be noted: I am not looking for a way to magically get the mods from the server to client-side. If a player joins a sub-server, I intend for them to need every single mod (not any more or less) on only that sub-server. This means that they will not be able to play on any of the sub-servers that do not have the mods installed that they do, nor sub-servers that have mods that the client does not. I am well aware of how impossible it is to get it to work if the server has mods that the client does not.
Now: I am completely aware that I may have missed or mistaken something (or many things) in my thinking; I have not attempted it, and do not know exactly what needs to be done (or else I would just make it on my own). This is just a mod request and outline. One thing I do know is that this is likely very complicated. But, if anyone could and would do this, that would be great!
Thanks in advance to those who respond!
0
0
// On the bright side, I bought you a teddy bear!
Time: 12/24/13 1:53 PM
Description: Initializing game
java.lang.VerifyError: (class: net/minecraft/client/renderer/EntityRenderer, method: func_78466_h signature: (F)V) Accessing value from uninitialized register 10
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:487)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:808)
at net.minecraft.client.main.Main.main(SourceFile:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Stacktrace:
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:487)
-- Initialization --
Details:
Stacktrace:
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:808)
at net.minecraft.client.main.Main.main(SourceFile:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
-- System Details --
Details:
Minecraft Version: 1.6.4
Operating System: Windows 7 (amd64) version 6.1
Java Version: 1.7.0_03, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 1579970376 bytes (1506 MB) / 2058027008 bytes (1962 MB) up to 2058027008 bytes (1962 MB)
JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx2G -Xms2G
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Suspicious classes: FML and Forge are installed
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v8.11 FML v6.4.45.953 Minecraft Forge 9.11.1.953 Optifine OptiFine_1.6.4_HD_U_C8 9 mods loaded, 9 mods active
mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized
FML{6.4.45.953} [Forge Mod Loader] (minecraftforge-9.11.1.953.jar) Unloaded->Constructed->Pre-initialized
Forge{9.11.1.953} [Minecraft Forge] (minecraftforge-9.11.1.953.jar) Unloaded->Constructed->Pre-initialized
BiomesOPlenty{1.2.0} [Biomes O' Plenty] (BiomesOPlenty-universal-1.6.4-1.2.0.364.jar) Unloaded->Constructed->Pre-initialized
CustomSpawner{2.3.1} [DrZhark's CustomSpawner] (CustomMobSpawner 2.3.1.zip) Unloaded->Constructed->Pre-initialized
DragonMounts{r33} [Dragon Mounts] (dragonmount_r33_mc1.6.x.zip) Unloaded->Constructed->Pre-initialized
MoCreatures{6.0.1} [DrZhark's Mo'Creatures Mod] (DrZharks MoCreatures Mod v6.0.1.zip) Unloaded->Constructed->Pre-initialized
ExtrabiomesXL{3.14.5} [ExtrabiomesXL] (ExtrabiomesXL-universal-1.6.4-3.14.5.jar) Unloaded->Constructed->Pre-initialized
Highlands{2.1.3} [Highlands] (Highlands2.1.4_MC1.6.4.zip) Unloaded->Constructed->Pre-initialized
Launched Version: 1.6.4-Forge9.11.1.953
LWJGL: 2.9.0
OpenGL: AMD Radeon HD 6520G GL version 4.2.11399 Compatibility Profile Context, ATI Technologies Inc.
Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Pack: Default
Current Language: English (US)
Profiler Position: N/A (disabled)
Vec3 Pool Size: ~~ERROR~~ NullPointerException: null
My installed mods:
Forge 9.11.1.953
Optifine 1.6.4 HD Ultra C8
Highlands 2.1.4
GuiAPI 0.15.7
ExtraBiomesXL 3.14.5
DrZharks Mo' Creatures 6.0.1
Dragon Mounts r33
CustomMobSpawner 2.3.1
BiomesOPlenty universal 1.2.0.364
I will point out a couple of things:
I am aware the Mo' Creatures mod is for 1.6.2, however I know (from having used it) that it is compatible with 1.6.4. Secondly, I am aware that I have many mods. I also know, again from having used previous versions of them, that they are all compatible with each other.
Thank you!
0
But great mod anyway, can't wait for fire to be re-added and hopefully for you to take my request/suggestion!
Thanks!
1
As far as rearing goes, I agree. But in real life, you have to tell the horse to slow down/stop. I would have the horse keep its speed unless told otherwise, not to mention you wouldn't have to worry about it. Also, I would want to see the ability to hold a speed that isn't the max. For example, a slow walk or a steady trot.
Anyways, I fully support this idea. Can someone make a mod that does this?
0
Thanks!
0
0
0
0
0
0
Essentially, when you die, you spawn as a wisp above your body (which stays where it died). There are then stages for you to choose when you respawn. Read the link for more info. http://tugwiki.com/wiki/Wisps
0
PlayerCapabilityCommandsMod (Main Class):
CommandSetJump:
EntLiveBaseExt
0