American2050
Members-
Posts
553 -
Joined
Everything posted by American2050
-
I'm usually good at reading crashes, but in this case, I'm lost. Anyone has any idea what could be causing this one? Happens on a ModPack that works ok with Forge Version 2122, as soon as I update forge to 2185, that crash happens. Really not sure what the problem is, I only see stuff related to MultiMC, could it be the problem?
-
Latelly and I dont know why, whenever I do "gradlew build" even when everything goes ok, when I go to the libs folder, the build is not there and I have to run the command a second time for it to show up. Any idea what could be causing this? Thanks a lot.
-
Simple question, what would be the best way to change what vanilla blocks drop when you break them?
-
Laptop taking long time to load on step 7
American2050 replied to Hotdog Daddy's topic in Support & Bug Reports
This you should ask here: https://github.com/whatthedrunk/allthemods/issues Probably the Developer of that ModPack can provide you with a solution. Also I would try a fresh reinstall of the ModPack (Make a world backup first) -
Thanks you. So one question, now if we need the ItemStack, we have to "manually" get it right? (And consider the 2 hands)
-
Sorry I'm really not sure if this is an error or what but onItemUse on 1.10 used to be: /** * Called when a Block is right-clicked with this Item */ public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { return EnumActionResult.PASS; } and now on 1.11 it is: /** * Called when a Block is right-clicked with this Item */ public EnumActionResult onItemUse(EntityPlayer stack, World playerIn, BlockPos worldIn, EnumHand pos, EnumFacing hand, float facing, float hitX, float hitY) { return EnumActionResult.PASS; } As you can see it changed a bit and some parameters are missing.
-
[1.11] Changes on how to register entities?
American2050 replied to American2050's topic in Modder Support
So I can see one of the Forge updates works on fixing the entities registration. I now have a problem when trying to use this method on the render registry: RenderingRegistry.registerEntityRenderingHandler(MyDragon.class, new IRenderFactory<MyDragon>() { @Override public Render<? super MyDragon> createRenderFor(RenderManager manager) { return new RenderMyDragon(manager); } }); I just get a white box, however when I use the one I'm using on 1.10.2 it renders ok RenderManager renderManager = Minecraft.getMinecraft().getRenderManager(); renderManager.entityRenderMap.put(MyDragon.class, new RenderMyDragon(renderManager)); I'm sure the problem is that when I make the Render implement the IRenderFactory I'm not doing this part correctly: @Override public Render createRenderFor(RenderManager manager) { // TODO Auto-generated method stub return this; } What should I return on that method? -
I don't really know what you guys eat, or when you sleep, or what's even going on, but I just wanna say thanks you all the Forge Team for the work on this project. For someone that already has some years of "experience" doing Minecraft Mods it is great to be able to work on top of the newest Vanilla version and not having to be 1 version behind or having to wait for months before been able to mod the newest vanilla. So that, just a simple but great thanks to you all.
-
[1.11] Changes on how to register entities?
American2050 replied to American2050's topic in Modder Support
Thanks. I will start fresh from scratch tomorrow to see what I'm messing here. I tried: RenderingRegistry.registerEntityRenderingHandler(MyDragon.class, new IRenderFactory<MyDragon>() { @Override public Render<? super MyDragon> createRenderFor(RenderManager manager) { return new RenderMyDragon(manager); } }); And still same problem. For sure I have to implement or extend something new that I'm missing, not sure. -
[1.11] Changes on how to register entities?
American2050 replied to American2050's topic in Modder Support
This is what I'm doing: public class ModEntities { public static void init(){ createEntity(MyDragon.class, 1513, "my_dragon", 161425, 1582224); } public static void createEntity(Class entityClass, int ID, String entityName, int solidColor, int spotColor){ EntityRegistry.registerModEntity(entityClass, entityName, ID, IrishLuck.instance, 128, 1, true); // EntityRegistry.registerEgg(entityClass, solidColor, spotColor); } } That gets called on preInit And the render on the client proxy gets called on init and it is RenderManager renderManager = Minecraft.getMinecraft().getRenderManager(); renderManager.entityRenderMap.put(MyDragon.class, new RenderMyDragon(renderManager)); -
So, I was checking a mod I had on 1.10.2 and I noticed that something changed on how the entities are registered I assume... The code shows no errors, but the entity spawn is the world as "unknown" and it doesn't render. I can hear it, and it's breaking blocks, I even see the Boss Bar, but I don't see the entity itself. Any clues on what I should look for?
-
So... I'm not sure I'm doing this the right way, as I have to look at someones else code as I'm not sure how written books work exactly. But when trying this out almost everything works, with the detail that the content of the different pages isn't showing complete. ItemStack writtenBook = new ItemStack(Items.WRITTEN_BOOK,1,0); NBTTagList bookPages = new NBTTagList(); bookPages.appendTag(new NBTTagString("Page one text")); bookPages.appendTag(new NBTTagString("Page two text")); writtenBook.setTagInfo("title", new NBTTagString("Test Book")); writtenBook.setTagInfo("author", new NBTTagString("American")); writtenBook.setTagInfo("pages", bookPages); EntityItem theItemEntity = new EntityItem(worldIn, playerIn.posX, playerIn.posY, playerIn.posZ, writtenBook); worldIn.spawnEntityInWorld(theItemEntity); Each page shows "Page" as the text and not the complete line "Page one text" and "Page two text"
-
[1.10] Get Skin to use on custom model from a given username
American2050 replied to American2050's topic in Modder Support
I was just offering a different way to get the player skin. He can get it off the players client from the using getLocationSkin. Send it to the server via packet. If rendering an entity or tileEntity pass that resourceLocation to the renderer on the client by utilizing IEntityAdditionalSpawnData. At least that is how I do it. Also for my case, I need to have access to any Skin with the only starting information been the Minecraft Name of the player, so it's not just players connected to a server, or players ingame, but any given name. -
[1.10] Get Skin to use on custom model from a given username
American2050 replied to American2050's topic in Modder Support
Yes. You should never store usernames anywhere (except in a UUID->name cache). I'm confuse on how would I get the UUID from a given name. Any tips? Thanks a lot. -
[1.10] Get Skin to use on custom model from a given username
American2050 replied to American2050's topic in Modder Support
So I should get the UUID from the given name, and then get a new GameProfile with the UUID I got and try from there? Gonna try it, thanks you. -
[1.10] Get Skin to use on custom model from a given username
American2050 replied to American2050's topic in Modder Support
Well, first to make sure everything else was working ok I had something like this on my Renderer: public static final ResourceLocation TEXTURE = new ResourceLocation(ModInfo.MODID + ":textures/entities/steve.png"); And I have Steve Texture on my assets. But now with the code I have above is renders the missing texture Purple and Black. I believe the problem is the way I'm creating the GameProfile, not sure. -
[1.10] Get Skin to use on custom model from a given username
American2050 replied to American2050's topic in Modder Support
I'm trying to render them as a player itself, in a model. On my Entity I have a "private static GameProfile owner;" Then I have public MyEntityMe(World worldIn) { super(worldIn); this.owner = new GameProfile(null, "namegoeshere"); // TODO Auto-generated constructor stub } Then I have a method to get the resource location that gets called on the renderer. public static ResourceLocation getResourceLocation() { Minecraft minecraft = Minecraft.getMinecraft(); Map<?, ?> map = minecraft.getSkinManager().loadSkinFromCache(owner); if (map.containsKey(Type.SKIN)) { final MinecraftProfileTexture skin = (MinecraftProfileTexture)map.get(Type.SKIN); return minecraft.getSkinManager().loadSkin(skin, Type.SKIN); } return null; } -
I'm not sure where to start with this. Let's say I have an item that has been named on an anvil with X player name. How would I go around to get that X player skin to use it to render with my model? I have done some tests with GameProfile and creating one with null UUID and the name of X player, and then trying to get the skin from the profile, but it doesn't seam to do the job.
-
I was wondering how could I make, so a block is not allowed to be pushed with a piston or any other method. I know TileEntities can't be pushed, but not sure where that is defined, and if it can or not be applied to blocks. Thanks.
-
[1.10] Confused about Configuration File
American2050 replied to American2050's topic in Modder Support
I guess I was confused about a get method like the get boolean, been the one also creating the config in case it didn't exist. To get an int array, it's okey to get it as a property and then use getIntList() to get the array? -
So, I have been using the same codding for my Config files since 1.7.10 or maybe even 1.6.4 But now, looking at my code, I'm confuse on when does the file get populated with the default values. I have the code that loads the configuration like this: ConfigValues.harvestCrops = configuration.getBoolean("harvestCrops", CATEGORY_GENERAL, ConfigValues.harvestCrops, "Harvest Vanilla Crops on right click"); Is that at the same time creating it and defining the defualt value in case it doesn't find it? I'm curious because now I need an int array and I believe for that I need to do it on a different way.
-
I'm trying to remove items drop from Cows. The problem I'm having is that I don't know what's the name of the different LootPool that they hold. With this example, I can remove the leather, but not the beef. //REMOVE DROPS FROM COWS if (event.getName().equals(LootTableList.ENTITIES_COW)) { LootPool theLootPool = event.getTable().getPool("main"); theLootPool.removeEntry("minecraft:leather"); theLootPool.removeEntry("minecraft:beef"); } I guess the problem is that actually the leather is the only item on LootPool main and the beef is on a different one. So from there, I did some further investigation and found out that the beef is on a 2nd pool that we have to refer as "pool1" and there I was able to remove the beef. My questions are. Is it possible to remove the drop in a general way even not knowing on what pool it is? PS: Also, would it be possible to get a "pools" list, or a way to loop thru the pools?
-
I knew about Triples when working on this. I was suggested to use it as a great way to make list containing all the values. Actually I did created my own at first, but I was told there was actually no need when I could use the Triple that's already there. Actually I'm practicing creating my own "Quadruple" and "Sextuple" just for fun, so yes I believe I'm gonna use my own classes. Thanks for the tips and the guidance, gonna redo all the code from scratch so I can also attach more information when I pass it to the event handler and restrict the execution to the right world. PS: Not sure what statics you saying I should be careful with, but gonna take a look at the code to see what you mean. I was surprised enough that the information persisted even after reloading the world, I tought it was going to get lost for some reason.
-
Well, there is a lot going on in this file, but basically, for example, there is a timer running that every X tics spawns a lightning on the world. If I close that world and create a new one, the remaning lightnings on the list spawns in this new world. http://pastebin.com/k2dhd2WG