geforkt von Mirrors/FastAsyncWorldEdit
428f8e201d
* Perform part of the move of //fast to //perf (#1377)
This re-adds a deprecated `//fast` and moves the current logic to
`//perf`. Later `//perf` will have its syntax reworked, when Piston
finally supports sub-commands properly!
* Names via Translation (#1268)
* Deprecate BiomeRegistry, etc.
* Update some libraries, e.g. text
* Move to new translation renderer
* Revert "Deprecate BiomeRegistry, etc."
This reverts commit 59a5d6c92aec52739a8dc68ac3d23898af7593dd.
This was not a good idea for potential mod shenanigans.
* Move BiomeData#getName to BiomeRegistry, use i18n
* Use getRichName instead of getName
* Implement getRichName for NullBiomeRegistry
* Add getRichName for blocks
* Relocate net.kyori.minecraft
* Update adapters for getRichBlockName
* Add getRichName for items
* Update adapters for getRichItemName
* Update adapters JAR for merge
(cherry picked from commit cfd26253b6fb59ff6c65a0157a6780be7db4ea5a)
* Follow-up fixes for 92f8776796
* Don't send deprecation warning and improve info message
* Fix click command for perf box
(cherry picked from commit 7ee60060c31df2f8b41212b430a0875312189339)
* update R3 adapter§
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Aurora <21148213+aurorasmiles@users.noreply.github.com>
Co-authored-by: Aurora <aurora@relanet.eu>
77 Zeilen
2.8 KiB
Java
77 Zeilen
2.8 KiB
Java
/*
|
|
* WorldEdit, a Minecraft world manipulation toolkit
|
|
* Copyright (C) sk89q <http://www.sk89q.com>
|
|
* Copyright (C) WorldEdit team and contributors
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
package com.sk89q.worldedit.forge;
|
|
|
|
import com.sk89q.worldedit.registry.state.Property;
|
|
import com.sk89q.worldedit.util.formatting.text.Component;
|
|
import com.sk89q.worldedit.util.formatting.text.TranslatableComponent;
|
|
import com.sk89q.worldedit.world.block.BlockState;
|
|
import com.sk89q.worldedit.world.block.BlockType;
|
|
import com.sk89q.worldedit.world.registry.BlockMaterial;
|
|
import com.sk89q.worldedit.world.registry.BundledBlockRegistry;
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.block.material.Material;
|
|
import net.minecraft.state.IProperty;
|
|
|
|
import java.util.Collection;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
import java.util.OptionalInt;
|
|
import java.util.TreeMap;
|
|
|
|
public class ForgeBlockRegistry extends BundledBlockRegistry {
|
|
|
|
private Map<Material, ForgeBlockMaterial> materialMap = new HashMap<>();
|
|
|
|
@Override
|
|
public Component getRichName(BlockType blockType) {
|
|
return TranslatableComponent.of(ForgeAdapter.adapt(blockType).getTranslationKey());
|
|
}
|
|
|
|
@Override
|
|
public BlockMaterial getMaterial(BlockType blockType) {
|
|
Block block = ForgeAdapter.adapt(blockType);
|
|
if (block == null) {
|
|
return super.getMaterial(blockType);
|
|
}
|
|
return materialMap.computeIfAbsent(block.getDefaultState().getMaterial(),
|
|
m -> new ForgeBlockMaterial(m, super.getMaterial(blockType)));
|
|
}
|
|
|
|
@Override
|
|
public Map<String, ? extends Property<?>> getProperties(BlockType blockType) {
|
|
Block block = ForgeAdapter.adapt(blockType);
|
|
Map<String, Property<?>> map = new TreeMap<>();
|
|
Collection<IProperty<?>> propertyKeys = block
|
|
.getDefaultState()
|
|
.getProperties();
|
|
for (IProperty<?> key : propertyKeys) {
|
|
map.put(key.getName(), ForgeAdapter.adaptProperty(key));
|
|
}
|
|
return map;
|
|
}
|
|
|
|
@Override
|
|
public OptionalInt getInternalBlockStateId(BlockState state) {
|
|
net.minecraft.block.BlockState equivalent = ForgeAdapter.adapt(state);
|
|
return OptionalInt.of(Block.getStateId(equivalent));
|
|
}
|
|
}
|