Updates
This commit is contained in:
parent
624c1f1de2
commit
2333e32109
@ -11,15 +11,15 @@ You can contribute to this project on GitHub.
|
||||
It uses Jekyll to turn Markdown into a website.
|
||||
|
||||
Book written by rubenwardy and contributers.
|
||||
License: CC-BY-NC-SA 3.0
|
||||
License: CC-BY-SA 3.0
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
||||
You don't need to run jekyll, you can just edit and create files in
|
||||
chapters. In fact, you don't even need to do markdown, send me a word document
|
||||
and I can convert it into the correct formatting. It is the writing which is the hard
|
||||
bit, not the formatting.
|
||||
and I can convert it into the correct formatting.
|
||||
It is the writing which is the hard bit, not the formatting.
|
||||
|
||||
Running as a Website
|
||||
--------------------
|
||||
|
@ -1,5 +1,4 @@
|
||||
name: Minetest Tutorial and Documentation
|
||||
description: Simple and easy to understand tutorial book
|
||||
author: rubenwardy and contributors
|
||||
permalink: pretty
|
||||
absolute_url: http://rubenwardy.github.io/minetest_doc
|
||||
|
@ -8,8 +8,11 @@
|
||||
</head>
|
||||
<body>
|
||||
<ul id="navbar">
|
||||
<li><a href="{{ page.root }}" class="title">Minetest Tutorials</a></li>
|
||||
<li><a href="{{ page.root }}folders">1 - Folder Structure</a></li>
|
||||
<li><a href="{{ page.root }}index.html" class="title">Minetest Tutorials</a></li>
|
||||
<li><a href="{{ page.root }}chapters/folders.html">1 - Folder Structure</a></li>
|
||||
<li><a href="{{ page.root }}chapters/nodes_items_crafting.html">2 - Nodes, Items and Crafting</a></li>
|
||||
<li><hr></li>
|
||||
<li><a href="{{ page.root }}book_index.html">Index</a></li>
|
||||
</ul>
|
||||
<div id="page">
|
||||
<h1>{{ page.title }}</h1>
|
||||
|
26
book_index.md
Normal file
26
book_index.md
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
title: Index
|
||||
permalink: book_index.html
|
||||
layout: default
|
||||
root: ../
|
||||
---
|
||||
|
||||
## C
|
||||
* Craft item
|
||||
* [Registering Nodes and Items]({{ page.root }}chapters/nodes_items_crafting.html#registering-a-craftitem)
|
||||
|
||||
## F
|
||||
* Food
|
||||
* [Registering Nodes and Items]({{ page.root }}chapters/nodes_items_crafting.html#foods)
|
||||
|
||||
## I
|
||||
* Item String
|
||||
* [Registering Nodes and Items]({{ page.root }}chapters/nodes_items_crafting.html#item-strings)
|
||||
|
||||
## N
|
||||
* Name
|
||||
* [Registering Nodes and Items]({{ page.root }}chapters/nodes_items_crafting.html#item-strings)
|
||||
* Nodes
|
||||
* [Registering Nodes and Items]({{ page.root }}chapters/nodes_items_crafting.html#registering-a-basic-node)
|
||||
* Node boxes
|
||||
* [Registering Nodes and Items]({{ page.root }}chapters/nodes_items_crafting.html#node-boxes)
|
@ -1,7 +1,6 @@
|
||||
---
|
||||
title: Folder Structure
|
||||
layout: default
|
||||
permalink: folders/index.html
|
||||
root: ../
|
||||
---
|
||||
|
||||
@ -11,16 +10,9 @@ Introduction
|
||||
In this chapter we will learn how the basic structure of a mod's folder.
|
||||
This is essential for creating mods.
|
||||
|
||||
### What you will need:
|
||||
* A plain text editor (eg: NotePad+, ConTEXT, or GEdit)
|
||||
* OR A Lua IDE such as Eclipse.
|
||||
* A copy of Minetest in the 0.4 series. (eg: 0.4.10)
|
||||
|
||||
### Contents
|
||||
* Mod Folders
|
||||
* Dependencies
|
||||
* Mod Packs
|
||||
* Dependencies
|
||||
* Registering a simple node
|
||||
|
||||
Mod Folders
|
||||
-----------
|
||||
@ -110,4 +102,3 @@ minetest.register_node("mymod:node",{
|
||||
Our mod has a name of "mymod". It has two files: init.lua and depends.txt.
|
||||
The script prints a message and then registers a node – which will be explained in the next chapter.
|
||||
The depends text file adds a dependency to the default mod, which is in minetest_game.
|
||||
|
||||
|
218
chapters/nodes_items_crafting.md
Normal file
218
chapters/nodes_items_crafting.md
Normal file
@ -0,0 +1,218 @@
|
||||
---
|
||||
title: Nodes, Items and Crafting
|
||||
layout: default
|
||||
root: ../
|
||||
---
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
In this chapter we will learn how to register a new node or craftitem,
|
||||
and create craft recipes.
|
||||
|
||||
* Item Names
|
||||
* Registering a Craftitem
|
||||
* Registering a Node
|
||||
* Drawtypes
|
||||
|
||||
Item Strings
|
||||
------------
|
||||
|
||||
Each item, whether that be a node, craftitem, tool or entity, has an item string.\\
|
||||
This is oftenly refered to as just name or registered name.
|
||||
A string in programming terms is a piece of text.
|
||||
|
||||
modname:itemname
|
||||
|
||||
The modname is the name of the folder your mod is in.
|
||||
You may call the itemname any thing you like, however it should be relevant to what the item is,
|
||||
and it can't be already registered.
|
||||
|
||||
### Overriding
|
||||
|
||||
Overriding allows you to:
|
||||
|
||||
* Create an item in another mod's namespace.
|
||||
* Override an existing item.
|
||||
|
||||
To override, you prefix the item string with a colon, ``:``.
|
||||
Declaring an item as ``:default:dirt`` will override the default:dirt in the default mod.
|
||||
|
||||
Textures
|
||||
--------
|
||||
|
||||
Normally textures have a resolution of 16x16, but they can be in the order of 2: 16, 32, 64, 128, etc.
|
||||
|
||||
Textures should be placed in textures/. Their name should match ``modname_itemname.png``.\\
|
||||
JPEGs are supported, but PNGs are recommended for non-realistic textures.
|
||||
|
||||
Registering a Craftitem
|
||||
-----------------------
|
||||
|
||||
Craftitems are the simplist item in Minetest. Craftitems cannot be placed in the world.
|
||||
They are used in recipes to create other items, or they can be used be the player, such as food.
|
||||
|
||||
{% highlight lua %}
|
||||
minetest.register_craftitem("mymod:diamond_fragments", {
|
||||
description = "Alien Diamond Fragments",
|
||||
inventory_image = "mymod_diamond_fragments.png"
|
||||
})
|
||||
{% endhighlight %}
|
||||
|
||||
Definitions are usually made up of an [item string](#item-strings) to identify the definition,
|
||||
and a definition table.
|
||||
|
||||
### Foods
|
||||
|
||||
Foods are items that cure health. To create a food item, you need to define the on_use property like this:
|
||||
|
||||
{% highlight lua %}
|
||||
minetest.register_craftitem("mymod:mudpie", {
|
||||
description = "Alien Mud Pie",
|
||||
inventory_image = "myfood_mudpie.png",
|
||||
on_use = minetest.item_eat(20)
|
||||
})
|
||||
{% endhighlight %}
|
||||
|
||||
The number supplied to the minetest.item_eat function is the number of hit points that are healed by this food.
|
||||
Two hit points make one heart, and because there are 10 hearts there are 20 hitpoints.
|
||||
Hitpoints don't have to be integers (whole numbers), they can be decimals.
|
||||
|
||||
|
||||
Registering a basic node
|
||||
------------------------
|
||||
|
||||
In Minetest, a node is an item that you can place.
|
||||
Most nodes are 1m x 1m x 1m cubes, however the shape doesn't
|
||||
have to be a cube - as we will explore later.
|
||||
|
||||
Let's get onto it. A node's definition table is very similar to a craftitem's
|
||||
definition table, however you need to set the textures for the faces of the cube.
|
||||
|
||||
{% highlight lua %}
|
||||
minetest.register_node("mymod:diamond", {
|
||||
description = "Alien Diamond",
|
||||
tiles = {"mymod_diamond.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3, stone=1}
|
||||
})
|
||||
{% endhighlight %}
|
||||
|
||||
Let's ignore ``groups`` for now, and take a look at the tiles.
|
||||
The ``tiles`` property is a table of texture names the node will use.
|
||||
When there is only one texture, this texture is used on every side.
|
||||
|
||||
What if you would like a different texture for each side?
|
||||
Well, you give a table of 6 texture names, in this order:\\
|
||||
up (+Y), down (-Y), right (+X), left (-X), back (+Z), front (-Z).
|
||||
(+Y, -Y, +X, -X, +Z, -Z)
|
||||
|
||||
Remember: +Y is upwards in Minetest, along with most video games.
|
||||
A plus direction means that it is facing positive co-ordinates,
|
||||
a negative direction means that it is facing negative co-ordinates.
|
||||
|
||||
{% highlight lua %}
|
||||
minetest.register_node("mymod:diamond", {
|
||||
description = "Alien Diamond",
|
||||
tiles = {
|
||||
"mymod_diamond_up.png",
|
||||
"mymod_diamond_down.png",
|
||||
"mymod_diamond_right.png",
|
||||
"mymod_diamond_left.png",
|
||||
"mymod_diamond_back.png",
|
||||
"mymod_diamond_front.png"
|
||||
},
|
||||
is_ground_content = true,
|
||||
groups = {cracky = 3},
|
||||
drop = "mymod:diamond_fragments"
|
||||
-- ^ Rather than dropping diamond, drop mymod:diamond_fragments
|
||||
})
|
||||
{% endhighlight %}
|
||||
|
||||
Crafting
|
||||
--------
|
||||
|
||||
There are several different types of crafting,
|
||||
identified by the ``type`` property.
|
||||
|
||||
* shaped - Ingredients must be in the correct position.
|
||||
* shapeless - It doesn't matter where the ingredients are,
|
||||
just that there is the right amount.
|
||||
* cooking - Recipes for the furnace to use.
|
||||
* tool_repair - Used to allow the repairing of tools.
|
||||
|
||||
Craft recipes do not use Item Strings.
|
||||
|
||||
### Shaped
|
||||
|
||||
Shaped recipes are the normal recipes - the ingredients have to be in the
|
||||
right place.
|
||||
For example, when you are making a pickaxe the ingredients have to be in the
|
||||
right place for it to work.
|
||||
|
||||
{% highlight lua %}
|
||||
minetest.register_craft({
|
||||
output = "mymod:diamond_chair",
|
||||
recipe = {
|
||||
{"mymod:diamond_fragments", "", ""},
|
||||
{"mymod:diamond_fragments", "mymod:diamond_fragments", ""},
|
||||
{"mymod:diamond_fragments", "mymod:diamond_fragments, ""}
|
||||
}
|
||||
})
|
||||
{% endhighlight %}
|
||||
|
||||
This is pretty self-explanatory. You don't need to define the type, as
|
||||
shaped crafts are default.
|
||||
|
||||
If you notice, there is a blank column at the far end.
|
||||
This means that the craft must always be exactly that.
|
||||
In most cases, such as the door recipe, you don't care if the ingredients
|
||||
are always in an exact place, you just want them correct relative to each
|
||||
other. In order to do this, delete any empty rows and columns.
|
||||
In the above case, their is an empty last column, which, when removed,
|
||||
allows the recipe to be crafted if it was all moved one place to the right.
|
||||
|
||||
{% highlight lua %}
|
||||
minetest.register_craft({
|
||||
output = "mymod:diamond_chair",
|
||||
recipe = {
|
||||
{"mymod:diamond_fragments", ""},
|
||||
{"mymod:diamond_fragments", "mymod:diamond_fragments",
|
||||
{"mymod:diamond_fragments", "mymod:diamond_fragments}
|
||||
}
|
||||
})
|
||||
{% endhighlight %}
|
||||
|
||||
(Explainations of more crafting types are coming soon)
|
||||
|
||||
Groups
|
||||
------
|
||||
|
||||
Items can be members of many groups, and groups may have many members.
|
||||
Groups are usually identified using ``group:group_name``
|
||||
There are several reason you use groups.
|
||||
|
||||
Groups can be used in crafting recipes to allow interchangeability
|
||||
of ingredients. For example, you may use group:wood to allow any wood
|
||||
item to be used in the recipe.
|
||||
|
||||
### Dig types
|
||||
|
||||
Let's look at our above ``mymod:diamond`` definition. You'll notice this line:
|
||||
|
||||
{% highlight lua %}
|
||||
groups = {cracky = 3}
|
||||
{% endhighlight %}
|
||||
|
||||
Cracky is a digtype. Dig types specify what type of the material the node is
|
||||
physically, and what tools are best to destroy it.
|
||||
|
||||
| Group | Description |
|
||||
|-------------------------|----------------------------------------------------------------------------------------------|
|
||||
| crumbly | dirt, sand |
|
||||
| cracky | tough but crackable stuff like stone. |
|
||||
| snappy | something that can be cut using fine tools; e.g. leaves, smallplants, wire, sheets of metal |
|
||||
| choppy | something that can be cut using force; e.g. trees, wooden planks |
|
||||
| fleshy | Living things like animals and the player. This could imply some blood effects when hitting. |
|
||||
| explody | Especially prone to explosions |
|
||||
| oddly_breakable_by_hand | Torches, etc, quick to dig |
|
7
index.md
7
index.md
@ -14,6 +14,13 @@ to complete.
|
||||
This documentation was created by the Minetest community in order to help
|
||||
new modders gain a foothold.
|
||||
|
||||
What you will need:
|
||||
-------------------
|
||||
|
||||
* A plain text editor (eg: NotePad+, ConTEXT, or GEdit)
|
||||
* OR A Lua IDE such as Eclipse.
|
||||
* A copy of Minetest in the 0.4 series. (eg: 0.4.10)
|
||||
|
||||
Contribution
|
||||
------------
|
||||
|
||||
|
@ -5,6 +5,11 @@ html, body {
|
||||
background: #333;
|
||||
}
|
||||
|
||||
a {
|
||||
color: blue;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#page {
|
||||
background: white;
|
||||
margin: 0;
|
||||
@ -34,6 +39,12 @@ html, body {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#navbar li hr {
|
||||
height: 1px;
|
||||
background: #666;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#navbar li a {
|
||||
display: block;
|
||||
padding: 5px;
|
||||
|
@ -1,63 +1,63 @@
|
||||
/* https://github.com/mojombo/tpw/blob/master/css/syntax.css -MIT licensed*/
|
||||
/* https://raw.githubusercontent.com/richleland/pygments-css/master/friendly.css */
|
||||
|
||||
.highlight { background: #ffffff; }
|
||||
.highlight .c { color: #999988; font-style: italic } /* Comment */
|
||||
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
|
||||
.highlight .k { font-weight: bold } /* Keyword */
|
||||
.highlight .o { font-weight: bold } /* Operator */
|
||||
.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
|
||||
.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
|
||||
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
|
||||
.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
|
||||
.highlight .hll { background-color: #ffffcc }
|
||||
.highlight .c { color: #60a0b0; font-style: italic } /* Comment */
|
||||
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
||||
.highlight .k { color: #007020; font-weight: bold } /* Keyword */
|
||||
.highlight .o { color: #666666 } /* Operator */
|
||||
.highlight .cm { color: #60a0b0; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #007020 } /* Comment.Preproc */
|
||||
.highlight .c1 { color: #60a0b0; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #60a0b0; background-color: #fff0f0 } /* Comment.Special */
|
||||
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||
.highlight .gr { color: #aa0000 } /* Generic.Error */
|
||||
.highlight .gh { color: #999999 } /* Generic.Heading */
|
||||
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
|
||||
.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
|
||||
.highlight .go { color: #888888 } /* Generic.Output */
|
||||
.highlight .gp { color: #555555 } /* Generic.Prompt */
|
||||
.highlight .gr { color: #FF0000 } /* Generic.Error */
|
||||
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
||||
.highlight .go { color: #808080 } /* Generic.Output */
|
||||
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
|
||||
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||
.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
|
||||
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
|
||||
.highlight .kc { font-weight: bold } /* Keyword.Constant */
|
||||
.highlight .kd { font-weight: bold } /* Keyword.Declaration */
|
||||
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
|
||||
.highlight .kr { font-weight: bold } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
|
||||
.highlight .m { color: #009999 } /* Literal.Number */
|
||||
.highlight .s { color: #d14 } /* Literal.String */
|
||||
.highlight .na { color: #008080 } /* Name.Attribute */
|
||||
.highlight .nb { color: #0086B3 } /* Name.Builtin */
|
||||
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
|
||||
.highlight .no { color: #008080 } /* Name.Constant */
|
||||
.highlight .ni { color: #800080 } /* Name.Entity */
|
||||
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
|
||||
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
|
||||
.highlight .nn { color: #555555 } /* Name.Namespace */
|
||||
.highlight .nt { color: #000080 } /* Name.Tag */
|
||||
.highlight .nv { color: #008080 } /* Name.Variable */
|
||||
.highlight .ow { font-weight: bold } /* Operator.Word */
|
||||
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
.highlight .gt { color: #0040D0 } /* Generic.Traceback */
|
||||
.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
|
||||
.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
|
||||
.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
|
||||
.highlight .kp { color: #007020 } /* Keyword.Pseudo */
|
||||
.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #902000 } /* Keyword.Type */
|
||||
.highlight .m { color: #40a070 } /* Literal.Number */
|
||||
.highlight .s { color: #4070a0 } /* Literal.String */
|
||||
.highlight .na { color: #4070a0 } /* Name.Attribute */
|
||||
.highlight .nb { color: #007020 } /* Name.Builtin */
|
||||
.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
|
||||
.highlight .no { color: #60add5 } /* Name.Constant */
|
||||
.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
|
||||
.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
|
||||
.highlight .ne { color: #007020 } /* Name.Exception */
|
||||
.highlight .nf { color: #06287e } /* Name.Function */
|
||||
.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
|
||||
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
|
||||
.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
|
||||
.highlight .nv { color: #bb60d5 } /* Name.Variable */
|
||||
.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
|
||||
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
||||
.highlight .mf { color: #009999 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #009999 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #009999 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #009999 } /* Literal.Number.Oct */
|
||||
.highlight .sb { color: #d14 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #d14 } /* Literal.String.Char */
|
||||
.highlight .sd { color: #d14 } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #d14 } /* Literal.String.Double */
|
||||
.highlight .se { color: #d14 } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #d14 } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #d14 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #009926 } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #d14 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #990073 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
|
||||
.highlight .vc { color: #008080 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #008080 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #008080 } /* Name.Variable.Instance */
|
||||
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
|
||||
|
||||
.highlight .mf { color: #40a070 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #40a070 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #40a070 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #40a070 } /* Literal.Number.Oct */
|
||||
.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #4070a0 } /* Literal.String.Char */
|
||||
.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
|
||||
.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #c65d09 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #235388 } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #517918 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
|
||||
.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
|
||||
.highlight .il { color: #40a070 } /* Literal.Number.Integer.Long */
|
||||
|
Loading…
x
Reference in New Issue
Block a user