首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的维数调制破碎机

我的维数调制破碎机
EN

Stack Overflow用户
提问于 2018-06-10 17:01:57
回答 1查看 1.1K关注 0票数 0

我已经在我的模块中创建了一个维度,当右键单击该项时,应该将您传送到所述维度,但当我右键单击该项时,我会崩溃。代码中没有错误,我也不知道是什么造成了日志中的问题。我使用内置的平面块提供程序生成维度。任何你需要的文件我都能提供。很抱歉有什么奇怪的格式,我不太习惯。

日志:

代码语言:javascript
复制
---- Minecraft Crash Report ----
// This doesn't make any sense!

Time: 6/10/18 11:26 AM
Description: Unexpected error

java.lang.ClassCastException: net.minecraft.client.multiplayer.WorldClient cannot be cast to net.minecraft.world.WorldServer
at com.killer.sheerpig.ItemSheerTP.onItemRightClick(ItemSheerTP.java:42)
at net.minecraft.item.ItemStack.useItemRightClick(ItemStack.java:164)
at net.minecraft.client.multiplayer.PlayerControllerMP.sendUseItem(PlayerControllerMP.java:430)
at net.minecraft.client.Minecraft.func_147121_ag(Minecraft.java:1558)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:2045)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1040)
at net.minecraft.client.Minecraft.run(Minecraft.java:962)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)

A detailed walkthrough of the error, its code path and all known details is as follows:

-- Head --
Stacktrace:
at com.killer.sheerpig.ItemSheerTP.onItemRightClick(ItemSheerTP.java:42)
at net.minecraft.item.ItemStack.useItemRightClick(ItemStack.java:164)
at net.minecraft.client.multiplayer.PlayerControllerMP.sendUseItem(PlayerControllerMP.java:430)
at net.minecraft.client.Minecraft.func_147121_ag(Minecraft.java:1558)

