• Recently Browsing

    No registered users viewing this page.

  • Posts

    • I am trying to register a dimension I created, but it doesn't show up in game when I build my mod (via /forge dimensions). I pieced together my code using several other references from similar threads and it seems like I have done everything correctly, so I am not exactly sure why it's not working.   Here is where I register my dimension in my Main class. @SubscribeEvent public static void registerDimensions(final RegisterDimensionsEvent event) { ModDimensions.registerDimensions(); } @SubscribeEvent public static void registerModDimensions(final RegistryEvent.Register<ModDimension> event) { event.getRegistry().registerAll ( ModDimensions.SUN_REALM_DIMENSION ); LOGGER.info("Mod dimensions registered."); }   Here is where my dimension is initialized. public class ModDimensions { //Mod Dimensions public static final ModDimensionType SUN_REALM_DIMENSION = new ModDimensionType(new ResourceLocation(Main.MOD_ID, "sr_dimension")); //Dimension Types //public static DimensionType SUN_REALM; public static void registerDimensions() { DimensionManager.registerDimension(new ResourceLocation(Main.MOD_ID, "sr_dimension"), SUN_REALM_DIMENSION, null, true); } }   Here is my ModDimension class. public class ModDimensionType extends ModDimension { public ModDimensionType(final ResourceLocation registryName) { this.setRegistryName(registryName); } public static DimensionType getDimensionType() { return DimensionType.byName(new ResourceLocation(Main.MOD_ID, "sr_dimension")); } @Override public BiFunction<World, DimensionType, ? extends Dimension> getFactory() { return SunRealmDimension::new; } }     My Dimension class is basically just scrapped reusing existing biomes and chunk generation: public class SunRealmDimension extends Dimension { public static final BlockPos SPAWN = new BlockPos(100, 50, 0);; public SunRealmDimension(final World worldIn, final DimensionType dimension) { super(worldIn, dimension, 1.0F); } @Override public ChunkGenerator<?> createChunkGenerator() { EndGenerationSettings sunrealmgensettings = (EndGenerationSettings) ChunkGeneratorType.FLOATING_ISLANDS.createSettings(); sunrealmgensettings.setDefaultBlock(Blocks.COBBLESTONE.getDefaultState()); sunrealmgensettings.setDefaultFluid(Blocks.WATER.getDefaultState()); sunrealmgensettings.setSpawnPos(this.getSpawnCoordinate()); return ChunkGeneratorType.FLOATING_ISLANDS.create(this.world, BiomeProviderType.FIXED.create(BiomeProviderType.FIXED.func_226840_a_(this.world.getWorldInfo()).setBiome(Biomes.BADLANDS)), sunrealmgensettings); } @Override public float calculateCelestialAngle(final long p_76563_1_, final float p_76563_3_) { return 0.0f; } @Override @Nullable @OnlyIn(Dist.CLIENT) public float[] calcSunriseSunsetColors(final float p_76560_1_, final float p_76560_2_) { return null; } @Override @OnlyIn(Dist.CLIENT) public Vec3d getFogColor(final float p_76562_1_, final float p_76562_2_) { float f = MathHelper.cos(p_76562_1_ * 6.2831855f) * 2.0f + 0.5f; f = MathHelper.clamp(f, 0.0f, 1.0f); float f2 = 0.7529412f; float f3 = 0.84705883f; float f4 = 1.0f; f2 *= f * 0.94f + 0.06f; f3 *= f * 0.94f + 0.06f; f4 *= f * 0.91f + 0.09f; return new Vec3d((double) f2, (double) f3, (double) f4); } @OnlyIn(Dist.CLIENT) public Vec3d getSkyColor(final BlockPos pos, final float flo) { final float f = this.world.getCelestialAngle(flo); float f2 = MathHelper.cos(f * 6.2831855f) * 2.0f + 0.5f; f2 = MathHelper.clamp(f2, 0.0f, 1.0f); final int i = ForgeHooksClient.getSkyBlendColour(this.world, pos); float f3 = (i >> 16 & 0xFF) / 255.0f; float f4 = (i >> 8 & 0xFF) / 255.0f; float f5 = (i & 0xFF) / 255.0f; f3 *= f2; f4 *= f2; f5 *= f2; return new Vec3d((double) f3, (double) f4, (double) f5); } @Override public boolean hasSkyLight() { return true; } @Override @OnlyIn(Dist.CLIENT) public boolean isSkyColored() { return true; } @Override public boolean canRespawnHere() { return false; } @Override public boolean isSurfaceWorld() { return false; } @Override @OnlyIn(Dist.CLIENT) public float getCloudHeight() { return 8.0f; } @Override @Nullable public BlockPos findSpawn(final ChunkPos p_206920_1_, final boolean p_206920_2_) { final Random random = new Random(this.world.getSeed()); final BlockPos blockpos = new BlockPos(p_206920_1_.getXStart() + random.nextInt(15), 0, p_206920_1_.getZEnd() + random.nextInt(15)); return this.world.getGroundAboveSeaLevel(blockpos).getMaterial().blocksMovement() ? blockpos : null; } @Override public BlockPos getSpawnCoordinate() { return SunRealmDimension.SPAWN; } @Override @Nullable public BlockPos findSpawn(final int p_206921_1_, final int p_206921_2_, final boolean p_206921_3_) { return this.findSpawn(new ChunkPos(p_206921_1_ >> 4, p_206921_2_ >> 4), p_206921_3_); } @Override @OnlyIn(Dist.CLIENT) public boolean doesXZShowFog(final int p_76568_1_, final int p_76568_2_) { return false; } @Override public void onWorldSave() { final CompoundNBT compoundnbt = new CompoundNBT(); this.world.getWorldInfo().setDimensionData(this.world.getDimension().getType(), compoundnbt); } }   Any help would be greatly appreciated.
    • 1.12 is no longer supported on this forum. Please update to a modern version of Minecraft to receive support.
    • Yes, but maybe I miss something... I'm sorry. Thanks for your patience, I will try it myself.
    • when I use optifine in minecraft 1.12.2, minecraft screen stops. but I can move and do anything and hear sounds just gaming screen stops, Other things don't stop. how can I fix it?
    • 1.12 is no longer supported on this forum. Please update to a modern version of Minecraft to receive support.
  • Topics

  • Who's Online (See full list)