• Recently Browsing

    No registered users viewing this page.

  • Posts

    • In my mod I'm generating a variety of resources. Most of these aren't too fancy, and can be handled using vanilla generation methods. Currently using code similar to the below: //Generate significant clay near the world surface at the shores of plains biomes Biomes.PLAINS.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, Feature.DISK.withConfiguration( new SphereReplaceConfig(Blocks.CLAY.getDefaultState(), 7, 5, Lists.newArrayList(new BlockState[]{DIRT, GRASS_BLOCK}))) .withPlacement(Placement.COUNT_TOP_SOLID.configure(new FrequencyConfig(100))) ); //Non-biome specific for (Biome biome : ForgeRegistries.BIOMES) { //Natural Stone is any of stone, andesite, granite, diorite //OreFeatureConfig Target, state, size //CountRangeConfig is count, bottom offset, top offset, maximum (altitude?) //DepthAverageConfig is count, baseline, spread biome.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, Feature.ORE.withConfiguration( new OreFeatureConfig(OreFeatureConfig.FillerBlockType.NATURAL_STONE, ModBlocks.LIMESTONE.get().getDefaultState(), 120)) .withPlacement(Placement.COUNT_DEPTH_AVERAGE.configure(new DepthAverageConfig(2, 55, 16)))); //COUNT_RANGE.configure(new CountRangeConfig(10, 0, 0, 256)))); }   The code above has the following effects: In plains biomes only, many parts of the coast next to rivers generate clumps of clay in large quantities. Intended effect. In all biomes, most of the stone (but not all) around sea level is replaced with limestone using placement generation similar to that of Lapis. However, the vanilla ore has already generated by this point, and the vanilla coal on stone backdrop doesn't blend well on limestone.   My goal is to have portions of vanilla stone replaced with limestone, portions of that replaced with carbonate minerals and dolomite (dolomitic limestone), and portions of the dolomite replaced with zinc/lead sulfides. Vanilla ores will remain embedded in vanilla stone only in lower and higher depths, but not in limestone. How would I go about setting a ore generation order (stone->carving?->limestone->vanilla ores)? Would I need to create my own Feature, FeatureConfig, and/or Placement classes to achieve desired functionality?   In addition, how would I modify existing generated structures, either through removing/replacing? For example, for fossils to generate with pyrite blocks instead of coal blocks.
    • I've been wanting to see what it was like to mod minecraft in the beta days. Since i was just a little boy when minecraft was released but still managed to get ahold of minecraft in the beta days. I've looked EVERYWHERE for forge mods for the betas and one mod in particular is IndustrialCraft for b1.4 and it says i need forge. Which i cannot find. Can someone PLEASE show me where to get it?
    • Here: "Config variable that will not update" is the variable that I'm trying to access. It simply reverts to the default value.   // Do something when certain thing is said in chat public static final Minecraft mc = Minecraft.getInstance(); boolean serverFound = false; @SubscribeEvent public void onChat (ClientChatReceivedEvent event) { // Logger LOGGER.info("serverFound is now " + serverFound); String message = event.getMessage().getString(); if (message.contains("CONFIG VARIABLE THAT WILL NOT UPDATE")) { serverFound = true; // Logger LOGGER.info("serverFound has been set to true"); } if ((message.contains("entered the world.") && serverFound) == true) { // Logger LOGGER.info("serverFound is now true"); Minecraft.getInstance().player.sendChatMessage("/teleport 0 150 0"); serverFound = false; // Logger LOGGER.info("serverFound has been set to false"); } } }  
    • I have registered blocks for both a Standing Sign, and Wall Sign and I have registered an item for the sign. I did reflection for registering a wood type, and am using this wood type in the signs I have the texture for the wood type under textures/entity/signs and I have created the blockstate and model files, copying the vanilla ones (where the blockstates point to a model file that only has a texture for particles)   However, the Sign still won't render, and the edit sign screen won't show up. Sometimes the game crashes when I place a sign, with a NPE, but it isn't consistent.   Sign block registration: EFFETE_SIGN = registerNoItem("effete_sign", () -> new StandingSignBlock( AbstractBlock.Properties.create(Material.NETHER_WOOD, MaterialColor.LIME) .doesNotBlockMovement().hardnessAndResistance(1.0F).sound(SoundType.WOOD), Main.EFFETE_WOOD_TYPE)); EFFETE_WALL_SIGN = registerNoItem("effete_wall_sign", () -> new WallSignBlock( AbstractBlock.Properties.create(Material.NETHER_WOOD, MaterialColor.LIME) .doesNotBlockMovement().hardnessAndResistance(1.0F).sound(SoundType.WOOD).lootFrom(EFFETE_SIGN.get()), Main.EFFETE_WOOD_TYPE));   Blockstate and model files: { "textures": { "particle": "effetewood:block/effete_planks" } } { "variants": { "": { "model": "effetewood:block/effete_sign" } } }   Wood Type registration and Reflection code: private void setup(final FMLCommonSetupEvent event) { reflectionSetup(); try { EFFETE_WOOD_TYPE = (WoodType) registerWoodTypeMethod.invoke(null, woodTypeConstructor.newInstance("effete")); } catch (Exception e) { LOGGER.error("Error registering wood type"); e.printStackTrace(); } } private void reflectionSetup() { if (woodTypeConstructor != null) woodTypeConstructor.setAccessible(true); if (registerWoodTypeMethod != null) registerWoodTypeMethod.setAccessible(true); } private static final Constructor<WoodType> woodTypeConstructor; private static final Method registerWoodTypeMethod; private static Constructor<WoodType> getWoodTypeConstructor() { try { return WoodType.class.getDeclaredConstructor(String.class); } catch (Exception e) { LOGGER.error("Exception in getWoodTypeConstructor: " + e.getMessage()); e.printStackTrace(); return null; } } private static Method getRegisterWoodTypeMethod(){ try { return WoodType.class.getDeclaredMethod("register", WoodType.class); } catch (Exception e) { LOGGER.error("Exception in getRegisterWoodTypeMethod: " + e.getMessage()); e.printStackTrace(); return null; } } static { woodTypeConstructor = getWoodTypeConstructor(); registerWoodTypeMethod = getRegisterWoodTypeMethod(); }  
    • First of all, which I assume you know, is that the computer must always be on from which the server is being hosted. Secondly what kind of computer is this? If it has a GUI (like windows or mac and some distributions of linux/ubuntu/debian) it will make things much easier for changing things to the correct setting. Third, I would like to know what the desired outcome is, and what mods you have installed, forge version, debug.log, ETC, the basics.   For Biomes O' Plenty, you have to make sure that the world type is set to a Biomes O' Plenty world type. So you'll have to reset your world.   And finally, I assume you know that most mods MUST be on both the client and server for it to function properly. So for example, if you want lucky blocks, that must be in the server mods folder, AND in your .minecraft mod folder.   For me to fully finish helping you I need the rest of the information that I stated above.   Cheers,        Foonicular
  • Topics

  • Who's Online (See full list)