[20:14:21] [Server thread/ERROR]: This crash report has been saved to: C:\Users\antho\Desktop\forge2\eclipse.\crash-reports\crash-2016-05-10_20.14.21-server.txt
-> Envoi le rapport complet
Au pire des cas tu fais une dimension et tu fais juste spawn ton biome déja voir si il marche ou un truc flat, normal (j’ai plus le nom) =/
tout ça, juste pour voir s’il spawn ? ça va être long alors ^^
j’ai essayé de faire un truc, mais toujours rien, je poste les nouvelles class :
class GiantBiome :
package fr.craftesys.craftesys.generation; import fr.craftesys.craftesys.common.*; import net.minecraft.block.Block; import java.util.Random; import fr.craftesys.craftesys.blocs.*; import fr.craftesys.craftesys.generation.*; import net.minecraft.entity.monster.EntitySkeleton; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.init.Blocks; import net.minecraft.item.ItemBlock; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.gen.feature.WorldGenTrees; import net.minecraft.world.gen.feature.WorldGenerator; public class GiantBiome extends BiomeGenBase { public GiantBiome(int id) { super(id); this.setBiomeName("giant"); this.topBlock = Blocks.diamond_ore; this.fillerBlock = Blocks.redstone_ore; this.theBiomeDecorator.treesPerChunk = 3; this.theBiomeDecorator.waterlilyPerChunk = 100; this.theBiomeDecorator.bigMushroomsPerChunk = 10; this.spawnableCreatureList.add(new SpawnListEntry(EntitySkeleton.class, 5, 3, 3)); this.spawnableCreatureList.add(new SpawnListEntry(EntityZombie.class, 5, 3, 3)); this.spawnableWaterCreatureList.clear(); this.spawnableMonsterList.clear(); this.addFlower(Blocks.red_flower, 4, 3); this.addFlower(Blocks.red_flower, 5, 3); this.addFlower(Blocks.red_flower, 7, 3); this.addFlower(Blocks.red_flower, 0, 20); this.addFlower(Blocks.yellow_flower, 0, 30); this.setMinMaxHeight(0.2F, 3.9F); this.setTemperatureRainfall(0.8F, 1.4F); } private void setMinMaxHeight(float f, float g) { } public WorldGenerator getRandomWorldGenForTrees(Random par1Random) { return (WorldGenerator)(par1Random.nextInt(5) == 0 ? new WorldGenTrees(false, 4, 2, 2, false) : (par1Random.nextInt(10) == 0 ? this.worldGeneratorBigTree : new WorldGenTrees(false, 4, 0, 0, false))); } }
cass GiantGenLayerBiome :
package fr.craftesys.craftesys.generation; import java.util.ArrayList; import java.util.List; import net.minecraft.util.WeightedRandom; import net.minecraft.world.WorldType; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.gen.layer.GenLayer; import net.minecraft.world.gen.layer.IntCache; import net.minecraftforge.common.BiomeManager; import net.minecraftforge.common.BiomeManager.BiomeEntry; import net.minecraftforge.common.BiomeDictionary; public class GiantGenLayerBiome extends GenLayer { private List<biomeentry>[] biomes = new ArrayList[BiomeManager.BiomeType.values().length]; private static final String __OBFID = "CL_00000555"; public GiantGenLayerBiome(long p_i2122_1_, GenLayer p_i2122_3_, WorldType p_i2122_4_) { super(p_i2122_1_); this.parent = p_i2122_3_; for (BiomeManager.BiomeType type : BiomeManager.BiomeType.values()) { com.google.common.collect.ImmutableList <biomeentry>biomesToAdd = BiomeManager.getBiomes(type); int idx = type.ordinal(); if (biomes[idx] == null) biomes[idx] = new ArrayList<biomeentry>(); if (biomesToAdd != null) biomes[idx].addAll(biomesToAdd); } int desertIdx = BiomeManager.BiomeType.DESERT.ordinal(); if (p_i2122_4_ == WorldType.DEFAULT_1_1) { biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.desert, 10)); biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.forest, 10)); biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.extremeHills, 10)); biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.swampland, 10)); biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.plains, 10)); biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.taiga, 10)); biomes[desertIdx].add(new BiomeEntry(BiomeRegistry.giantbiome, 157)); } else { biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.desert, 30)); biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.savanna, 20)); biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.plains, 10)); biomes[desertIdx].add(new BiomeEntry(BiomeRegistry.giantbiome, 157)); } } /** * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ public int[] getInts(int p_75904_1_, int p_75904_2_, int p_75904_3_, int p_75904_4_) { int[] aint = this.parent.getInts(p_75904_1_, p_75904_2_, p_75904_3_, p_75904_4_); int[] aint1 = IntCache.getIntCache(p_75904_3_ * p_75904_4_); for (int i1 = 0; i1 < p_75904_4_; ++i1) { for (int j1 = 0; j1 < p_75904_3_; ++j1) { this.initChunkSeed((long)(j1 + p_75904_1_), (long)(i1 + p_75904_2_)); int k1 = aint[j1 + i1 * p_75904_3_]; int l1 = (k1 & 3840) >> 8; k1 &= -3841; if (isBiomeOceanic(k1)) { aint1[j1 + i1 * p_75904_3_] = k1; } else if (k1 == BiomeGenBase.mushroomIsland.biomeID) { aint1[j1 + i1 * p_75904_3_] = k1; } else if (k1 == 1) { if (l1 > 0) { if (this.nextInt(3) == 0) { aint1[j1 + i1 * p_75904_3_] = BiomeGenBase.mesaPlateau.biomeID; } else { aint1[j1 + i1 * p_75904_3_] = BiomeGenBase.mesaPlateau_F.biomeID; } } else { aint1[j1 + i1 * p_75904_3_] = getWeightedBiomeEntry(BiomeManager.BiomeType.DESERT).biome.biomeID; } } else if (k1 == 2) { if (l1 > 0) { aint1[j1 + i1 * p_75904_3_] = BiomeGenBase.jungle.biomeID; } else { aint1[j1 + i1 * p_75904_3_] = getWeightedBiomeEntry(BiomeManager.BiomeType.WARM).biome.biomeID; } } else if (k1 == 3) { if (l1 > 0) { aint1[j1 + i1 * p_75904_3_] = BiomeGenBase.megaTaiga.biomeID; } else { aint1[j1 + i1 * p_75904_3_] = getWeightedBiomeEntry(BiomeManager.BiomeType.COOL).biome.biomeID; } } else if (k1 == 4) { aint1[j1 + i1 * p_75904_3_] = getWeightedBiomeEntry(BiomeManager.BiomeType.ICY).biome.biomeID; } else { aint1[j1 + i1 * p_75904_3_] = BiomeGenBase.mushroomIsland.biomeID; } } } return aint1; } protected BiomeEntry getWeightedBiomeEntry(BiomeManager.BiomeType type) { List <biomeentry>biomeList = biomes[type.ordinal()]; int totalWeight = WeightedRandom.getTotalWeight(biomeList); int weight = BiomeManager.isTypeListModded(type)?nextInt(totalWeight):nextInt(totalWeight / 10) * 10; return (BiomeEntry)WeightedRandom.getItem(biomeList, weight); } }
class BiomeRegistry :
package fr.craftesys.craftesys.generation; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.BiomeDictionary.Type; import net.minecraftforge.common.BiomeManager; public class BiomeRegistry { public static void mainRegsitry(){ initializeBiome(); registerBiome(); } public static BiomeGenBase giantbiome; public static void initializeBiome(){ giantbiome = new GiantBiome(157).setBiomeName("test").setTemperatureRainfall(1.2F, 0.9F); } public static void registerBiome(){ BiomeDictionary.registerBiomeType(giantbiome, Type.PLAINS); BiomeManager.addSpawnBiome(giantbiome); } }
class WorldTypeGiant :
package fr.craftesys.craftesys.generation; import net.minecraft.world.WorldType; import net.minecraft.world.gen.layer.GenLayer; import net.minecraft.world.gen.layer.GenLayerBiome; import net.minecraft.world.gen.layer.GenLayerBiomeEdge; import net.minecraft.world.gen.layer.GenLayerZoom; public class WorldTypegiant extends WorldType{ public WorldTypegiant(int id, String name) { super(name); } /** * Creates the GenLayerBiome used for generating the world * * @param worldSeed The world seed * @param parentLayer The parent layer to feed into any layer you return * @return A GenLayer that will return ints representing the Biomes to be generated, see GenLayerBiome */ @Override public GenLayer getBiomeLayer(long worldSeed, GenLayer parentLayer) { GenLayer ret = new GiantGenLayerBiome(200L, parentLayer, this); ret = GenLayerZoom.magnify(1000L, ret, 2); ret = new GenLayerBiomeEdge(1000L, ret); return ret; } }
voila, si quelqu’un à une idée car aucune erreur, mais toujours rien</biomeentry></biomeentry></biomeentry></biomeentry>
j’ai essayé de faire le système de dimension, j’ai l’onglet, je pose l’item et quand il est posé, j’essaye de rentrer dedans et le jeu crash avec cette erreur :
–-- Minecraft Crash Report ---- // Hey, that tickles! Hehehe! Time: 10/05/16 20:14 Description: Colliding entity with block java.lang.NullPointerException: Colliding entity with block at net.minecraft.world.Teleporter.<init>(Teleporter.java:32) at fr.craftesys.craftesys.dimension.TeleporterGiant.<init>(TeleporterGiant.java:27) at fr.craftesys.craftesys.dimension.GiantPortal.onEntityCollidedWithBlock(GiantPortal.java:92) at net.minecraft.entity.Entity.func_145775_I(Entity.java:962) at net.minecraft.entity.Entity.moveEntity(Entity.java:895) at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:367) at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:37) at net.minecraft.network.play.client.C03PacketPlayer$C04PacketPlayerPosition.processPacket(C03PacketPlayer.java:163) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.minecraft.world.Teleporter.<init>(Teleporter.java:32) at fr.craftesys.craftesys.dimension.TeleporterGiant.<init>(TeleporterGiant.java:27) at fr.craftesys.craftesys.dimension.GiantPortal.onEntityCollidedWithBlock(GiantPortal.java:92) -- Block being collided with -- Details: Block type: ID #165 (tile.null // fr.craftesys.craftesys.dimension.GiantPortal) Block data value: 0 / 0x0 / 0b0000 Block location: World: (93,72,246), Chunk: (at 13,4,6 in 5,15; contains blocks 80,0,240 to 95,255,255), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Stacktrace: at net.minecraft.entity.Entity.func_145775_I(Entity.java:962) -- Entity being checked for collision -- Details: Entity Type: null (net.minecraft.entity.player.EntityPlayerMP) Entity ID: 276 Entity Name: Player745 Entity's Exact location: 92,75, 72,00, 246,92 Entity's Block location: World: (92,72,246), Chunk: (at 12,4,6 in 5,15; contains blocks 80,0,240 to 95,255,255), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Entity's Momentum: 0,00, -0,08, 0,00 Stacktrace: at net.minecraft.entity.Entity.moveEntity(Entity.java:895) at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:367) at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:37) at net.minecraft.network.play.client.C03PacketPlayer$C04PacketPlayerPosition.processPacket(C03PacketPlayer.java:163) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) -- Ticking connection -- Details: Connection: net.minecraft.network.NetworkManager@285af420 Stacktrace: at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) -- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 10 (amd64) version 10.0 Java Version: 1.8.0_91, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 697735104 bytes (665 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95 FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1558 4 mods loaded, 4 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] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) UCHIJAAAA Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) UCHIJAAAA craftesys{1.0.0} [craftesys] (bin) GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread. Profiler Position: N/A (disabled) Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used Player Count: 1 / 8; [EntityPlayerMP['Player745'/276, l='New Worldhjgfd', x=92,75, y=72,00, z=246,92]] Type: Integrated Server (map_client.txt) Is Modded: Definitely; Client brand changed to 'fml,forge'
comme il y a beaucoup de class, dites moi celle qui vous serez utiles d’avoir pour comprendre, car, bah je sais pas moi :D.
merci les loulou</init></init></init></init>
[20:14:21] [Server thread/ERROR]: This crash report has been saved to: C:\Users\antho\Desktop\forge2\eclipse.\crash-reports\crash-2016-05-10_20.14.21-server.txt
-> Envoi le rapport complet
je viens d’édit
je comprend le principe de collision mais je vois pas comment le résoudre
Envois la class TeleporterGiant.java et indique nous où se trouve la ligne 27.
ok
package fr.craftesys.craftesys.dimension; import java.util.ArrayList; import java.util.List; import java.util.Random; import net.minecraft.entity.Entity; import net.minecraft.init.Blocks; import net.minecraft.util.Direction; import net.minecraft.util.LongHashMap; import net.minecraft.util.MathHelper; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.Teleporter; import net.minecraft.world.WorldServer; import fr.craftesys.craftesys.common.Mods; public class TeleporterGiant extends Teleporter { private final WorldServer worldServerInstance; private final Random random; private final LongHashMap destinationCoordinateCache = new LongHashMap(); private final List destinationCoordinateKeys = new ArrayList(); public TeleporterGiant(WorldServer worldserver) { super(worldserver); //ligne 27 this.worldServerInstance = worldserver; this.random = new Random(worldserver.getSeed()); } public void placeInPortal(Entity entity, double par2, double par4, double par6, float par8){ if(this.worldServerInstance.provider.dimensionId != 1){ if(!this.placeInExistingPortal(entity, par2, par4, par6, par8)){ this.makePortal(entity); this.placeInExistingPortal(entity, par2, par4, par6, par8); } } else{ int i = MathHelper.floor_double(entity.posX); int j = MathHelper.floor_double(entity.posY) - 1; int k = MathHelper.floor_double(entity.posZ); byte b0 = 1; byte b1 = 0; for(int l = -2; l <= 2; ++l){ for(int i1 = -2; i1 <= 2; ++i1){ for(int j1 = -1; j < 3; ++j1){ int k1 = i + i1 * b0 + l * b1; int l1 = j + j1; int i2 = k + i1 * b1 - l * b0; boolean flag = j1 < 0; this.worldServerInstance.setBlock(k1, l1, i2, flag ? Mods.rubisBloc : Blocks.air); } } } entity.setLocationAndAngles((double)i, (double)j, (double)k, entity.rotationYaw, 0.0F); entity.motionX = entity.motionY = entity.motionZ = 0.0D; } } public boolean placeInExistingPortal(Entity entity, double par2, double par4, double par6, float par8){ short short1 = 128; double d3 = -1.0D; int i = 0; int j = 0; int k = 0; int l = MathHelper.floor_double(entity.posX); int i1 = MathHelper.floor_double(entity.posZ); long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); boolean flag = true; double d7; int l3; if(this.destinationCoordinateCache.containsItem(j1)){ TeleporterGiant.PortalPosition portalposition = (Teleporter.PortalPosition)this.destinationCoordinateCache.getValueByKey(j1); d3 = 0.0D; i = portalposition.posX; j = portalposition.posY; k = portalposition.posZ; portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); flag = false; } else{ for(l3 = l - short1; l3 <= 1 + 128; ++l3){ double d4 = (double)l3 + 0.5D - entity.posX; for(int l1 = i1 - short1; l1 <= i1 + short1; ++l1){ double d5 = (double)l1 + 0.5D - entity.posZ; for(int i2 = this.worldServerInstance.getActualHeight() -1; i2 >=0; –i2){ if(this.worldServerInstance.getBlock(l3, i2, l1) == Mods.GiantPortal){ while (this.worldServerInstance.getBlock(l3, i2 - 1, l1) == Mods.GiantPortal){ --i2; } d7 = (double) i2 + 0.5D - entity.posY; double d8 = d4 * d4 + d7 * d7 + d5 * d5; if (d3 < 0.0D || d8 < d3){ d3 = d8; i = l3; j = i2; k = l1; } } } } } } if (d3 >= 0.0D){ if(flag){ this.destinationCoordinateCache.add(j1, new TeleporterGiant.PortalPosition(i, j, k, this.worldServerInstance.getTotalWorldTime())); this.destinationCoordinateKeys.add(Long.valueOf(j1)); System.out.println("Location " + j1); } double d11 = (double)i + 0.5D; double d6 = (double)j + 0.5D; d7 = (double)k + 0.5D; int i4 = -1; if(this.worldServerInstance.getBlock(i - 1, j, k) == Mods.GiantPortal){ i4 = 2; } if(this.worldServerInstance.getBlock(i + 1, j, k) == Mods.GiantPortal){ i4 = 0; } if(this.worldServerInstance.getBlock(i, j, k - 1) == Mods.GiantPortal){ i4 = 3; } if(this.worldServerInstance.getBlock(i, j, k + 1) == Mods.GiantPortal){ i4 = 1; } int j2 = entity.getTeleportDirection(); if(i4 > -1){ int k2 = Direction.rotateLeft[i4]; int l2 = Direction.offsetX[i4]; int i3 = Direction.offsetZ[i4]; int j3 = Direction.offsetX[k2]; int k3 = Direction.offsetZ[k2]; boolean flag1 = !this.worldServerInstance.isAirBlock(i + l2 + j3, j, k + i3 + k3) || !this.worldServerInstance.isAirBlock(i + l2 + j3, j + 1, k + i3 + k3); boolean flag2 = !this.worldServerInstance.isAirBlock(i + l2 + j3, j, k + i3) || !this.worldServerInstance.isAirBlock(i + l2 + j3, j + 1, k + i3); if(flag1 && flag2){ i4 = Direction.rotateOpposite[i4]; k2 = Direction.rotateOpposite[k2]; l2 = Direction.offsetX[i4]; i3 = Direction.offsetZ[i4]; j3 = Direction.offsetX[k2]; k3 = Direction.offsetZ[k2]; l3 = i - j3; d11 -= (double)j3; int k1 = k - k3; d7 -= (double)k3; flag1 = !this.worldServerInstance.isAirBlock(i + l2 + j3, j, k + i3 + k3) || !this.worldServerInstance.isAirBlock(i + l2 + j3, j + 1, k + i3 + k3); flag2 = !this.worldServerInstance.isAirBlock(i + l2 + j3, j, k + i3) || !this.worldServerInstance.isAirBlock(i + l2 + j3, j + 1, k + i3); } float f1 = 0.5F; float f2 = 0.5F; if(!flag1 && flag2){ f1 = 1.0F; } else if(flag1 && !flag2){ f1 = 0.0F; } else if(flag1 && flag2){ f2 = 0.0F; } d11 += (double)((float)j3 * f1 + f2 * (float)l2); d7 += (double)((float)k3 * f1 + f2 * (float)i3); float f3 = 0.0F; float f4 = 0.0F; float f5 = 0.0F; float f6 = 0.0F; if(i4 == j2){ f3 = 1.0F; f4 = 1.0F; } else if(i4 == Direction.rotateOpposite[j2]){ f3 = -1.0F; f4 = -1.0F; } else if(i4 == Direction.rotateRight[j2]){ f5 = 1.0F; f6 = -1.0F; } else{ f5 = -1.0F; f6 = 1.0F; } double d9 = entity.motionX; double d10 = entity.motionZ; entity.motionX = d9 * (double)f3 + d10 * (double)f6; entity.motionZ = d9 * (double)f5 + d10 * (double)f4; entity.rotationYaw = par8 - (float)(j2 * 90) + (float)(i4 *90); } else{ entity.motionX = entity.motionY = entity.motionZ = 0.0D; } entity.setLocationAndAngles(d11, d6, d7, entity.rotationYaw, entity.rotationPitch); return true; } else{ return false; } } }
WorldServer semble être nul, d’après le crash.
Envois la class GiantPortal.java et indique la ligne 92.
très bien
package fr.craftesys.craftesys.dimension; import java.util.Random; import fr.craftesys.craftesys.dimension.*; import fr.craftesys.craftesys.common.Mods; import net.minecraft.block.Block; import net.minecraft.block.BlockPortal; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; public class GiantPortal extends BlockPortal { public GiantPortal(){ super(); this.setCreativeTab(Mods.giantTab); } /*public void updateTick(World world, int x, int y, int z, Random rand){ }*/ public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z){ return null; } public boolean renderAsNormalBlock(){ return false; } public void onNeighborBlockChange(World world, int x, int y, int z, Block block){ byte b0 = 0; byte b1 = 1; if(world.getBlock(x - 1, y, z) == Mods.invisible || world.getBlock(x + 1, y, z) == Mods.invisible){ b0 = 1; b1 = 0; } int i1; for(i1 = y; world.getBlock(x, i1 - 1, z) == this; –i1){ ; } if(world.getBlock(x, i1 - 1, z) != Mods.invisible){ world.setBlockToAir(x, y, z); }else{ int j1; for(j1 = 1; j1 < 4 && world.getBlock(x, i1 + j1, z) == this; ++j1){ ; } if(j1 == 3 && world.getBlock(x, i1 + j1, z) == Mods.invisible){ boolean flag = world.getBlock(x - 1, y, z) == this || world.getBlock(x + 1, y, z) == this; boolean flag1 = world.getBlock(x, y, z - 1) == this || world.getBlock(x, y, z - 1) == this; if(flag && flag1){ world.setBlockToAir(x, y, z); }else{ if((world.getBlock(x+b0, y, z+b1) != Mods.invisible || world.getBlock(x-b0, y, z-b1) != this) && (world.getBlock(x-b0, y, z-b1) !=Mods.invisible || world.getBlock(x+b0, y, z+b1) != this)){ world.setBlockToAir(x, y, z); } } }else{ world.setBlockToAir(x, y, z); } } } public int quantityDropped(Random rand){ return 0; } public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity){ if(entity.ridingEntity == null && entity.riddenByEntity == null && entity instanceof EntityPlayerMP){ EntityPlayerMP thePlayer = (EntityPlayerMP) entity; MinecraftServer server = MinecraftServer.getServer(); if(entity instanceof EntityPlayerMP){ if(thePlayer.timeUntilPortal > 0){ thePlayer.timeUntilPortal = 10; }else if(thePlayer.dimension != DimensionRegistry.dimensionId){ thePlayer.timeUntilPortal = 10; thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, DimensionRegistry.dimensionId, new TeleporterGiant(server.worldServerForDimension(DimensionRegistry.dimensionId))); // LIGNE 92 }else{ thePlayer.timeUntilPortal = 10; thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, 0, new TeleporterGiant(server.worldServerForDimension(0))); } } } } public boolean tryTroCreatePortal(World world, int x, int y, int z){ byte b0 = 0; byte b1 = 0; if(world.getBlock(x - 1 , y, z) == Mods.invisible || world.getBlock(x + 1, y, z) == Mods.invisible){ b0 = 1; } if (world.getBlock(x, y, z - 1) == Mods.invisible || world.getBlock(x, y, z + 1) == Mods.invisible){ b1 = 1; } if(b0 == b1){ return false; } else{ if(world.getBlock(x - b0, y, z - b1) == Blocks.air){ x -= b0; z -= b1; } int l; int i1; for(l = -1; l <= 2; ++l){ for(i1 = -1; i1 <= 3; ++i1){ boolean flag = l == -1 || l == 2 || i1 == -1 || i1 == 3; if( l != -1 && l != 2 || i1 != -1 && i1 !=3){ Block j1 = world.getBlock(x + b0 * l, y + i1, z + b1 * l); if(flag){ if(j1 != Mods.invisible){ return false; } } else if(j1 != Blocks.air && j1 != Blocks.fire){ return false; } } } } for(l = 0; l < 2; ++l){ for(i1 = 0; i1 < 3; ++i1){ world.setBlock(x + b0 * l, y + i1, z + b1 * l, Mods.invisible, 0, 2); } } return true; } } }
Au lieu de ```java
thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, DimensionRegistry.dimensionId, new TeleporterGiant(server.worldServerForDimension(DimensionRegistry.dimensionId)));
essaye ```java
server.getConfigurationManager().transferPlayerToDimension(thePlayer, DimensionRegistry.dimensionId, new TeleporterGiant(server.worldServerForDimension(DimensionRegistry.dimensionId)));
toujours un crash, je te passe le rapport de crash au cas ou :
–-- Minecraft Crash Report ---- // This is a token for 1 free hug. Redeem at your nearest Mojangsta: [~~HUG~~] Time: 10/05/16 21:21 Description: Colliding entity with block java.lang.NullPointerException: Colliding entity with block at net.minecraft.world.Teleporter.<init>(Teleporter.java:32) at fr.craftesys.craftesys.dimension.TeleporterGiant.<init>(TeleporterGiant.java:27) at fr.craftesys.craftesys.dimension.GiantPortal.onEntityCollidedWithBlock(GiantPortal.java:92) at net.minecraft.entity.Entity.func_145775_I(Entity.java:962) at net.minecraft.entity.Entity.moveEntity(Entity.java:895) at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:367) at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:37) at net.minecraft.network.play.client.C03PacketPlayer$C04PacketPlayerPosition.processPacket(C03PacketPlayer.java:163) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) A detailed walkthrough of the error, its code path and all known details is as follows: –------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.minecraft.world.Teleporter.<init>(Teleporter.java:32) at fr.craftesys.craftesys.dimension.TeleporterGiant.<init>(TeleporterGiant.java:27) at fr.craftesys.craftesys.dimension.GiantPortal.onEntityCollidedWithBlock(GiantPortal.java:92) -- Block being collided with -- Details: Block type: ID #165 (tile.null // fr.craftesys.craftesys.dimension.GiantPortal) Block data value: 0 / 0x0 / 0b0000 Block location: World: (61,80,228), Chunk: (at 13,5,4 in 3,14; contains blocks 48,0,224 to 63,255,239), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Stacktrace: at net.minecraft.entity.Entity.func_145775_I(Entity.java:962) -- Entity being checked for collision -- Details: Entity Type: null (net.minecraft.entity.player.EntityPlayerMP) Entity ID: 297 Entity Name: Player3 Entity's Exact location: 62,11, 80,00, 228,82 Entity's Block location: World: (62,80,228), Chunk: (at 14,5,4 in 3,14; contains blocks 48,0,224 to 63,255,239), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Entity's Momentum: 0,00, -0,08, 0,00 Stacktrace: at net.minecraft.entity.Entity.moveEntity(Entity.java:895) at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:367) at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:37) at net.minecraft.network.play.client.C03PacketPlayer$C04PacketPlayerPosition.processPacket(C03PacketPlayer.java:163) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) -- Ticking connection -- Details: Connection: net.minecraft.network.NetworkManager@23abc7f Stacktrace: at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) -- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 10 (amd64) version 10.0 Java Version: 1.8.0_91, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 714684840 bytes (681 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95 FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1558 4 mods loaded, 4 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] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) UCHIJAAAA Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) UCHIJAAAA craftesys{1.0.0} [craftesys] (bin) GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread. Profiler Position: N/A (disabled) Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used Player Count: 1 / 8; [EntityPlayerMP['Player3'/297, l='New Worldkljhgfd', x=62,11, y=80,00, z=228,82]] Type: Integrated Server (map_client.txt) Is Modded: Definitely; Client brand changed to 'fml,forge' ```</init></init></init></init>
Print server.worldServerForDimension(…), apparemment il ne trouve le world server.
Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk
je lance le jeu directement depuis eclipse, si ça peut aider
Tu as bien regarder l’entièreté de ce tutoriel ?
Il semble que tu n’es pas défini d’id pour ta dimension.
oui j’ai suivi ce tuto mais il est long, j’ai peut-être loupé une partie, je me focalise sur quel class du coup ?
Appartement il faut un world type custom pour ajouter des biomes : http://www.minecraftforge.net/forum/index.php/topic,17885.msg90964.html#msg90964
j’avais le worldtype mais merci, j’avais pas mit : WorldType CUSTOM = new WorldTypeCustom(3, “custom”); dans la classe principale, je vais voir et je viens vous dire
toujours crash et ne spawn pas de façon naturelle
Tu as bien sélectionné une génération custom (là ou tu peux mettre monde plat).
Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk
je comprend pas ce que tu dis, si je creer bien un nouveau monde plat ? c’est ça ?
Non, si tu créées un WolrdType, tu pourras le sélectionner avec le bouton ou tu peux switch normal plat amplifié (comme Biome o’plenty)
Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk