Giter VIP home page Giter VIP logo

mcreator / mcreator Goto Github PK

View Code? Open in Web Editor NEW
732.0 26.0 149.0 92.69 MB

MCreator is software used to make Minecraft Java Edition mods, Bedrock Edition Add-Ons, and data packs using visual graphical programming or integrated IDE. It is used worldwide by Minecraft players, aspiring mod developers, for education, online classes, and STEM workshops.

Home Page: https://mcreator.net/

License: Other

Shell 0.04% NSIS 0.13% FreeMarker 23.46% Java 74.44% HTML 0.01% CSS 0.12% JavaScript 1.22% Fluent 0.59%
mcreator minecraft code-generator ide minecraft-tool stem

mcreator's Introduction

MCreator

License Build Javadoc Download Donate

MCreator - Minecraft Mod Maker

https://mcreator.net/ - MCreator is a software used to make Minecraft Java Edition mods, Minecraft Bedrock Edition Add-Ons, and data packs using an intuitive easy-to-learn interface or with an integrated code editor.

It is used worldwide by Minecraft players, aspiring mod developers, for education, online classes, and STEM workshops.

Download, community, and support

This repository page is for people looking to contribute to MCreator. Visit https://mcreator.net/ to download MCreator distribution and to engage in the community. Check https://mcreator.net/support to find the support, forums, knowledge base, and more.

Download MCreator binary distributions on https://mcreator.net/download.

Development

To clone this repository, run git clone --recursive https://github.com/MCreator/MCreator.git.

MCreator uses Gradle build system to manage the building and exporting. Use runMCreator task to run test MCreator.

It is recommended to use Intellij IDEA for development and testing. Learn more about the development process, and tips on MCreator developers wiki.

Contributing

You are welcome to support this project by opening pull requests. Read more about contributing in our contributing guidelines. Before we can use your code, you must sign the MCreator CLA.

Big thanks to all the people who already contributed to MCreator! 💚

Translations

If you would like to help us translate MCreator to your language, join us on translate.mcreator.net! If your language is not on the list yet, feel free to suggest us to add it.

License and trademark

MCreator is licensed under the GPL-3.0 license (with exceptions implemented as specified in section 7 of GPL-3.0) if not otherwise stated in source files or other files of this project. Copyright 2020 Pylo and contributors.

MCreator is a trademark of Pylo. Custom distributions of this software may not include Pylo or MCreator trademark (trademark name and logo) to not confuse the software with the official distribution of MCreator project. MCreator and Pylo brand files in this repository are not covered by the GPL-3.0 license.

MCreator uses several third-party libraries and projects. License files, attributions, and credits for these projects are located in the license subdirectory.

Some code generators use official Minecraft mappings. The use of these mappings is covered under a license by Microsoft. You should be fully aware of this license and the fact your mod may use these mappings. At the time of writing, the license is:

© 2020 Microsoft Corporation. These mappings are provided "as-is" and you bear the risk of using them. You may copy and use the mappings for development purposes, but you may not redistribute the mappings complete and unmodified. Microsoft makes no warranties, express or implied, with respect to the mappings provided here. Use and modification of this document or the source code (in any form) of Minecraft: Java Edition is governed by the Minecraft End User License Agreement available at https://account.mojang.com/documents/minecraft_eula.

Notice

NOT AN OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.

mcreator's People

Contributors

agnyaalm avatar ajacobsen avatar alsosomeoneelse avatar azar2477 avatar cdc12345 avatar cubicgraphics avatar defeatomizer avatar dependabot-preview[bot] avatar dependabot[bot] avatar github-actions[bot] avatar goldorion avatar grey-wind avatar itayfeder avatar kleiders3010 avatar klemendev avatar kusaanko avatar loicmaitredufeu avatar magicalalexey avatar max094reikeb avatar mysterious-dev avatar mysteriouswolf avatar navarayuk avatar nerdypuzzle avatar noahortega avatar spectrall368 avatar stupidrepo avatar suckinsyn avatar tyephoenix avatar userofbricks avatar willpill avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mcreator's Issues

Renaming Textures in Workspace

I would like to be able to rename textures in my mod if needed and without having broken textures, it checks any use of that texture and regenerates code of those mod elements to use the new texture.

Cache Structure Templates to speed up world generation times.

Is your feature request related to a problem? Please describe.
Yes it's a problem in regards to MCreator world gen times.

Describe the solution you'd like
Cache Structure Template to speed up world gen times as a majority of MCreator Features are made with Structure NBTs

Describe alternatives you've considered
None

Additional context
Basically in the current system, reading structure templates take a toll on world gen times especially when users place specific features densely. This patch should increase the performance of MCreator's world gen majorly especially in MCreator feature dense areas(i.e forests),
Here is the file where changes need to be made:

Template template = ((ServerWorld) world.getWorld()).getSaveHandler().getStructureTemplateManager().getTemplateDefaulted(new ResourceLocation("${modid}" ,"${data.structure}"));

Here's how I implemented it in my own mod:
https://github.com/CorgiTaco/BYG/blob/a25e1177cea0509e0d19f14fb86aecfff666708c/src/main/java/voronoiaoc/byg/common/world/feature/features/overworld/trees/pine/SmallPineTree.java#L25
&
https://github.com/CorgiTaco/BYG/blob/1.15.X-NewContent/src/main/java/voronoiaoc/byg/common/world/feature/features/overworld/trees/pine/SmallPineTree.java#L45-L46

Option to "Display Fluid Overlay" on submerged blocks

Migrated from https://mcreator.net/tracker/issue/64011

If the option shouldDisplayFluidOverlay is added, this will allow blocks that are transparent or translucent to display a fluid overlay when submerged. Could be useful for custom glass blocks or blocks that use the leaves block base, since this normally defaults to false.

Code:

@Override
public boolean shouldDisplayFluidOverlay(BlockState state, ILightReader world, BlockPos pos, IFluidState fluidstate) {
	return true;
}

Use OptiForge for better performance.

Is your feature request related to a problem? Please describe.
Yes. My problem is that my fps goes down to 5 and then crashes.

Describe the solution you'd like
I found a mod called OptiForge that lets you run both forge and OptiFine at the same time. I think this is a good idea because OptiFine is a big performance boost for a lot of people.

Describe alternatives you've considered
Not really one.

Additional context
link for mod: https://www.curseforge.com/minecraft/mc-mods/optiforge

Expanded Tag Support

Is your feature request related to a problem? Please describe.

  • Tags could be used in more areas than provided.

Describe the solution you'd like

  • For advancements, instead of just choosing an item, allow the use of tags without having to create a separate procedure.
  • For animal breeding, tags can be used to tempt animals, such as Ingredient.fromTag(Items.SEEDS).
  • When creating new tags, allow it to reference other tags, similar to how the #minecraft:enderman_holdable tag uses/references the #minecraft:small_flowers tag.

Describe alternatives you've considered

  • None that I could think of.

Add Square and Double Plant Model (Crop model)

There is X model which is a model used for Plants such as flowers but, There isn't Square Model, You know, Growable Plants such as wheats, carrots, potatoes, beetroot...

All have Square Model, if you don't know how a Square model look like, check it yourself (I don't know if square model is the real name)
It looks like a "#" but not in italic

BTW: is the delay between opening a new ticket is really 36h? It look like it is actually 18h or less... I think I shouldn't tell you that because you will change it :(

https://mcreator.net/tracker/issue/48817

1.16 Unused World Generation

Hello, One of the features that will be good in MCreator is adding more world/dimension generators, I know that Minecraft doesn't only have Overworld, Nether and End terrain generator, there are some presets like floating island, caves or flat, there is also UNUSED ones in minecraft code for example, one with huge spiral mountains, as i heard in some youtube videos, heres is a video that might help for 1.16 Datapacks and maybe Modding

