Jump to content

[WIP] PeriodicCraft - Introduces chemistry to Minecraft


Nacorpio

Recommended Posts

What is PeriodicCraft?

PeriodicCraft is a modification for Minecraft that is a work-in-progress. The purpose of the modis to bring a whole new twist to the chemical environment of Minecraft. Because we haven't plannedeverything, features may still disappear or be added to the list. Make sure to give us suggestions.

 

Current Features

  • PeriodicCraft will contain all the elements of the periodic table, including the compound elements of Minecraft.
  • New way of crafting, using atoms, creating (simplified) molecules for them.
  • Registering all the molecular recipes of the items currently in-game, including support for mods.
  • Adding machines like a Molecular disassembling chamber, which will allow players to disassemble the items into molecules then atoms, which will be transferred through pipes to special storage or by hand with special cells. (The molecular disassembling chamber is one out of many machines that will be added)
  • Every item will have a weight in grams to it, which will allow you to be more specific about things.
  • A new way to find and search items using the Molecular/atom dictionary, which will store your discoveries in it, which will let you scroll through it in an easy way, and search through items, elements and blocks you have discovered.
  • As mentioned, we will be adding support for other mods, like BuildCraft. With BuildCraft, you will be able to use our pipe for sorting and storing elements, tubes and cells the way that you prefer.
  • We will add our own energy system, but we're not sure of how it's going to be powered, or the name of it. We might add support for EU which is the energy unit for IC2 and most other big mods using machines and power.
  • When you discover an item, you will have access to all the information within the Molecular/atom dictionary. You'll for example be able to see how it's built up and what the structure of the molecule looks like.
  • We're planning add multiplayer support, which means that you'll be able to do everything with your friends. That also means, that we might add disks so that you can share your collected knowledge with other people on the same server.
  • All the elements of the periodic table will be accessible throughout the whole Minecraft world. They will be available as ores, ingots, liquids and gas. This means A LOT of new items and blocks to the game.
  • You can disassemble a molecule to see what elements it consists of. If you have the equipment, you can even modify the molecule or take out the elements you want and then put them in cells.
  • MUCH more to come in the near future

Machines

 

Molecular Disassembling Chamber

The molecular disassembling chamber will allow you to disassemble any molecule to gain knowledge.You can even take out elements out of the molecule and save them in cells for the future. What youcan do with it, all depends on how many upgrades you have added to it. We're not quite sure of what it's going to look like, but we're pretty sure that it's going to be a multi-block. The more you have addedto the multi-block structure, the more powerful and faster the machine is.

 

Liquid Disassembler

With this machine, you'll be able to disassemble all kinds of liquids. You'll even be able to get the sodium out of salty water that you might have found somewhere (sea, cave or desert). Depending on where you fetch the water, you get different outcomes when you disassemble it. For example, if you disassemble water that you have found in a desert, you'll have sand molecules and sodium atoms as the outcome.

 

Element Scanner

With the Element Scanner, you can scan any item and research about the item. If you have discovered everything about an item, you'll be able to disassemble it in the Molecular Disassembling Chamber. If you haven't researched enough about the item, the item either disappears or the machine explodes. There are still a lot of ideas to this that we're currently planning. There are still a lot of machines that we're adding. These machines are only the ones that we have on the top of our list at the moment. We will be taking a lot of suggestions from this thread.

 

Items

 

Cell

A cell is used for storing atoms in your inventory. You have to store atoms in a cell, because that's the only way to transport them around. You won't be able to store an atom directly in the inventory, becauseit's impossible to carry an atom around. The only way you can see it in an inventory-way, is if you storeit in our special storage that will allow you to store the atoms without them disappearing. You can even sort the atoms and search for them in our system.

 

Microscope

With a microscope, you will be able to research the most basic information about an item. You'll be ableto figure out the size of the atom and what it looks like, but that's pretty much it all. To research more about an item, you have to invest into more expensive equipment.

 

Item Scanner

With the Item Scanner, you will be able to figure out everything about an item. You'll be able to find out what different elements it's built of and what you can do with it. You'll also be able to find out the exact weight, structure and a more advanced description of the properties of the elements.We're of course still adding a lot of items, but they're not all planned.Give us suggestions.

 

Support us

If you feel like supporting us in any way possible, you can either help us by joining the project, or you couldjust suggest in the comments. Right now, we're moslty looking for a texture designer, and MAYBE a developer that knows the Forge API very well.

 

If you feel like you have the skills to join us on this journey, please contact me on email. If you can't support us in any of those ways, you can can just comment below and give us constructive criticism. It's going to be pretty long until we release this mod, because of the fact that we have to add all the elements of the periodic table and Minecraft. That's why we need some support with textures and code.

 

