Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

TheGreyGhost

Members
  • Content Count

    3280
  • Joined

  • Last visited

  • Days Won

    8

TheGreyGhost last won the day on December 19 2020

TheGreyGhost had the most liked content!

Community Reputation

820 Excellent

2 Followers

About TheGreyGhost

  • Rank
    Reality Controller

Converted

  • Gender
    Undisclosed
  • Personal Text
    I'm less new than I used to be.

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Howdy Perhaps you mean like the campfire? If so, look at the vanilla CampfireTileEntityRenderer code -TGG
  2. That is true, but if DrachenBauer wants this then (s)he may need to use an ItemStackTileEntityRenderer. mbe81 uses item json for wavefront rendering (no TER), eg mbe81b_boomerang_registry_name.json { "loader": "forge:obj", "model" : "minecraftbyexample:models/entity/mbe81b_boomerang.obj", "flip-v": true, "detectCullableFaces": false, "diffuseLighting": true, "ambientToFullbright": false, "materialLibraryOverride": "minecraftbyexample:models/entity/mbe81b_boomerang.mtl", "__comment": "flip-v may be required if your texture appears mirrored. S
  3. Do you mean the server eula.txt? Are you looking in the right place?
  4. Howdy There are some examples of Wavefront in in this tutorial project see mbe21 (tileentity) and mbe81 (entity and item) https://github.com/TheGreyGhost/MinecraftByExample -TGG mbe21: mbe81:
  5. Howdy You might find these working examples useful https://github.com/TheGreyGhost/MinecraftByExample/tree/master/src/main/java/minecraftbyexample/mbe81_entity_projectile -TGG
  6. Hi public class RangePlacement extends SimplePlacement<TopSolidRangeConfig> { public RangePlacement(Codec<TopSolidRangeConfig> codec) { super(codec); } public Stream<BlockPos> getPositions(Random random, TopSolidRangeConfig config, BlockPos pos) { int i = pos.getX(); int j = pos.getZ(); int k = random.nextInt(config.maximum - config.topOffset) + config.bottomOffset; return Stream.of(new BlockPos(i, k, j)); } } Beats me why they found it necessary to have both config.maximum and config.topOffset in there. Probably it me
  7. Hi IInventory is the vanilla implementation used for containers IItemHandler is a Forge extension You can use either one, they will both work fine if you implement them correctly: The vanilla IInventory has some extra methods which are used by the slots to communicate with the container, but you can nearly always safely ignore those. IItemHandler is more flexible; you can (for example) use it to implement an inventory on an item. In some ways it is also stylistically preferable ("composition instead of inheritance"). As Kiou said it is more "automation friendl
  8. Howdy Forge Energy is stored using a Capability There are some working examples of Capability in this tutorial project: https://github.com/TheGreyGhost/MinecraftByExample/tree/master/src/main/java/minecraftbyexample/mbe65_capability and https://github.com/TheGreyGhost/MinecraftByExample/tree/master/src/main/java/minecraftbyexample/mbe32_inventory_item -TGG
  9. Hi You might find this tutorial example useful when trying to understand how the vanilla inventories work https://github.com/TheGreyGhost/MinecraftByExample/tree/master/src/main/java/minecraftbyexample/mbe30_inventory_basic It uses IInventory instead of IItemHandlers but the rest is directly relevant. -TGG
  10. Howdy You might find this useful https://github.com/TheGreyGhost/MinecraftByExample See MBE30, MBE31, MB32 These are GUI which are based around containers but the basic principles are still the same even if you don't have a container. It should help you get a start on understanding how the vanilla GUI work. Cheers TGG
  11. Howdy GL11.glEnable(GL11.GL_MAX_LIGHTS) and all those don't work any more, they're incorporated into your RenderTypeBuffer. The reason is that the drawing is no longer done in-line, it is accumulated into the appropriate buffer (eg transparent blocks, entities, lines, etc) and each buffer is then drawn in one shot. If you want to mess with the rendering settings, you need to choose a different RenderTypeBuffer or create your own custom. Some more information here: https://gist.github.com/williewillus/30d7e3f775fe93c503bddf054ef3f93e If you need every fac
  12. From memory; All the packets that your client could send are named CXXXXXPacket eg CInputPacket IServerPlayNetHandler also lists the interesting ones (that is the class on the server that processes the incoming packets). -TGG
  13. Hello How I find the new name when it has changed version (eg from 1.12 to 1.16): 1) Find the code in 1.12 which calls .isMaterialInBB(); for example EntityLlamaSpit:onUpdate....-> if (!this.world.isMaterialInBB(this.getEntityBoundingBox(), Material.AIR)) { this.setDead(); } else if (this.isInWater()) { this.setDead(); } 2) Look at EntityLlamaSpit in 1.16.4: (LlamaSpitEntity::tick ) if (this.world.func_234853_a_(this.getBoundingBox()).noneMatch(AbstractBlock.AbstractBlockState::isAir)) { this.remove(); } else if (this.isInWat
  14. I'm on the same line of thought as DieSieben - or do you mean that your client-side-only mod sends vanilla messages (or "custom" messages that masquerade as vanilla messages)? Could you implement your desired functionality using vanilla packets only? The use-cases you described sound like it might be possible (eg changes to controls, placing blocks, etc) -TGG
×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.