Crash Ticking Entity et ArrayIndexOutOfBoundsException sur EntityBullet de Flan's Mod
-
Je vois, j’ai le code de Flan’s Mod, serait-il possible de le modifier pour résoudre le problème ?
-
Le problème semble venir du fait que l’entité n’est pas enregistré.
Donc il faudrait juste ajouter un EntityRegistry.registerModEntity -
Juste y a une erreur à la ligne 128 où je l’ai mis dans le clientProxy, voici la classe:
(l’erreur est registerModEntity cannot be resolved or is not a field)

package com.flansmod.client; import java.io.File; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.lwjgl.input.Keyboard; import org.lwjgl.input.Mouse; import com.flansmod.client.debug.EntityDebugAABB; import com.flansmod.client.debug.EntityDebugDot; import com.flansmod.client.debug.EntityDebugVector; import com.flansmod.client.debug.RenderDebugAABB; import com.flansmod.client.debug.RenderDebugDot; import com.flansmod.client.debug.RenderDebugVector; import com.flansmod.client.gui.GuiArmourBox; import com.flansmod.client.gui.GuiDriveableCrafting; import com.flansmod.client.gui.GuiDriveableFuel; import com.flansmod.client.gui.GuiDriveableInventory; import com.flansmod.client.gui.GuiDriveableMenu; import com.flansmod.client.gui.GuiDriveableRepair; import com.flansmod.client.gui.GuiGunBox; import com.flansmod.client.gui.GuiGunModTable; import com.flansmod.client.gui.GuiMechaInventory; import com.flansmod.client.model.RenderAAGun; import com.flansmod.client.model.RenderBullet; import com.flansmod.client.model.RenderFlag; import com.flansmod.client.model.RenderFlagpole; import com.flansmod.client.model.RenderGrenade; import com.flansmod.client.model.RenderGun; import com.flansmod.client.model.RenderMG; import com.flansmod.client.model.RenderMecha; import com.flansmod.client.model.RenderNull; import com.flansmod.client.model.RenderParachute; import com.flansmod.client.model.RenderPlane; import com.flansmod.client.model.RenderVehicle; import com.flansmod.common.CommonProxy; import com.flansmod.common.FlansMod; import com.flansmod.common.driveables.DriveablePart; import com.flansmod.common.driveables.DriveableType; import com.flansmod.common.driveables.EntityDriveable; import com.flansmod.common.driveables.EntityPlane; import com.flansmod.common.driveables.EntitySeat; import com.flansmod.common.driveables.EntityVehicle; import com.flansmod.common.driveables.EntityWheel; import com.flansmod.common.driveables.PlaneType; import com.flansmod.common.driveables.VehicleType; import com.flansmod.common.driveables.mechas.EntityMecha; import com.flansmod.common.driveables.mechas.MechaType; import com.flansmod.common.guns.EntityAAGun; import com.flansmod.common.guns.EntityBullet; import com.flansmod.common.guns.EntityGrenade; import com.flansmod.common.guns.EntityMG; import com.flansmod.common.guns.GrenadeType; import com.flansmod.common.guns.GunType; import com.flansmod.common.guns.boxes.BlockGunBox; import com.flansmod.common.guns.boxes.GunBoxType; import com.flansmod.common.network.PacketBuyArmour; import com.flansmod.common.network.PacketBuyWeapon; import com.flansmod.common.network.PacketCraftDriveable; import com.flansmod.common.network.PacketRepairDriveable; import com.flansmod.common.teams.ArmourBoxType; import com.flansmod.common.teams.BlockArmourBox; import com.flansmod.common.teams.EntityFlag; import com.flansmod.common.teams.EntityFlagpole; import com.flansmod.common.teams.TileEntitySpawner; import com.flansmod.common.tools.EntityParachute; import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.FMLModContainer; import cpw.mods.fml.common.MetadataCollection; import cpw.mods.fml.common.discovery.ContainerType; import cpw.mods.fml.common.discovery.ModCandidate; import cpw.mods.fml.common.registry.EntityRegistry; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; import net.minecraftforge.client.MinecraftForgeClient; public class ClientProxy extends CommonProxy { public static String modelDir = "com.flansmod.client.model."; /* These renderers handle rendering in hand items */ public static RenderGun gunRenderer; public static RenderGrenade grenadeRenderer; public static RenderPlane planeRenderer; public static RenderVehicle vehicleRenderer; public static RenderMecha mechaRenderer; /** The file locations of the content packs, used for loading */ public List <file>contentPacks; @Override public void load() { new FlansModClient().load(); gunRenderer = new RenderGun(); grenadeRenderer = new RenderGrenade(); planeRenderer = new RenderPlane(); vehicleRenderer = new RenderVehicle(); mechaRenderer = new RenderMecha(); //Register custom item renderers for(GunType gunType : GunType.guns.values()) MinecraftForgeClient.registerItemRenderer(gunType.item, gunRenderer); for(GrenadeType grenadeType : GrenadeType.grenades) MinecraftForgeClient.registerItemRenderer(grenadeType.item, grenadeRenderer); for(PlaneType planeType : PlaneType.types) MinecraftForgeClient.registerItemRenderer(planeType.item, planeRenderer); for(VehicleType vehicleType : VehicleType.types) MinecraftForgeClient.registerItemRenderer(vehicleType.item, vehicleRenderer); for(MechaType mechaType : MechaType.types) MinecraftForgeClient.registerItemRenderer(mechaType.item, mechaRenderer); FMLCommonHandler.instance().bus().register(new KeyInputHandler()); new TickHandlerClient(); EntityRegistry.registerModEntity; } /** This method reloads all textures from all mods and resource packs. It forces Minecraft to read images from the content packs added after mod init */ @Override public void forceReload() { Minecraft.getMinecraft().refreshResources(); } /** This method grabs all the content packs and puts them in a list. The client side part registers them as FMLModContainers which adds their resources to the game after a refresh */ @Override public List <file>getContentList(Method method, ClassLoader classloader) { contentPacks = new ArrayList<file>(); for (File file : FlansMod.flanDir.listFiles()) { if (file.isDirectory() || zipJar.matcher(file.getName()).matches()) { try { method.invoke(classloader, file.toURI().toURL()); HashMap <string, object="">map = new HashMap<string, object="">(); map.put("modid", "AC"); map.put("name", "AltisCraft : " + file.getName()); map.put("version", "1"); FMLModContainer container = new FMLModContainer("com.flansmod.common.FlansMod", new ModCandidate(file, file, file.isDirectory() ? ContainerType.DIR : ContainerType.JAR), map); container.bindMetadata(MetadataCollection.from(null, "")); FMLClientHandler.instance().addModAsResource(container); } catch (Exception e) { FlansMod.log("Failed to load images for content pack : " + file.getName()); e.printStackTrace(); } // Add the directory to the content pack list FlansMod.log("Loaded content pack : " + file.getName()); contentPacks.add(file); } } FlansMod.log("Loaded textures and models."); return contentPacks; } /** Register entity renderers */ @Override public void registerRenderers() { RenderingRegistry.registerEntityRenderingHandler(EntityBullet.class, new RenderBullet()); RenderingRegistry.registerEntityRenderingHandler(EntityGrenade.class, new RenderGrenade()); RenderingRegistry.registerEntityRenderingHandler(EntityPlane.class, new RenderPlane()); RenderingRegistry.registerEntityRenderingHandler(EntityVehicle.class, new RenderVehicle()); RenderingRegistry.registerEntityRenderingHandler(EntityAAGun.class, new RenderAAGun()); RenderingRegistry.registerEntityRenderingHandler(EntityFlagpole.class, new RenderFlagpole()); RenderingRegistry.registerEntityRenderingHandler(EntityFlag.class, new RenderFlag()); RenderingRegistry.registerEntityRenderingHandler(EntitySeat.class, new RenderNull()); RenderingRegistry.registerEntityRenderingHandler(EntityWheel.class, new RenderNull()); RenderingRegistry.registerEntityRenderingHandler(EntityMG.class, new RenderMG()); RenderingRegistry.registerEntityRenderingHandler(EntityParachute.class, new RenderParachute()); RenderingRegistry.registerEntityRenderingHandler(EntityDebugDot.class, new RenderDebugDot()); RenderingRegistry.registerEntityRenderingHandler(EntityDebugVector.class, new RenderDebugVector()); RenderingRegistry.registerEntityRenderingHandler(EntityDebugAABB.class, new RenderDebugAABB()); RenderingRegistry.registerEntityRenderingHandler(EntityMecha.class, new RenderMecha()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySpawner.class, new TileEntitySpawnerRenderer()); } /** Adds the client side text message regarding mouse control mode switching */ @Override public void changeControlMode(EntityPlayer player) { if(FlansModClient.flipControlMode()) player.addChatComponentMessage(new ChatComponentText("Le mode de contrôle est maintenant " + FlansModClient.controlModeMouse)); } /** Whether the player is in mouse control mode for planes. Now the default setting for planes, but it can be deactivated to look around while flying */ @Override public boolean mouseControlEnabled() { return FlansModClient.controlModeMouse; } /** Client GUI object getter */ @Override public Object getClientGui(int ID, EntityPlayer player, World world, int x, int y, int z) { //Null riding entity, don't open GUI in this case if(((ID >= 6 && ID <= 10) || ID == 12) && player.ridingEntity == null) return null; switch(ID) { case 0: return new GuiDriveableCrafting(player.inventory, world, x, y, z); case 1: return new GuiDriveableRepair(player); case 2: return new GuiGunModTable(player.inventory, world); case 5: return new GuiGunBox(player.inventory, ((BlockGunBox)world.getBlock(x, y, z)).type); case 6: return new GuiDriveableInventory(player.inventory, world, ((EntitySeat)player.ridingEntity).driveable, 0); case 7: return new GuiDriveableInventory(player.inventory, world, ((EntitySeat)player.ridingEntity).driveable, 1); case 8: return new GuiDriveableFuel (player.inventory, world, ((EntitySeat)player.ridingEntity).driveable); case 9: return new GuiDriveableInventory(player.inventory, world, ((EntitySeat)player.ridingEntity).driveable, 2); case 10: return new GuiMechaInventory (player.inventory, world, (EntityMecha)((EntitySeat)player.ridingEntity).driveable); case 11: return new GuiArmourBox(player.inventory, ((BlockArmourBox)world.getBlock(x, y, z)).type); case 12: return new GuiDriveableInventory(player.inventory, world, ((EntitySeat)player.ridingEntity).driveable, 3); } return null; } /** Called when the player presses the plane inventory key. Opens menu client side */ @Override public void openDriveableMenu(EntityPlayer player, World world, EntityDriveable driveable) { FMLClientHandler.instance().getClient().displayGuiScreen(new GuiDriveableMenu(player.inventory, world, driveable)); } /** Helper method that sorts out packages with model name input * For example, the model class "com.flansmod.client.model.mw.ModelMP5" * is referenced in the type file by the string "mw.MP5" */ private String getModelName(String in) { //Split about dots String[] split = in.split("\\."); //If there is no dot, our model class is in the default model package if(split.length == 1) return "Model" + in; //Otherwise, we need to slightly rearrange the wording of the string for it to make sense else if(split.length > 1) { String out = "Model" + split[split.length - 1]; for(int i = split.length - 2; i >= 0; i–) { out = split* + "." + out; } return out; } return in; } /** Generic model loader method for getting model classes and casting them to the required class type */ @Override public <t>T loadModel(String s, String shortName, Class <t>typeClass) { if(s == null || shortName == null) return null; try { return typeClass.cast(Class.forName(modelDir + getModelName(s)).getConstructor().newInstance()); } catch(Exception e) { FlansMod.log("Failed to load model : " + shortName + " (" + s + ")"); e.printStackTrace(); } return null; } /** Sound loading method. Defers to FlansModResourceHandler */ @Override public void loadSound(String contentPack, String type, String sound) { FlansModResourceHandler.getSound(sound); //FMLClientHandler.instance().getClient().installResource("sound3/" + type + "/" + sound + ".ogg", new File(FMLClientHandler.instance().getClient().mcDataDir, "/Flan/" + contentPack + "/sounds/" + sound + ".ogg")); } /** Checks whether "player" is the current player. Always false on server, since there is no current player */ @Override public boolean isThePlayer(EntityPlayer player) { return player == FMLClientHandler.instance().getClient().thePlayer; } /* Gun and armour box crafting methods */ @Override public void buyGun(GunBoxType type, int gun) { FlansMod.getPacketHandler().sendToServer(new PacketBuyWeapon(type, 0, gun)); FlansModClient.shootTimeLeft = FlansModClient.shootTimeRight = 10; } @Override public void buyAmmo(GunBoxType box, int ammo, int type) { FlansMod.getPacketHandler().sendToServer(new PacketBuyWeapon(box, type, ammo)); FlansModClient.shootTimeLeft = FlansModClient.shootTimeRight = 10; } @Override public void buyArmour(String shortName, int piece, ArmourBoxType box) { FlansMod.getPacketHandler().sendToServer(new PacketBuyArmour(box.shortName, shortName, piece)); FlansModClient.shootTimeLeft = FlansModClient.shootTimeRight = 10; } @Override public void craftDriveable(EntityPlayer player, DriveableType type) { //Craft it this side (so the inventory updates immediately) and then send a packet to the server so that it is crafted that side too super.craftDriveable(player, type); if(player.worldObj.isRemote) FlansMod.getPacketHandler().sendToServer(new PacketCraftDriveable(type.shortName)); } @Override public void repairDriveable(EntityPlayer driver, EntityDriveable driving, DriveablePart part) { //Repair it this side (so the inventory updates immediately) and then send a packet to the server so that it is repaired that side too super.repairDriveable(driver, driving, part); if(driver.worldObj.isRemote) FlansMod.getPacketHandler().sendToServer(new PacketRepairDriveable(part.type)); } /** Helper method that returns whether there is a GUI open */ @Override public boolean isScreenOpen() { return Minecraft.getMinecraft().currentScreen != null; } /** Mecha input getters */ @Override public boolean isKeyDown(int key) { switch(key) { case 0 : //Press Forwards return keyDown(Minecraft.getMinecraft().gameSettings.keyBindForward.getKeyCode()); case 1 : //Press Backwards return keyDown(Minecraft.getMinecraft().gameSettings.keyBindBack.getKeyCode()); case 2 : //Press Left return keyDown(Minecraft.getMinecraft().gameSettings.keyBindLeft.getKeyCode()); case 3 : //Press Right return keyDown(Minecraft.getMinecraft().gameSettings.keyBindRight.getKeyCode()); case 4 : //Press Jump return keyDown(Minecraft.getMinecraft().gameSettings.keyBindJump.getKeyCode()); } return false; } /** Helper method that deals with the way Minecraft handles binding keys to the mouse */ @Override public boolean keyDown(int keyCode) { boolean state = (keyCode < 0 ? Mouse.isButtonDown(keyCode + 100) : Keyboard.isKeyDown(keyCode)); return state; } } ```</t></t></string,></string,></file></file></file> -
C’est une blague ?
- Pourquoi tu mets ça dans le client proxy ?
- TU CROIS VRAIMENT QUE ÇA VA FONCTIONNER SANS PRÉCISER QUELLE ENTITÉ ENREGISTRER !?!?!
https://openclassrooms.com/courses/apprenez-a-programmer-en-java
https://openclassrooms.com/courses/apprenez-a-programmer-en-java
https://openclassrooms.com/courses/apprenez-a-programmer-en-java
https://openclassrooms.com/courses/apprenez-a-programmer-en-java
https://openclassrooms.com/courses/apprenez-a-programmer-en-java
https://openclassrooms.com/courses/apprenez-a-programmer-en-javaLa programmation c’est de la logique, pas des bouts de code copier/coller sans qu’on comprenne ce que ce code fait …
-
Bon le voilà dans le FlansMod.java (classe principale), j’avais oublié qu’on devait mettre ça là-dedans et du coup je me retrouve avec ça :
EntityRegistry.registerModEntity(entityClass, entityName, id, mod, trackingRange, updateFrequency, sendsVelocityUpdates);
bon c’est censé ressemblez à quelque chose comme ça met je ne suis pas sur pour l’entityName, l’id doit bien y avoir une méthode pour trouver un de libre non ? et le updateFrequency c’est tout les ticks ou secondes ? et ça voudrait dire quoi sendsVelocityUpdates ?
EntityRegistry.registerModEntity(EntityBullet.class, “bullet”, 48552, FlansMod.INSTANCE, 300, 1, sendsVelocityUpdates);
-
entityName a peu d’importance
pour l’id -> http://www.minecraftforgefrance.fr/showthread.php?tid=648#classe3
updatefrequency est très certainement en ticks
sendsVelocityUpdate indique si l’entité doit recevoir des mises à jours de vélocité (donc si l’entité est soumise à la gravité il faut mettre true) -
Oké merci beaucoup je vais tester

-
Toujours le même problème avec code classe de FlansMod:
package com.flansmod.common; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipInputStream; import com.flansmod.common.driveables.EntityPlane; import com.flansmod.common.driveables.EntitySeat; import com.flansmod.common.driveables.EntityVehicle; import com.flansmod.common.driveables.EntityWheel; import com.flansmod.common.driveables.ItemPlane; import com.flansmod.common.driveables.ItemVehicle; import com.flansmod.common.driveables.PlaneType; import com.flansmod.common.driveables.VehicleType; import com.flansmod.common.driveables.mechas.EntityMecha; import com.flansmod.common.driveables.mechas.ItemMecha; import com.flansmod.common.driveables.mechas.ItemMechaAddon; import com.flansmod.common.driveables.mechas.MechaItemType; import com.flansmod.common.driveables.mechas.MechaType; import com.flansmod.common.eventhandlers.PlayerDeathEventListener; import com.flansmod.common.guns.AAGunType; import com.flansmod.common.guns.AttachmentType; import com.flansmod.common.guns.BulletType; import com.flansmod.common.guns.EntityAAGun; import com.flansmod.common.guns.EntityBullet; import com.flansmod.common.guns.EntityGrenade; import com.flansmod.common.guns.EntityMG; import com.flansmod.common.guns.GrenadeType; import com.flansmod.common.guns.GunType; import com.flansmod.common.guns.ItemAAGun; import com.flansmod.common.guns.ItemAttachment; import com.flansmod.common.guns.ItemBullet; import com.flansmod.common.guns.ItemGrenade; import com.flansmod.common.guns.ItemGun; import com.flansmod.common.guns.boxes.BlockGunBox; import com.flansmod.common.guns.boxes.GunBoxType; import com.flansmod.common.network.PacketHandler; import com.flansmod.common.parts.ItemPart; import com.flansmod.common.parts.PartType; import com.flansmod.common.teams.ArmourBoxType; import com.flansmod.common.teams.ArmourType; import com.flansmod.common.teams.BlockArmourBox; import com.flansmod.common.teams.BlockSpawner; import com.flansmod.common.teams.ChunkLoadingHandler; import com.flansmod.common.teams.CommandTeams; import com.flansmod.common.teams.EntityFlag; import com.flansmod.common.teams.EntityFlagpole; import com.flansmod.common.teams.EntityGunItem; import com.flansmod.common.teams.EntityTeamItem; import com.flansmod.common.teams.ItemFlagpole; import com.flansmod.common.teams.ItemOpStick; import com.flansmod.common.teams.ItemTeamArmour; import com.flansmod.common.teams.Team; import com.flansmod.common.teams.TeamsManager; import com.flansmod.common.teams.TileEntitySpawner; import com.flansmod.common.tools.EntityParachute; import com.flansmod.common.tools.ItemTool; import com.flansmod.common.tools.ToolType; import com.flansmod.common.types.EnumType; import com.flansmod.common.types.InfoType; import com.flansmod.common.types.TypeFile; import cpw.mods.fml.client.event.ConfigChangedEvent; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLServerStartedEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import fr.altiscraft.altiscraft.common.ModAltisCraft; import net.minecraft.block.material.Material; import net.minecraft.command.CommandHandler; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.monster.EntitySkeleton; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraftforge.common.ForgeChunkManager; import net.minecraftforge.common.config.Configuration; import net.minecraftforge.event.entity.item.ItemTossEvent; import net.minecraftforge.event.entity.living.LivingSpawnEvent; import net.minecraftforge.event.entity.player.PlayerDropsEvent; @Mod(modid = FlansMod.MODID, name = "Flan's Mod", version = FlansMod.VERSION, acceptableRemoteVersions = "@ALLOWEDVERSIONS@", guiFactory = "com.flansmod.client.gui.config.ModGuiFactory") public class FlansMod { //Core mod stuff public static boolean DEBUG = false; public static Configuration configFile; public static final String MODID = "flansmod"; public static final String VERSION = "@VERSION@"; @Instance(MODID) public static FlansMod INSTANCE; public static int generalConfigInteger = 32; public static String generalConfigString = "Hello!"; public static boolean addGunpowderRecipe = true; public static int teamsConfigInteger = 32; public static String teamsConfigString = "Hello!"; public static boolean teamsConfigBoolean = false; @SidedProxy(clientSide = "com.flansmod.client.ClientProxy", serverSide = "com.flansmod.common.CommonProxy") public static CommonProxy proxy; //A standardised ticker for all bits of the mod to call upon if they need one public static int ticker = 0; public static long lastTime; public static File flanDir; public static final float soundRange = 50F; public static final float driveableUpdateRange = 200F; public static final int numPlayerSnapshots = 20; public static float armourSpawnRate = 0.25F; /** The spectator team. Moved here to avoid a concurrent modification error */ public static Team spectators = new Team("spectators", "Spectators", 0x404040, '7'); //Handlers public static final PacketHandler packetHandler = new PacketHandler(); public static final PlayerHandler playerHandler = new PlayerHandler(); public static final TeamsManager teamsManager = new TeamsManager(); public static final CommonTickHandler tickHandler = new CommonTickHandler(); public static FlansHooks hooks = new FlansHooks(); //Items and creative tabs public static BlockFlansWorkbench workbench; public static BlockSpawner spawner; public static ItemOpStick opStick; public static ItemFlagpole flag; public static ArrayList <blockgunbox>gunBoxBlocks = new ArrayList<blockgunbox>(); public static ArrayList <itembullet>bulletItems = new ArrayList<itembullet>(); public static ArrayList <itemgun>gunItems = new ArrayList<itemgun>(); public static ArrayList <itemattachment>attachmentItems = new ArrayList<itemattachment>(); public static ArrayList <itempart>partItems = new ArrayList<itempart>(); public static ArrayList <itemplane>planeItems = new ArrayList<itemplane>(); public static ArrayList <itemvehicle>vehicleItems = new ArrayList<itemvehicle>(); public static ArrayList <itemmechaaddon>mechaToolItems = new ArrayList<itemmechaaddon>(); public static ArrayList <itemmecha>mechaItems = new ArrayList<itemmecha>(); public static ArrayList <itemaagun>aaGunItems = new ArrayList<itemaagun>(); public static ArrayList <itemgrenade>grenadeItems = new ArrayList<itemgrenade>(); public static ArrayList <itemtool>toolItems = new ArrayList<itemtool>(); public static ArrayList <itemteamarmour>armourItems = new ArrayList<itemteamarmour>(); public static ArrayList <blockarmourbox>armourBoxBlocks = new ArrayList<blockarmourbox>(); /** The mod pre-initialiser method */ @EventHandler public void preInit(FMLPreInitializationEvent event) { log("Pré-initialisation d'AltisCraft"); configFile = new Configuration(event.getSuggestedConfigurationFile()); syncConfig(); //TODO : Load properties //configuration = new Configuration(event.getSuggestedConfigurationFile()); //loadProperties(); flanDir = new File(event.getModConfigurationDirectory().getParentFile(), "/mods/AltisCraft.fr/"); if (!flanDir.exists()) { log("Flan folder not found. Creating empty folder."); log("You should get some content packs and put them in the Flan folder."); flanDir.mkdirs(); flanDir.mkdir(); } //Set up mod blocks and items workbench = (BlockFlansWorkbench)(new BlockFlansWorkbench(1, 0).setCreativeTab(ModAltisCraft.AltisCraft).setBlockName("flansWorkbench").setBlockTextureName("flansWorkbench").setCreativeTab(ModAltisCraft.AltisCraft)); GameRegistry.registerBlock(workbench, ItemBlockManyNames.class, "flansWorkbench"); opStick = new ItemOpStick(); GameRegistry.registerItem(opStick, "opStick", MODID); flag = (ItemFlagpole)(new ItemFlagpole().setUnlocalizedName("flagpole").setCreativeTab(ModAltisCraft.AltisCraft)); GameRegistry.registerItem(flag, "flagpole", MODID); spawner = (BlockSpawner)(new BlockSpawner(Material.iron).setBlockName("teamsSpawner").setBlockUnbreakable().setResistance(1000000F)); GameRegistry.registerBlock(spawner, ItemBlockManyNames.class, "teamsSpawner"); GameRegistry.registerTileEntity(TileEntitySpawner.class, "teamsSpawner"); EntityRegistry.registerModEntity(EntityBullet.class, "bullet", EntityRegistry.findGlobalUniqueEntityId(), FlansMod.INSTANCE, 300, 1, true); proxy.registerRenderers(); //Read content packs readContentPacks(event); //Do proxy loading proxy.load(); //Force Minecraft to reload all resources in order to load content pack resources. proxy.forceReload(); log("Preinitializing complete."); } /** The mod initialiser method */ @EventHandler public void init(FMLInitializationEvent event) { log("Initialising Flan's Mod."); //Initialising handlers packetHandler.initialise(); NetworkRegistry.INSTANCE.registerGuiHandler(this, new CommonGuiHandler()); // Recipes for (InfoType type : InfoType.infoTypes) { type.addRecipe(); } if(addGunpowderRecipe) { ItemStack charcoal = new ItemStack(Items.coal, 1, 1); GameRegistry.addShapelessRecipe(new ItemStack(Items.gunpowder), charcoal, charcoal, charcoal, new ItemStack(Items.glowstone_dust)); } log("Loaded recipes."); //Register teams mod entities EntityRegistry.registerGlobalEntityID(EntityFlagpole.class, "Flagpole", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntityFlagpole.class, "Flagpole", 93, this, 40, 5, true); EntityRegistry.registerGlobalEntityID(EntityFlag.class, "Flag", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntityFlag.class, "Flag", 94, this, 40, 5, true); EntityRegistry.registerGlobalEntityID(EntityTeamItem.class, "TeamsItem", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntityTeamItem.class, "TeamsItem", 97, this, 100, 10000, true); EntityRegistry.registerGlobalEntityID(EntityGunItem.class, "GunItem", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntityGunItem.class, "GunItem", 98, this, 100, 20, true); //Register driveables EntityRegistry.registerGlobalEntityID(EntityPlane.class, "Plane", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntityPlane.class, "Plane", 90, this, 250, 3, false); EntityRegistry.registerGlobalEntityID(EntityVehicle.class, "Vehicle", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntityVehicle.class, "Vehicle", 95, this, 250, 10, false); EntityRegistry.registerGlobalEntityID(EntitySeat.class, "Seat", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntitySeat.class, "Seat", 99, this, 250, 20, false); EntityRegistry.registerGlobalEntityID(EntityWheel.class, "Wheel", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntityWheel.class, "Wheel", 103, this, 250, 20, false); EntityRegistry.registerGlobalEntityID(EntityParachute.class, "Parachute", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntityParachute.class, "Parachute", 101, this, 40, 20, false); EntityRegistry.registerGlobalEntityID(EntityMecha.class, "Mecha", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntityMecha.class, "Mecha", 102, this, 250, 20, false); //Register bullets and grenades //EntityRegistry.registerGlobalEntityID(EntityBullet.class, "Bullet", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntityBullet.class, "Bullet", 96, this, 40, 100, false); EntityRegistry.registerGlobalEntityID(EntityGrenade.class, "Grenade", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntityGrenade.class, "Grenade", 100, this, 40, 100, true); //Register MGs and AA guns EntityRegistry.registerGlobalEntityID(EntityMG.class, "MG", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntityMG.class, "MG", 91, this, 40, 5, true); EntityRegistry.registerGlobalEntityID(EntityAAGun.class, "AAGun", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntityAAGun.class, "AAGun", 92, this, 40, 500, false); //Register the chunk loader //TODO : Re-do chunk loading ForgeChunkManager.setForcedChunkLoadingCallback(this, new ChunkLoadingHandler()); //Config FMLCommonHandler.instance().bus().register(INSTANCE); //Starting the EventListener new PlayerDeathEventListener(); log("Loading complete."); } /** The mod post-initialisation method */ @EventHandler public void postInit(FMLPostInitializationEvent event) { packetHandler.postInitialise(); hooks.hook(); /* TODO : ICBM isICBMSentryLoaded = Loader.instance().isModLoaded("ICBM|Sentry"); log("ICBM hooking complete."); */ } @SubscribeEvent public void playerDrops(PlayerDropsEvent event) { for(int i = event.drops.size() - 1; i >= 0; i–) { EntityItem ent = event.drops.get(i); InfoType type = InfoType.getType(ent.getEntityItem()); if(type != null && !type.canDrop) event.drops.remove(i); } } @SubscribeEvent public void playerDrops(ItemTossEvent event) { InfoType type = InfoType.getType(event.entityItem.getEntityItem()); if(type != null && !type.canDrop) event.setCanceled(true); } /** Teams command register method */ @EventHandler public void registerCommand(FMLServerStartedEvent e) { CommandHandler handler = ((CommandHandler)FMLCommonHandler.instance().getSidedDelegate().getServer().getCommandManager()); handler.registerCommand(new CommandTeams()); } @SubscribeEvent public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent eventArgs) { if(eventArgs.modID.equals(MODID)) syncConfig(); } @SubscribeEvent public void onLivingSpecialSpawn(LivingSpawnEvent.CheckSpawn event) { double chance = event.world.rand.nextDouble(); if(chance < armourSpawnRate && event.entityLiving instanceof EntityZombie || event.entityLiving instanceof EntitySkeleton) { if(event.world.rand.nextBoolean() && ArmourType.armours.size() > 0) { //Give a completely random piece of armour ArmourType armour = ArmourType.armours.get(event.world.rand.nextInt(ArmourType.armours.size())); if(armour != null && armour.type != 2) event.entityLiving.setCurrentItemOrArmor(armour.type + 1, new ItemStack(armour.item)); } else if(Team.teams.size() > 0) { //Give a random set of armour Team team = Team.teams.get(event.world.rand.nextInt(Team.teams.size())); if(team.hat != null) event.entityLiving.setCurrentItemOrArmor(1, team.hat.copy()); if(team.chest != null) event.entityLiving.setCurrentItemOrArmor(2, team.chest.copy()); //if(team.legs != null) // event.entityLiving.setCurrentItemOrArmor(3, team.legs.copy()); if(team.shoes != null) event.entityLiving.setCurrentItemOrArmor(4, team.shoes.copy()); } } } /** Reads type files from all content packs */ private void getTypeFiles(List <file>contentPacks) { for (File contentPack : contentPacks) { if(contentPack.isDirectory()) { for(EnumType typeToCheckFor : EnumType.values()) { File typesDir = new File(contentPack, "/" + typeToCheckFor.folderName + "/"); if(!typesDir.exists()) continue; for(File file : typesDir.listFiles()) { try { BufferedReader reader = new BufferedReader(new FileReader(file)); String[] splitName = file.getName().split("/"); TypeFile typeFile = new TypeFile(typeToCheckFor, splitName[splitName.length - 1].split("\\.")[0]); for(;;) { String line = null; try { line = reader.readLine(); } catch (Exception e) { break; } if (line == null) break; typeFile.lines.add(line); } reader.close(); } catch(FileNotFoundException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); } } } } else { try { ZipFile zip = new ZipFile(contentPack); ZipInputStream zipStream = new ZipInputStream(new FileInputStream(contentPack)); BufferedReader reader = new BufferedReader(new InputStreamReader(zipStream)); ZipEntry zipEntry = zipStream.getNextEntry(); do { zipEntry = zipStream.getNextEntry(); if(zipEntry == null) continue; TypeFile typeFile = null; for(EnumType type : EnumType.values()) { if(zipEntry.getName().startsWith(type.folderName + "/") && zipEntry.getName().split(type.folderName + "/").length > 1 && zipEntry.getName().split(type.folderName + "/")[1].length() > 0) { String[] splitName = zipEntry.getName().split("/"); typeFile = new TypeFile(type, splitName[splitName.length - 1].split("\\.")[0]); } } if(typeFile == null) { continue; } for(;;) { String line = null; try { line = reader.readLine(); } catch (Exception e) { break; } if (line == null) break; typeFile.lines.add(line); } } while(zipEntry != null); reader.close(); zip.close(); zipStream.close(); } catch(IOException e) { e.printStackTrace(); } } } } /** Content pack reader method */ private void readContentPacks(FMLPreInitializationEvent event) { // Icons, Skins, Models // Get the classloader in order to load the images ClassLoader classloader = (net.minecraft.server.MinecraftServer.class).getClassLoader(); Method method = null; try { method = (java.net.URLClassLoader.class).getDeclaredMethod("addURL", java.net.URL.class); method.setAccessible(true); } catch (Exception e) { log("Failed to get class loader. All content loading will now fail."); e.printStackTrace(); } List <file>contentPacks = proxy.getContentList(method, classloader); if (!event.getSide().equals(Side.CLIENT)) { //Gametypes (Server only) // TODO: gametype loader } getTypeFiles(contentPacks); for(EnumType type : EnumType.values()) { Class typeClass = type.getTypeClass(); for(TypeFile typeFile : TypeFile.files.get(type)) { try { InfoType infoType = (typeClass.getConstructor(TypeFile.class).newInstance(typeFile)); infoType.read(typeFile); switch(type) { case bullet : bulletItems.add((ItemBullet)new ItemBullet((BulletType)infoType).setUnlocalizedName(infoType.shortName)); break; case attachment : attachmentItems.add((ItemAttachment)new ItemAttachment((AttachmentType)infoType).setUnlocalizedName(infoType.shortName)); break; case gun : gunItems.add((ItemGun)new ItemGun((GunType)infoType).setUnlocalizedName(infoType.shortName)); break; case grenade : grenadeItems.add((ItemGrenade)new ItemGrenade((GrenadeType)infoType).setUnlocalizedName(infoType.shortName)); break; case part : partItems.add((ItemPart)new ItemPart((PartType)infoType).setUnlocalizedName(infoType.shortName)); break; case plane : planeItems.add((ItemPlane)new ItemPlane((PlaneType)infoType).setUnlocalizedName(infoType.shortName)); break; case vehicle : vehicleItems.add((ItemVehicle)new ItemVehicle((VehicleType)infoType).setUnlocalizedName(infoType.shortName)); break; case aa : aaGunItems.add((ItemAAGun)new ItemAAGun((AAGunType)infoType).setUnlocalizedName(infoType.shortName)); break; case mechaItem : mechaToolItems.add((ItemMechaAddon)new ItemMechaAddon((MechaItemType)infoType).setUnlocalizedName(infoType.shortName)); break; case mecha : mechaItems.add((ItemMecha)new ItemMecha((MechaType)infoType).setUnlocalizedName(infoType.shortName)); break; case tool : toolItems.add((ItemTool)new ItemTool((ToolType)infoType).setUnlocalizedName(infoType.shortName)); break; case box : gunBoxBlocks.add((BlockGunBox)new BlockGunBox((GunBoxType)infoType).setBlockName(infoType.shortName).setCreativeTab(ModAltisCraft.AltisCraft)); break; case armour : armourItems.add((ItemTeamArmour)new ItemTeamArmour((ArmourType)infoType).setUnlocalizedName(infoType.shortName)); break; case armourBox : armourBoxBlocks.add((BlockArmourBox)new BlockArmourBox((ArmourBoxType)infoType).setBlockName(infoType.shortName)); break; case playerClass : break; case team : break; default : log("Unrecognised type for " + infoType.shortName); break; } } catch(Exception e) { log("Failed to add " + type.name() + " : " + typeFile.name); e.printStackTrace(); } } log("Loaded " + type.name() + "."); } Team.spectators = spectators; } public static PacketHandler getPacketHandler() { return INSTANCE.packetHandler; } public static void syncConfig() { //generalConfigInteger = configFile.getInt("Config Integer", Configuration.CATEGORY_GENERAL, generalConfigInteger, 0, Integer.MAX_VALUE, "An Integer!"); //generalConfigString = configFile.getString("Config String", Configuration.CATEGORY_GENERAL, generalConfigString, "A String!"); addGunpowderRecipe = configFile.getBoolean("Gunpowder Recipe", Configuration.CATEGORY_GENERAL, addGunpowderRecipe, "Whether or not to add the extra gunpowder recipe (3 charcoal + 1 lightstone)"); //teamsConfigInteger = configFile.getInt("Config Integer", Configuration.CATEGORY_GENERAL, teamsConfigInteger, 0, Integer.MAX_VALUE, "An Integer!"); //teamsConfigString = configFile.getString("Config String", Configuration.CATEGORY_GENERAL, teamsConfigString, "A String!"); //teamsConfigBoolean = configFile.getBoolean("Config Boolean", Configuration.CATEGORY_GENERAL, teamsConfigBoolean, "A Boolean!"); if(configFile.hasChanged()) configFile.save(); } //TODO : Proper logger public static void log(String string) { System.out.println("[AltisCraft.fr] " + string); } }Et la classe bullet n’a pas bouger
des idées ?</file></file></blockarmourbox></blockarmourbox></itemteamarmour></itemteamarmour></itemtool></itemtool></itemgrenade></itemgrenade></itemaagun></itemaagun></itemmecha></itemmecha></itemmechaaddon></itemmechaaddon></itemvehicle></itemvehicle></itemplane></itemplane></itempart></itempart></itemattachment></itemattachment></itemgun></itemgun></itembullet></itembullet></blockgunbox></blockgunbox> -
Envoi le rapport d’erreur
-
Voilà :
–-- Minecraft Crash Report ----
// I just don’t know what went wrong
Time: 25/11/15 19:16
Description: Ticking entityjava.lang.ArrayIndexOutOfBoundsException: -2023999
at com.flansmod.common.guns.EntityBullet.func_70071_h_(EntityBullet.java:285)
at net.minecraft.world.World.func_72866_a(World.java:2629)
at net.minecraft.world.WorldServer.func_72866_a(WorldServer.java:837)
at net.minecraft.world.World.func_72870_g(World.java:2581)
at net.minecraft.world.World.func_72939_s(World.java:2405)
at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:669)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:954)
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:431)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:809)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:669)
at java.lang.Thread.run(Unknown Source)A detailed walkthrough of the error, its code path and all known details is as follows:
– Head –
Stacktrace:
at com.flansmod.common.guns.EntityBullet.func_70071_h_(EntityBullet.java:285)
at net.minecraft.world.World.func_72866_a(World.java:2629)
at net.minecraft.world.WorldServer.func_72866_a(WorldServer.java:837)
at net.minecraft.world.World.func_72870_g(World.java:2581)– Entity being ticked –
Details:
Entity Type: flansmod.bullet (com.flansmod.common.guns.EntityBullet)
Entity ID: 8421
Entity Name: entity.flansmod.bullet.name
Entity’s Exact location: -2487,58, 90,79, -7888,66
Entity’s Block location: World: (-2488,90,-7889), Chunk: (at 8,5,15 in -156,-494; contains blocks -2496,0,-7904 to -2481,255,-7889), Region: (-5,-16; contains chunks -160,-512 to -129,-481, blocks -2560,0,-8192 to -2049,255,-7681)
Entity’s Momentum: -0,67, -0,12, 9,88
Stacktrace:
at net.minecraft.world.World.func_72939_s(World.java:2405)
at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:669)– Affected level –
Details:
Level name: AltisCraft
All players: 30 total; [EntityPlayerMP[‘WarzyXx’/60, l=‘AltisCraft’, x=-8491,33, y=33,00, z=-3755,51](WarzyXx at -8491.333209989414,33.0,-3755.5119653420506), EntityPlayerMP[‘abys’/724, l=‘AltisCraft’, x=-1102,53, y=34,00, z=-1818,31](abys at -1102.529346807387,34.0,-1818.3132175427775), EntityPlayerMP[‘FuNiMaX’/845, l=‘AltisCraft’, x=-8530,77, y=33,00, z=-3762,05](FuNiMaX at -8530.766751679066,33.0,-3762.046462854882), EntityPlayerMP[‘corentin’/805, l=‘AltisCraft’, x=-8507,95, y=33,36, z=-3768,31](corentin at -8507.945970883686,33.36075,-3768.3123765484024), EntityPlayerMP[‘geforce07’/883, l=‘AltisCraft’, x=-9157,41, y=20,00, z=-2640,55](geforce07 at -9157.406910702693,20.0,-2640.547818395628), EntityPlayerMP[‘ItsEnergix_’/894, l=‘AltisCraft’, x=-8507,30, y=33,00, z=-3737,89](ItsEnergix_ at -8507.295838167498,33.0,-3737.8861951226963), EntityPlayerMP[‘Angel_S’/1425, l=‘AltisCraft’, x=-8573,22, y=33,00, z=-3619,97](Angel_S at -8573.223984596425,33.0,-3619.9689064286777), EntityPlayerMP[‘DEmoNiiAkOO’/1454, l=‘AltisCraft’, x=-8486,12, y=37,00, z=-3720,41](DEmoNiiAkOO at -8486.11538581527,37.0,-3720.4147530430146), EntityPlayerMP[‘Eric_Adams’/1499, l=‘AltisCraft’, x=-8482,24, y=53,73, z=-3756,07](Eric_Adams at -8482.23619693377,53.73079337471755,-3756.0682574714924), EntityPlayerMP[‘link64000’/2170, l=‘AltisCraft’, x=-8485,03, y=33,79, z=-3776,78](link64000 at -8485.03432040487,33.78502770378924,-3776.7783353562595), EntityPlayerMP[‘Baptiste_Grein’/2424, l=‘AltisCraft’, x=-3434,88, y=26,83, z=-2803,72](Baptiste_Grein at -3434.877399082775,26.834925920310987,-2803.720999135037), EntityPlayerMP[‘REX302002’/2434, l=‘AltisCraft’, x=-8527,83, y=33,00, z=-3756,53](REX302002 at -8527.82734976698,33.0,-3756.5347219078417), EntityPlayerMP[‘Kenzi_iZi’/2757, l=‘AltisCraft’, x=-8500,63, y=33,00, z=-3731,88](Kenzi_iZi at -8500.630356172425,33.0,-3731.8790848298377), EntityPlayerMP[‘kalipso1000’/2766, l=‘AltisCraft’, x=0,00, y=99,00, z=0,00](kalipso1000 at 0.0,99.0,0.0), EntityPlayerMP[‘komi43’/2780, l=‘AltisCraft’, x=-8513,95, y=34,25, z=-3758,27](komi43 at -8513.947210079801,34.24918707874468,-3758.2658365502325), EntityPlayerMP[‘ilyas_2003’/3182, l=‘AltisCraft’, x=-2484,37, y=88,00, z=-7908,13](ilyas_2003 at -2484.3723565447067,88.0,-7908.132955163231), EntityPlayerMP[‘Theo_Toilette’/3518, l=‘AltisCraft’, x=-1060,31, y=35,15, z=-1834,72](Theo_Toilette at -1060.3068408088047,35.14514205324103,-1834.722712335524), EntityPlayerMP[‘Micka31140’/3843, l=‘AltisCraft’, x=-8485,01, y=58,67, z=-4155,70](Micka31140 at -8485.012231967165,58.6705856109038,-4155.699936974048), EntityPlayerMP[‘Eclipse_Prod’/3865, l=‘AltisCraft’, x=-3434,23, y=12,00, z=-2813,47](Eclipse_Prod at -3434.233345773888,12.0,-2813.466487750833), EntityPlayerMP[‘JulienixFR’/4192, l=‘AltisCraft’, x=-8716,02, y=17,00, z=-3044,55](JulienixFR at -8716.024273794248,17.0,-3044.550793321056), EntityPlayerMP[‘Andy20’/4593, l=‘AltisCraft’, x=-2680,83, y=51,00, z=-3625,61](Andy20 at -2680.828653235005,51.0,-3625.6147115028075), EntityPlayerMP[‘irise3’/4634, l=‘AltisCraft’, x=-8635,95, y=17,25, z=-3195,97](irise3 at -8635.954595141682,17.24918707874468,-3195.969888406509), EntityPlayerMP[‘ak_19’/4649, l=‘AltisCraft’, x=-8503,59, y=33,00, z=-3737,68](ak_19 at -8503.589437987344,33.0,-3737.6801945162283), EntityPlayerMP[‘Benji01’/5785, l=‘AltisCraft’, x=-8335,88, y=33,00, z=-3659,43](Benji01 at -8335.883772835083,33.0,-3659.4269708806405), EntityPlayerMP[‘Sir_Moustache’/5796, l=‘AltisCraft’, x=-8497,63, y=33,00, z=-3727,53](Sir_Moustache at -8497.627152921586,33.0,-3727.525239783499), EntityPlayerMP[‘X_proHard’/5807, l=‘AltisCraft’, x=-8484,32, y=56,36, z=-4137,92](X_proHard at -8484.31553556025,56.358467906713486,-4137.917810700834), EntityPlayerMP[‘Azitox’/5832, l=‘AltisCraft’, x=-4218,42, y=45,00, z=-3292,68](Azitox at -4218.419413711785,45.0,-3292.6807378684744), EntityPlayerMP[‘jamygaming’/6481, l=‘AltisCraft’, x=-8507,03, y=33,00, z=-3773,50](jamygaming at -8507.026943283194,33.0,-3773.503300377579), EntityPlayerMP[‘ArcticLov’/7166, l=‘AltisCraft’, x=-2482,01, y=88,00, z=-7910,59](ArcticLov at -2482.01219088651,88.0,-7910.586337369956), EntityPlayerMP[‘Jean_Cerien’/8343, l=‘AltisCraft’, x=-2487,61, y=89,25, z=-7888,10](Jean_Cerien at -2487.6054390004615,89.24918707874468,-7888.097183586911)]
Chunk stats: ServerChunkCache: 5304 Drop: 0
Level seed: 27594263
Level generator: ID 02 - largeBiomes, ver 0. Features enabled: false
Level generator options:
Level spawn location: World: (0,99,0), Chunk: (at 0,6,0 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
Level time: 333381802 game time, 345973894 day time
Level dimension: 0
Level storage version: 0x04ABD - Anvil
Level weather: Rain time: 35447 (now: false), thunder time: 74765 (now: false)
Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false
Stacktrace:
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:954)
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:431)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:809)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:669)
at java.lang.Thread.run(Unknown Source)– System Details –
Details:
Minecraft Version: 1.7.10
KCauldron Version: pw.prok:KCauldron:1.7.10-1492.155
Operating System: Windows Server 2012 R2 (amd64) version 6.3
Java Version: 1.8.0_65, Oracle Corporation
Java VM Version: Java HotSpot
64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 13295984432 bytes (12680 MB) / 15696658432 bytes (14969 MB) up to 15696658432 bytes (14969 MB)
JVM Flags: 2 total; -Xms13G -Xmx15G
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 103
FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1492 11 mods loaded, 11 mods active
States: ‘U’ = Unloaded ‘L’ = Loaded ‘C’ = Constructed ‘H’ = Pre-initialized ‘I’ = Initialized ‘J’ = Post-initialized ‘A’ = Available ‘D’ = Disabled ‘E’ = Errored
UCHIJAAAA mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)
UCHIJAAAA FML{7.10.99.99} [Forge Mod Loader] (OpenMod-Prov2.jar)
UCHIJAAAA Forge{10.13.4.1492} [Minecraft Forge] (OpenMod-Prov2.jar)
UCHIJAAAA kimagine{0.1} [KImagine] (minecraft.jar)
UCHIJAAAA CarpentersBlocks{0.0.1 Beta} [AltisCraft.fr] (AltisCraft.fr.jar)
UCHIJAAAA flansmod{@VERSION@} [Flan’s Mod] (AltisCraft.fr.jar)
UCHIJAAAA thirstmod{1.8.14} [Thirst Mod] (AltisCraft.fr.jar)
UCHIJAAAA t4pro{1.0.1} [Project] (AltisCraft.fr.jar)
UCHIJAAAA altiscraft.MODID{1.0.0} [AltisCraft.fr] (AltisCraft.fr.jar)
UCHIJAAAA Backpack{2.0.1} [Backpack] (backpack-2.0.1-1.7.x.jar)
UCHIJAAAA gvc{0.6.1} [§aGliby’s§f Voice Chat Mod] (GlibysVC-1.7.10-0.6.1.jar)
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Player Count: 30 / 100; [EntityPlayerMP[‘WarzyXx’/60, l=‘AltisCraft’, x=-8491,33, y=33,00, z=-3755,51](WarzyXx at -8491.333209989414,33.0,-3755.5119653420506), EntityPlayerMP[‘abys’/724, l=‘AltisCraft’, x=-1102,53, y=34,00, z=-1818,31](abys at -1102.529346807387,34.0,-1818.3132175427775), EntityPlayerMP[‘FuNiMaX’/845, l=‘AltisCraft’, x=-8530,77, y=33,00, z=-3762,05](FuNiMaX at -8530.766751679066,33.0,-3762.046462854882), EntityPlayerMP[‘corentin’/805, l=‘AltisCraft’, x=-8507,95, y=33,36, z=-3768,31](corentin at -8507.945970883686,33.36075,-3768.3123765484024), EntityPlayerMP[‘geforce07’/883, l=‘AltisCraft’, x=-9157,41, y=20,00, z=-2640,55](geforce07 at -9157.406910702693,20.0,-2640.547818395628), EntityPlayerMP[‘ItsEnergix_’/894, l=‘AltisCraft’, x=-8507,30, y=33,00, z=-3737,89](ItsEnergix_ at -8507.295838167498,33.0,-3737.8861951226963), EntityPlayerMP[‘Angel_S’/1425, l=‘AltisCraft’, x=-8573,22, y=33,00, z=-3619,97](Angel_S at -8573.223984596425,33.0,-3619.9689064286777), EntityPlayerMP[‘DEmoNiiAkOO’/1454, l=‘AltisCraft’, x=-8486,12, y=37,00, z=-3720,41](DEmoNiiAkOO at -8486.11538581527,37.0,-3720.4147530430146), EntityPlayerMP[‘Eric_Adams’/1499, l=‘AltisCraft’, x=-8482,24, y=53,73, z=-3756,07](Eric_Adams at -8482.23619693377,53.73079337471755,-3756.0682574714924), EntityPlayerMP[‘link64000’/2170, l=‘AltisCraft’, x=-8485,03, y=33,79, z=-3776,78](link64000 at -8485.03432040487,33.78502770378924,-3776.7783353562595), EntityPlayerMP[‘Baptiste_Grein’/2424, l=‘AltisCraft’, x=-3434,88, y=26,83, z=-2803,72](Baptiste_Grein at -3434.877399082775,26.834925920310987,-2803.720999135037), EntityPlayerMP[‘REX302002’/2434, l=‘AltisCraft’, x=-8527,83, y=33,00, z=-3756,53](REX302002 at -8527.82734976698,33.0,-3756.5347219078417), EntityPlayerMP[‘Kenzi_iZi’/2757, l=‘AltisCraft’, x=-8500,63, y=33,00, z=-3731,88](Kenzi_iZi at -8500.630356172425,33.0,-3731.8790848298377), EntityPlayerMP[‘kalipso1000’/2766, l=‘AltisCraft’, x=0,00, y=99,00, z=0,00](kalipso1000 at 0.0,99.0,0.0), EntityPlayerMP[‘komi43’/2780, l=‘AltisCraft’, x=-8513,95, y=34,25, z=-3758,27](komi43 at -8513.947210079801,34.24918707874468,-3758.2658365502325), EntityPlayerMP[‘ilyas_2003’/3182, l=‘AltisCraft’, x=-2484,37, y=88,00, z=-7908,13](ilyas_2003 at -2484.3723565447067,88.0,-7908.132955163231), EntityPlayerMP[‘Theo_Toilette’/3518, l=‘AltisCraft’, x=-1060,31, y=35,15, z=-1834,72](Theo_Toilette at -1060.3068408088047,35.14514205324103,-1834.722712335524), EntityPlayerMP[‘Micka31140’/3843, l=‘AltisCraft’, x=-8485,01, y=58,67, z=-4155,70](Micka31140 at -8485.012231967165,58.6705856109038,-4155.699936974048), EntityPlayerMP[‘Eclipse_Prod’/3865, l=‘AltisCraft’, x=-3434,23, y=12,00, z=-2813,47](Eclipse_Prod at -3434.233345773888,12.0,-2813.466487750833), EntityPlayerMP[‘JulienixFR’/4192, l=‘AltisCraft’, x=-8716,02, y=17,00, z=-3044,55](JulienixFR at -8716.024273794248,17.0,-3044.550793321056), EntityPlayerMP[‘Andy20’/4593, l=‘AltisCraft’, x=-2680,83, y=51,00, z=-3625,61](Andy20 at -2680.828653235005,51.0,-3625.6147115028075), EntityPlayerMP[‘irise3’/4634, l=‘AltisCraft’, x=-8635,95, y=17,25, z=-3195,97](irise3 at -8635.954595141682,17.24918707874468,-3195.969888406509), EntityPlayerMP[‘ak_19’/4649, l=‘AltisCraft’, x=-8503,59, y=33,00, z=-3737,68](ak_19 at -8503.589437987344,33.0,-3737.6801945162283), EntityPlayerMP[‘Benji01’/5785, l=‘AltisCraft’, x=-8335,88, y=33,00, z=-3659,43](Benji01 at -8335.883772835083,33.0,-3659.4269708806405), EntityPlayerMP[‘Sir_Moustache’/5796, l=‘AltisCraft’, x=-8497,63, y=33,00, z=-3727,53](Sir_Moustache at -8497.627152921586,33.0,-3727.525239783499), EntityPlayerMP[‘X_proHard’/5807, l=‘AltisCraft’, x=-8484,32, y=56,36, z=-4137,92](X_proHard at -8484.31553556025,56.358467906713486,-4137.917810700834), EntityPlayerMP[‘Azitox’/5832, l=‘AltisCraft’, x=-4218,42, y=45,00, z=-3292,68](Azitox at -4218.419413711785,45.0,-3292.6807378684744), EntityPlayerMP[‘jamygaming’/6481, l=‘AltisCraft’, x=-8507,03, y=33,00, z=-3773,50](jamygaming at -8507.026943283194,33.0,-3773.503300377579), EntityPlayerMP[‘ArcticLov’/7166, l=‘AltisCraft’, x=-2482,01, y=88,00, z=-7910,59](ArcticLov at -2482.01219088651,88.0,-7910.586337369956), EntityPlayerMP[‘Jean_Cerien’/8343, l=‘AltisCraft’, x=-2487,61, y=89,25, z=-7888,10](Jean_Cerien at -2487.6054390004615,89.24918707874468,-7888.097183586911)]
Is Modded: Definitely; Server brand changed to ‘kcauldron,cauldron,craftbukkit,mcpc,fml,forge’
Type: Dedicated Server (map_server.txt) -
Un truc que je ne comprends pas : si la variable ping représente le temps de latence entre le serveur et le joueur concerné, pourquoi celui-ci n’est-il pas mis à jour toutes les secondes et pourquoi utiliser le ping ?
-
Je ne sais pas c’est le code source de flansmod qui bug