https://youtu.be/hf4jinDtR14

Make entity ride another entity with procedure

I would like to have a procedure called something like "Start riding" and the entity you want.
It would be useful for some things including Mind Control ability (Which I want to add in my mod)

Code of an user:
entity.startRiding(entity2);

Adding Progress/Stat Bars to GUIs and overlays

Can we have a way to make custom stat bars with events to cause them to change? Like health bars and hungers bars; health changes when the player is injured, poisoned or other things, hunger changes when moving or eating, and oxygen decreases as the player spends more time underwater. A way to make our own status bars with different causes for change would be great.

https://mcreator.net/tracker/issue/42654

Adding an option for blocks/tools/items description (translation text component)

Is your feature request related to a problem? Please describe.
For people who want their mods in different languages, there is currently no 'vanilla' way to translate blocks/tools/items description. That's why we need one.

Describe the solution you'd like
A new field under the description one with a checkbox to activate/desactivate it. In this field we would put our translation key that would be created when we save the mod element and all that's left is to do the translation.

Describe alternatives you've considered
I coded translated description myself for my own mod but not everyone knows how to code in Java.

Additional context
As I said, I used translated description in my own mod :
@OverRide
@onlyin(Dist.CLIENT)
public void addInformation(ItemStack itemstack, IBlockReader world, List list, ITooltipFlag flag) {
super.addInformation(itemstack, world, list, flag);
list.add(new TranslationTextComponent("block.electrona.battery.desc1"));
list.add(new TranslationTextComponent("block.electrona.battery.desc2"));
}

Custom Particle mod element type

Migrated from https://mcreator.net/tracker/issue/46476

Something that can be added is a Particle Creator or simply texture adding

Idea on how to set it?

For Particle, like to create a block or item texture, when finish creating, it open a Window to choose between Block or Item, so a 3rd one is possible for Particle, and the particle name is the texture name and it is placed in Particles Selecting, in Procedure or in Block or mob creation

More Generation Features Into The Biomes

Migrated from https://mcreator.net/tracker/issue/57763

Hi,

Like you said me in this forum, I post

I was checking something in the code of one of my biome when I saw there was many biome features there weren't used. So can you add at least some of them please? Because i think that biomes would be really better and beautiful. Here is a list of some interesting features (There are surely others I don't put).

Bamboo
All coral types
Decorated Flowers (I think these are other flowers of one block of height.)
Double Plants
Fossils
Icebergs
Kelp
Melon
Pumkin
Sea Grass
Sea Pickles
Snow piles ?
Sweet Berries Bush

I don't know if they all work correctly, but these are some really interesting biome feature unused.

Edit: I search a little bit, and I find a ticket you have putted as Fixed, but I don't know if my suggestion is related with this ticket. https://mcreator.net/tracker/issue/41573

Entity Texture Folder

Please add a new texture category for custom mob textures which is called "entity" and any existing entity mod elements would now have textures applied to them copied over from misc textures and code regenerated to use texture in entity folder.

Compatibility with JEI (Custom crafting recipes)

Migrated from : https://mcreator.net/tracker/issue/43155

So basically what this request is about is to have custom crafting/ creation things to be compatible with JEI. For example when I created an item which could only be created using my custom crafting block. I realised that when playing the game and using JEI it didn’t show any way to created meaning if someone was playing my mod and they couldn’t be bothered searching up the recipe or the creator of the mod didn’t put up how to obtain it it would be a bit of problem. This also applies to people who solely use JEI to find out how to get items.

Ranged item pulling procedure trigger

Hi! I want to suggest an idea.

I think it would be nice if we can make procedures with ranged item pulling trigger, I mean: when player pulls a ranged item, do a procedure made with the trigger. The procedure will be repeated as long as long the item is pulling. Stop pulling/shot will also stop the procedure.

It's a small request but it would be nice to see in MCreator for me. I hope I described it well and didn't leave you confused XD I hope my idea will be listened.

