- 279
- 0
Кому надо - в скайп за исходниками, буду рад помощи (daniil.pochuev).
Да, тут написано о сталкере, но не будем пинаться, здесь лежат кланы, а не тот самый стулкир в майнсрафте.
Краш:
Сам код классов с руганью:
2.
Да, тут написано о сталкере, но не будем пинаться, здесь лежат кланы, а не тот самый стулкир в майнсрафте.
Краш:
Код:
java.lang.IllegalArgumentException: Duplicate handler name: mods.ru.gloomyfolken.stalker.network.PacketHandler
at io.netty.channel.DefaultChannelPipeline.checkDuplicateName(DefaultChannelPipeline.java:898)
at io.netty.channel.DefaultChannelPipeline.addAfter(DefaultChannelPipeline.java:191)
at io.netty.channel.DefaultChannelPipeline.addAfter(DefaultChannelPipeline.java:183)
at cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper.addClientHandlerAfter(SimpleNetworkWrapper.java:124)
at cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper.registerMessage(SimpleNetworkWrapper.java:111)
at mods.ru.gloomyfolken.stalker.network.NetworkSystem.registerMessage(NetworkSystem.java:57)
at mods.ru.gloomyfolken.stalker.network.NetworkSystem.init(NetworkSystem.java:19)
at mods.ru.gloomyfolken.stalker.core.StalkerMain.init(StalkerMain.java:76)
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 cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513)
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 com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
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 com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:691)
at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:288)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:596)
at net.minecraft.client.Minecraft.run(Minecraft.java:941)
at net.minecraft.client.main.Main.main(Main.java:164)
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:134)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
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 GradleStart.bounce(GradleStart.java:107)
at GradleStart.startClient(GradleStart.java:100)
at GradleStart.main(GradleStart.java:55)
Код:
package mods.ru.gloomyfolken.stalker.core;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import java.util.ArrayList;
import java.util.List;
import mods.ru.gloomyfolken.stalker.asm.Logger;
import mods.ru.gloomyfolken.stalker.core.CommonProxy;
import mods.ru.gloomyfolken.stalker.core.StalkerTab;
import mods.ru.gloomyfolken.stalker.items.*;
import mods.ru.gloomyfolken.stalker.network.NetworkSystem;
import mods.ru.gloomyfolken.stalker.network.PacketHandler;
import mods.ru.gloomyfolken.stalker.players.PlayerInfo;
import mods.ru.gloomyfolken.stalker.server.CommandLandcapture;
import mods.ru.gloomyfolken.stalker.server.CommandLandname;
import mods.ru.gloomyfolken.stalker.server.CommandLandrent;
import mods.ru.gloomyfolken.stalker.server.PlayerTracker;
import mods.ru.gloomyfolken.stalker.server.ServerEvents;
import mods.ru.gloomyfolken.stalker.server.ServerTicker;
import mods.ru.gloomyfolken.stalker.server.clans.ClanManager;
import mods.ru.gloomyfolken.stalker.server.clans.StalkerSaveHandler;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.event.entity.EntityEvent;
@Mod(
modid = "GloomyStalker",
name = "S.T.A.L.K.E.R.",
version = "0.1.1_[1.7.2]"
)
public class StalkerMain {
public static final String modid = "GloomyStalker";
@Instance("GloomyStalker")
public static StalkerMain instance;
@SidedProxy(
clientSide = "mods.ru.gloomyfolken.stalker.core.ClientProxy",
serverSide = "mods.ru.gloomyfolken.stalker.core.CommonProxy"
)
public static CommonProxy proxy;
public ServerTicker ticker;
public static CreativeTabs tab;
public static Configuration mcconfig;
public ClanManager clanManager;
public StalkerSaveHandler saveHandler;
public List airBlocks = new ArrayList();
public static int transparentsRenderType = -1;
private static boolean tickerRegistered = false;
private ArrayList mobsToDelete = new ArrayList();
private ArrayList creaturesToDelete = new ArrayList();
public static Block flag;
public static Item clanCreate;
public static Item clanExpand;
public static Item flagAxe;
public static Item clanCoin;
@EventHandler
public void preInit(FMLPreInitializationEvent event) {}
@EventHandler
public void init(FMLInitializationEvent evt) {
NetworkSystem.init();
if(!tickerRegistered) {
this.ticker = new ServerTicker();
MinecraftForge.EVENT_BUS.register(new ServerTicker());
tickerRegistered = true;
}
tab = new StalkerTab();
long time = System.currentTimeMillis();
proxy.load();
Logger.console("Proxy is loaded (" + (System.currentTimeMillis() - time) + " ms)");
time = System.currentTimeMillis();
this.registerBlocks();
this.registerItems();
Logger.console("Items, blocks and entities are loaded (" + (System.currentTimeMillis() - time) + " ms)");
MinecraftForge.EVENT_BUS.register(new ServerEvents());
MinecraftForge.EVENT_BUS.register(new PlayerTracker());
MinecraftForge.EVENT_BUS.register(this);
}
@EventHandler
public void serverStart(FMLServerStartingEvent event) throws Exception {
event.registerServerCommand(new CommandLandrent());
event.registerServerCommand(new CommandLandcapture());
event.registerServerCommand(new CommandLandname());
long time = System.currentTimeMillis();
this.clanManager = new ClanManager();
this.saveHandler = new StalkerSaveHandler();
this.saveHandler.loadClans(this.clanManager);
Logger.console("Clans loaded (" + (System.currentTimeMillis() - time) + " ms)");
}
public void registerBlocks() {
flag = new BlockFlag();
GameRegistry.registerBlock(flag, ItemFlag.class, "Flag");
GameRegistry.registerTileEntity(TileEntityFlag.class, "FlagTile");
}
public void registerItems() {
flagAxe = new ItemClanSelect().setUnlocalizedName("flag_axe").setMaxStackSize(1).setTextureName("wood_axe").setFull3D();
flagAxe.setCreativeTab(tab);
LanguageRegistry.addName(flagAxe, "Топор для выделения");
clanCreate = new ItemClanCreate();
clanExpand = new ItemClanExpand();
clanCoin = new ItemCoin();
GameRegistry.registerItem(flagAxe, "tool_flag_axe_stalker");
GameRegistry.registerItem(clanCreate, "tool_clan_create_stalker");
GameRegistry.registerItem(clanExpand, "tool_clan_expand_stalker");
GameRegistry.registerItem(clanCoin, "item_clan_cion_stalker");
}
@SubscribeEvent
public void onConstruct(EntityEvent.EntityConstructing e) {
if(e.entity instanceof EntityPlayer && e.entity.getExtendedProperties(PlayerInfo.ATTRIB) == null) {
e.entity.registerExtendedProperties(PlayerInfo.ATTRIB, new PlayerInfo((EntityPlayer) e.entity));
}
}
}
Код:
package mods.ru.gloomyfolken.stalker.network;
import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import cpw.mods.fml.relauncher.Side;
public class NetworkSystem {
public static SimpleNetworkWrapper wrapper = null;
public static SimpleNetworkWrapper wrapper1 = null;
public static int nextDescrim = 1;
public static void init() {
wrapper = new SimpleNetworkWrapper("stalker");
registerMessage(PacketSetRulesRequest.class);
registerMessage(PacketSetLeaderRequest.class);
registerMessage(PacketSetLeader.class);
registerMessage(PacketSetHelpRequest.class);
registerMessage(PacketClanWithdrawRequest.class);
registerMessage(PacketClanWarRequest.class);
registerMessage(PacketClanWar.class);
registerMessage(PacketClanSetRank.class);
registerMessage(PacketClanSetRankRequest.class);
registerMessage(PacketClanPeaceRequest.class);
registerMessage(PacketClanMoneys.class);
registerMessage(PacketClanMembers.class);
registerMessage(PacketClanMembersRequest.class);
registerMessage(PacketClanList.class);
registerMessage(PacketClanLeave.class);
registerMessage(PacketClanLandsRequest.class);
registerMessage(PacketClanLands.class);
registerMessage(PacketClanKick.class);
registerMessage(PacketClanJoinRequest.class);
registerMessage(PacketClanInviteRequest.class);
registerMessage(PacketClanInvite.class);
registerMessage(PacketClanInfoRequest.class);
registerMessage(PacketClanInfo.class);
registerMessage(PacketClanHelpRequest.class);
registerMessage(PacketClanGuiUpdate.class);
registerMessage(PacketClanExpand.class);
registerMessage(PacketClanExpandRequest.class);
registerMessage(PacketClanDelete.class);
registerMessage(PacketClanData.class);
registerMessage(PacketClanCreateRequest.class);
registerMessage(PacketClanClear.class);
registerMessage(PacketClanAllianceRequest.class);
registerMessage(PacketClanAddRelations.class);
registerMessage(PacketAddHelp.class);
registerMessage(PacketAddRules.class);
}
public static void registerMessage(Class clazz) {
nextDescrim++;
wrapper.registerMessage(PacketHandler.class, clazz, nextDescrim, Side.CLIENT);
wrapper.registerMessage(PacketHandler.class, clazz, nextDescrim, Side.SERVER);
}
}