-
Si ce n’est pas ton propre code, je vois pas en quoi on peut t’aider car pour moi le seul moyen c’est de vérifier que le ping n’est pas négatif
-
Je n’ai pas très bien manié les tableaux si s’en est les [] j’ai essayé ce code ? Me le recommande tu ou j’ai écris n’importe quoi ?
if(data.snapshots[0].toString().startsWith(“-”))
data.snapshots[0] = data.snapshots[0]; -
Les tableaux sont juste une liste avec une taille fixée avec plusieurs variables dedans, donc en l’occurrence, vu que je ne sais pas du tout à quoi sert le code, je ne peux pas te dire si ça pourrait marcher
-
Je vois… Pas moyen de résoudre mon problème ?

-
Qu’est-ce que tu essaies de faire concrètement. J’ai beau relire plusieurs fois de suite le poste, je ne comprends pas pourquoi tu te sers du code de Flan’s mod

Si tu veux juste créer une nouvelle EntityBullet, recommence de 0 car là, j’ai l’impression que le code que tu utilises est bcp trop complexe pour toi, tu ne le comprends même pas ^^’
Réexplique moi ce que tu souhaites faire, et je verrai ce qui serait le mieux alors
-
Non juste je prends le code Flan’s Mod pour avoir ce mod mais pour un peu le personnaliser mais il crashait enfin bon c’est réglé j’ai changé d’hébergeur et l’ancien laguait ce qui peut expliquez des pings négatifs et donc le crash mais j’ai un nouveau crash :') voici:
–-- Minecraft Crash Report ----
// I just don’t know what went wrong
Time: 11/29/15 1:13 PM
Description: Exception in server tick loopjava.lang.IllegalArgumentException: Don’t know how to add class com.flansmod.common.driveables.EntityVehicle! Report this error to mod author.
at net.minecraft.entity.EntityTrackerEntry.func_151260_c(EntityTrackerEntry.java:717)
at net.minecraft.entity.EntityTrackerEntry.func_73117_b(EntityTrackerEntry.java:434)
at net.minecraft.entity.EntityTracker.func_72788_a(EntityTracker.java:296)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:978)
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:431)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:809)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:669)
at java.lang.Thread.run(Thread.java:745)A detailed walkthrough of the error, its code path and all known details is as follows:
– System Details –
Details:
Minecraft Version: 1.7.10
KCauldron Version: pw.prok:KCauldron:1.7.10-1492.155
Operating System: Linux (amd64) version 3.14.32-xxxx-grs-ipv6-64
Java Version: 1.7.0_80, Oracle Corporation
Java VM Version: Java HotSpot
64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 1151561816 bytes (1098 MB) / 2377265152 bytes (2267 MB) up to 17126195200 bytes (16332 MB)
JVM Flags: 35 total; -Xincgc -Xmx16384M -Xms1024M -Xmn512M -XX:MaxPermSize=4096M -XX:+OptimizeStringConcat -XX:+UseStringCache -XX:MaxTenuringThreshold=15 -XX:+UseNUMA -XX:+UseBiasedLocking -XX:-UseGCOverheadLimit -XX:+UseAdaptiveGCBoundary -XX:MaxGCPauseMillis=50 -XX:NewRatio=3 -Xrs -XX:+UseThreadPriorities -XX:CMSFullGCsBeforeCompaction=1 -XX:SoftRefLRUPolicyMSPerMB=2048 -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC -XX:+DisableExplicitGC -Xnoclassgc -Xoss4M -Xss4M -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseConcMarkSweepGC -XX:UseSSE=4 -XX:UseSSE=3 -XX:+UseCMSCompactAtFullCollection -XX:ParallelGCThreads=1 -Xcheck:jni -Xverify:all -XX:+AggressiveOpts
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 103
FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1492 12 mods loaded, 12 mods active
States: ‘U’ = Unloaded ‘L’ = Loaded ‘C’ = Constructed ‘H’ = Pre-initialized ‘I’ = Initialized ‘J’ = Post-initialized ‘A’ = Available ‘D’ = Disabled ‘E’ = Errored
UCHIJAAAA mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)
UCHIJAAAA FML{7.10.99.99} [Forge Mod Loader] (OpenMod-Prov2.jar)
UCHIJAAAA Forge{10.13.4.1492} [Minecraft Forge] (OpenMod-Prov2.jar)
UCHIJAAAA kimagine{0.1} [KImagine] (minecraft.jar)
UCHIJAAAA CarpentersBlocks{0.0.1 Beta} [AltisCraft.fr] (AltisCraft.fr.jar)
UCHIJAAAA flansmod{@VERSION@} [Flan’s Mod] (AltisCraft.fr.jar)
UCHIJAAAA thirstmod{1.8.14} [Thirst Mod] (AltisCraft.fr.jar)
UCHIJAAAA t4pro{1.0.1} [Project] (AltisCraft.fr.jar)
UCHIJAAAA altiscraft.MODID{1.0.0} [AltisCraft.fr] (AltisCraft.fr.jar)
UCHIJAAAA Backpack{2.0.1} [Backpack] (backpack-2.0.1-1.7.x.jar)
UCHIJAAAA Dynmap{2.2-143} [Dynmap] (Dynmap-2.2-forge-1.7.10.jar)
UCHIJAAAA gvc{0.6.1} [�aGliby’s�f Voice Chat Mod] (GlibysVC-1.7.10-0.6.1.jar)
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Player Count: 48 / 100; [EntityPlayerMP[‘Benjamin_Loison’/12838, l=‘AltisCraft’, x=-4270.89, y=59.34, z=-3425.18](Benjamin_Loison at -4270.89239069695,59.34474153480463,-3425.1776250263574), EntityPlayerMP[‘Yoan_Verquion’/17877, l=‘AltisCraft’, x=-8549.70, y=22.00, z=-3332.30](Yoan_Verquion at -8549.699999988079,22.0,-3332.2977487215003), EntityPlayerMP[‘misterjules123’/21101, l=‘AltisCraft’, x=-8514.91, y=33.00, z=-3726.96](misterjules123 at -8514.913209562646,33.0,-3726.9571212760666), EntityPlayerMP[‘TheBangz0r’/46443, l=‘AltisCraft’, x=-3802.24, y=61.17, z=-3253.37](TheBangz0r at -3802.242979943406,61.166109260938214,-3253.3675302769334), EntityPlayerMP[‘juango67’/73478, l=‘AltisCraft’, x=-8504.77, y=33.00, z=-3745.99](juango67 at -8504.766319338401,33.0,-3745.9896602286176), EntityPlayerMP[‘XxBildoxX’/89882, l=‘AltisCraft’, x=-8335.70, y=64.00, z=-3980.16](XxBildoxX at -8335.703717703336,64.0,-3980.1624243184697), EntityPlayerMP[‘Snow_ice34’/97367, l=‘AltisCraft’, x=-8503.30, y=33.00, z=-3745.04](Snow_ice34 at -8503.300000011921,33.0,-3745.037937829804), EntityPlayerMP[‘cocox8’/98035, l=‘AltisCraft’, x=-8501.16, y=33.00, z=-3744.58](cocox8 at -8501.159258307687,33.0,-3744.579515442605), EntityPlayerMP[‘Zykwata’/99306, l=‘AltisCraft’, x=-1475.70, y=61.00, z=-8444.70](Zykwata at -1475.699999988079,61.0,-8444.697791160275), EntityPlayerMP[‘dylanadvanger’/102399, l=‘AltisCraft’, x=-3903.17, y=49.00, z=-3256.30](dylanadvanger at -3903.172383940468,49.0,-3256.300000011921), EntityPlayerMP[‘zozo27520’/104863, l=‘AltisCraft’, x=-8635.76, y=25.17, z=-3043.06](zozo27520 at -8635.764410189353,25.171935379505157,-3043.0626853283493), EntityPlayerMP[‘Fratge’/105342, l=‘AltisCraft’, x=-8494.35, y=33.00, z=-3800.22](Fratge at -8494.34860910844,33.0,-3800.2159291417015), EntityPlayerMP[‘Fortrude’/110169, l=‘AltisCraft’, x=-8636.09, y=25.17, z=-3041.99](Fortrude at -8636.092169693671,25.171935379505157,-3041.9864888962356), EntityPlayerMP[‘Stroxz’/111088, l=‘AltisCraft’, x=-8484.02, y=33.00, z=-3831.76](Stroxz at -8484.018734872849,33.0,-3831.759167651616), EntityPlayerMP[‘blackinfinity950’/113527, l=‘AltisCraft’, x=-8512.88, y=34.00, z=-3920.20](blackinfinity950 at -8512.884785573064,34.0,-3920.195865874873), EntityPlayerMP[‘komi43’/117770, l=‘AltisCraft’, x=-3448.44, y=18.00, z=-2813.60](komi43 at -3448.4415051647816,18.0,-2813.5987905177867), EntityPlayerMP[‘EpsilonMattz’/120442, l=‘AltisCraft’, x=-8490.84, y=33.00, z=-3802.66](EpsilonMattz at -8490.843508253834,33.0,-3802.6648119612373), EntityPlayerMP[‘manondu17’/121533, l=‘AltisCraft’, x=-8483.52, y=33.00, z=-3737.25](manondu17 at -8483.521062010408,33.0,-3737.2498160824957), EntityPlayerMP[‘thomasroussel’/121534, l=‘AltisCraft’, x=-8446.17, y=33.31, z=-3939.56](thomasroussel at -8446.16908120066,33.31250001490116,-3939.563665854931), EntityPlayerMP[‘ARC753’/122266, l=‘AltisCraft’, x=-8489.92, y=33.00, z=-3802.30](ARC753 at -8489.924273220742,33.0,-3802.301303829582), EntityPlayerMP[‘Dagmart76’/131637, l=‘AltisCraft’, x=-8494.54, y=33.00, z=-3791.06](Dagmart76 at -8494.542120506041,33.0,-3791.0592018756333), EntityPlayerMP[‘vbdu56’/133733, l=‘AltisCraft’, x=-3895.31, y=49.00, z=-3256.65](vbdu56 at -3895.3064512649294,49.0,-3256.6513210292987), EntityPlayerMP[‘caslol974’/133829, l=‘AltisCraft’, x=-8438.03, y=33.31, z=-3571.88](caslol974 at -8438.0251515803,33.3063932210207,-3571.881564580848), EntityPlayerMP[‘onyxdu68’/134507, l=‘AltisCraft’, x=-8580.68, y=33.00, z=-3612.27](onyxdu68 at -8580.678880856656,33.0,-3612.265722642813), EntityPlayerMP[‘MrNicolas51’/135547, l=‘AltisCraft’, x=-8438.51, y=33.09, z=-3571.94](MrNicolas51 at -8438.511111750926,33.09301359206438,-3571.940455355694), EntityPlayerMP[‘DarkZidix’/137824, l=‘AltisCraft’, x=-2239.02, y=58.91, z=-1958.38](DarkZidix at -2239.0198755528604,58.90570995556482,-1958.379569764249), EntityPlayerMP[‘dare20048’/138471, l=‘AltisCraft’, x=-8445.56, y=33.31, z=-3938.62](dare20048 at -8445.563160304726,33.31250001490116,-3938.615781414509), EntityPlayerMP[‘Wolfy_Girl2700’/139208, l=‘AltisCraft’, x=-8503.30, y=33.00, z=-3746.08](Wolfy_Girl2700 at -8503.300000011921,33.0,-3746.0819560237483), EntityPlayerMP[‘DrtsA’/139859, l=‘AltisCraft’, x=-8385.86, y=36.17, z=-3614.49](DrtsA at -8385.855338157118,36.170787077218804,-3614.48599140678), EntityPlayerMP[‘DEmoNiiAkOO’/139862, l=‘AltisCraft’, x=-8452.58, y=33.00, z=-3938.74](DEmoNiiAkOO at -8452.577151482288,33.0,-3938.7414500352425), EntityPlayerMP[‘TheHardTrox’/139861, l=‘AltisCraft’, x=-8582.27, y=17.00, z=-3082.78](TheHardTrox at -8582.267028030197,17.0,-3082.7777979597186), EntityPlayerMP[‘Arnie4’/141251, l=‘AltisCraft’, x=-8482.10, y=33.00, z=-3963.92](Arnie4 at -8482.09626498275,33.0,-3963.9246873514257), EntityPlayerMP[‘Winox’/141253, l=‘AltisCraft’, x=-8503.30, y=33.00, z=-3742.81](Winox at -8503.300000011921,33.0,-3742.8060482124865), EntityPlayerMP[‘Vallemal’/141254, l=‘AltisCraft’, x=-8422.64, y=33.50, z=-3573.09](Vallemal at -8422.64256023985,33.500047117471695,-3573.0880227984667), EntityPlayerMP[‘cosmos’/141935, l=‘AltisCraft’, x=0.00, y=99.00, z=0.00](cosmos at 0.0,99.0,0.0), EntityPlayerMP[‘AvenParkx’/143441, l=‘AltisCraft’, x=-8541.93, y=34.02, z=-3739.22](AvenParkx at -8541.9320226174,34.015555072702206,-3739.224045246397), EntityPlayerMP[‘Jawad_hebergeur’/143496, l=‘AltisCraft’, x=-8540.80, y=33.00, z=-3719.83](Jawad_hebergeur at -8540.797063482516,33.0,-3719.833523367713), EntityPlayerMP[‘BELZUNCE2004’/144237, l=‘AltisCraft’, x=-8570.26, y=33.00, z=-3781.25](BELZUNCE2004 at -8570.256816865382,33.0,-3781.247510664757), EntityPlayerMP[‘Fluxx_Mister’/144369, l=‘AltisCraft’, x=-8542.79, y=33.00, z=-3718.50](Fluxx_Mister at -8542.785325659328,33.0,-3718.5031837460983), EntityPlayerMP[‘Andrew_Layd’/145283, l=‘AltisCraft’, x=-8446.97, y=33.00, z=-3941.62](Andrew_Layd at -8446.96839099495,33.0,-3941.6151804284023), EntityPlayerMP[‘Theo_Toilette’/145438, l=‘AltisCraft’, x=-7493.25, y=95.46, z=-4786.50](Theo_Toilette at -7493.25289525703,95.46007774368371,-4786.497389556717), EntityPlayerMP[‘HmidouDeLaRue’/146268, l=‘AltisCraft’, x=-4261.19, y=45.00, z=-3251.25](HmidouDeLaRue at -4261.185459360685,45.0,-3251.247178031824), EntityPlayerMP[‘Kiliaoa’/146279, l=‘AltisCraft’, x=-8505.50, y=33.00, z=-3748.29](Kiliaoa at -8505.503989843784,33.0,-3748.293043379558), EntityPlayerMP[‘Mat11145’/121517, l=‘AltisCraft’, x=0.50, y=99.02, z=0.50](Mat11145 at 0.5,99.01999998092649,0.5), EntityPlayerMP[‘corsairg’/147748, l=‘AltisCraft’, x=-4250.76, y=46.25, z=-3145.03](corsairg at -4250.759316079397,46.24918707874468,-3145.0335859875095), EntityPlayerMP[‘John_Escobar’/147755, l=‘AltisCraft’, x=-2661.50, y=51.00, z=-3625.50](John_Escobar at -2661.5,51.0,-3625.5), EntityPlayerMP[‘Plasma22’/148255, l=‘AltisCraft’, x=1.11, y=99.00, z=1.70](Plasma22 at 1.105310547179983,99.0,1.699999988079071), EntityPlayerMP[‘FzF_WoKSiz_’/148991, l=‘AltisCraft’, x=0.00, y=101.00, z=0.00](FzF_WoKSiz_ at 0.0,101.0,0.0)]
Is Modded: Definitely; Server brand changed to ‘kcauldron,cauldron,craftbukkit,mcpc,fml,forge’
Type: Dedicated Server (map_server.txt) -
Tu codes toi même les armes à feu et puis on en parle plus, c’est pas sorcier de créer un item qui lance des entités non ?
-
Une item 3D qui se recharge, se personnalise etc ? Si c’est sorcier…