-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityClientPlayerMP['Player629'/142, l='MpServer', x=-210.65, y=73.62, z=-229.70]]
Chunk stats: MultiplayerChunkCache: 289, 289
Level seed: 0
Level generator: ID 00 - default, ver 1. Features enabled: false
Level generator options: 
Level spawn location: World: (-207,64,-241), Chunk: (at 1,4,15 in -13,-16; contains blocks -208,0,-256 to -193,255,-241), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
Level time: 6986 game time, 6986 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
/*
* 提示:该行代码过长,系统自动注释不进行高亮。一键复制会移除系统注释 
* Forced entities: 97 total; [EntityBat['Bat'/522, l='MpServer', x=-277.94, y=17.33, z=-158.72], EntityZombie['Zombie'/11, l='MpServer', x=-284.91, y=21.00, z=-257.53], EntityZombie['Zombie'/12, l='MpServer', x=-288.50, y=20.00, z=-260.50], EntitySkeleton['Skeleton'/13, l='MpServer', x=-287.63, y=20.00, z=-259.69], EntityZombie['Zombie'/15, l='MpServer', x=-274.00, y=11.00, z=-288.44], EntitySkeleton['Skeleton'/16, l='MpServer', x=-283.88, y=19.00, z=-277.50], EntityZombie['Zombie'/17, l='MpServer', x=-278.03, y=21.00, z=-268.31], EntityBat['Bat'/18, l='MpServer', x=-273.16, y=50.17, z=-234.47], EntityZombie['Zombie'/19, l='MpServer', x=-278.06, y=19.00, z=-155.63], EntityBat['Bat'/278, l='MpServer', x=-284.24, y=21.07, z=-259.23], EntityZombie['Zombie'/24, l='MpServer', x=-271.31, y=49.00, z=-308.59], EntityCreeper['Creeper'/25, l='MpServer', x=-272.00, y=50.00, z=-309.47], EntityHorse['Donkey'/26, l='MpServer', x=-267.88, y=67.00, z=-306.97], EntityPig['Pig'/28, l='MpServer', x=-257.88, y=67.00, z=-290.09], EntityPig['Pig'/29, l='MpServer', x=-265.47, y=67.00, z=-290.31], EntityPig['Pig'/30, l='MpServer', x=-257.81, y=67.00, z=-294.78], EntitySkeleton['Skeleton'/31, l='MpServer', x=-266.13, y=25.00, z=-280.56], EntitySkeleton['Skeleton'/32, l='MpServer', x=-261.50, y=26.00, z=-277.50], EntityCreeper['Creeper'/33, l='MpServer', x=-256.03, y=21.00, z=-286.34], EntityEnderman['Enderman'/34, l='MpServer', x=-257.88, y=22.00, z=-246.50], EntityChicken['Chicken'/35, l='MpServer', x=-260.44, y=81.00, z=-253.53], EntityEnderman['Enderman'/36, l='MpServer', x=-262.69, y=13.00, z=-210.25], EntityCreeper['Creeper'/37, l='MpServer', x=-253.19, y=17.69, z=-210.63], EntitySkeleton['Skeleton'/38, l='MpServer', x=-264.13, y=40.00, z=-222.41], EntitySkeleton['Skeleton'/39, l='MpServer', x=-268.69, y=14.00, z=-196.78], EntitySkeleton['Skeleton'/40, l='MpServer', x=-267.34, y=18.00, z=-205.03], EntitySkeleton['Skeleton'/41, l='MpServer', x=-268.38, y=17.00, z=-204.22], EntityWitch['Witch'/42, l='MpServer', x=-270.84, y=17.00, z=-169.50], EntitySkeleton['Skeleton'/43, l='MpServer', x=-261.94, y=18.00, z=-171.50], EntitySkeleton['Skeleton'/44, l='MpServer', x=-257.50, y=18.00, z=-165.50], EntityZombie['Zombie'/45, l='MpServer', x=-260.50, y=17.00, z=-167.50], EntityPig['Pig'/49, l='MpServer', x=-246.19, y=67.00, z=-289.78], EntityHorse['Donkey'/50, l='MpServer', x=-255.88, y=67.00, z=-289.97], EntityCreeper['Creeper'/51, l='MpServer', x=-255.63, y=21.00, z=-287.22], EntityCreeper['Creeper'/52, l='MpServer', x=-255.69, y=21.00, z=-284.41], EntityWolf['Wolf'/53, l='MpServer', x=-254.84, y=67.00, z=-287.56], EntityBat['Bat'/54, l='MpServer', x=-247.66, y=22.70, z=-262.75], EntityBat['Bat'/55, l='MpServer', x=-248.41, y=24.00, z=-268.13], EntityBat['Bat'/56, l='MpServer', x=-246.72, y=22.95, z=-259.47], EntityWolf['Wolf'/57, l='MpServer', x=-255.47, y=67.00, z=-274.22], EntitySheep['Sheep'/58, l='MpServer', x=-252.16, y=78.00, z=-248.78], EntityChicken['Chicken'/59, l='MpServer', x=-255.44, y=78.00, z=-250.44], EntityChicken['Chicken'/60, l='MpServer', x=-248.16, y=78.00, z=-243.66], EntitySpider['Spider'/61, l='MpServer', x=-244.47, y=16.00, z=-235.72], EntityCreeper['Creeper'/62, l='MpServer', x=-254.47, y=17.00, z=-207.97], EntityCreeper['Creeper'/63, l='MpServer', x=-255.72, y=18.00, z=-208.44], EntitySkeleton['Skeleton'/64, l='MpServer', x=-253.53, y=16.00, z=-207.72], EntityBat['Bat'/65, l='MpServer', x=-253.94, y=14.00, z=-206.63], EntitySkeleton['Skeleton'/74, l='MpServer', x=-222.50, y=27.00, z=-273.50], EntityBat['Bat'/75, l='MpServer', x=-212.25, y=14.10, z=-260.50], EntitySkeleton['Skeleton'/76, l='MpServer', x=-214.09, y=25.00, z=-266.66], EntitySkeleton['Skeleton'/78, l='MpServer', x=-211.54, y=26.02, z=-222.71], EntitySheep['Sheep'/79, l='MpServer', x=-212.19, y=62.09, z=-224.53], EntitySquid['Squid'/80, l='MpServer', x=-224.84, y=38.34, z=-198.50], EntityChicken['Chicken'/81, l='MpServer', x=-195.56, y=61.90, z=-303.44], EntityBat['Bat'/82, l='MpServer', x=-199.56, y=41.23, z=-274.25], EntityZombie['Zombie'/83, l='MpServer', x=-208.47, y=18.06, z=-267.16], EntitySpider['Spider'/84, l='MpServer', x=-200.72, y=16.00, z=-269.28], EntitySkeleton['Skeleton'/85, l='MpServer', x=-206.50, y=22.00, z=-273.09], EntityZombie['Zombie'/86, l='MpServer', x=-194.47, y=18.00, z=-268.97], EntityBat['Bat'/87, l='MpServer', x=-202.41, y=15.10, z=-255.78], EntityCreeper['Creeper'/88, l='MpServer', x=-203.50, y=16.00, z=-244.69], EntityCreeper['Creeper'/89, l='MpServer', x=-206.34, y=21.00, z=-229.00], EntityZombie['Zombie'/90, l='MpServer', x=-204.50, y=25.00, z=-211.06], EntityBat['Bat'/91, l='MpServer', x=-202.69, y=23.10, z=-221.31], EntityCreeper['Creeper'/92, l='MpServer', x=-191.88, y=20.00, z=-217.75], EntityBat['Bat'/96, l='MpServer', x=-186.44, y=17.10, z=-274.25], EntityZombie['Zombie'/97, l='MpServer', x=-187.88, y=17.00, z=-270.38], EntityCreeper['Creeper'/98, l='MpServer', x=-181.03, y=13.00, z=-225.53], EntitySkeleton['Skeleton'/99, l='MpServer', x=-189.50, y=33.00, z=-239.50], EntitySkeleton['Skeleton'/100, l='MpServer', x=-186.03, y=22.00, z=-216.56], EntityBat['Bat'/106, l='MpServer', x=-162.59, y=19.10, z=-264.75], EntityBat['Bat'/107, l='MpServer', x=-165.75, y=20.23, z=-261.47], EntitySquid['Squid'/108, l='MpServer', x=-166.19, y=50.81, z=-245.97], EntitySkeleton['Skeleton'/109, l='MpServer', x=-167.09, y=13.00, z=-235.63], EntitySquid['Squid'/112, l='MpServer', x=-156.94, y=49.34, z=-277.22], EntityEnderman['Enderman'/113, l='MpServer', x=-156.69, y=16.00, z=-249.25], EntityZombie['Zombie'/114, l='MpServer', x=-147.56, y=32.00, z=-254.75], EntityCreeper['Creeper'/115, l='MpServer', x=-154.50, y=34.00, z=-255.50], EntityCreeper['Creeper'/116, l='MpServer', x=-159.50, y=14.00, z=-219.50], EntitySkeleton['Skeleton'/117, l='MpServer', x=-146.50, y=12.00, z=-204.94], EntityZombie['Zombie'/118, l='MpServer', x=-146.31, y=14.00, z=-187.06], EntityZombie['Zombie'/119, l='MpServer', x=-144.44, y=17.00, z=-171.56], EntityZombie['Zombie'/120, l='MpServer', x=-144.50, y=17.00, z=-172.50], EntityCreeper['Creeper'/121, l='MpServer', x=-144.53, y=19.00, z=-167.97], EntitySkeleton['Skeleton'/122, l='MpServer', x=-147.06, y=22.00, z=-150.53], EntityZombie['Zombie'/123, l='MpServer', x=-144.50, y=21.00, z=-159.50], EntityBat['Bat'/125, l='MpServer', x=-138.56, y=31.10, z=-251.72], EntityZombie['Zombie'/126, l='MpServer', x=-137.27, y=26.00, z=-246.47], EntityCreeper['Creeper'/127, l='MpServer', x=-142.50, y=28.00, z=-243.50], EntityCreeper['Creeper'/128, l='MpServer', x=-141.50, y=31.00, z=-254.50], EntitySkeleton['Skeleton'/129, l='MpServer', x=-132.84, y=24.00, z=-247.78], EntityBat['Bat'/130, l='MpServer', x=-141.22, y=26.45, z=-257.66], EntityZombie['Zombie'/134, l='MpServer', x=-143.50, y=17.00, z=-172.50], EntityBat['Bat'/135, l='MpServer', x=-145.88, y=22.73, z=-149.25], EntityZombie['Zombie'/136, l='MpServer', x=-142.53, y=22.00, z=-153.94], EntityClientPlayerMP['Player629'/142, l='MpServer', x=-210.65, y=73.62, z=-229.70]]
*/
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:415)
at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2567)
at net.minecraft.client.Minecraft.run(Minecraft.java:991)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)