Procedure to enable/disable GUI buttons

It would be really cool if you can add conditions for buttons in GUI with procedures.
For example, I want the player to be holding a specific item in order to click the button. If he doesn't have the item in hand, the button will be grayed out. Just like the open to LAN button when the world is already opened to LAN

Separate water and water fog color in biomes

Migrated from https://mcreator.net/tracker/issue/66079

So, biomes in Minecraft have two color values for water, waterColor and waterFogColor. Every single Vanilla biome uses different colors for the fog and the water surface color. However, without editing the code, MCreator biomes use the same color for both the water surface and fog, which, though small, is quite noticeable when swimming between biomes or something. I'm just simply asking for a second water color value, setting the water fog color.

Though I don't have the slightest clue how, I imagine it would be pretty easy to add this feature, because, again, there are two clear values, "waterColor" and "waterFogColor" (using decimal color codes) which can be changed in the code easily.

New mod element: Tree Type

Hello. Since custom tree structures were removed I was still wondering about this. Yes. I know I can use structures for trees but this is something else. Its a new mod element. You choose few structures. (with drop list like from loot tables and chances, you will also offset trees to fit center). Then you set sapling texture, in 3x3 block grid select how many sapling tree needs to grow. (like dark oak needs 2x2). Then you could add it to biome or just have a nice working sapling. I think this feature would help a lot with biome making.

Required Plugins

I add with my Fabric and Spigot Generators things that are the same in both generators, but I need to re-create them each time, and they are duplicated, like data lists for Minecraft 1.16. it's also a problem with procedure blocks and global triggers because if I just add JSON files in one of the generator and a user doesn't have both, it won't have new procedure blocks and triggers, or the plugin won't load. A solution to this problem is to create a library plugin (like the MCreator Core plugin), but if a user doesn't have the library plugin, it will have the same problem. So, I thought that, like mods, we could define in the plugin.json if we have one or many required plugins, and the minimal version of it, we need to have for the plugin works. If the user doesn't have the required plugin, an error or warning message can be displayed when MCreator loads with the plugin and the required plugin (the same that Forge does). I attach an example of a plugin.json to give you an example of what I want to say.

I think it can be a great improvement for plugins, as it will easier for plugin developers to make a library plugin only, and generator developers only need to add the code file. We will also be able to make more "easily" compatibility between plugins.

On the plugin page, a field to add required plugins could be nice too with this feature.

P-S: I know it should have its own ticket, but a credit field could be nice for some cases because I use block/item icons from the 1.16 Datapack Generator and I want to give him the credit, but there is not really somewhere except in authors to write it.

Translations of the user interface

To do translations, go to https://translate.mcreator.net/

Make a new Crowdin account and use this link to add yourself to the project: https://crwd.in/mcreator. Then translate on the Crowdin platform and the changes will be synced into MCreator.

If you want a new translatable language to be added, leave a comment under this issue. Do not request a new language if you do not intend on providing translations for it. Stale languages might be removed even if some translations are provided.

But first, step 1. should be complete or near completion.

Help tips are translated outside the Crodwin project in .md files in https://github.com/MCreator/MCreator/tree/master/plugins/mcreator-localization/help.

Stale languages might be removed if translations seem to have stopped and the percentage of the translation is below 50%.

Still to externalize:

  • GradleErrorDialogs
  • net.mcreator.ui.browser.action.*
  • CollapsiblePanel
  • CodeEditorView
  • net.mcreator.ui.validation.validators.*
  • WorkspacePanelVCS
  • WorkspacePanelVariables
  • DesaturateDialog
  • HSVNoiseDialog
  • AbstractWorkspacePanel
  • CodeErrorDialog
  • MCItemSelectorDialog.openSelectorDialog
  • TextureImportDialogs.importTextureGeneral
  • UpdateNotifyDialog

Add ability to make horizontal portal gates

