Jump to content

Beethoven92

Members
  • Posts

    687
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Beethoven92

  1. I think you may want to take a look at SpecialRecipe class and its sub classes, to see how vanilla handles things like duplicating banners, cloning written books etc...
  2. I don't have time to read through all your code but: 1) When you are having no-texture found issues it means that something in your jsons or textures files is not in the place where the game expects it to be, or the files are not correctly written. The game tells you where it tried to find the missing file in the logs. 2) Look at the properties of the vanilla beacon block. If you are replicating the vanilla block you most likely want to copy its properties (also remember to assign it to the correct render layer in your client setup) 3) Vanilla containers do a check to see wheter the player is in proximity in order to be able to open the container. That check i hardcoded for the vanilla block, in that case Blocks.BEACON. You would need to create a custom container extending the beacon container and override the method that does the proximity check to accept your custom beacon block
  3. You can register features like you did it before, not sure where you are having troubles. Show the code you tried so far please
  4. Events for your mod are fired on two main buses, the mod bus and the forge bus. BiomeLoadingEvent is fired in the latter. Make sure you are subscribing your event handler to the correct event bus
  5. You @Override drawGuiContainerForegroundLayer but you make it do nothing (its usually the place where you would want to draw the title of your screen). Also your image is not blitted correctly, see the cut at the bottom?
  6. That would be the purpose of the TileEntityRender...just retrieve the data stored in the tile entity and if you need it you can use it for custom rendering...or is that not what you were asking?
  7. I think you can open you GUI with Minecraft#displayGuiScreen
  8. You just created a new method called enqueueWork, what diesieben07 meant is to use FMLClientSetupEvent#enqueueWork, take a look inside the FMLClientSetupEvent class and its super classes
  9. I think this has something to do with Tags...you should add your door to the WOODEN_DOORS block tag
  10. You have to register a new property for your item, and make use of it in your item json (as you already saw in the trident json), you can find everything you need in orded to do that in the ItemModelsProperties class
  11. You can just specify the item properties when you create the Item, that way you don't need to hardcode them into your custom item class constructor (which reduces flexibility)
  12. You would need to implement your own IRecipe, its IRecipeSerializer to write/read your recipes and define a new IRecipeType. Notice that you you need to register your recipe serializer, this can be done through registry events or a DeferredRegister<IRecipeSerializer<?>>. You can see an example on how vanilla implements recipes and seralizers by looking at the AbtractCookingRecipe and its subclasses, and the CookingRecipeSerializer class. There should be almost everything you would need in order to implement your custom recipe. Other interesting classes to look at are the SpecialRecipe class and its subclasses
  13. I guess you would have to make your own custom recipe type for this..could you describe how your custom crafting system would work?
  14. You can subscribe to the PlayerEvent.HarvestCheck and check for both the block that is about to break and the tool your player has in hand. If you decide that a specific tool should not be able to harvest that specific block then the success field of the event should be set to false
  15. If that mod is causing the issue, yes, removing it will stop the issue
  16. Perhaps you could handle the PlayerEvent.HarvestCheck, check if the block you are about to break is a log block (there should be a block tag for logs) and check if the item you are holding is an axe tool
  17. Its definitely possible to have an item requiring the player to hold right click for some time in order to use it. Think for example the bow, or foods. You would need to override the method getUseDuration and return the value you want. Then you would need to override the onItemUseFinish method to handle the logic of your item. As for the logic itself, if you want to stun entities in a certain radius from the player you could just use World#getEntitiesWithinAABB and do whatever you want with the Entities that you get from the method
  18. My bad, i did not even realize..i see you are working with 1.14.4, which, as you may not have noticed, is not supported anymore on this forum. I suggest you update at least to 1.15 if you want to receive support
  19. I am glad you solved the issue by yourself. You may want to share your solution, so other people seeing this post in the future may find it helpful
  20. Mmmm it seems to me that instead of messing with replacement of the vanilla air block, you could create your own custom "not oxygenized air" block (assuming vanilla air is the oxigenized one), and make that block generate in pockets in the world (replaceing air blocks), or whatever way you want it to generate in the world. I don not know if that solution is suitable for your needs though
  21. Mmmm not sure where is the problem. you have to go inside the folder where your gradle is, open the powershell and run the command above
  22. How will those Oxygen mechanic reflect on gameplay?
  23. GlobalEntityTypeAttributes is a class, take a look inside it. Also: @Override public IPacket<?> createSpawnPacket() { return null; } This should not return null
  24. You have to put it inside the GlobalEntityTypeAttributes
  25. Have you read what the logs say? If the message is the same as the other people above then solutions were already given. If the error message is not the same as above, i think you should make your own topic and provide debug logs
×
×
  • Create New...

Important Information

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