-- System Details --
Details:
Minecraft Version: 1.7.10
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_161, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 864018640 bytes (823 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 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 6 mods loaded, 6 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   examplemod{1.0} [Example Mod] (bin) 
UCHIJAAAA   killer_galacticmod{1.0} [killer_galacticmod] (bin) 
UCHIJAAAA   sheerpig{1.0} [sheerpig] (bin) 
GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 397.64' Renderer: 'GeForce GTX 1080/PCIe/SSE2'
Launched Version: 1.7.10
LWJGL: 2.9.1
OpenGL: GeForce GTX 1080/PCIe/SSE2 GL version 4.6.0 NVIDIA 397.64, NVIDIA Corporation
GL Caps: Using GL 1.3 multitexturing.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Anisotropic filtering is supported and maximum anisotropy is 16.
Shaders are available because OpenGL 2.1 is supported.

Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs: []
Current Language: English (US)
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Anisotropic Filtering: Off (1)

世界提供者:

代码语言:javascript
复制
package com.killer.sheerpig;

import net.minecraft.util.ChunkCoordinates;
import net.minecraft.world.WorldProvider;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.biome.WorldChunkManagerHell;
import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.chunk.IChunkProvider;

public class WorldProviderSheer extends WorldProvider
{
public void registerWorldChunkManager()
{
    this.worldChunkMgr = new WorldChunkManagerHell(BiomeGenBase.desert/*change*/, 0.1F);
    this.dimensionId = SheerPig.sheerdimension;
}

@Override
public String getSaveFolder()
{
    return "DIM-Sheer";
}

@Override
public String getWelcomeMessage()
{
    return "Entering Pig Land";
}

@Override
public String getDepartMessage()
{
    return "Leaving Pig Land";
}

@Override
public boolean canRespawnHere()
{
    return true;
}

@Override
public IChunkProvider createChunkGenerator()
{
    return new ChunkProviderSheer(worldObj, worldObj.getSeed(), true, field_82913_c);
}

@Override
public String getDimensionName()
{
    return "Sheer";
}

//@Override
public ChunkCoordinates getEnterancePortalLocation()
{
    return null;
}

@Override
public boolean canDoLightning(Chunk chunk)
{
    return true;
}

@Override
public boolean canDoRainSnowIce(Chunk chunk)
{
    return false;
}
}

块提供者:

代码语言:javascript
复制
package com.killer.sheerpig;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Random;

import net.minecraft.block.Block;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.init.Blocks;
import net.minecraft.util.IProgressUpdate;
import net.minecraft.world.ChunkPosition;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.chunk.storage.ExtendedBlockStorage;
import net.minecraft.world.gen.FlatGeneratorInfo;
import net.minecraft.world.gen.FlatLayerInfo;
import net.minecraft.world.gen.MapGenBase;
import net.minecraft.world.gen.feature.WorldGenDungeons;
import net.minecraft.world.gen.feature.WorldGenLakes;
import net.minecraft.world.gen.structure.MapGenMineshaft;
import net.minecraft.world.gen.structure.MapGenScatteredFeature;
import net.minecraft.world.gen.structure.MapGenStronghold;
import net.minecraft.world.gen.structure.MapGenStructure;
import net.minecraft.world.gen.structure.MapGenVillage;

public class ChunkProviderSheer implements IChunkProvider
{
private World worldObj;
private Random random;
private final Block[] cachedBlockIDs = new Block[256];
private final byte[] cachedBlockMetadata = new byte[256];
private final FlatGeneratorInfo flatWorldGenInfo;
private final List structureGenerators = new ArrayList();
private final boolean hasDecoration;
private final boolean hasDungeons;
private WorldGenLakes waterLakeGenerator;
private WorldGenLakes lavaLakeGenerator;
private static final String __OBFID = "CL_00000391";

public ChunkProviderSheer(World p_i2004_1_, long p_i2004_2_, boolean p_i2004_4_, String p_i2004_5_)
{
    this.worldObj = p_i2004_1_;
    this.random = new Random(p_i2004_2_);
    this.flatWorldGenInfo = FlatGeneratorInfo.createFlatGeneratorFromString(p_i2004_5_);

    if (p_i2004_4_)
    {
        Map map = this.flatWorldGenInfo.getWorldFeatures();

        if (map.containsKey("village"))
        {
            Map map1 = (Map)map.get("village");

            if (!map1.containsKey("size"))
            {
                map1.put("size", "1");
            }

            this.structureGenerators.add(new MapGenVillage(map1));
        }

        if (map.containsKey("biome_1"))
        {
            this.structureGenerators.add(new MapGenScatteredFeature((Map)map.get("biome_1")));
        }

        if (map.containsKey("mineshaft"))
        {
            this.structureGenerators.add(new MapGenMineshaft((Map)map.get("mineshaft")));
        }

        if (map.containsKey("stronghold"))
        {
            this.structureGenerators.add(new MapGenStronghold((Map)map.get("stronghold")));
        }
    }

    this.hasDecoration = this.flatWorldGenInfo.getWorldFeatures().containsKey("decoration");

    if (this.flatWorldGenInfo.getWorldFeatures().containsKey("lake"))
    {
        this.waterLakeGenerator = new WorldGenLakes(Blocks.water);
    }

    if (this.flatWorldGenInfo.getWorldFeatures().containsKey("lava_lake"))
    {
        this.lavaLakeGenerator = new WorldGenLakes(Blocks.lava);
    }

    this.hasDungeons = this.flatWorldGenInfo.getWorldFeatures().containsKey("dungeon");
    Iterator iterator = this.flatWorldGenInfo.getFlatLayers().iterator();

    while (iterator.hasNext())
    {
        FlatLayerInfo flatlayerinfo = (FlatLayerInfo)iterator.next();

        for (int j = flatlayerinfo.getMinY(); j < flatlayerinfo.getMinY() + flatlayerinfo.getLayerCount(); ++j)
        {
            this.cachedBlockIDs[j] = flatlayerinfo.func_151536_b();
            this.cachedBlockMetadata[j] = (byte)flatlayerinfo.getFillBlockMeta();
        }
    }
}

/**
 * loads or generates the chunk at the chunk location specified
 */
public Chunk loadChunk(int p_73158_1_, int p_73158_2_)
{
    return this.provideChunk(p_73158_1_, p_73158_2_);
}

/**
 * Will return back a chunk, if it doesn't exist and its not a MP client it will generates all the blocks for the
 * specified chunk from the map seed and chunk seed
 */
public Chunk provideChunk(int p_73154_1_, int p_73154_2_)
{
    Chunk chunk = new Chunk(this.worldObj, p_73154_1_, p_73154_2_);
    int l;

    for (int k = 0; k < this.cachedBlockIDs.length; ++k)
    {
        Block block = this.cachedBlockIDs[k];

        if (block != null)
        {
            l = k >> 4;
            ExtendedBlockStorage extendedblockstorage = chunk.getBlockStorageArray()[l];

            if (extendedblockstorage == null)
            {
                extendedblockstorage = new ExtendedBlockStorage(k, !this.worldObj.provider.hasNoSky);
                chunk.getBlockStorageArray()[l] = extendedblockstorage;
            }

            for (int i1 = 0; i1 < 16; ++i1)
            {
                for (int j1 = 0; j1 < 16; ++j1)
                {
                    extendedblockstorage.func_150818_a(i1, k & 15, j1, block);
                    extendedblockstorage.setExtBlockMetadata(i1, k & 15, j1, this.cachedBlockMetadata[k]);
                }
            }
        }
    }

    chunk.generateSkylightMap();
    BiomeGenBase[] abiomegenbase = this.worldObj.getWorldChunkManager().loadBlockGeneratorData((BiomeGenBase[])null, p_73154_1_ * 16, p_73154_2_ * 16, 16, 16);
    byte[] abyte = chunk.getBiomeArray();

    for (l = 0; l < abyte.length; ++l)
    {
        abyte[l] = (byte)abiomegenbase[l].biomeID;
    }

    Iterator iterator = this.structureGenerators.iterator();

    while (iterator.hasNext())
    {
        MapGenBase mapgenbase = (MapGenBase)iterator.next();
        mapgenbase.func_151539_a(this, this.worldObj, p_73154_1_, p_73154_2_, (Block[])null);
    }

    chunk.generateSkylightMap();
    return chunk;
}

/**
 * Checks to see if a chunk exists at x, y
 */
public boolean chunkExists(int p_73149_1_, int p_73149_2_)
{
    return true;
}

/**
 * Populates chunk with ores etc etc
 */
public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_)
{
    int k = p_73153_2_ * 16;
    int l = p_73153_3_ * 16;
    BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16);
    boolean flag = false;
    this.random.setSeed(this.worldObj.getSeed());
    long i1 = this.random.nextLong() / 2L * 2L + 1L;
    long j1 = this.random.nextLong() / 2L * 2L + 1L;
    this.random.setSeed((long)p_73153_2_ * i1 + (long)p_73153_3_ * j1 ^ this.worldObj.getSeed());
    Iterator iterator = this.structureGenerators.iterator();

    while (iterator.hasNext())
    {
        MapGenStructure mapgenstructure = (MapGenStructure)iterator.next();
        boolean flag1 = mapgenstructure.generateStructuresInChunk(this.worldObj, this.random, p_73153_2_, p_73153_3_);

        if (mapgenstructure instanceof MapGenVillage)
        {
            flag |= flag1;
        }
    }

    int l1;
    int i2;
    int j2;

    if (this.waterLakeGenerator != null && !flag && this.random.nextInt(4) == 0)
    {
        l1 = k + this.random.nextInt(16) + 8;
        i2 = this.random.nextInt(256);
        j2 = l + this.random.nextInt(16) + 8;
        this.waterLakeGenerator.generate(this.worldObj, this.random, l1, i2, j2);
    }

    if (this.lavaLakeGenerator != null && !flag && this.random.nextInt(8) == 0)
    {
        l1 = k + this.random.nextInt(16) + 8;
        i2 = this.random.nextInt(this.random.nextInt(248) + 8);
        j2 = l + this.random.nextInt(16) + 8;

        if (i2 < 63 || this.random.nextInt(10) == 0)
        {
            this.lavaLakeGenerator.generate(this.worldObj, this.random, l1, i2, j2);
        }
    }

    if (this.hasDungeons)
    {
        for (l1 = 0; l1 < 8; ++l1)
        {
            i2 = k + this.random.nextInt(16) + 8;
            j2 = this.random.nextInt(256);
            int k1 = l + this.random.nextInt(16) + 8;
            (new WorldGenDungeons()).generate(this.worldObj, this.random, i2, j2, k1);
        }
    }

    if (this.hasDecoration)
    {
        biomegenbase.decorate(this.worldObj, this.random, k, l);
    }
}