Email: [email protected]

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • the modpack start but when i close crash DEBUG LOG : https://paste.ee/p/3WjHl#section0
    • Looks like an issue with betterpingdisplay - make a test without it
    • I made a basic homing arrow, which I am going to refine further, but as of now I have the problem of the Arrow not rendering properly. It works fine on the server side, but on the client it always appears as if the arrow was flying normally, until it synchs and teleports around.   [https://gemoo.com/tools/upload-video/share/661346070437036032?codeId=MpmzxaW0pBpE1&card=661346066800603136&origin=videolinkgenerator] the white particles are created by the entity every tick on the server side and represent its actual flying path.   My best guess is that this behaviour is caused, because minecraft appears to try to predict the projectiles path on the client side instead of constantly synching (perhaps something to do with it implementing the TracableEntity interface??). I am thinking I need help with either 1. Getting the client to use my custom Tick function in its path prediction, or 2. (the less elegant solution) getting the game to synch up the direction, position and movement etc. every tick.     Note that my custom arrow class extends AbstractArrow. everything important it does: private static final EntityDataAccessor<Integer> TARGET_ENTITY = SynchedEntityData.defineId(ReachArrow.class, EntityDataSerializers.INT); @Override public void addAdditionalSaveData(CompoundTag pCompound) { super.addAdditionalSaveData(pCompound); pCompound.putInt("TargetEntity", this.getTargetEntity()); } @Override public void readAdditionalSaveData(CompoundTag pCompound) { super.readAdditionalSaveData(pCompound); this.setTargetEntity(pCompound.getInt("TargetEntity")); } @Override protected void defineSynchedData() { super.defineSynchedData(); this.entityData.define(TARGET_ENTITY, -1); } @Override public void shootFromRotation(Entity pShooter, float pX, float pY, float pZ, float pVelocity, float pInaccuracy) { LivingEntity target = ReachArrow.findNearestTarget(this.level(),(LivingEntity) pShooter,50d); if(pShooter instanceof LivingEntity && target !=null){ //pShooter.sendSystemMessage(Component.literal("setting id "+target.getId()+" as target")); setTargetEntity(target.getId()); //pShooter.sendSystemMessage(Component.literal("target set")); } super.shootFromRotation(pShooter, pX, pY, pZ, pVelocity, pInaccuracy); } public static LivingEntity findNearestTarget(Level world, LivingEntity shooter, double range) { AABB searchBox = shooter.getBoundingBox().inflate(range); List<LivingEntity> potentialTargets = world.getEntitiesOfClass(LivingEntity.class, searchBox, EntitySelector.NO_SPECTATORS); LivingEntity nearestTarget = null; double closestDistance = Double.MAX_VALUE; for (LivingEntity potentialTarget : potentialTargets) { if (potentialTarget != shooter && potentialTarget.isAlive()) { double distance = shooter.distanceToSqr(potentialTarget); if (distance < closestDistance) { closestDistance = distance; nearestTarget = potentialTarget; } } } return nearestTarget; } I tried fixing the problem by storing the Target using SynchedEntityData, which not only didn't fix the problem, but also added unwanted, blue particles to the arrow (like on tipped arrow) Thank you in advance for any help or hints, I am quite new at this so you could probably help me a lot. :)
    • When trying to load Craft to Exile 2, game crashes and this error message pops up:   https://api.mclo.gs/1/raw/B2oYte0
    • FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':processResources'. > Could not copy file 'C:\Users\jedil\Downloads\forge-1.20-46.0.14-mdk\src\main\resources\META-INF\mods.toml' to 'C:\Users\jedil\Downloads\forge-1.20-46.0.14-mdk\build\resources\main\META-INF\mods.toml'.    > Failed to parse template script (your template may contain an error or be trying to use expressions not currently supported): startup failed:      SimpleTemplateScript1.groovy: 1: Unexpected input: '(' @ line 1, column 10.         out.print("""# This is an example mods.toml file. It contains the data relating to the loading mods.                  ^   This is my mods.toml script: # This is an example mods.toml file. It contains the data relating to the loading mods. # There are several mandatory fields (#mandatory), and many more that are optional (#optional). # The overall format is standard TOML format, v0.5.0. # Note that there are a couple of TOML lists in this file. # Find more information on toml format here: https://github.com/toml-lang/toml # The name of the mod loader type to load - for regular FML @Mod mods it should be javafml modLoader="javafml" #mandatory # A version range to match for said mod loader - for regular FML @Mod it will be the forge version loaderVersion="${46.0.14}" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions. # The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties. # Review your options at https://choosealicense.com/. All rights reserved is the default copyright stance, and is thus the default here. license="${All Rights Reserved}" # A URL to refer people to when problems occur with this mod #issueTrackerURL="https://change.me.to.your.issue.tracker.example.invalid/" #optional # A list of mods - how many allowed here is determined by the individual mod loader [[mods]] #mandatory # The modid of the mod modId="${MCRefined}" #mandatory # The version number of the mod version="${1.0.0}" #mandatory # A display name for the mod displayName="${Minecraft Refined}" #mandatory # A URL to query for updates for this mod. See the JSON update specification https://docs.minecraftforge.net/en/latest/misc/updatechecker/ #updateJSONURL="https://change.me.example.invalid/updates.json" #optional # A URL for the "homepage" for this mod, displayed in the mod UI #displayURL="https://change.me.to.your.mods.homepage.example.invalid/" #optional # A file name (in the root of the mod JAR) containing a logo for display #logoFile="examplemod.png" #optional # A text field displayed in the mod UI #credits="" #optional # A text field displayed in the mod UI authors="${me}" #optional # Display Test controls the display for your mod in the server connection screen # MATCH_VERSION means that your mod will cause a red X if the versions on client and server differ. This is the default behaviour and should be what you choose if you have server and client elements to your mod. # IGNORE_SERVER_VERSION means that your mod will not cause a red X if it's present on the server but not on the client. This is what you should use if you're a server only mod. # IGNORE_ALL_VERSION means that your mod will not cause a red X if it's present on the client or the server. This is a special case and should only be used if your mod has no server component. # NONE means that no display test is set on your mod. You need to do this yourself, see IExtensionPoint.DisplayTest for more information. You can define any scheme you wish with this value. # IMPORTANT NOTE: this is NOT an instruction as to which environments (CLIENT or DEDICATED SERVER) your mod loads on. Your mod should load (and maybe do nothing!) whereever it finds itself. #displayTest="MATCH_VERSION" # MATCH_VERSION is the default if nothing is specified (#optional) # The description text for the mod (multi line!) (#mandatory) description='''${Minecraft, but it's, like, better.}''' # A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional. I tried using --scan or --stacktrace, those were no help. I also tried Ctrl+Alt+S, the template I used did not appear. HELP
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.