Is your feature request related to a problem? Please describe.
I've come across some mods which add the ability to make the Nether portal horizontal, and I through it could be a good idea to do the same for custom dimensions!

Describe the solution you'd like
Just add an option inside Dimension mod element we could check to allow horizontal portals.

Describe alternatives you've considered
I know how to do it with procedures but the problem is that we need to create ourselves the portal block (the block that teleports us when we touch it) and handle ourselves the portal generation when we teleport to the custom dimension. With procedures, it's not easy, and some people don't know how to do that.

Brewing stand recipes

Is your feature request related to a problem? Please describe.
Some people (including me) are interested in having a new recipe of Brewing type. This kind of recipe could be use for other things than potions, but for new stuff.

Describe the solution you'd like
Maybe a new field/category in the recipe mod element for brewing type recipe.

Describe alternatives you've considered
In my mod Electrona, there are 2 recipes that are brewing type. I coded them in a custom element but not everyone knows how to code in Java...

Additional context
Here's what I've done on my own. As I said, I created 2 brewing recipes for my mod :
@OverRide
public void init(FMLCommonSetupEvent event) {
// Sugar Bottle recipe
BrewingRecipeRegistry.addRecipe(Ingredient.fromItems(Items.GLASS_BOTTLE), Ingredient.fromItems(Items.SUGAR), new ItemStack(SugarBottleItem.block));
// Concentrated Uranium recipe
BrewingRecipeRegistry.addRecipe(Ingredient.fromItems(SugarBottleItem.block), Ingredient.fromItems(YellowcakeItem.block), new ItemStack(ConcentratedUraniumItem.block));
}

Custom Horse Armor mod element Type

Migrated from https://mcreator.net/tracker/issue/66213

What if you added more tiers of tools, weapons or armor to your mod and wanted custom horse armor like steel, titanium or whatever your custom tools are made of?

The horse armor would have these parameters:

Item (inventory texture)
Model texture (while on a horse)
Defense for horse (armor points)
Equip sound event.
Armor on horse tick update procedure trigger
Armor equipped on horse procedure trigger

overlay doesnt scale properly

If you change the GUI scale in the minecraft setting from Auto to 1-4 the overlay isnt on the right place of the screen anymore. Maybe important to know is that I play Minecraft in WQHD but also if I reduce the resolution to FullHD it doesnt work right.

Screenshots:
https://www.bilder-upload.eu/bild-630bda-1599393359.png.html
https://www.bilder-upload.eu/bild-aff95c-1599393380.png.html
https://www.bilder-upload.eu/bild-bb4f22-1599393499.png.html

Details:

  • MCreator version: [e.g. 2020.4]
  • Generator type: [e.g. forge-2020.4]
  • OS: [e.g. Windows]

1.16.4 Minecraft Forge generator

Migrated from https://mcreator.net/tracker/issue/63141

Guidelines:

  • Make sure to test each thing you add very carefully - test each feature and field, and as many combinations as possible (also how different bases, models, ... work together), and I really mean this, if it will turn out things are not tested, I will have to deeply test each PR which can slow things down a lot. This is very important.
  • When opening PRs, open one feature/mod element/procedure set per PR, so we can keep things trackable and manageable.
  • Mark #4 or #6 and proper milestone to the PRs.

"Break block" AI Task

Migrated from: https://mcreator.net/tracker/issue/64911

There in vanilla MC, zombies can break wooden doors in villages on hard difficulty level. So there it's vanilla AI task about break blocks.

I propose try to implement that AI task in MCreator, that can be given for custom mobs with specify of blocks that mob have to break. :)

Shift-click crafting event.

I know we have item crafted trigger event but it seems it doesn't work when we shift-click the item. So there should be one, right?

Make Entity Tamed by Entity

Migrated from https://mcreator.net/tracker/issue/65824

I'm making a mod that has something like "mind control" so I want to just right click the tamable entity then it will be tamed by me without using the taming items.

A procedure like: "Make [target entity] tamed by [source entity]" would be amazing for it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.