/**
 * Two modes of operation: if passed true, save all Chunks in one go.  If passed false, save up to two chunks.
 * Return true if all chunks have been saved.
 */
public boolean saveChunks(boolean p_73151_1_, IProgressUpdate p_73151_2_)
{
    return true;
}

/**
 * Save extra data not associated with any Chunk.  Not saved during autosave, only during world unload.  Currently
 * unimplemented.
 */
public void saveExtraData() {}

/**
 * Unloads chunks that are marked to be unloaded. This is not guaranteed to unload every such chunk.
 */
public boolean unloadQueuedChunks()
{
    return false;
}

/**
 * Returns if the IChunkProvider supports saving.
 */
public boolean canSave()
{
    return true;
}

/**
 * Converts the instance data to a readable string.
 */
public String makeString()
{
    return "FlatLevelSource";
}

/**
 * Returns a list of creatures of the specified type that can spawn at the given location.
 */
public List getPossibleCreatures(EnumCreatureType p_73155_1_, int p_73155_2_, int p_73155_3_, int p_73155_4_)
{
    BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(p_73155_2_, p_73155_4_);
    return biomegenbase.getSpawnableList(p_73155_1_);
}

public ChunkPosition func_147416_a(World p_147416_1_, String p_147416_2_, int p_147416_3_, int p_147416_4_, int p_147416_5_)
{
    if ("Stronghold".equals(p_147416_2_))
    {
        Iterator iterator = this.structureGenerators.iterator();

        while (iterator.hasNext())
        {
            MapGenStructure mapgenstructure = (MapGenStructure)iterator.next();

            if (mapgenstructure instanceof MapGenStronghold)
            {
                return mapgenstructure.func_151545_a(p_147416_1_, p_147416_3_, p_147416_4_, p_147416_5_);
            }
        }
    }

    return null;
}

