I have an event that adds a Block to a HashSet when right-clicking with a compass. However, I want to add all blocks of the same type connected to the first block to the set. How should I do this to prevent lag?
Iterate over all connected blocks of same type
1.3k Views Asked by Aly At
1
There are 1 best solutions below
Related Questions in JAVA
- I need the BIRT.war that is compatible with Java 17 and Tomcat 10
- Creating global Class holder
- No method found for class java.lang.String in Kafka
- Issue edit a jtable with a pictures
- getting error when trying to launch kotlin jar file that use supabase "java.lang.NoClassDefFoundError"
- Does the && (logical AND) operator have a higher precedence than || (logical OR) operator in Java?
- Mixed color rendering in a JTable
- HTTPS configuration in Spring Boot, server returning timeout
- How to use Layout to create textfields which dont increase in size?
- Function for making the code wait in javafx
- How to create beans of the same class for multiple template parameters in Spring
- How could you print a specific String from an array with the values of an array from a double array on the same line, using iteration to print all?
- org.telegram.telegrambots.meta.exceptions.TelegramApiException: Bot token and username can't be empty
- Accessing Secret Variables in Classic Pipelines through Java app in Azure DevOps
- Postgres && statement Error in Mybatis Mapper?
Related Questions in ITERATOR
- Why do I get weird class method redefinition errors when I compile with Visual C++ 2022?
- How to pass once the full dataset to one worker and specific subsets to the other workers in foreach loop using isplit()
- Why can a Range be collected into a HashMap or Vec in Rust?
- Convert items in Vec that match an if-condition to NaN
- in Lua, how to write an iterator for a binary tree?
- How to find the index of an element in a Vec of Results, stopping if an Err is found?
- implementin filter for vector of custom struct in RUST
- What is the problem when using a custom allocator in c++, when assigning the container to an iterator?
- Passing Iterator of a class to another list of class in C++
- How to pass iterator to lambda function for my target element?
- How can I transform a vector of strings in Rust with map and then join the strings with flat_map in one line?
- Creating std subrange from boost archive iterators
- Yielding even numbers in a reverse iterator
- Iterate mediator in now working sequentially with sequential="true"
- How to get average value of a sequence using iterator in Pandas?
Related Questions in MINECRAFT
- how to add the button onto the furnace GUI in minecraft
- Minecraft Mod not adding content
- Cannot get content from HashMap in Java/Bukkit
- I am working on a fabric mod and I have issues with the ClientOnInitialize method
- how to add the button onto the mc mod without errors?
- Plugin I made reports java.lang.NoClassDefFoundError
- Minecraft Session ID
- Why my imports in minecraft code for mod on Forge don't work?
- Minecraft Bedrock Scripting API Error world.beforeEvents.chatSend.subscribe
- A problem occurred configuring root project(minecraft mod)
- Resourcepack loads textures but not models
- Nested mappings are not allowed in compact mappings - Working on .yml for mcmmo
- How to update victim's scoreboard inside onPlayerDeath in below piece of code
- MinecraftClient.getInstance().player returns null
- Minecraft Forge GUI item movement Issue
Related Questions in BUKKIT
- Cannot get content from HashMap in Java/Bukkit
- How to update victim's scoreboard inside onPlayerDeath in below piece of code
- java.lang.IllegalStateException: Asynchronous player kick
- How to prohibit so that the player cannot put an item in any chests
- Question about vectors (player velocity) and Spigot API
- Bukkit create 2 Instances of the same item
- BukkitScheduler doesn't repeat the task correctly
- Spigot - Creating, writing, and reading YAML files in Command class
- How to save a scoreboard in a Minecraft Bukkit 1.20.4 Plugin
- Tracking items dropped to the ground
- Bukkit / Java : Problem with recursive method
- Create brand new weapon with BlockBench and a MineCraft Plugin API
- Is it possible to programatically add plugins to a Bukkit server properly?
- Minecraft 1.18.2 spigot economy plugin coding
- How to get every entity between two locations
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
First of all, you make a
BlockFacearray which represents all the 6 sides of blocks. (Front, back, left, right, above, and underneath).Next, you make a private method that goes through all these blockfaces and checks if the block at that side if of the same type and adds these blocks to a list of blocks that are yet to be checked. We will use this list later.
In this method,
resultsis the Set of all Blocks that are connected to the block that was clicked with the compass,todois the list of blocks that are yet to be checked the same way.Finally you use the following method to go through all the blocks that are yet to be checked and call the private method above for all these blocks. This is the most efficient way I could come up with.
Note that you can not run these methods on an aSync thread, because this can lead to a
CurrentModificationExceptionand this can cause strange behavior in the game itself, depending on what you use it for.