MultiPartBuilder.create
returns an Instance not a globa Object (improves thread safety, fixes paulevsGitch/BetterEnd#316)
This commit is contained in:
parent
06df39445c
commit
a52b18ba9b
1 changed files with 13 additions and 9 deletions
|
@ -1,6 +1,11 @@
|
|||
package ru.bclib.client.models;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import com.mojang.math.Transformation;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
|
@ -17,10 +22,6 @@ import net.minecraft.world.level.block.Block;
|
|||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.StateDefinition;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Function;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class ModelsHelper {
|
||||
public static BlockModel fromPattern(Optional<String> pattern) {
|
||||
|
@ -88,18 +89,21 @@ public class ModelsHelper {
|
|||
|
||||
public static class MultiPartBuilder {
|
||||
|
||||
private final static MultiPartBuilder BUILDER = new MultiPartBuilder();
|
||||
//private final static MultiPartBuilder BUILDER = new MultiPartBuilder();
|
||||
|
||||
public static MultiPartBuilder create(StateDefinition<Block, BlockState> stateDefinition) {
|
||||
BUILDER.stateDefinition = stateDefinition;
|
||||
BUILDER.modelParts.clear();
|
||||
return BUILDER;
|
||||
// BUILDER.stateDefinition = stateDefinition;
|
||||
//BUILDER.modelParts.clear();
|
||||
// return BUILDER;
|
||||
return new MultiPartBuilder(stateDefinition);
|
||||
}
|
||||
|
||||
private final List<ModelPart> modelParts = Lists.newArrayList();
|
||||
private StateDefinition<Block, BlockState> stateDefinition;
|
||||
|
||||
private MultiPartBuilder() {}
|
||||
private MultiPartBuilder(StateDefinition<Block, BlockState> stateDefinition) {
|
||||
this.stateDefinition = stateDefinition;
|
||||
}
|
||||
|
||||
public ModelPart part(ResourceLocation modelId) {
|
||||
ModelPart part = new ModelPart(modelId);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue