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


  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral

About CriscoMods

  • Rank
    Tree Puncher

Recent Profile Visitors

470 profile views
  1. Good Idea. Works Ended up doing this if (this.InitializeBlocks) { if (this.isMaster) {this.setMaster(); } this.lazyQuery(); this.updateMasterBlockList(); } IntializeBlocks is set to true upon initialization, but to prevent this piece of code from running in a tick when the block is placed for the first time I set it to false . The flag is also set false in function updateMasterBlockList @Override public void onBlockPlacedBy(World worldIn, BlockPos pos, BlockState state, LivingEntity placer, ItemStack stack) { EngineeringBlockTileEntity thisBlock = ((Enginee
  2. Okay so I've simplified my connections a great deal. I've Overrided neighborChange. As blocks are added I pass a "masterEntity" to each block so that everyone is capable of updating this multiBlock blockCount to the masterEntity. Instead of having a list of tileEntities I opted for a list of BlockPos like you mentioned. As I'm writing this I realize I can pass a blockCount to each block instead meaning that I could maybe remove the blockPos list (still not sure what I will do). Then I can use the NBT system to store the block count. @Override public void onNeighborChange(BlockState state,
  3. //saving all tile entities List<CompoundNBT> connectedEntities = new ArrayList<>(); CompoundNBT entity; for (int entityInList = 0; entityInList <= this.masterEntity.connectedEntities.size();entityInList++) { entity = new CompoundNBT(); entity.putInt("x",this.masterEntity.connectedEntities.get(entityInList).pos.getX()); entity.putInt("y",this.masterEntity.connectedEntities.get(entityInList).pos.getY()); entity.putInt("z",this.masterEntity.connectedEntities.get(entityInList).pos.getZ()); connectedEntities.add(entity); } compound.put("connectedEntities", (INBT)
  4. Creating your own recipe type involves some amount of code. Not too much. I've been able to scrape up a lot of stuff off the web and figure out how to create multiple recipe types. Big thanks to turtywurty and his source code here https://github.com/DaRealTurtyWurty/1.15-Tut-Mod for your first machine you'll need to create 4 new classes for the custom recipe type. [1] IMachineNameRecipe.java [2] MachienNameRecipe.java [3] MachineNameSerializer.java and the most important [4] RecipeSerializerInit.java I say this is the most im
  5. oh... makes a bunch of sense. I'll do better next time I post thanks
  6. new to the site. Posting the image as text was easier to me. I see the full image on my side. Do you not see it as an image? Also do you know what Illegal forge reposting is? I accidentally shared a link to a site doing it on here and had no idea it was bad.
  7. FIGURED IT OUT Apparently you have to override the canHarvestBlock function and have it return true. After doing this I was able to harvest the blocks I was breaking.
  8. I'm trying to create my own custom tool class. I'm trying to avoid Registering objects as a pickaxe item, because I want to use the effective_on feature to be able to create a pickaxe that breaks dirt, cobblestone, wood, etc.. So I created my own class, Sledge Hammer, that extends ToolItem Then I create my tool Item by registering it as a new Instance of the class I just created. \ I pass an IItemTier, SLEDGE_HAMMER, which has a harvest level of 3. When I test this, the item shows up as it should, but when I
  9. There is actually a read function it just isn't named. read(@Nonnull CompoundNBT nbt) → func_230337_a_(BlockState p_230337_1_, CompoundNBT nbt) When you override the function let your IDE complete it for you. It will define the BlockState is an input that you will have to use. I was able to find this list of functions through this website. You will need to know what they are named when you start creating your GUIs. [removed link to website with illegal forge rehosting - diesieben07]
  • Create New...

Important Information

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