public int getLoadedChunkCount()
{
    return 0;
}

public void recreateStructures(int p_82695_1_, int p_82695_2_)
{
    Iterator iterator = this.structureGenerators.iterator();

    while (iterator.hasNext())
    {
        MapGenStructure mapgenstructure = (MapGenStructure)iterator.next();
        mapgenstructure.func_151539_a(this, this.worldObj, p_82695_1_, p_82695_2_, (Block[])null);
    }
}
}

传送器项目:

代码语言:javascript
复制
package com.killer.sheerpig;

import net.minecraft.item.Item;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import net.minecraftforge.common.DimensionManager;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;

import com.killer.sheerpig.WorldProviderSheer;

public class ItemSheerTP extends Item
{
public static int SheerDimensionId = DimensionManager.getNextFreeDimId();
public String name = "SheerTP";

public ItemSheerTP()
{
    setUnlocalizedName(SheerPig.MODID + "_" + name);
    setCreativeTab(SheerPig.sheerTab);
    setTextureName(SheerPig.MODID + ":" + name);
    maxStackSize = 1;
}

@Override
public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player)
{
    if (player.dimension == SheerDimensionId)
    {

    }
    else
    {
        WorldServer worldserver = (WorldServer) world;
        EntityPlayerMP playerMP = (EntityPlayerMP) player;
        playerMP.mcServer.getConfigurationManager().transferPlayerToDimension(playerMP, 229, new SheerTeleporter(worldserver));
    }
return item;
}
}
EN

回答 1

Stack Overflow用户

发布于 2018-06-10 17:13:44

com.killer.sheerpig.ItemSheerTP.onItemRightClick(ItemSheerTP.java:42) java.lang.ClassCastException:不能将net.minecraft.client.multiplayer.WorldClient转换为net.minecraft.world.WorldServer

再次阅读错误消息,您将看到问题在于您的最后一个代码片段,即在onItemRightClick的else块中的第一个命令。

问题是,通过对其进行转换,您可以在该行中解释"worldWorldServer类型“。但它显然不是--而是WorldClient型的。

您可能更喜欢类似于的内容,特别是这个片段:

代码语言:javascript
复制
Minecraft mc = Minecraft.getMinecraft();
if (mc.getIntegratedServer())
{
    worldServer = mc.getIntegratedServer().worldServerForDimension(mc.thePlayer.dimension);
}
else if (MinecraftServer.getServer())
{
    worldServer = MinecraftServer.getServer().worldServerForDimension(mc.thePlayer.dimension);
}

也许这有帮助,也许没有帮助,但关键是你的world并不是在所有情况下都是WorldServer

造成这种情况的原因可能是您混淆了服务器端和客户端。如本论坛所述似乎Entity.worldobj是服务器端的WorldServer

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50786061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档