Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

OwnAgePau

Forge Modder
  • Joined

  • Last visited

Everything posted by OwnAgePau

  1. Theres a thread on this forum that really goes through it quite deep, almost as far to get multiple inputs to work. I have been trying to get such thing workign aswell. Just search for "Input furnace" on this forum and you will find more information about it. Also you might find my thread in there aswell.
  2. Well you say, the wrong way around. But all that i say is that the method found in EntityWolf can be used to make it so that whatever entity you want to attack your own mob or a vanilla mob. I'm not sure how to do this without altering base classes because i am not really going to do something similar but i think the method is not that complicated or is it?
  3. Custom biomedecorator is being called in the custom BiomeGenBase class and in all the biomes. Now i would really like to know how you guys did what i asked above. Because i almost got this to work i just need to find a way how to make it so that my custom biomes ONLY spawn in my dimension + that i don't get any overworld biomes to spawn there.
  4. I still have this not working properly as my biomes spawn in the overworld and my dimension is still covered with all the possible biomes... And i think thats because of the fact that i use WorldChunkManager(), as it goes in there it has the list of all the biomes in there. I can't seem to figure out how to do this. I do have a biomeDecorator but i'm not sure wether it is working properly as i first wanted to try fix this. Although i think it works.
  5. I guess you can just take a look at EntityWolf. In this base class of minecraft you can probably find a method that makes the wolf attack sheep. I think it can't be too hard.
  6. The problem there lies not in your BiomeAkatoePlains.class, it has something to do with your topblock and fillerblock. The next thing is, i tried doing that list thing in my chunkprovider but all the biomes i now get are the ones listed in the arraylist in WorldChunkManager.
  7. All i can tell from looking at the error is this: That points to your BiomeAkatoePlains
  8. Okay i guess you confused some names arround... I have a WorldProviderMarona (this registers the dimension) and then the ChunkProviderMarona (which you apperently call WorldChunkProvider) this adds the noises and all that good stuff. But if the array sits in that chunkprovider then i am not going to have to remove all the biomes, just add my own? because the list is named differently am i correct? Also can you poste the complete error log, i might have an idea why it isn't working. It think its because you add your biome to the other list, the one that is not located in the ChunkProvider. Why not try naming that list differently?
  9. I am trying to now add the recipes in but and i followed someones idea which did the following in addGemcutterSmelting(): public void addGemcutterSmelting(int par1, int par2, ItemStack par2ItemStack, float par3) { StringBuffer sb = new StringBuffer(32); sb.append(Math.min(par1, par2)).append("_").append(Math.max(par1, par2)); this.gemcutterList.put(Integer.valueOf(sb.toString()), par2ItemStack); this.experienceList.put(Integer.valueOf(par2ItemStack.itemID), Float.valueOf(par3)); } // now ofcourse i am getting an error on the line : "this.gemcutterList.put" because its trying to read this string : "26557_26732" and put it as an int. Ofcourse that string cannot be converted to an int. Or am i completely wrong? I also found the method transferStackInSlot a bit confusing (in containerGemcutter) i see how it only occurs when you shiftclick an item and i basically wouldn't have to change it at all, but only if (GemcutterRecipes.smelting().getSmeltingResult(itemstack1, itemstack2) != null) { if (!this.mergeItemStack(itemstack1, 0, 1, false)) { return null; } } // only that remains (not i added itemstack 2 there) but i am not sure what to do in this method Another question is, in the container class should i or shouldn't i add these lines of code to detectAndSendChanges(): if (this.lastGemBurnTime != this.gemcutter.gemcutterCookTime2) { icrafting.sendProgressBarUpdate(this, 3, this.gemcutter.gemcutterBurnTime); } I think my smeltItem() and canSmelt() are pretty much sorted. canSmelt(): private boolean canSmelt() { if (this.gemcutterItemStacks[0] == null) { return false; } if (this.gemcutterItemStacks[3] == null) { return false; } else { ItemStack itemstack = GemcutterRecipes.smelting().getSmeltingResult(this.gemcutterItemStacks[0], this.gemcutterItemStacks[3]); if (itemstack == null) return false; if (this.gemcutterItemStacks[2] == null) return true; if (!this.gemcutterItemStacks[2].isItemEqual(itemstack)) return false; int result = gemcutterItemStacks[2].stackSize + itemstack.stackSize; return (result <= getInventoryStackLimit() && result <= itemstack.getMaxStackSize()); } } smeltItem: The last thing i have changed is the getSmeltingItemResult: public ItemStack getSmeltingResult(ItemStack item, ItemStack item2) { if (item == null || item2 == null) { return null; } ItemStack ret = (ItemStack)gemcutterSmeltingList.get(Arrays.asList(item.itemID, item.getItemDamage(), item2.itemID, item2.getItemDamage())); if (ret != null) { return ret; } return (ItemStack)gemcutterList.get(Integer.valueOf(item.itemID)); } I hope you can help me to get this addGemcutterRecipe working. Also i would like to ask are the changes i made good or almost good or not good at all. Thanks for your time and effort
  10. Okay, just a few clarifications : 1. Do i alter any base classes? I don't want to so if yes then how can i do this without altering them. 2. Do i make a custom World-ChunkManager? If yes do i just use everything like in WorldChunkManager except the array list like you mentioned : 3. What do i do in this bit: public void registerWorldChunkManager() { this.worldChunkMgr = new WorldChunkManager(); // Do i change that to WorldChunkManagerCustom() // without anything within the brackets? this.dimensionId = mod_Ores.DimensionSoulForest; } 4. (and last) Is there anything i forgot? I have tried some things out and i have gotten to this (to work, without altering any base classes): public void registerWorldChunkManager() { GameRegistry.removeBiome(BiomeGenBase.beach); GameRegistry.removeBiome(BiomeGenBase.desert); GameRegistry.removeBiome(BiomeGenBase.desertHills); GameRegistry.removeBiome(BiomeGenBase.extremeHills); GameRegistry.removeBiome(BiomeGenBase.extremeHillsEdge); GameRegistry.removeBiome(BiomeGenBase.forest); GameRegistry.removeBiome(BiomeGenBase.forestHills); GameRegistry.removeBiome(BiomeGenBase.frozenOcean); GameRegistry.removeBiome(BiomeGenBase.frozenRiver); GameRegistry.removeBiome(BiomeGenBase.hell); GameRegistry.removeBiome(BiomeGenBase.iceMountains); GameRegistry.removeBiome(BiomeGenBase.icePlains); GameRegistry.removeBiome(BiomeGenBase.jungle); GameRegistry.removeBiome(BiomeGenBase.jungleHills); GameRegistry.removeBiome(BiomeGenBase.mushroomIsland); GameRegistry.removeBiome(BiomeGenBase.mushroomIslandShore); GameRegistry.removeBiome(BiomeGenBase.ocean); GameRegistry.removeBiome(BiomeGenBase.plains); GameRegistry.removeBiome(BiomeGenBase.river); GameRegistry.removeBiome(BiomeGenBase.sky); GameRegistry.removeBiome(BiomeGenBase.swampland); GameRegistry.removeBiome(BiomeGenBase.taiga); GameRegistry.removeBiome(BiomeGenBase.taigaHills); GameRegistry.addBiome(mod_Ores.SoulForest); GameRegistry.addBiome(mod_Ores.FrostCaves); this.worldChunkMgr = new WorldChunkManager(worldObj); this.dimensionId = mod_Ores.DimensionSoulForest; } It now generates overworld biomes which is cool ofcourse, now i am just trying to find a way on how to add my biomes to the list and remove the rest. So it still generates some oceans and rivers in my dimension somehow and more importantly it spawns my biomes in the overworld, how do i change that?
  11. I still get this error and now i have changed everything back to normal, didn't work..... So i don't know what to do next? anyone know what this error can be caused by?
  12. I would love to get this working, basically you're saying that i should add that array to my WorldProvider and after that i will have to use GameRegistry also inside my WorldProvider to remove all but my biomes ? How do i add them to this list? also with gameRegistry or? please help me i would love to get this working as i have been working on this for a couple of weeks now.
  13. Hi all, I am working on my mod which adds a new dimension that generates just like the nether but with all custom blocks and such. Now that i had that all working i wanted to go with my custom WorldChunkManager called WorldChunkManagerMarona and start making it so that i can get more biomes to generate in my dimension. What i did: - Made the following classes : (all classes from genlayer), WorldChunkManagerMarona, TheBiomeDeco (BiomeDecorator), BiomeGenBaseMarona, BiomeCacheBlock, BiomeCache, WorldTypeMarona, WorldTypeEventMarona. Changed my chunkprovider and all my biomes so that tey use BiomeGenBaseMarona instead of BiomeGenBase. I also have this custom Entity + model + renderer and i am not sure if that has anything to do with the Exception Ticking World cause when i look at the error where it points me to i see : public void tick() { //There is a lot more in this but i left it out this.updateTimeLightAndEntities(); } This is that method: public void updateTimeLightAndEntities() { this.theProfiler.startSection("levels"); int i; Integer[] ids = DimensionManager.getIDs(this.tickCounter % 200 == 0); for (int x = 0; x < ids.length; x++) { int id = ids[x]; long j = System.nanoTime(); if (id == 0 || this.getAllowNether()) { WorldServer worldserver = DimensionManager.getWorld(id); this.theProfiler.startSection(worldserver.getWorldInfo().getWorldName()); this.theProfiler.startSection("pools"); worldserver.getWorldVec3Pool().clear(); this.theProfiler.endSection(); if (this.tickCounter % 20 == 0) { this.theProfiler.startSection("timeSync"); this.serverConfigManager.sendPacketToAllPlayersInDimension(new Packet4UpdateTime(worldserver.getTotalWorldTime(), worldserver.getWorldTime()), worldserver.provider.dimensionId); this.theProfiler.endSection(); } this.theProfiler.startSection("tick"); FMLCommonHandler.instance().onPreWorldTick(worldserver); CrashReport crashreport; try { worldserver.tick(); } catch (Throwable throwable) // This is where it throws the "Exception" { crashreport = CrashReport.makeCrashReport(throwable, "Exception ticking world"); worldserver.addWorldInfoToCrashReport(crashreport); throw new ReportedException(crashreport); } //There is more below but as it doesn't even reach that far i didn't paste it in } } } Crash report: If you want any looks inside any of these many classes please tell me which ones you need. I'll include my WorldChunkManager as it is mostly the "base class" of the dimension/biome thing. I hope someone reads this who knows how to get the mutliple biomes in my dimension working.
  14. The solution to your question is rather simple, create an item having a texture and use that item to represent the achievement using it's texture as the achievement icon.
  15. I am not sure, but my food works fine all i do is // My food public static Item BlueberryMuffin; @Init public void load(FMLInitializationEvent ev) { //Notice that i used new ItemFood not ItemBlueBerryMuffin or whatever, i don't have a class for such because it's simply not needed. BlueberryMuffin = (new ItemFood(1150,3,4F,false).setUnlocalizedName("Blueberry_muffin")); ModLoader.addName(BlueberryMuffin,"Blueberry Muffin"); // Recipe : GameRegistry.addRecipe(new ItemStack(this.BlueberryMuffin, 2), new Object[] { "WWW", "YBY", "SEM", 'W', Item.wheat , 'Y', this.BlueberryBushel, 'B', Item.bowlEmpty , 'S', Item.sugar , 'E', Item.egg , 'M', Item.bucketMilk //Crafting Line }); } I hope it helped
  16. Yes, currently i haven't figured out how to do this without altering BiomeGenBase and BiomeDecorator and such... I would be really happy if there are people who know how to alter this, as then i think i'm pretty close to getting more biomes to spawn.
  17. Hi there, i am currently also working on a dimension mod and i think i've done some cool things myself, now i have got some things working and others i'm also still strugling with. To answer one of your questions the blocks to use to generate grass and dirt in your dimension is being done from biomeGenBase so you would declare your topBlock and fillerBlock inside the biome that you want to generate. Next thing you have to do is go into your ChunkProvider (the custom one) and set the byte b1 = biomegenbase.topBlock, and byte b2 = biomegenbase.fillerBlock. and then ofcourse wherever you use the b1 and b2 inside the for loops change that to the same. This is what i have inside my ChunkProvider: (just cut it short for you) // within replaceBlocksForBiome you will have a start of the for loop for (int k = 0; k < 16; ++k) { for (int l = 0; l <16; ++l) { BiomeGenBase biomegenbase = biomesForGeneration2[l + k * 16]; boolean flag = this.lateriteGrassNoise[k + l * 16] + this.soulRNG.nextDouble() * 0.2D > 0.0D; boolean flag1 = this.porphyryNoise[k + l * 16] + this.soulRNG.nextDouble() * 0.2D > 0.0D; int i1 = (int)this.porphyryExclusivityNoise[k + l * 16] / 3.0D + 3.0D + this.soulRNG.nextDouble() * 0.2D > 0.0D; int 1j = -1; byte b1 = biomegenbase.topblock; byte b2 = biomegenbase.fillerblock; for (int k1 = 127; k1 >= 0; --k1) { int l1 = (l * 16 + k) * 128 + k1; and then further inside the loops you get b1 = biomegenbase.topblock; b2 = biomegenbase.fillerblock; } } } I hope you get it working like i did, also i wouldn't know about the id's i'm not really working with metadata's for my custom blocks for the moment. So what i'm currently working on is how to get it so that i can spawn multiple biomes within my world and how to spawn them without using biomeGenBase and theBiomeDecorater, for now i am not using those and my world is generating fine. just need a lot of work i guess... when i start changing the chunkprovider biomegenbase to biomegenbasemarona (my custom biomegenbase) it starts giving errors and such, do you know more about that??
  18. That's a nice thought. Also Minemeister01 you can "thank" people for their answers when you helped them by clicking under the comment saying thanks. And its not a problem i made that mistake a while ago aswell.
  19. Before i say anything i want to thank you for the detailed reply, i have not much time to look in to it anywhere soon so i will go look at the tileentity a lot closer this weekend, i will let you know more when i run into some serious issues. For now i think i have enough to start my search, you will see another reply from me once i'm out of ideas
  20. Well, nothing happens. I open the gui and i can put items in the slots. So i would like it to have these 2 inputs to work as 1 normally would. so i put in my custom fuel and it starts "cooking". Then after a few seconds the uncut and 1 polisher towerl will be removed.
  21. Hi all I'm currently working on my Custom Furnace which actually is named Gemcutter and will be used to cut gems using a uncut gem and a polisher towel as input and a polisher bucket as a fuel. Now i have been looking thourgh the code and looking at some other threads about this thing. But i can't get it work just yet. My gui and container both work. So i hope you guys can help out a little, these are my files: TileEntityGemcutter : http://pastebin.com/0vE6PKv6 GemcutterRecipes : http://pastebin.com/eNyww5p1 Thanks for your time.
  22. Could any of you help me?
  23. Hi there, Reika you helped a lot in explaining this, thanks for that! gave you a couple of + So i'm also working on a 2 input furnace, but i still didn't get it to work yet, especially the part with addRecipe and such. The container and GUI work fine. These are the tileentity and recipe files: TileEntityGemcutter GemcutterRecipes I am probably doing somethings completely wrong. Appreciate your help!
  24. Hi guys, i tried adding this folding plugin for eclipse called Coffee Bytes, it worked fine earlier today, but now i tried opening my project again and suddenly i get this error log: I hope anyone knows how to fix this.. Please help
  25. You should keep your blockID under 256

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.