Reorganize the code a little bit- move some stuff that was on FMLHandler to the common handler. Add a delegate

into the common handler that delegates to the right sided handler
This commit is contained in:
Christian Weeks committed 2012-04-05 11:34:57 -04:00
1 parent 86f8bbd47d
commit 7bf22659e7
18 files changed
+235 -183

No files matched your search

@@ -18,18 +18,34 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.logging.Logger;
import net.minecraft.src.EntityPlayer;
public class FMLHooks
public class FMLCommonHandler
{
private static final FMLHooks INSTANCE = new FMLHooks();
private static final FMLCommonHandler INSTANCE = new FMLCommonHandler();
private Map<ModContainer, Set<String>> channelList = new HashMap<ModContainer, Set<String>>();
private Map<String, ModContainer> modChannels = new HashMap<String, ModContainer>();
private Map<Object, Set<String>> activeChannels = new HashMap<Object, Set<String>>();
private IFMLSidedHandler sidedDelegate;
private FMLCommonHandler() {
try {
Class.forName("net.minecraft.client.Minecraft");
sidedDelegate=(IFMLSidedHandler) Class.forName("cpw.mods.fml.client.FMLClientHandler").newInstance();
} catch (Exception ex) {
try {
sidedDelegate=(IFMLSidedHandler) Class.forName("cpw.mods.fml.server.FMLServerHandler").newInstance();
} catch (Exception ex2) {
Loader.log.severe("A severe installation issue has occured with FML, we cannot continue");
throw new LoaderException(ex2);
}
}
}
public void gameTickStart()
{
for (ModContainer mod : Loader.getModList())
@@ -49,7 +65,7 @@ public class FMLHooks
/**
* @return the instance
*/
public static FMLHooks instance()
public static FMLCommonHandler instance()
{
return INSTANCE;
}
@@ -151,4 +167,22 @@ public class FMLHooks
{
return activeChannels.get(player).contains(channel);
}
public Logger getFMLLogger() {
return Loader.log;
}
public Logger getMinecraftLogger() {
return sidedDelegate.getMinecraftLogger();
}
public boolean isModLoaderMod(Class<?> clazz)
{
return sidedDelegate.isModLoaderMod(clazz);
}
public ModContainer loadBaseModMod(Class<?> clazz, String canonicalPath)
{
return sidedDelegate.loadBaseModMod(clazz, canonicalPath);
}
}
@@ -0,0 +1,12 @@
package cpw.mods.fml.common;
import java.util.logging.Logger;
public interface IFMLSidedHandler
{
Logger getMinecraftLogger();
boolean isModLoaderMod(Class<?> clazz);
ModContainer loadBaseModMod(Class<?> clazz, String canonicalPath);
boolean isServer();
boolean isClient();
}
+4 -5
View File
@@ -32,7 +32,6 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import cpw.mods.fml.common.toposort.ModSorter;
import cpw.mods.fml.server.FMLHandler;
public class Loader
{
@@ -71,7 +70,7 @@ public class Loader
}
private Loader()
{
Loader.log.setParent(FMLHandler.getMinecraftLogger());
Loader.log.setParent(FMLCommonHandler.instance().getMinecraftLogger());
Loader.log.setLevel(Level.ALL);
FileHandler fileHandler;
@@ -79,7 +78,7 @@ public class Loader
{
fileHandler = new FileHandler("ForgeModLoader-%g.log", 0, 3);
// We're stealing minecraft's log formatter
fileHandler.setFormatter(FMLHandler.getMinecraftLogger().getHandlers()[0].getFormatter());
fileHandler.setFormatter(FMLCommonHandler.instance().getMinecraftLogger().getHandlers()[0].getFormatter());
fileHandler.setLevel(Level.ALL);
Loader.log.addHandler(fileHandler);
}
@@ -331,10 +330,10 @@ public class Loader
// an FML mod
mods.add(FMLModContainer.buildFor(clazz));
}
else if (FMLHandler.instance().isModLoaderMod(clazz))
else if (FMLCommonHandler.instance().isModLoaderMod(clazz))
{
log.fine(String.format("ModLoader BaseMod class %s found, loading", clazzName));
ModContainer mc = FMLHandler.instance().loadBaseModMod(clazz, classSource.getCanonicalPath());
ModContainer mc = FMLCommonHandler.instance().loadBaseModMod(clazz, classSource.getCanonicalPath());
mods.add(mc);
log.fine(String.format("ModLoader BaseMod class %s loaded", clazzName));
}
@@ -14,8 +14,6 @@ package cpw.mods.fml.common;
import java.lang.reflect.Field;
import cpw.mods.fml.server.FMLHandler;
public class ReflectionHelper
{
@SuppressWarnings("unchecked")
@@ -29,8 +27,8 @@ public class ReflectionHelper
}
catch (Exception e)
{
FMLHandler.getFMLLogger().severe(String.format("There was a problem getting field %d from %s", fieldIndex, classToAccess.getName()));
FMLHandler.getFMLLogger().throwing("ReflectionHelper", "getPrivateValue", e);
FMLCommonHandler.instance().getFMLLogger().severe(String.format("There was a problem getting field %d from %s", fieldIndex, classToAccess.getName()));
FMLCommonHandler.instance().getFMLLogger().throwing("ReflectionHelper", "getPrivateValue", e);
throw new RuntimeException(e);
}
}
@@ -46,8 +44,8 @@ public class ReflectionHelper
}
catch (Exception e)
{
FMLHandler.getFMLLogger().severe(String.format("There was a problem getting field %s from %s", fieldName, classToAccess.getName()));
FMLHandler.getFMLLogger().throwing("ReflectionHelper", "getPrivateValue", e);
FMLCommonHandler.instance().getFMLLogger().severe(String.format("There was a problem getting field %s from %s", fieldName, classToAccess.getName()));
FMLCommonHandler.instance().getFMLLogger().throwing("ReflectionHelper", "getPrivateValue", e);
throw new RuntimeException(e);
}
}
@@ -62,8 +60,8 @@ public class ReflectionHelper
}
catch (Exception e)
{
FMLHandler.getFMLLogger().severe(String.format("There was a problem setting field %d from %s", fieldIndex, classToAccess.getName()));
FMLHandler.getFMLLogger().throwing("ReflectionHelper", "getPrivateValue", e);
FMLCommonHandler.instance().getFMLLogger().severe(String.format("There was a problem setting field %d from %s", fieldIndex, classToAccess.getName()));
FMLCommonHandler.instance().getFMLLogger().throwing("ReflectionHelper", "getPrivateValue", e);
throw new RuntimeException(e);
}
}
@@ -78,8 +76,8 @@ public class ReflectionHelper
}
catch (Exception e)
{
FMLHandler.getFMLLogger().severe(String.format("There was a problem setting field %s from %s", fieldName, classToAccess.getName()));
FMLHandler.getFMLLogger().throwing("ReflectionHelper", "getPrivateValue", e);
FMLCommonHandler.instance().getFMLLogger().severe(String.format("There was a problem setting field %s from %s", fieldName, classToAccess.getName()));
FMLCommonHandler.instance().getFMLLogger().throwing("ReflectionHelper", "getPrivateValue", e);
throw new RuntimeException(e);
}
}
@@ -1,9 +1,8 @@
#Wed Apr 04 23:17:19 PDT 2012
pref_state_memento.org.eclipse.debug.ui.DebugVieworg.eclipse.debug.ui.DebugView=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<DebugViewMemento org.eclipse.debug.ui.BREADCRUMB_DROPDOWN_AUTO_EXPAND\="false"/>
eclipse.preferences.version=1
org.eclipse.debug.ui.UseContextualLaunch=false
Console.highWaterMark=88000
preferredTargets=default\:default|
org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<launchPerspectives/>\r\n
org.eclipse.debug.ui.user_view_bindings=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<viewBindings>\r\n<view id\="org.eclipse.ui.console.ConsoleView">\r\n<perspective id\="org.eclipse.jdt.ui.JavaPerspective" userAction\="opened"/>\r\n</view>\r\n</viewBindings>\r\n
StringVariablePreferencePage=130,107,107,86,
Console.highWaterMark=88000
StringVariablePreferencePage=130,107,107,86,
eclipse.preferences.version=1
org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\n<launchPerspectives/>\n
org.eclipse.debug.ui.UseContextualLaunch=false
org.eclipse.debug.ui.user_view_bindings=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<viewBindings>\r\n<view id\="org.eclipse.ui.console.ConsoleView">\r\n<perspective id\="org.eclipse.jdt.ui.JavaPerspective" userAction\="opened"/>\r\n</view>\r\n</viewBindings>\r\n
pref_state_memento.org.eclipse.debug.ui.DebugVieworg.eclipse.debug.ui.DebugView=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<DebugViewMemento org.eclipse.debug.ui.BREADCRUMB_DROPDOWN_AUTO_EXPAND\="false"/>
preferredTargets=default\:default|default,org.eclipse.cdt.debug.ui.toggleCBreakpointTarget\:default|org.eclipse.cdt.debug.ui.toggleCBreakpointTarget\:org.eclipse.cdt.debug.ui.toggleCBreakpointTarget|
@@ -1,18 +1,21 @@
#Wed Apr 04 21:53:26 PDT 2012
useQuickDiffPrefPage=true
proposalOrderMigrated=true
tabWidthPropagated=true
content_assist_proposals_background=255,255,255
org.eclipse.jdt.ui.javadoclocations.migrated=true
org.eclipse.jdt.ui.formatterprofiles=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<profiles version\="12">\r\n<profile kind\="CodeFormatterProfile" name\="FML Code Style" version\="12">\r\n<setting id\="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.disabling_tag" value\="@formatter\:off"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value\="next_line"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value\="true"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.blank_lines_before_field" value\="0"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.use_on_off_tags" value\="false"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value\="false"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value\="true"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value\="16"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value\="16"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value\="80"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value\="end_of_line"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.blank_lines_after_package" value\="1"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.continuation_indentation" value\="2"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value\="16"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superiLine truncated
useAnnotationsPrefPage=true
org.eclipse.jdt.ui.editor.tab.width=
org.eclipse.jface.textfont=1|Consolas|10.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas;
org.eclipse.jdt.ui.formatterprofiles.version=12
content_assist_number_of_computers=16
formatter_settings_version=12
formatter_profile=_FML Code Style
spelling_locale_initialized=true
eclipse.preferences.version=1
content_assist_proposals_foreground=0,0,0
fontPropagated=true
content_assist_number_of_computers=13
content_assist_proposals_background=255,255,255
content_assist_proposals_foreground=0,0,0
eclipse.preferences.version=1
fontPropagated=true
formatter_profile=_FML Code Style
formatter_settings_version=12
org.eclipse.jdt.ui.editor.tab.width=
org.eclipse.jdt.ui.formatterprofiles=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<profiles version\="12">\r\n<profile kind\="CodeFormatterProfile" name\="FML Code Style" version\="12">\r\n<setting id\="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.disabling_tag" value\="@formatter\:off"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value\="next_line"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value\="true"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.blank_lines_before_field" value\="0"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.use_on_off_tags" value\="false"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value\="false"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value\="true"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value\="16"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value\="16"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value\="80"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value\="end_of_line"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.blank_lines_after_package" value\="1"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value\="insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.continuation_indentation" value\="2"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value\="16"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value\="do not insert"/>\r\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superiLine truncated
org.eclipse.jdt.ui.formatterprofiles.version=12
org.eclipse.jdt.ui.javadoclocations.migrated=true
org.eclipse.jdt.ui.text.code_templates_migrated=true
org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
org.eclipse.jdt.ui.text.custom_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="java" deleted\="false" description\="adviceexecution pointcut (AspectJ)" enabled\="true" name\="adviceexecution">adviceexecution()</template><template autoinsert\="true" context\="java" deleted\="false" description\="after returning advice (AspectJ)" enabled\="true" name\="after_returning">after(${args}) returning() \: ${pointcut_expression} {}</template><template autoinsert\="true" context\="java" deleted\="false" description\="after throwing advice (AspectJ)" enabled\="true" name\="after_throwing">after(${args}) throwing() \: ${pointcut_expression} {}</template><template autoinsert\="true" context\="java" deleted\="false" description\="around advice (AspectJ)" enabled\="true" name\="around">around(${args}) \: ${pointcut_expression} {}</template><template autoinsert\="true" context\="java" deleted\="false" description\="before advice (AspectJ)" enabled\="true" name\="before">before(${args}) \: ${pointcut_expression} {}</template><template autoinsert\="true" context\="java" deleted\="false" description\="call constructor pointcut (AspectJ)" enabled\="true" name\="call_cons">call(${modifier_pattern} ${type_pattern}.new(..))</template><template autoinsert\="true" context\="java" deleted\="false" description\="call method declaration (AspectJ)" enabled\="true" name\="call_method">call(${modifiers_pattern} ${ret_type_pattern} ${type_pattern}.${id_pattern}(..))</template><template autoinsert\="true" context\="java" deleted\="false" description\="cflow pointcut (AspectJ)" enabled\="true" name\="cflow">cflow(${pointcut_expression})</template><template autoinsert\="true" context\="java" deleted\="false" description\="cflowbelow pointcut (AspectJ)" enabled\="true" name\="cflowbelow">cflowbelow(${pointcut_expression})</template><template autoinsert\="true" context\="java" deleted\="false" description\="declare error (AspectJ)" enabled\="true" name\="dece">declare error \: ${pointcut_expression} \: "";</template><template autoinsert\="true" context\="java" deleted\="false" description\="declare parents (AspectJ)" enabled\="true" name\="decp_extends">declare parents \: ${type_pattern} extends ${type};</template><template autoinsert\="true" context\="java" deleted\="false" description\="declare parents (AspectJ)" enabled\="true" name\="decp_implements">declare parents \: ${type_pattern} implements ${type};</template><template autoinsert\="true" context\="java" deleted\="false" description\="declare soft (AspectJ)" enabled\="true" name\="decs">declare soft \: ${exception_type} \: ${pointcut_expression};</template><template autoinsert\="true" context\="java" deleted\="false" description\="declare warning (AspectJ)" enabled\="true" name\="decw">declare warning \: ${pointcut_expression} \: "";</template><template autoinsert\="true" context\="java" deleted\="false" description\="execution of a constructor pointcut (AspectJ)" enabled\="true" name\="execution_cons">execution(${modifier_pattern} ${type_pattern}.new(..))</template><template autoinsert\="true" context\="java" deleted\="false" description\="execution of a method pointcut (AspectJ)" enabled\="true" name\="execution_method">execution(${modifier_pattern} ${ret_type_pattern} ${type_pattern}.${id_pattern}(..))</template><template autoinsert\="true" context\="java" deleted\="false" description\="get pointcut (AspectJ)" enabled\="true" name\="get">get(${modifier_pattern} ${ret_type_pattern} ${type_pattern}.${id_pattern})</template><template autoinsert\="true" context\="java" deleted\="false" description\="handler pointcut (AspectJ)" enabled\="true" name\="handler">handler(${type_pattern})</template><template autoinsert\="true" context\="java" deleted\="false" description\="initialization pointcut (AspectJ)" enabled\="true" name\="initialization">initialization(${modifier_pattern} ${type_pattern}.new(..))</template><template autoinsert\="true" context\="java" deleted\="false" description\="pointcut declaration (AspectJ)" enabled\="true" name\="pc">pointcut ${name}() \: ${pointcut_expression};</template><template autoinsert\="true" context\="java" deleted\="false" description\="percflow (AspectJ)" enabled\="true" name\="percflow">percflow(${pointcut_expression})</template><template autoinsert\="true" context\="java" deleted\="false" description\="percflowbelow (AspectJ)" enabled\="true" name\="percflowbelow">percflowbelow(${pointcut_expression})</template><template autoinsert\="true" context\="java" deleted\="false" description\="pertarget (AspectJ)" enabled\="true" name\="pertarget">pertarget(${pointcut_expression})</template><template autoinsert\="true" context\="java" deleted\="false" description\="perthis (AspectJ)" enabled\="true" name\="perthis">perthis(${pointcut_expression})</template><template autoinsert\="true" context\="java" deleted\="false" description\="pertypewithin (AspectJ)" enabled\="true" name\="pertypewithiLine truncated
org.eclipse.jdt.ui.text.templates_migrated=true
org.eclipse.jface.textfont=1|Monospace|10.0|0|GTK|1|;
proposalOrderMigrated=true
spelling_locale_initialized=true
tabWidthPropagated=true
useAnnotationsPrefPage=true
useQuickDiffPrefPage=true
@@ -1,3 +1,2 @@
#Wed Apr 04 21:23:51 PDT 2012
eclipse.preferences.version=1
showIntro=false
eclipse.preferences.version=1
showIntro=false
@@ -1,27 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchHistory>
<launchGroup id="org.eclipse.ui.externaltools.launchGroup">
<mruHistory/>
<favorites/>
</launchGroup>
<launchGroup id="org.eclipse.debug.ui.launchGroup.profile">
<mruHistory/>
<favorites/>
</launchGroup>
<launchGroup id="org.eclipse.debug.ui.launchGroup.debug">
<mruHistory>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;FML-Client&quot;/&gt;&#13;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Clean-Client&quot;/&gt;&#13;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Clean-Server&quot;/&gt;&#13;&#10;"/>
</mruHistory>
<favorites/>
</launchGroup>
<launchGroup id="org.eclipse.debug.ui.launchGroup.run">
<mruHistory>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;FML-Client&quot;/&gt;&#13;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Clean-Client&quot;/&gt;&#13;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Clean-Server&quot;/&gt;&#13;&#10;"/>
</mruHistory>
<favorites/>
</launchGroup>
</launchHistory>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchHistory>
<launchGroup id="org.eclipse.ui.externaltools.launchGroup">
<mruHistory/>
<favorites/>
</launchGroup>
<launchGroup id="org.eclipse.debug.ui.launchGroup.profile">
<mruHistory/>
<favorites/>
</launchGroup>
<launchGroup id="org.eclipse.debug.ui.launchGroup.debug">
<mruHistory>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;FML-Client&quot;/&gt;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Clean-Client&quot;/&gt;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Clean-Server&quot;/&gt;&#10;"/>
</mruHistory>
<favorites/>
</launchGroup>
<launchGroup id="org.eclipse.debug.ui.launchGroup.run">
<mruHistory>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;FML-Client&quot;/&gt;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Clean-Client&quot;/&gt;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Clean-Server&quot;/&gt;&#10;"/>
</mruHistory>
<favorites/>
</launchGroup>
</launchHistory>
+9 -9
View File
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="common"/>
<classpathentry kind="src" path="server"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="lib" path="jars/minecraft_server.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="common"/>
<classpathentry kind="src" path="server"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="lib" path="jars/minecraft_server.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
+56 -56
View File
@@ -1,56 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>FML-Server</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
<linkedResources>
<link>
<name>common</name>
<type>2</type>
<locationURI>MCP_LOC/FML/common</locationURI>
</link>
<link>
<name>jars</name>
<type>2</type>
<locationURI>MCP_LOC/jars</locationURI>
</link>
<link>
<name>server</name>
<type>2</type>
<locationURI>MCP_LOC/FML/server</locationURI>
</link>
<link>
<name>src</name>
<type>2</type>
<locationURI>MCP_LOC/src-work/minecraft_server</locationURI>
</link>
</linkedResources>
<filteredResources>
<filter>
<id>0</id>
<name>jars</name>
<type>13</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-*.jar</arguments>
</matcher>
</filter>
</filteredResources>
<variableList>
<variable>
<name>MCP_LOC</name>
<value>$%7BPARENT-2-WORKSPACE_LOC%7D</value>
</variable>
</variableList>
</projectDescription>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>FML-Server</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
<linkedResources>
<link>
<name>common</name>
<type>2</type>
<locationURI>MCP_LOC/FML/common</locationURI>
</link>
<link>
<name>jars</name>
<type>2</type>
<locationURI>MCP_LOC/jars</locationURI>
</link>
<link>
<name>server</name>
<type>2</type>
<locationURI>MCP_LOC/FML/server</locationURI>
</link>
<link>
<name>src</name>
<type>2</type>
<locationURI>MCP_LOC/src-work/minecraft_server</locationURI>
</link>
</linkedResources>
<filteredResources>
<filter>
<id>0</id>
<name>jars</name>
<type>13</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-*.jar</arguments>
</matcher>
</filter>
</filteredResources>
<variableList>
<variable>
<name>MCP_LOC</name>
<value>$%7BPARENT-2-WORKSPACE_LOC%7D</value>
</variable>
</variableList>
</projectDescription>
@@ -30,13 +30,14 @@ import net.minecraft.src.Packet1Login;
import net.minecraft.src.Packet250CustomPayload;
import net.minecraft.src.Packet3Chat;
import net.minecraft.src.World;
import cpw.mods.fml.common.FMLHooks;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.IFMLSidedHandler;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.ModContainer;
public class FMLHandler
public class FMLServerHandler implements IFMLSidedHandler
{
private static final FMLHandler INSTANCE = new FMLHandler();
private static final FMLServerHandler INSTANCE = new FMLServerHandler();
private MinecraftServer server;
@@ -55,12 +56,12 @@ public class FMLHandler
public void onPreTick()
{
FMLHooks.instance().gameTickStart();
FMLCommonHandler.instance().gameTickStart();
}
public void onPostTick()
{
FMLHooks.instance().gameTickEnd();
FMLCommonHandler.instance().gameTickEnd();
}
public MinecraftServer getServer()
@@ -68,7 +69,7 @@ public class FMLHandler
return server;
}
public static Logger getMinecraftLogger()
public Logger getMinecraftLogger()
{
return MinecraftServer.field_6038_a;
}
@@ -124,14 +125,9 @@ public class FMLHandler
}
}
public static Logger getFMLLogger()
{
return Loader.log;
}
public void raiseException(Throwable exception, String message, boolean stopGame)
{
getFMLLogger().throwing("FMLHandler", "raiseException", exception);
FMLCommonHandler.instance().getFMLLogger().throwing("FMLHandler", "raiseException", exception);
throw new RuntimeException(exception);
}
@@ -161,7 +157,7 @@ public class FMLHandler
/**
* @return the instance
*/
public static FMLHandler instance()
public static FMLServerHandler instance()
{
return INSTANCE;
}
@@ -235,7 +231,7 @@ public class FMLHandler
return;
}
ModContainer mod = FMLHooks.instance().getModForChannel(packet.field_44005_a);
ModContainer mod = FMLCommonHandler.instance().getModForChannel(packet.field_44005_a);
if (mod != null)
{
@@ -253,18 +249,18 @@ public class FMLHandler
for (String channel : new String(packet.field_44004_c, "UTF8").split("\0"))
{
// Skip it if we don't know it
if (FMLHooks.instance().getModForChannel(channel) == null)
if (FMLCommonHandler.instance().getModForChannel(channel) == null)
{
continue;
}
if ("REGISTER".equals(packet.field_44005_a))
{
FMLHooks.instance().activateChannel(player, channel);
FMLCommonHandler.instance().activateChannel(player, channel);
}
else
{
FMLHooks.instance().deactivateChannel(player, channel);
FMLCommonHandler.instance().deactivateChannel(player, channel);
}
}
}
@@ -286,8 +282,20 @@ public class FMLHandler
Packet250CustomPayload packet = new Packet250CustomPayload();
packet.field_44005_a = "REGISTER";
packet.field_44004_c = FMLHooks.instance().getPacketRegistry();
packet.field_44004_c = FMLCommonHandler.instance().getPacketRegistry();
packet.field_44003_b = packet.field_44004_c.length;
networkManager.func_745_a(packet);
}
@Override
public boolean isServer()
{
return true;
}
@Override
public boolean isClient()
{
return false;
}
}
@@ -26,7 +26,7 @@ import java.util.StringTokenizer;
import net.minecraft.src.BaseMod;
import net.minecraft.src.MLProp;
import cpw.mods.fml.common.FMLHooks;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.ICraftingHandler;
import cpw.mods.fml.common.IDispenseHandler;
import cpw.mods.fml.common.INetworkHandler;
@@ -271,7 +271,7 @@ public class ModLoaderModContainer implements ModContainer
{
if (isTicking)
{
isTicking = mod.onTickInGame(FMLHandler.instance().getServer());
isTicking = mod.onTickInGame(FMLServerHandler.instance().getServer());
}
}
@Override
@@ -498,6 +498,6 @@ public class ModLoaderModContainer implements ModContainer
@Override
public boolean ownsNetworkChannel(String channel)
{
return FMLHooks.instance().getChannelListFor(this).contains(channel);
return FMLCommonHandler.instance().getChannelListFor(this).contains(channel);
}
}
+21 -21
View File
@@ -16,10 +16,10 @@ import java.util.List;
import java.util.logging.Logger;
import net.minecraft.server.MinecraftServer;
import cpw.mods.fml.common.FMLHooks;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.ReflectionHelper;
import cpw.mods.fml.server.FMLHandler;
import cpw.mods.fml.server.FMLServerHandler;
import cpw.mods.fml.server.ModLoaderModContainer;
public class ModLoader
@@ -38,7 +38,7 @@ public class ModLoader
/**
* This method is a call in hook from modified external code. Implemented elsewhere.
*
* {@link FMLHandler#fuelLookup(int, int)}
* {@link FMLServerHandler#fuelLookup(int, int)}
* @param id
* @param metadata
* @return
@@ -176,7 +176,7 @@ public class ModLoader
*/
public static void addSpawn(Class <? extends EntityLiving > entityClass, int weightedProb, int min, int max, EnumCreatureType spawnList)
{
CommonRegistry.addSpawn(entityClass, weightedProb, min, max, spawnList, FMLHandler.instance().getDefaultOverworldBiomes());
CommonRegistry.addSpawn(entityClass, weightedProb, min, max, spawnList, FMLServerHandler.instance().getDefaultOverworldBiomes());
}
/**
@@ -203,7 +203,7 @@ public class ModLoader
*/
public static void addSpawn(String entityName, int weightedProb, int min, int max, EnumCreatureType spawnList)
{
CommonRegistry.addSpawn(entityName, weightedProb, min, max, spawnList, FMLHandler.instance().getDefaultOverworldBiomes());
CommonRegistry.addSpawn(entityName, weightedProb, min, max, spawnList, FMLServerHandler.instance().getDefaultOverworldBiomes());
}
/**
@@ -222,7 +222,7 @@ public class ModLoader
/**
* This method is a call in hook from modified external code. Implemented elsewhere.
* {@link FMLHandler#tryDispensingEntity(World, double, double, double, byte, byte, ItemStack)}
* {@link FMLServerHandler#tryDispensingEntity(World, double, double, double, byte, byte, ItemStack)}
* @param world
* @param x
* @param y
@@ -307,12 +307,12 @@ public class ModLoader
/**
* Get a logger instance
* {@link FMLHandler#getFMLLogger()}
* {@link FMLServerHandler#getFMLLogger()}
* @return
*/
public static Logger getLogger()
{
return FMLHandler.getFMLLogger();
return FMLCommonHandler.instance().getFMLLogger();
}
/**
@@ -364,7 +364,7 @@ public class ModLoader
/**
* This method is a call in hook from modified external code. Implemented elsewhere.
* {@link FMLHandler#handlePacket250(Packet250CustomPayload, EntityPlayer)}
* {@link FMLServerHandler#handlePacket250(Packet250CustomPayload, EntityPlayer)}
* @param packet
*/
@Deprecated
@@ -418,13 +418,13 @@ public class ModLoader
/**
* Register the mod for packets on this channel. This only registers the channel with Forge Mod Loader, not
* with clients connecting- use BaseMod.onClientLogin to tell them about your custom channel
* {@link FMLHooks#registerChannel(cpw.mods.fml.common.ModContainer, String)}
* {@link FMLCommonHandler#registerChannel(cpw.mods.fml.common.ModContainer, String)}
* @param mod
* @param channel
*/
public static void registerPacketChannel(BaseMod mod, String channel)
{
FMLHooks.instance().registerChannel(ModLoaderModContainer.findContainerFor(mod), channel);
FMLCommonHandler.instance().registerChannel(ModLoaderModContainer.findContainerFor(mod), channel);
}
/**
@@ -454,7 +454,7 @@ public class ModLoader
*/
public static void removeSpawn(Class <? extends EntityLiving > entityClass, EnumCreatureType spawnList)
{
CommonRegistry.removeSpawn(entityClass, spawnList, FMLHandler.instance().getDefaultOverworldBiomes());
CommonRegistry.removeSpawn(entityClass, spawnList, FMLServerHandler.instance().getDefaultOverworldBiomes());
}
/**
@@ -475,7 +475,7 @@ public class ModLoader
*/
public static void removeSpawn(String entityName, EnumCreatureType spawnList)
{
CommonRegistry.removeSpawn(entityName, spawnList, FMLHandler.instance().getDefaultOverworldBiomes());
CommonRegistry.removeSpawn(entityName, spawnList, FMLServerHandler.instance().getDefaultOverworldBiomes());
}
/**
@@ -500,7 +500,7 @@ public class ModLoader
/**
* This method is unimplemented on the server: it is meant for clients to send chat to the server
* {@link FMLHandler#handleChatPacket(Packet3Chat, EntityPlayer)}
* {@link FMLServerHandler#handleChatPacket(Packet3Chat, EntityPlayer)}
* @param text
*/
@Deprecated
@@ -552,7 +552,7 @@ public class ModLoader
/**
* This method is a call in hook from modified external code. Implemented elsewhere.
* {@link FMLHandler#onItemCrafted(EntityPlayer, ItemStack, IInventory)}
* {@link FMLServerHandler#onItemCrafted(EntityPlayer, ItemStack, IInventory)}
* @param player
* @param item
* @param matrix
@@ -564,7 +564,7 @@ public class ModLoader
/**
* This method is a call in hook from modified external code. Implemented elsewhere.
* {@link FMLHandler#onItemSmelted(EntityPlayer, ItemStack)}
* {@link FMLServerHandler#onItemSmelted(EntityPlayer, ItemStack)}
* @param player
* @param item
*/
@@ -575,23 +575,23 @@ public class ModLoader
/**
* Throw the offered exception. Likely will stop the game.
* {@link FMLHandler#raiseException(Throwable, String, boolean)}
* {@link FMLServerHandler#raiseException(Throwable, String, boolean)}
* @param message
* @param e
*/
public static void throwException(String message, Throwable e)
{
FMLHandler.instance().raiseException(e, message, true);
FMLServerHandler.instance().raiseException(e, message, true);
}
/**
* Get the minecraft server instance
* {@link FMLHandler#getServer()}
* {@link FMLServerHandler#getServer()}
* @return
*/
public static MinecraftServer getMinecraftServerInstance()
{
return FMLHandler.instance().getServer();
return FMLServerHandler.instance().getServer();
}
/**
@@ -604,6 +604,6 @@ public class ModLoader
*/
public static boolean isChannelActive(EntityPlayer player, String channel)
{
return FMLHooks.instance().isChannelActive(channel, player);
return FMLCommonHandler.instance().isChannelActive(channel, player);
}
}